Об этом проекте
ioGame — это Java-сетевой фреймворк для онлайн-игр, IoT и внутренних систем, требующих постоянных соединений. Он построен на архитектуре без блокировок, асинхронной и управляемой событиями, которая из коробки поддерживает кластеризацию и распределение без внешнего промежуточного ПО или баз данных — достаточно только JVM.
Основные возможности:
- **Лёгкость**: небольшой jar (~15 МБ), быстрый запуск (<1 секунды), низкое потребление памяти.
- **Гибкая архитектура**: трёхчастная конструкция (внешний сервер, брокер/шлюз, сервер игровой логики), которая может работать независимо или слитно, адаптируясь к любому типу игры.
- **Динамическое масштабирование**: добавление или удаление серверов на лету, что обеспечивает обновления без простоев.
- **Децентрализованная кластеризация**: кластер брокеров без главного узла, самоорганизующийся, без единой точки отказа.
- **Мультипротокольность**: одна кодовая база одновременно поддерживает TCP, WebSocket, UDP; расширяемо до KCP, QUIC и др. Протоколы данных (Protobuf, JSON) переключаются одной строкой.
- **Полная трассировка распределённых запросов**: уникальные идентификаторы трассировки на всех машинах и процессах.
- **Богатые модели взаимодействия**: запрос/ответ, широковещательная рассылка, шина событий и другие — всё работает между процессами.
- **Потокобезопасность для каждого игрока**: фреймворк гарантирует конкурентность без блокировок для отдельных игроков.
- **Генерация кода**: пишите один раз на Java, генерируйте клиентские SDK для Godot, UE, Unity, Cocos Creator, React, Vue, Angular и др.
- **Удобство для разработчика**: стиль MVC, валидация JSR380, утверждения, горячая замена протоколов, аффинитет процессов, отладка нескольких серверов в одном процессе.
- **Безопасность по дизайну**: серверы логики не открывают порты, что защищает от атак сканированием портов.
- **Современная Java**: требует JDK 21+, использует Generational ZGC для пауз менее миллисекунды.
ioGame выпущен под лицензией AGPL 3.0, с обязательством активной поддержки не менее десяти лет начиная с 2022-03-01. Он подходит как для игровых серверов, так и для приложений IoT, выдерживая миллионы соединений.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.