Mizugo
mizugo是一款使用go語言開發的遊戲伺服器框架, 包括TCP網路, 通訊協議, 資料庫組件等
分支列表
伺服器專案中的主要Git分支說明如下
系統需求
如何安裝
伺服器組件
下面是一個簡化的伺服器程式範例, 如果需要更詳細的範例, 請造訪support/test-server/
目錄
func main() {
defer func() {
if cause := recover(); cause != nil {
// 處理崩潰錯誤
} // if
}()
mizugos.Start() // 啟動伺服器
ctx := ctxs.Get().WithCancel()
// 使用者自訂的初始化程序
// 如果有任何失敗, 執行 mizugos.Stop() 後退出
for range ctx.Done() { // 進入無限迴圈直到執行 ctx.Cancel()
} // for
// 使用者自訂的結束程序
// 如果有任何失敗, 執行 mizugos.Stop() 後退出
mizugos.Stop() // 關閉伺服器
}
客戶端組件
請參閱客戶端組件說明
請參閱proto組件說明
管理器
mizugo擁有多種功能, 這些功能透過不同的管理器提供, 使用者可以根據自己的需求選擇使用這些管理器
以下提供了各管理器的基本資訊, 包括它們的軟體包與類別名稱, 以及管理器所在的位置
名稱 |
軟體包與類別名稱 |
管理器位置 |
配置管理器 |
configs.Configmgr |
mizugos.Config |
度量管理器 |
metrics.Metricsmgr |
mizugos.Meter |
日誌管理器 |
loggers.Logmgr |
mizugos.Log |
網路管理器 |
nets.Netmgr |
mizugos.Net |
資料庫管理器 |
redmos.Redmomgr |
mizugos.Redmo |
實體管理器 |
entitys.Entitymgr |
mizugos.Entity |
標籤管理器 |
labels.Labelmgr |
mizugos.Label |
執行緒池管理器 |
pools.Poolmgr |
mizugos.Pool |
信號調度管理器 |
triggers.Triggermgr |
mizugos.Trigger |
專案目錄說明
目錄 |
說明 |
mizugos |
mizugo程式碼 |
mizugos/configs |
配置組件 |
mizugos/cryptos |
加密/解密組件 |
mizugos/ctxs |
context組件 |
mizugos/entitys |
實體, 模組, 事件組件 |
mizugos/helps |
協助組件 |
mizugos/iaps |
購買驗證組件 |
mizugos/labels |
標籤組件 |
mizugos/loggers |
日誌組件 |
mizugos/metrics |
度量組件 |
mizugos/msgs |
封包結構 |
mizugos/nets |
網路組件 |
mizugos/pools |
執行緒池組件 |
mizugos/procs |
訊息處理器組件 |
mizugos/redmos |
雙層式資料庫組件(redis + mongo) |
mizugos/trials |
單元測試組件 |
mizugos/triggers |
信號調度組件 |
support |
支援專案 |
support/client-unity |
unity客戶端組件 |
support/proto-mizugo |
內部proto定義 |
support/proto-test |
測試proto定義 |
support/test-client-cs |
unity測試客戶端 |
support/test-client-go |
go測試客戶端 |
support/test-server |
測試伺服器 |
testdata |
測試資料 |
軟體包階層
階層名稱 |
軟體包名稱 |
測試層 |
testdata |
測試層 |
mizugos/trials |
工具層 |
mizugos/ctxs |
工具層 |
mizugos/helps |
工具層 |
mizugos/msgs |
通用層 |
mizugos/cryptos |
通用層 |
mizugos/iaps |
通用層 |
mizugos/nets |
通用層 |
mizugos/pools |
通用層 |
mizugos/procs |
組件層 |
mizugos/configs |
組件層 |
mizugos/entitys |
組件層 |
mizugos/labels |
組件層 |
mizugos/loggers |
組件層 |
mizugos/metrics |
組件層 |
mizugos/redmos |
組件層 |
mizugos/triggers |
下面階層的軟體包可以引用上面階層的軟體包
上面階層的軟體包不能引用下面階層的軟體包
相同階層的不能互相引用
Task命令說明
輸入 task 命令名稱
來執行命令, 如果無法使用, 表示還沒有安裝task
命令名稱 |
命令說明 |
lint |
進行程式碼檢查 |
test |
進行程式碼測試 |
bench |
進行效能測試 |
proto |
更新訊息 |
subtree |
更新子專案分支 |
stop |
停止容器 |
db |
啟動資料庫 |
JetBrains licenses
mizugo使用了JetBrains的Goland的免費開發許可, 在此表示感謝