Об этом проекте

# 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)