Need help with moon?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

sniper00
373 Stars 94 Forks MIT License 722 Commits 0 Opened issues

Description

A cross-platform,lightweight,scalable game server framework written in C++, and support Lua Script

Services available

!
?

Need anything else?

Contributors list

# 105,408
game-se...
Unity
gameser...
Ada
613 commits
# 182,115
C
Redis
rocksdb
nosql-d...
1 commit

Current building status

linux-gcc

linux-clang

macos-clang

windows-vs2019

Moon

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:

  • Less core code, easy to learn
  • 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 Lua Json library
  • Lua protobuf library
  • Lua filesystem

OverView

image

Community

  • Gitter

  • QQ group: 543833695

Documents

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

Dependencies

Quick Start

Download Pre-Built Binaries

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

# run echo server
./moon example/helloworld.lua
# another terminal run client(coroutine socket writed)
./moon example/helloworld_client.lua
# input any string

Manual Build

  1. Make sure your compiler(msvc2019, gcc 9.3+, clang 9.0+) support for C++17 or Install

    C++17
    Compiler.

  2. Moon uses premake5 to build platform specific projects. Download it and make sure it's available on your path.

  3. Clone source code

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

    • windows run
      build.bat
    • linux:
      shell
          chmod +x build.sh
          chmod +x premake5
          ./build.sh
      

    If failed,See detail steps

Demo

Friend Open Source

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.