Moon is a lightweight online game server framework implement with multithread and multi-luaVM. One thread may have 1-N luaVM, they use message queue communication. There are many features for game server development:
- Cross-platform (Windows, Linux, MacOS)
- Optimized networking
- tcp
- websockets
- http
- Lua coroutine based asynchronous
- coroutine-socket
- timer
- inter luaVM communication
- inter cluster(process) communication
- redis/mysql/pgsql driver
- High performance and optimized LuaJSON library
- Lua protobuf library
- Lua filesystem(C++ std::filesystem)
- QQ group: 543833695
https://github.com/sniper00/moon/wiki
-
Clone source code
git clone https://github.com/sniper00/moon.git
-
Build
- windows run
build.bat
。 - linux:
chmod +x build.sh chmod +x premake5 ./build.sh
If failed,See detail steps。
- windows run
-
Run
# run echo server
./moon example/helloworld.lua
# another terminal run client(coroutine socket writed)
./moon example/helloworld_client.lua
# input any string
NoahGameFrame
- Author: ketoo
- GitHub: https://github.com/ketoo/NoahGameFrame
- Description: A fast, scalable, distributed game server framework for C++, include actor library, network library,can be used as a real time multiplayer game engine ( MMO RPG ), which plan to support C#/Python/Lua script, and support Unity3d, Cocos2dx, FlashAir client access.