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.
Vous avez un besoin similaire ?
Parlons de votre projet. Je vous aide à transposer cette approche à votre propre contexte.