À propos du projet

jforgame est un framework serveur de jeux mobiles léger et haute performance écrit en Java, conçu pour fournir une solution complète pour le développement de serveurs de jeux. Le projet adopte une conception modulaire, chaque module étant indépendant et pouvant être importé selon les besoins. Caractéristiques principales : - Prise en charge de socket et webSocket, adapté aux architectures de jeux mobiles, jeux web, H5, mini-jeux, etc. - Framework réseau associé en version C#, compatible socket/websocket, json/struct. - Protocoles de communication prenant en charge json, protobuf ou javabean ordinaire, avec outil d'exportation en un clic pour les protocoles de langages clients comme C#, TypeScript. - Communication inter-processus intégrée, avec API asynchrones/synchrones, facilitant les opérations inter-serveurs. - Bibliothèque ORM légère personnalisée, prenant en charge plusieurs sources de données, création automatique de tables, mise à jour incrémentale des champs. - Mise à jour à chaud du code et des configurations sans arrêt. - Projets associés : version Go (gforgame), projet mmorpg basé sur Spring Boot, système de gestion backend (gamekeeper), application de chat type QQ (im). Structure organisationnelle des modules : - jforgame-commons : services communs de base - jforgame-threadmodel : modèle de threads (acteur et distribution par mot-clé) - jforgame-runtime : données de surveillance à l'exécution - jforgame-socket-parent : communication TCP socket (versions netty et mina) - jforgame-orm : bibliothèque ORM personnalisée pour serveurs de jeux - jforgame-data : module de données de configuration, prenant en charge csv/excel/json/base de données multi-sources, avec validation, mise à jour à chaud et cache secondaire - jforgame-hotswap : mise à jour à chaud de la logique métier du jeu - jforgame-codec-parent : codage/décodage de messages (implémentations protobuf et struct) - jforgame-demo : exemples métier de jeux Démarrage rapide : 1. Cloner le code avec git. 2. Importer dans un IDE (projet Maven). 3. Créer une base de données et importer le fichier SQL. 4. Démarrer le serveur (ServerStartup) et le client (ClientStartup). Le code d'exemple montre le démarrage du serveur en une ligne, la définition des protocoles de messages et le traitement du routage des messages. Le projet fournit des tutoriels détaillés sur un blog et accueille les contributions de la communauté.