Tous les projets
LogicielInfrastructure & DevOps

CrzGames - RCNET (moteur de serveur de jeu)

Moteur serveur C++ orienté UDP, microservices et orchestration

Un moteur serveur modulaire pour les architectures de jeu modernes.

Le besoin client

Contexte

CrzGames avait besoin d’un moteur serveur robuste pour ses jeux multijoueurs et ses services backend.

Problème

Assembler manuellement réseau, sécurité, orchestration et inter-services augmente fortement la complexité opérationnelle.

Objectif

Livrer un socle serveur unique, versionné et industrialisé autour de RCNETCore.

Les enjeux

  • Garantir des builds reproductibles multi-OS

  • Fiabiliser la communication UDP, HTTP et inter-services

  • Intégrer nativement les usages Kubernetes/Agones

La solution proposée

Ce qui a été construit

RCNET en C++17 avec CMake, gestion des dépendances verrouillées et CI/CD automatisée.

Pourquoi ce choix

Le découpage par modules permet de faire évoluer le moteur sans casser les usages des serveurs de jeu.

Comment ça répond au besoin

Setup CMake piloté par dependencies.txt, exemples client/serveur, API publique include/ et documentation versionnée.

Les fonctionnalités clés

  • Noyau serveur RCNETCore en C++17

  • Communication UDP via RCENet et HTTP/HTTPS via cpp-httplib

  • Bus NATS pour communication inter-services

  • Intégration Agones SDK + gRPC pour orchestration Kubernetes

  • Pipelines de release avec versioning et changelog automatisés

Les résultats

  • Base serveur unifiée pour les projets CrzGames

  • Déploiements plus fiables entre Windows, Linux et macOS

  • Réduction du coût de maintenance backend long terme

Stack technique

Choix techniques utilisés sur ce projet.

C++17CMakeGitHub ActionsRCENetOpenSSLcpp-httplibNATS C ClientlibsodiumAgones SDKgRPC

Vous avez un besoin similaire ?

Parlons de votre projet. Je vous aide à transposer cette approche à votre propre contexte.