Tous les projets
Logiciel

CrzGames - RCENet (fork ENet amélioré pour UDP)

Fork ENet orienté IPv6, chiffrement et observabilité réseau

Un ENet renforcé pour les contraintes réseau des jeux temps réel.

Le besoin client

Contexte

Les besoins réseau de CrzGames dépassaient les capacités du ENet standard pour des usages production modernes.

Problème

Manque de briques natives pour IPv6, chiffrement flexible et distinction fine des événements de déconnexion.

Objectif

Créer un fork compatible et plus robuste, adapté aux jeux UDP à forte contrainte de fiabilité.

Les enjeux

  • Améliorer la sécurité des échanges UDP

  • Gérer proprement les déconnexions timeout vs volontaires

  • Donner plus de visibilité sur les ACK réels des paquets fiables

La solution proposée

Ce qui a été construit

RCENet en C avec CI multi-plateforme et distribution de paquets natifs.

Pourquoi ce choix

Le fork permet d’ajouter les primitives critiques sans attendre le cycle de release du projet original.

Comment ça répond au besoin

Ajout d’ENetEncryptor, nouvel event ENET_EVENT_TYPE_DISCONNECT_TIMEOUT et callback d’ACK par paquet fiable.

Les fonctionnalités clés

  • Support complet IPv6 + IPv4

  • Système ENetEncryptor (AES, ChaCha20, etc.)

  • Événement ENET_EVENT_TYPE_DISCONNECT_TIMEOUT dédié

  • Callback d’accusé de réception sur paquets fiables fragmentés

  • Build/distribution multi-plateforme (desktop, mobile, Steam Linux)

Les résultats

  • Stack UDP plus sûre et plus observable côté serveur

  • Meilleure gestion des incidents réseau en production

  • Base réseau réutilisable dans RCNET et les jeux CrzGames

Stack technique

Choix techniques utilisés sur ce projet.

CxmakeGitHub ActionsENet (fork)UDPOpenSSL / libsodium (selon implémentation encryptor)

Vous avez un besoin similaire ?

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