遊戲伺服器框架 Leaf go

2022-09-16 00:48:11 字數 1459 閱讀 7265

leaf 是乙個使用 go 語言開發的開源遊戲伺服器框架,注重執行效率並追求極致的開發效率。leaf 適用於幾乎所有的遊戲型別。其主要的特性:

乙個 leaf 開發的遊戲伺服器由多個模組組成(例如 leafserver),模組有以下特點:

leaf 不建議在遊戲伺服器中設計過多的模組。

遊戲伺服器在啟動時進行模組的註冊,例如:12

345leaf.run(

game.module,

gate.module,

login.module,

)

這裡按順序註冊了 game、gate、login 三個模組。每個模組都需要實現介面:12

type module inte***ce

leaf 首先會在同乙個 goroutine 中按模組註冊順序執行模組的 oninit 方法,等到所有模組 oninit 方法執行完成後則為每乙個模組啟動乙個 goroutine 並執行模組的 run 方法。最後,遊戲伺服器關閉時(ctrl + c 關閉遊戲伺服器)將按模組註冊相反順序在同乙個 goroutine 中執行模組的 ondestroy 方法。

leafserver 是乙個基於 leaf 開發的遊戲伺服器,我們以 leafserver 作為起點。

獲取 leafserver:

編譯 leafserver:

1goinstallserver

如果一切順利,執行 server 你可以獲得以下輸出:

12015/08/2622:11:27 [release] leaf starting up

敲擊 ctrl + c 關閉遊戲伺服器,伺服器正常關閉輸出:

12015/08/2622:12:30 [release] leaf closing down (signal: interrupt)

專案主頁:

c 遊戲伺服器框架

2 muduo是乙個基於 reactor 模式的 c 網路庫 3 boost asio 是乙個非同步的網路框架 官網 第三方教程 4 libevent 官網 5 ace是乙個很成熟的中介軟體產品,為自適應通訊環境,但它過於巨集大,一堆的設計模式,架構是一層又一層,對初學者來說,有點困難。pss開源框...

網易遊戲伺服器開發框架 Pomelo

pomelo 是由網易開發的基於node.js開發的高效能 分布式遊戲伺服器框架,也可作為高實時web應用框架。pomelo的應用範圍 pomelo最適合的應用領域是網頁遊戲 社交遊戲 移動遊戲的服務端,開發者會發現pomelo可以用如此少的 達到強大的擴充套件性和伸縮性。當然還不僅僅是遊戲,很多人...

網易遊戲伺服器開發框架 Pomelo

引用 pomelo 是由網易開發的基於node.js開發的高效能 分布式遊戲伺服器框架,也可作為高實時web應用框架。pomelo的應用範圍 pomelo最適合的應用領域是網頁遊戲 社交遊戲 移動遊戲的服務端,開發者會發現pomelo可以用如此少的 達到強大的擴充套件性和伸縮性。當然還不僅僅是遊戲,...