ET框架1:C#伺服器 unity3d客戶端 開源 github
這段時間做了個項目,雖然是VR項目,不是遊戲,但是用到了多人遊戲的機制,因為是小項目就想伺服器和客戶端都自己搞定吧,節省人力物力。終於功夫不負有心人,找到了滿意的框架:ET框架,絕逼好用的框架,最大特點:
1 C#伺服器,unity3d客戶端,前後端一個人就搞定了,節省了溝通,物質成本。
2 服務端採用組件式框架實現了分散式伺服器架構。
3 可以讓客戶端人員更好的理解伺服器,伺服器開發人員更好的理解客戶端。(因為有很多時候客戶端和伺服器人員會因為溝通而導致效率低下)
前路荊棘慢慢,歲月靜好如初,我們一步步學起來,跟隨本教程,讓你一個人搞起遊戲的前後端。
1:ET框架的安裝與使用
ET框架github源碼地址:https://github.com/egametang/ET
隨碼文檔:https://github.com/egametang/ET/tree/master/Doc
鬥地主Demo源碼地址:https://github.com/Viagi/LandlordsCore
QQ群:474643097
1.1運行指南
下載後不要著急打開,因為使用et框架對於運行環境有一定的要求:
1.VisualStudio:vs2017
VS2017需要勾選安裝以下內容:
a. .net 桌面開發: b.visual studio tools for unity c. .netcore2.0
2. unity一定要安裝 unity 2017.1.0p5到2017.1.2,其它版本不支持
3. 啟動unity2017, 菜單 File->open project->open 選中Egametang/Unity文件夾,點擊選擇文件夾按鈕。
4.點擊Unity菜單Assets->open C# project啟動vs 編譯(一定要編譯,右鍵VS解決方案,全部編譯)
5.用vs2017打開Egametang/Server/Server.sln 編譯(一定要編譯,右鍵VS解決方案,全部編譯)
6.打開Unity->tools菜單->命令行配置,選擇LocalAllServer.txt 這是啟動單一App的方式,如果要啟動一組多App伺服器,在命令行工具中選擇127.0.0.1.txt,點擊啟動即可,具體配置都可以自己用這個命令行配置工具修改
7.點擊工具中的啟動,這樣就啟動了服務端(也可以用VS啟動,方便單步調試)
8 開啟web資源伺服器:Unity->Tools->FilerServer,一定要開啟這個。
9.運行Unity,輸入帳號,點擊登錄這時日誌 連接Gate成功,表示運行OK!
注意事項:
VS2017 15.4版本vstools有bug,Hotfix工程請重新引用UnityEngin跟UnityEngineUI兩個dll,這兩個dll在Unity安裝目錄/Editor/Data/Managed/下面
一般出錯原因都是:
1.出現LateUpate找不到表示沒編譯hotfix。
2.中文目錄。
3.vs沒有安裝vs tools或者不是最新的vs tools。
4.沒安裝.netcore2.0
測試幀同步
1. 打開Unity->tools菜單->命令行配置,重啟server
2. Unity->tools菜單->打包工具,點擊標記,選擇PC,勾選是否打包exe,點擊開始打包,打出一個PC包在Release目錄下,
3. 運行Unity 登錄 進入大廳 進入場景
4. 啟動unity菜單->tools->web資源伺服器
5. 運行PC包 登錄 進入大廳 這時會出現兩個小人(重疊在一起)
6. 點擊滑鼠右鍵即可移動人物
到這裡,如果運行全部流暢的話,就可以開始研究代碼了,研究代碼前可以多看看文檔,做到一個大體的理解,我本身是做客戶端的,對伺服器不了解,所以看文檔感覺還是很有用的,這種隨碼文檔不要指望一次就看的透徹,關鍵在於實踐,把ET工程重構幾次,修改稱自己的,加到自己項目中,這才是最快學好一個項目的關鍵,遇到問題隨時在QQ群裡面溝通,等你自己的DEMO跑通了,再回頭看看文檔,感覺框架的感覺就更清晰了。
如果在實踐過程中有任何問題隨時與我交流。
推薦閱讀:
※基於C++/Lua的遊戲伺服器如何實現?
※如何看待《戀與製作人》近期伺服器頻繁崩潰、官博無視玩家意見的行為?
※遊戲伺服器如何實現全球同服
※大服遊戲架構
※如何評價微軟的orleans框架?