Sobre el proyecto
# Moon
Moon es un framework ligero de servidor de juegos implementado con el modelo de actores en C++23. Un hilo de trabajo puede alojar uno o más actores (servicios) que se comunican a través de colas de mensajes.
## Características
- **Multiplataforma**: Windows (VS2022 17.5+), Linux (GCC 13+), macOS (Clang 16+)
- **Redes**: TCP, UDP/KCP, WebSockets, HTTP con rendimiento optimizado
- **Scripting en Lua**: lógica impulsada por Lua con soporte de corrutinas asíncronas para sockets, temporizadores, comunicación entre servicios/procesos
- **Clientes de bases de datos**: controladores asíncronos para Redis, PostgreSQL, MongoDB y MySQL
- **Bibliotecas**: biblioteca JSON de Lua optimizada, Lua Protobuf, sistema de archivos de Lua, Lua zset para listas de clasificación
- **Navegación**: integración de Recast Navigation
- **Arquitectura simple**: código fuente conciso y fácil de entender
- **Planificación basada en ASIO**
## Inicio rápido
```shell
# Ejecutar pruebas
./moon example/test/main_test.lua
# Ejecutar scripts de ejemplo
./moon example/example_timer.lua
./moon example/main_game.lua
```
## Compilación
1. Instalar un compilador de C++23 (VS2022 17.5+, GCC 13+ o Clang 16+)
2. Instalar [premake5](https://premake.github.io/download)
3. Clonar el repositorio
4. Compilar: `premake5 build --release`
5. Ejecutar: `premake5 run --release example/send_benchmark.lua`
## Comunidad
- [Gitter](https://gitter.im/undefined/community)
- [Wiki/Documentación](https://github.com/sniper00/moon/wiki)
- Grupo de QQ: 543833695
## Extensiones
Bibliotecas adicionales disponibles en https://github.com/sniper00/lrust
## Demo
[MoonDemo](https://github.com/sniper00/MoonDemo.git)
## Casos de uso
Los juegos creados con Moon incluyen *Age of Kita* y *战神遗迹* (War God Ruins).
## Proyectos relacionados
- [NoahGameFrame](https://github.com/ketoo/NoahGameFrame)
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.