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

jforgame — это легковесный высокопроизводительный серверный фреймворк для мобильных игр, написанный на Java и предназначенный для предоставления комплексного решения для разработки игровых серверов. Проект использует компонентный дизайн: каждый модуль независим, и пользователи могут подключать их по мере необходимости. Основные особенности: - Поддержка подключения через socket и webSocket, адаптация к архитектурам мобильных игр, браузерных игр, H5 и мини-игр. - Сопутствующий сетевой фреймворк на C#, совместимый с socket/websocket и json/struct. - Протокол связи поддерживает json, protobuf или обычные javabean, а также предоставляет инструмент для экспорта протоколов клиентских языков, таких как C# и TypeScript, одной командой. - Встроенная межпроцессная коммуникация с поддержкой асинхронного/синхронного API, что упрощает реализацию кросс-серверной бизнес-логики. - Собственная легковесная библиотека ORM с поддержкой нескольких источников данных, автоматического создания таблиц и инкрементального обновления полей. - Поддержка горячего обновления кода и конфигурации без остановки сервиса. - Предоставляются связанные проекты: версия на Go (gforgame), проект mmorpg на базе Spring Boot, система администрирования (gamekeeper) и приложение чата в стиле QQ (im). Структура модулей включает: - jforgame-commons: базовые общие сервисы - jforgame-threadmodel: потоковая модель (actor и распределение по ключу) - jforgame-runtime: данные мониторинга во время выполнения - jforgame-socket-parent: TCP socket-связь (включая версии на netty и mina) - jforgame-orm: библиотека ORM, настроенная для игровых серверов - jforgame-data: функциональный модуль данных конфигурации с поддержкой нескольких источников данных csv/excel/json/база данных, включая валидацию, горячее обновление и вторичный кеш - jforgame-hotswap: горячее обновление игровой бизнес-логики - jforgame-codec-parent: кодирование и декодирование сообщений (реализации protobuf и struct) - jforgame-demo: пример игровой бизнес-логики Быстрый старт: 1. Клонируйте код с помощью git. 2. Импортируйте проект в IDE (проект Maven). 3. Создайте базу данных и импортируйте SQL-файл. 4. Запустите сервер (ServerStartup) и клиент (ClientStartup). Пример кода демонстрирует запуск сервера одной строкой, определение протокола сообщений и обработку маршрутизации сообщений. Проект предоставляет подробные обучающие блоги и приветствует вклад сообщества.