All Projects → sniper00 → Moon

sniper00 / Moon

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

Programming Languages

lua
6591 projects
cpp17
186 projects

Projects that are alternatives of or similar to Moon

Gameproject3
游戏服务器框架,网络层分别用SocketAPI、Boost Asio、Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。还包含一个不断完善的Unity 3D客户端,客户端含大量完整资源,坐骑,宠物,伙伴,装备, 这些均己实现上阵和穿戴, 并可进入副本战斗,多人玩法也己实现, 持续开发中。
Stars: ✭ 655 (+109.27%)
Mutual labels:  game, unity, game-server
Noahgameframe
A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.
Stars: ✭ 3,258 (+940.89%)
Mutual labels:  game, unity, game-server
Nice Lua
基于xlua的MVVM框架,支持Addressables, 统一渲染管线等Unity新特性
Stars: ✭ 207 (-33.87%)
Mutual labels:  game, unity, network
Sgf
This is a Smart Game Foundation (Not Framework)
Stars: ✭ 122 (-61.02%)
Mutual labels:  game, unity, network
Pss
This is a based plug-in framework that provides cross-platform IO and logically separated plug-in services.
Stars: ✭ 219 (-30.03%)
Mutual labels:  game, game-server
Unitybubblegame
BubbleGame《天天萌泡泡》是一款简单好玩的消除游戏,点击三个或以上同颜色、相连接的泡泡来进行消除,简单而有趣。
Stars: ✭ 216 (-30.99%)
Mutual labels:  game, unity
Melonloader
The World's First Universal Mod Loader for Unity Games that is Compatible with both Il2Cpp and Mono
Stars: ✭ 306 (-2.24%)
Mutual labels:  game, unity
Svelto.tasks
Svelto Tasks - C# promises compliant multi-threaded tasks runner
Stars: ✭ 159 (-49.2%)
Mutual labels:  multithreading, unity
Otxserver
OTX Server from:
Stars: ✭ 187 (-40.26%)
Mutual labels:  game, game-server
Unity Experiment Framework
UXF - Framework for creating human behaviour experiments in Unity
Stars: ✭ 81 (-74.12%)
Mutual labels:  multithreading, unity
Matchthreegame
A match-3 game in Unity (like Candy Crush and Bejeweled)
Stars: ✭ 255 (-18.53%)
Mutual labels:  game, unity
Casinosclient
果派德州客户端源代码,使用Unity3D引擎。
Stars: ✭ 217 (-30.67%)
Mutual labels:  game, unity
Linuxgsm
The command-line tool for quick, simple deployment and management of Linux dedicated game servers.
Stars: ✭ 3,063 (+878.59%)
Mutual labels:  game, game-server
Hisocket
It is a lightweight client socket solution, you can used it in C# project or Unity3d
Stars: ✭ 275 (-12.14%)
Mutual labels:  unity, network
Nodulus
Puzzle game with clever twists (Unity3d)
Stars: ✭ 232 (-25.88%)
Mutual labels:  game, unity
Stendhal
Stendhal is a fun friendly and free multiplayer online adventure game with an old school feel.
Stars: ✭ 194 (-38.02%)
Mutual labels:  game, game-server
Dns Discovery
DNS-Discovery is a multithreaded subdomain bruteforcer.
Stars: ✭ 114 (-63.58%)
Mutual labels:  multithreading, network
Open Project 1
Unity Open Project #1: Chop Chop
Stars: ✭ 4,235 (+1253.04%)
Mutual labels:  game, unity
Htframework
Unity HTFramework, a rapid development framework of client to the unity.
Stars: ✭ 179 (-42.81%)
Mutual labels:  game, unity
Dst Dedicated Server
Don't Starve Together dedicated server guide for all platforms (Linux, Mac, Windows) with Docker. Extensive documentation covering mods installation, server config and performance, world generation and setting up admins.
Stars: ✭ 187 (-40.26%)
Mutual labels:  game, game-server

Current building status

linux-gcc

linux-clang

macos-clang

windows-vs2019

Moon Game Framework

moon 是一个轻量级的游戏服务器框架,底层采用C++编写,逻辑层主要采用Lua。框架使用多线程和多LuaVM(lua service)的模式, 把不同的游戏服务器模块(通常是一个进程),尽量集中到一个进程中,简化开发和维护难度。一个lua service可以表示一个游戏服务器模块,它们之间通过消息队列互相通信(大部分相情况下只是传递一个数据指针),通常比进程间IO通信高效,也不需要维护复杂的网络链接。 Lua的协程特性,也使异步逻辑的编写更加简单。

框架本身没有提供太多的游戏业务层逻辑,主要目标是提供基础功能。

如果有疑问或者建议欢迎提交issue,或者加入QQ群 QQ交流群: 543833695

依赖

主要特性

  • async lua协程封装异步操作,取代传统的回调模式

  • timer lua协程配和定时器,更加方便处理定时任务

  • coroutine socket 协程socket的封装,方便编写自定义协议的网络模块

  • websocket 支持websocket协议

  • cluster 提供集群间通信(暂时通过统一的配置文件作为服务发现,不支持动态增删)

  • extensible 利用sol2库可以方便编写C/C++lua交互的扩展模块

快速开始

  1. 框架基于C++17编写,需要安装相应的编译器,不同平台安装支持C++17的编译器

  2. 获取源码

    git clone https://github.com/sniper00/moon.git
  1. 编译

    • windows 双击运行 build.bat
    • linux:
          # 添加可执行权限
          chmod +x build.sh
          chmod +x premake5
          ./build.sh
      

    如果失败,参考详细编译步骤

  2. 运行

# 运行 echo server
./moon -f example/helloworld.lua
# 另启动一个终端运行 client(协程socket编写的客户端)
./moon -f example/helloworld_client.lua
# 输入任意字符

游戏示例

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].