À propos du projet
Nakama est un serveur backend de jeu open-source conçu pour les jeux et applications sociales en temps réel. Selon son fichier README, il propose des utilisateurs intégrés (enregistrement/connexion via réseaux sociaux, e-mail ou identifiant de périphérique), un stockage pour les données et paramètres des utilisateurs, un graph social avec amis et groupes, une messagerie 1 à 1/groupe/global avec historique persistant, multijoueurs en temps réel et par tours, classements, tournois, groupes de joueurs, validation d'achats et notifications in-app. Le serveur peut être étendu avec du code personnalisé écrit en Lua, TypeScript/JavaScript ou Go natif. Il inclut également un matchmaker, un tableau de bord, des métriques et d'autres fonctionnalités décrites dans la documentation officielle.
Nakama communique via gRPC ou un point de terminaison HTTP/JSON REST pour les requêtes/réponses, et WebSockets ou rUDP pour le trafic en temps réel. Il nécessite CockroachDB ou une base de données compatible avec le protocole Postgres. Le développement local peut démarrer rapidement avec Docker Compose ou en exécutant des binaires natifs. La configuration binaire implique de lancer la base de données, d'exécuter 'nakama migrate up --database.address ...', puis de lancer 'nakama --database.address ...'. Le serveur affiche des journaux JSON décrivant sa configuration.
Une console web Nakama intégrée au binaire serveur unique est disponible. Elle permet d'inspecter les données stockées via les API serveur, de visualiser les métriques de service, de gérer les données des joueurs, de mettre à jour les objets de stockage, de restreindre l'accès avec des profils de permissions et de voir les fonctionnalités en temps réel telles que les matchs multijoueurs actifs. La console est accessible par défaut à l'adresse http://127.0.0.1:7351.
Des bibliothèques clientes officielles existent pour .NET (C#), Unity, JavaScript, Java (avec Android), Unreal, Godot, Defold et Swift (avec iOS). Le projet peut être déployé sur des fournisseurs de cloud tels que Google Cloud, Azure, AWS, Digital Ocean, Heroku ou un cloud privé ; le README recommande des nœuds séparés pour Nakama et CockroachDB. Heroic Cloud est proposé comme option de déploiement géré.
Les contributeurs peuvent compiler depuis la source avec Go. Le dépôt gère ses dépendances et supporte des compilations simples avec 'go build -trimpath -mod=vendor'. Les constructions complètes de la source impliquent l'installation des outils Protocol Buffers, gRPC, grpc-gateway et buf, puis la régénération du code avec './buf.sh'. Les tests unitaires et d'intégration s'exécutent via 'docker-compose-tests.yml'. Le projet est sous licence Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.