8000 GitHub - dcf8888fcd/moon: A lightweight game server framework implemented with Actor Model
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

dcf8888fcd/moon

 
 

Repository files navigation

Current building status

linux-gcc

linux-clang

macos-clang

windows-vs2022

Moon

Moon is a lightweight online game server framework implement with actor model. One thread may have 1-N service(luaVM), they use message queue for communication. 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
  • Lua coroutine based asynchronous
    • Coroutine-socket
    • Timer
    • Service-to-service communication
    • Interprocess(cluster) 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(msvc2019, gcc 9.3+, clang 9.0+) support for C++17 or Install C++17 Compiler.

  2. Clone source code

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

  2. If you want modify premake5 script, See detail build steps

Friend Open Source

About

A lightweight game server framework implemented with Actor Model

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 78.8%
  • C 17.6%
  • Lua 3.1%
  • Makefile 0.5%
  • CMake 0.0%
  • HTML 0.0%
0