Skip to content
forked from sniper00/moon

A lightweight game server framework implemented with Actor Model

License

Notifications You must be signed in to change notification settings

ppqoing/moon_unity

 
 

Repository files navigation

Current building status

linux-gcc

linux-clang

macos-clang

windows-vs2022

Moon

Moon is a lightweight game server framework based on the actor model. One worker thread can have one or multiple actors (services), which communicate with each other through message queues. There are many features for game server development:

  • Less core code, easy to learn
  • Cross-platform (Windows, Linux, MacOS)
  • Optimized networking
    • Tcp
    • Udp/Kcp
    • Websockets
    • Http
  • Asynchronous based on Lua coroutines
    • Coroutine-socket
    • Timer
    • Inter-service communication
    • Inter-process communication
    • Redis/PostgreSQL/Mongodb/Mysql async client driver
  • High performance and optimized Lua Json library
  • Lua protobuf library
  • Lua filesystem
  • Recast Navigation
  • Lua zset library for ranklist

OverView

Framework

image

Community

  • Gitter

  • QQ group: 543833695

Documents

https://github.com/sniper00/moon/wiki

Dependencies

Quick Start

Download Pre-Built Binaries

# Run test
./moon test/main_test.lua

# Run script in the example directory, e:
./moon example/example_timer.lua

# This is a guessing game, example/GuessGame.md
./moon example/main_game.lua

Demo

Build

  1. Make sure your compiler(vs2022 17.5+, gcc 9.3+, clang 9.0+) support C++17 or Install C++17 Compiler.

  2. Clone source code

    git clone --recursive https://github.com/sniper00/moon.git
  1. Build

    • windows run build.bat
    • linux make config=release
    • macOS
        brew install premake
        premake5 gmake --cc=clang
        make config=release
  2. If you want modify premake5 script, See detail build steps

Use case

若您的项目使用了moon,欢迎联系作者,作者很乐意把您的作品展示出来.

g1 g2

Age of kita

战神遗迹

Friend Open Source

About

A lightweight game server framework implemented with Actor Model

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 76.6%
  • C 19.2%
  • Lua 3.6%
  • Makefile 0.5%
  • CMake 0.1%
  • HTML 0.0%