EN FR
← Projets / Écosystème Multijoueur / LKZ Network Engine
// project_lkz_network_engine
2025 WIP
step_01 // engine

LKZ Network Engine

Moteur réseau C++ multithread — construit pour synchroniser le maximum d'entités en temps réel avec un overhead minimal.

C++IOCPMultithreadedUDP/TCPECSRecast NavAuthoritative Server

J'ai commencé à apprendre la programmation réseau en octobre 2024 avec un premier moteur réseau C# basé sur TCP, qui m'a permis de synchroniser deux joueurs dans Unity. Ce prototype est disponible sur GitHub si vous voulez voir le point de départ. J'ai ensuite adapté le moteur pour utiliser UDP, afin de comprendre les défis de la fiabilité, de la perte de paquets et de la synchronisation temps réel.

En février 2025, j'ai tout reconstruit en C++ depuis zéro. L'objectif spécifique de ce moteur : synchroniser le maximum d'entités en temps réel avec un overhead minimal.

Une intégration clé est Recast Navigation — une librairie de pathfinding open source utilisée dans toute l'industrie. J'exporte les données de navmesh depuis Unity en fichiers texte, les reconstruit côté serveur avec Recast, puis configure les agents pour que le serveur gère toutes les simulations : joueurs et entités IA. Zéro pathfinding côté client — l'autorité est entièrement serveur.

Fonctionnalités Actuelles

  • Event-Driven Networking
  • I/O Asynchrones (IOCP)
  • Multithread
  • Sérialisation Big Endian
  • Protocole custom efficace
  • Bitpacking partiel
  • Tracker de métriques complet — affiché dans le client via LKZ Demo
  • Serveur Autoritaire Complet
  • Intégration ECS pour les entités
  • Navigation, Pathfinding et Navmesh avec Recast Navigation
  • Architecture par session — s'appuie sur LKZ Online Services pour les sessions et le matchmaking
  • Architecture légère
  • UDP pour la simulation, TCP pour la fiabilité
  • Batching optimisé
  • Pipeline I/O Zero-Allocation

Objectifs Futurs

  • Paquets chiffrés pour une transmission de données sécurisée
  • Fragmentation et réassemblage des paquets pour supporter de grandes charges de données
  • Authentification cryptographiquement sécurisée via des jetons de connexion

Ce projet tourne comme un serveur console — toutes les métriques et démos sont dans LKZ Demo →

I started learning network programming in October 2024 with a C# TCP engine that let me sync two players in Unity. That first prototype is available on GitHub if you want to see where it started. I then adapted it to UDP to understand packet loss, reliability, and real-time sync challenges.

In February 2025 I rebuilt everything from scratch in C++. The engine has one specific goal: sync as many entities as possible in real time with minimal overhead.

A key integration is Recast Navigation — an open-source pathfinding library used across the game industry. I export navmesh data from Unity as text files, rebuild the full navigation mesh server-side with Recast, then create and configure agents so the server handles every simulation: both players and AI entities. No client-side pathfinding — fully authoritative server.

Current Features

  • Event-Driven Networking
  • Asynchronous I/O (IOCP)
  • Multithreaded
  • Big Endian Serialization
  • Custom efficient protocol
  • Partial Bitpacking
  • Full metrics tracker for monitoring — displayed in the client via LKZ Demo
  • Full Authoritative Server
  • ECS Integration for entities
  • Navigation, Pathfinding & Navmesh with Recast Navigation
  • Session-based architecture — relies on LKZ Online Services for sessions and matchmaking
  • Lightweight architecture
  • UDP for simulation, TCP for reliability
  • Optimized Batching
  • Zero-Allocation I/O Pipeline

Future Goals

  • Encrypted Packets for secure data transmission
  • Packet Fragmentation and Reassembly to support large data payloads
  • Cryptographically Secure Authentication using connection tokens

This project runs as a console server — all metrics and demos are showcased in LKZ Demo →