服務器程序可以使用以下腳本
1、 wow大規模的使用lua,已經導致lua成為網絡游戲領域第一大腳本語言,速度和簡潔性是它的突出特點,豐富的包裝庫也使得它的使用很簡單,但庫偏少和沒有完整的面向對象特性也導致它不優雅,有的時候需要自己包裝太多東西,總之還不是一個完美的東西。Tcc, python等也是服務器腳本的可選語言,tcc速度更快,python庫豐富。
2、 我一直說server程序的開發可類比web領域的開發,web提供了豐富的腳本,如php、c#等,在一般的server程序里面集成php也是很容易的,php提供了豐富的庫,如果要開發和web交互頻繁的程序那么php的優勢就更明顯了,使用php也可以跟php作為普通web腳本一樣有幾個選擇,如可當作進程內模塊使用、也可以當作cgi使用,也可以當做fastcgi使用,不過作為普通服務器程序和一般的web程序還是有一些區別的,主要有兩個區別,那就是web是無狀態的,一般的server可能有狀態也可能無狀態,但大多都是有狀態的,第二個不同就是web支持的是http協議,而一般的網游支持的是自定義協議,用php做server端腳本除了這兩個地方要注意之外就和在web上使用沒多大區別了。包裝好和主模塊的交互就一切搞定了。
3、 從2可知道,不僅僅是php可作為server程序的腳本,c#包括所有.Net平臺支持的語言都可以作為server程序的腳本,c#隨著4.0的發布已經成為.net平臺上的首選語言,優雅的語法和高效的性能讓它激動人心,比php lua等高級了許多,也高效了許多,說它是明星語言一點不過分,如果server可以在.net平臺上,那么c#幾乎是最優的腳本語言,同理vb.net c/clr等只要是.net平臺支持的語言也都可以作為腳本,最典型的支持我們可以從sqlserver了解到,sqlserver支持clr型存儲過程,這就是將.net作為腳本的典范啊。
4、 其實最簡單的使用dll動態裝入模型也可支持server端的靈活性,而且兼顧了效率,最簡單的處理可以這樣,每次調用dll部分的時候都LoadLibrary,用完之后FreeLibrary,雖然這樣損失了效率,但靈活性比較好,要更新也很容易,當然如果管理到僅在dll更新的時候才重新裝入可讓效率更高,總之這種模型雖然沒有什么人在使用,但其實不失為一種很有效的模型,開發效率和執行效率都比較高,雖然看上去不如用腳本那么優雅。