Об этом проекте
# Moon
Moon — это легковесный игровой серверный фреймворк, реализованный с использованием модели акторов на C++23. Один рабочий поток может размещать один или несколько акторов (сервисов), которые общаются через очереди сообщений.
## Возможности
- **Кроссплатформенность**: Windows (VS2022 17.5+), Linux (GCC 13+), macOS (Clang 16+)
- **Сеть**: TCP, UDP/KCP, WebSockets, HTTP с оптимизированной производительностью
- **Lua-скрипты**: Логика управляется Lua с поддержкой асинхронных корутин для сокетов, таймеров, межсервисной и межпроцессной коммуникации
- **Клиенты баз данных**: Асинхронные драйверы для Redis, PostgreSQL, MongoDB и MySQL
- **Библиотеки**: Оптимизированная Lua-библиотека JSON, Lua Protobuf, Lua-файловая система, Lua zset для списков рейтингов
- **Навигация**: Интеграция Recast Navigation
- **Простая архитектура**: Лаконичный, легко понимаемый исходный код
- **Планирование на основе ASIO**
## Быстрый старт
```shell
# Запуск тестов
./moon example/test/main_test.lua
# Запуск примеров скриптов
./moon example/example_timer.lua
./moon example/main_game.lua
```
## Сборка
1. Установите компилятор C++23 (VS2022 17.5+, GCC 13+ или Clang 16+)
2. Установите [premake5](https://premake.github.io/download)
3. Клонируйте репозиторий
4. Соберите: `premake5 build --release`
5. Запустите: `premake5 run --release example/send_benchmark.lua`
## Сообщество
- [Gitter](https://gitter.im/undefined/community)
- [Вики/Документация](https://github.com/sniper00/moon/wiki)
- Группа QQ: 543833695
## Расширения
Дополнительные библиотеки доступны по адресу https://github.com/sniper00/lrust
## Демо
[MoonDemo](https://github.com/sniper00/MoonDemo.git)
## Примеры использования
Игры, созданные с помощью Moon, включают *Age of Kita* и *战神遗迹* (Руины Бога Войны).
## Связанные проекты
- [NoahGameFrame](https://github.com/ketoo/NoahGameFrame)
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.