Sobre o projeto

# Moon Moon é um framework leve de servidor de jogos implementado com o Modelo de Ator em C++23. Um thread de trabalho pode hospedar um ou mais atores (serviços) que se comunicam através de filas de mensagens. ## Recursos - **Multiplataforma**: Windows (VS2022 17.5+), Linux (GCC 13+), macOS (Clang 16+) - **Redes**: TCP, UDP/KCP, WebSockets, HTTP com desempenho otimizado - **Script Lua**: Lógica dirigida por Lua com suporte a corrotinas assíncronas para sockets, temporizadores, comunicação entre serviços/processos - **Clientes de banco de dados**: Drivers assíncronos para Redis, PostgreSQL, MongoDB e MySQL - **Bibliotecas**: Biblioteca JSON Lua otimizada, Lua Protobuf, sistema de arquivos Lua, Lua zset para listas de classificação - **Navegação**: Integração com Recast Navigation - **Arquitetura simples**: Código-fonte conciso e fácil de entender - **Agendamento baseado em ASIO** ## Início Rápido ```shell # Executar testes ./moon example/test/main_test.lua # Executar scripts de exemplo ./moon example/example_timer.lua ./moon example/main_game.lua ``` ## Compilação 1. Instale um compilador C++23 (VS2022 17.5+, GCC 13+ ou Clang 16+) 2. Instale [premake5](https://premake.github.io/download) 3. Clone o repositório 4. Compile: `premake5 build --release` 5. Execute: `premake5 run --release example/send_benchmark.lua` ## Comunidade - [Gitter](https://gitter.im/undefined/community) - [Wiki/Documentação](https://github.com/sniper00/moon/wiki) - Grupo QQ: 543833695 ## Extensões Bibliotecas adicionais disponíveis em https://github.com/sniper00/lrust ## Demonstração [MoonDemo](https://github.com/sniper00/MoonDemo.git) ## Casos de Uso Jogos construídos com Moon incluem *Age of Kita* e *战神遗迹* (Ruínas do Deus da Guerra). ## Projetos Relacionados - [NoahGameFrame](https://github.com/ketoo/NoahGameFrame)