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

hive

Distributed game server framework based on CPP 17 && LUA 5.4

  • 框架(hive)+逻辑(server)
  • 支持跨平台开发(windows,linux,mac)
  • oop模式的lua开发,支持lua热更新
  • protobuf协议
    • pbc修改了浮点数自动转整数的逻辑
  • 支持星型组网及多级组网自动路由,router热备,独立子网,服务动态扩容及热备
  • 基于tcp协议及lua协程实现同步代码异步rpc
  • 基于行为树的机器人/单元测试一体化
  • GM命令快速验证
  • 路由协议支持有序及无序模式,支持服务的动态扩容/容灾/hash扩容

数据库

  • mysql,mongodb,redis,etcd,influxdb
  • 自实现的分布式cache服务,支持分布式读写权限控制,容灾,扩容
  • 基于nacos配置文件的更新及服务发现

网络协议

  • 支持tcp,udp,kcp,websocket协议
  • 支持http client,http server及ssl模式
  • 客户端协议支持protobuf,json

工具

  • lmake 根据配置自动生成跨平台的makefile文件及vs.sln工程文件及一键编译
  • excel2lua 表格配置xls导出lua读写及热更
  • encrypt lua加密

日志

  • 分级文件日志
  • graylog日志系统
  • zipkin opentrace 分布式链路追踪
  • 飞书,钉钉,企业微信消息及错误日志推送

服务监控

  • Influxdb + granfana 性能监控及分析(协议,消息,rpc,cpu,内存,协程,服务等)
  • monitor监控服务
  • 自带自适应的GM web页面
  • 自带函数性能分析prof

性能

  • rpc单服务性能在4.5w次/s左右,这是计算完整的从发起到接收结果.涉及到服务的拆分,部署按这个性能去做评估
  • mongodb的性能集群模式远超mysql,单机测试插入5-8w/s

Documents

在线文档

img.png

有bug或好的建议请@ QQ群:543833695 Toney

todo list

  • c++ gateway服务
  • 分级路由组网,支持百万pcu
  • 现有部分特殊服务的固定hash,改进成切片模式,无缝扩容,容灾
  • nacos服务注册与发现及配置更新
  • 完善文档及工具链,编写demo
  • 优化性能
Similar Resources

Lightweight, cross-platform & full-featured shader IDE

Lightweight, cross-platform & full-featured shader IDE

SHADERed is a lightweight tool for writing and debugging shaders. It is easy to use, open source, cross-platform (runs on Windows, Linux & Web).

Jun 24, 2022

Plua is a superset of Lua for classic PalmOS devices with added support for graphics, UI, networking, events and sound.

Plua2c Plua is a superset of Lua for classic PalmOS devices with added support for graphics, UI, networking, events and sound. This is the source code

May 16, 2022

Dynamic 3D cellular automata engine with lua scripting support

Dynamic 3D cellular automata engine with lua scripting support

Cell3D Cell3D is a dynamic 3D cellular automata engine with lua scripting support Installation Dependencies: Lua 5.3 Raylib Simplest possible build co

May 25, 2021

Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator framework, based on QEMU.

Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator framework, based on QEMU.

Unicorn Engine Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator framework, based on QEMU. Unicorn offers some unparalleled fe

Nov 7, 2021

Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++, the architecture and usage like Cobalt Strike

Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++, the architecture and usage like Cobalt Strike

Khepri Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++ Description Khepri is a Cross-platform agent, the archi

Jun 15, 2022

The Leap Motion cross-format, cross-platform declarative serialization library

Introduction to LeapSerial LeapSerial is a cross-format, declarative, serialization and deserialization library written and maintained by Leap Motion.

Jan 17, 2022

A cross-platform framework for developing spatial audio algorithms and software in C/C++

git: https://github.com/leomccormack/Spatial_Audio_Framework doxygen: https://leomccormack.github.io/Spatial_Audio_Framework/ About The Spatial_Audio_

Jun 21, 2022

A fully-featured, cross platform XO-CHIP/S-CHIP/CHIP-8 emulator written in C and SDL.

A fully-featured, cross platform XO-CHIP/S-CHIP/CHIP-8 emulator written in C and SDL.

JAXE (Just Another XO-CHIP/CHIP-8 Emulator) Brix Space Invaders (In Debug Mode) Black Rainbow DVN8 Super Neat Boy Chicken Scratch CHIP-8 was a virtual

Jun 11, 2022

A cross platform shader language with multi-threaded offline compilation or platform shader source code generation

A cross platform shader language with multi-threaded offline compilation or platform shader source code generation

A cross platform shader language with multi-threaded offline compilation or platform shader source code generation. Output json reflection info and c++ header with your shaders structs, fx-like techniques and compile time branch evaluation via (uber-shader) "permutations".

Jun 10, 2022
C/C++ language server supporting multi-million line code base, powered by libclang. Emacs, Vim, VSCode, and others with language server protocol support. Cross references, completion, diagnostics, semantic highlighting and more

Archived cquery is no longer under development. clangd and ccls are both good replacements. cquery cquery is a highly-scalable, low-latency language s

Jun 20, 2022
A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.
A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.

Turbo Vision A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support. I

Jun 24, 2022
🔥 A cross-platform build utility based on Lua
🔥 A cross-platform build utility based on Lua

xmake A cross-platform build utility based on Lua Modern C/C++ build tools, Simple, Fast, Powerful dependency package integration Supporting the proje

Jun 17, 2022
A dependency free, embeddable debugger for Lua in a single file (.lua or .c)
A dependency free, embeddable debugger for Lua in a single file (.lua or .c)

debugger.lua A simple, embedabble debugger for Lua 5.x, and LuaJIT 2.x. debugger.lua is a simple, single file, pure Lua debugger that is easy to integ

Jun 17, 2022
The Lua development repository, as seen by the Lua team. Mirrored irregularly

The Lua development repository, as seen by the Lua team. Mirrored irregularly

Jun 23, 2022
Cross-platform sandbox RPG game written in C++ with OpenGL and SDL2.
Cross-platform sandbox RPG game written in C++ with OpenGL and SDL2.

Forradia test Forradia is a cross-platform sandbox survival/RPG game written in C++ with OpenGL and SDL2. The engine loads 3D models in Wavefront-form

May 10, 2022
Cross-platform GPU-oriented C++ application/game framework
Cross-platform GPU-oriented C++ application/game framework

Introduction neoGFX is a C++ app/game engine and development platform targeted at app and game developers that wish to leverage modern GPUs for perfor

Jun 18, 2022
SMARTmBOT - a new, customizable, scalable, and fully opensource mobile robot platform
SMARTmBOT - a new, customizable, scalable, and fully opensource mobile robot platform

The goal of this repository is to introduce a new, customizable, scalable, and fully opensource mobile robot platform, called SMARTmBOT. This repository provides a guide, and all design files and source codes so that you can build your own SMARTmBOT. SMARTmBOT can be useful for studying the basics of robotics, especially mobile robotics. It can also be used to study advanced topics such as swarm robotics.

Jun 10, 2022
FireDog - Open source cross-platform lightweight virus signature detection engine.

FireDog 开源跨平台轻量级病毒特征检测引擎。Open source cross-platform lightweight virus signature detection engine. 语言 Language C++ 11 LICENSE 是你们喜欢的:MIT License. 让我们搞起

Jun 21, 2022
A lightweight & cross-platform IDE supporting the most recent C++ standards
A lightweight & cross-platform IDE supporting the most recent C++ standards

This project has moved to https://gitlab.com/cppit/jucipp. juCi++ a lightweight, platform independent C++-IDE with support for C++11, C++14 and C++17

May 24, 2022