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)
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.