Découvrez comment fonctionne Edgegap

Découvrez comment fonctionne Edgegap

Architecture Client-Serveur

L'architecture client-serveur permet à chaque joueur de se connecter à un serveur central qui détient l'état du match, plutôt que de se connecter les uns aux autres. Le serveur reçoit les entrées, fait avancer la simulation et diffuse le résultat. Faire fonctionner un serveur coûte de l'argent, mais cela peut aider tout type de jeu à être plus juste, plus cohérent et plus sécurisé pour chaque joueur.

Aussi appelé

architecture client-serveur, modèle client-serveur, client/serveur

Par

Par

Par

Philip Coté

Philip Coté

Philip Coté

,

Directeur de la technologie

Directeur de la technologie

Directeur de la technologie

Publié

Publié

Publié

Comment fonctionne une boucle de jeu client-serveur ?

Le modèle client-serveur décrit la configuration du réseau. Le jeu de chaque joueur, le client, ouvre une seule connexion vers le serveur plutôt que vers les autres joueurs. Le serveur conserve l'état de la partie : la version unique des événements à laquelle chaque client se réfère.

Un cycle de la boucle se déroule comme suit :

  1. Chaque client lit les actions de son joueur et les envoie au serveur.

  2. Le serveur collecte les données reçues depuis sa dernière mise à jour.

  3. Il fait progresser la simulation : mouvements, physique, impacts, scores.

  4. Il renvoie le nouvel état à chaque client.

  5. Chaque client affiche cet état, et le cycle se répète, souvent des dizaines de fois par seconde.

Diagram of one client-server game loop: three clients send inputs to one server, which collects them, advances the simulation and sends the new state back to every client.

Cette configuration n'indique pas quelle machine héberge le serveur : le jeu d'un joueur sur un serveur d'écoute, ou un processus sans joueur, un serveur dédié. Les deux cas relèvent du modèle client-serveur. La part de décision laissée au serveur est une autre question, traitée dans la section serveur faisant autorité.

Pourquoi les jeux client-serveur font-ils de la prédiction et de l'interpolation ?

Tout acheminer par un seul point a un coût inhérent : chaque action effectue un aller-retour avant que le serveur ne la confirme. À propos de Quake (1996), John Carmack écrivait que sa conception "visait des latences de connexion inférieures à 200 ms", tandis que les joueurs sur modem constataient "des latences de plus de 300 ms, au minimum" (journal de développement, 2 août 1996). Son correctif pour QuakeWorld a permis au client de deviner le résultat de son propre mouvement en attendant que la réponse du serveur n'arrive.

Ce correctif est devenu un standard. De nombreux jeux client-serveur superposent désormais trois techniques à cette structure :

  • La prédiction côté client affiche immédiatement vos propres actions, puis les corrige si le serveur n'est pas d'accord.

  • L'interpolation affiche les autres joueurs entre deux mises à jour déjà reçues, de sorte que leur mouvement soit fluide mais légèrement dans le passé.

  • La compensation du décalage permet au serveur de remonter le temps jusqu'à ce qu'un tireur voyait lorsqu'il vérifie un tir réussi.

Le résultat est que deux joueurs ne voient jamais le même instant. Votre propre personnage court un peu en avance sur le serveur, tous les autres un peu en retard, et seule la version du serveur fait foi. Un joueur qui jure avoir tiré le premier peut avoir raison concernant son propre écran.

Le délai que ces techniques masquent peut tout de même être important. La documentation de Roblox indique aux créateurs que la plupart des joueurs connaissent une latence réseau de 100 à 300 ms (docs Roblox, consulté le 8 octobre 2026).

Le serveur de jeu est-il le seul serveur ?

Les cours de génie logiciel enseignent le modèle client-serveur en deux ou trois tiers. Un jeu multijoueur fait généralement tourner plusieurs types de serveurs à la fois :

  • Le serveur de match gère l'état en direct d'un match ou d'un monde en mémoire, et maintient chaque client connecté synchronisé tout au long de son exécution.

  • Les services de backend, tels que les comptes, le matchmaking, les inventaires, les classements et le stockage, conservent les données qui survivent au match.

Roblox divise les tâches de la même manière : ses serveurs gèrent l'état en direct de chaque expérience, tandis que les banques de données conservent la progression, les inventaires et les classements entre les sessions (Analyse approfondie du backend de Roblox, novembre 2023).

Les pannes affectent les tiers différemment. Un serveur de match qui plante met fin à son propre match. Un service partagé qui tombe en panne peut empêcher le démarrage de tous les matchs. La panne de 73 heures de Roblox en octobre 2021 a débuté dans Consul, un système que ses services de backend utilisaient pour se localiser les uns les autres, et a mis hors service l'ensemble de la plateforme (Roblox, 20 janvier 2022).

Combien coûte un modèle client-serveur ?

Le hub est l'endroit où se concentrent les coûts, en plus de la facture d'hébergement que le peer-to-peer transfère sur les machines des joueurs.

  • Bande passante. Les clients envoient de petites données et téléchargent le monde. Le serveur envoie l'état de chaque joueur à tous les autres, de sorte que son trafic sortant peut augmenter avec le carré du nombre de joueurs (voir le guide multijoueur de Construct, mis à jour en septembre 2023). La gestion de l'intérêt, qui consiste à n'envoyer à chaque client que ce qui le concerne, permet de garder le contrôle sur les grandes parties.

  • Panne. Un serveur qui plante entraîne sa partie avec lui. Un serveur par partie limite cet impact à une seule partie. Un monde persistant déconnecte tout le monde.

  • Distance. La latence de chaque joueur dépend de sa distance par rapport au même hub, l'emplacement du serveur est donc la seule variable commune à toute la partie. Un serveur placé près d'un groupe de joueurs éloigne d'autant plus les autres.

Chacun de ces coûts trouve une réponse dans l'infrastructure. Les Private Fleets d'Edgegap sont des hôtes bare metal avec bande passante sortante incluse, ce qui permet de s'affranchir d'une facturation au compteur. Un conteneur par partie permet de confiner un crash à sa propre partie. De plus, Edge Cloud positionne chaque partie en fonction de la localisation de ses joueurs, sur un réseau de plus de 615 emplacements, en choisissant la meilleure localisation disponible au moment de la demande.

Un mot de notre sponsor (nous-mêmes !)

La majeure partie du lag provient de la distance, non du code. L'Edge Cloud d'Edgegap est un réseau distribué disposant de plus de 615 emplacements disponibles sur demande, garantissant que chaque partie se déroule au meilleur endroit possible pour ses joueurs. Des tests indépendants sur le trafic d'un studio en direct ont mesuré une baisse de 58 % du temps de trajet aller-retour moyen par rapport au cloud public.

L'avis d'Edgegap (ce n'est que notre opinion, à prendre avec des pincettes !)

L'emplacement du serveur est une question d'équilibre

Le modèle client-serveur offre à chaque joueur une seule connexion, et toutes mènent au même endroit, de sorte que l'emplacement du serveur fait partie intégrante de la conception du jeu. C'est également une question d'équilibre. Les joueurs ont tendance à se regrouper autour des grands centres de population, où une demande constante rend la capacité fixe rentable. D'autres jouent plus loin, et la demande atteint des sommets à certaines heures pour s'estomper à d'autres.

C'est pourquoi la plupart des jeux finissent par être hybrides : des Private Fleets pour répondre à la demande constante à proximité de ces centres, et un placement par match sur l'Edge Cloud pour les joueurs plus éloignés et pour les pics de charge (la section sur les régions de serveurs aborde ce compromis). Le placement porte ses fruits : des simulations indépendantes du trafic réel d'un studio ont mesuré une réduction moyenne de 58 % de la latence pour le placement sur serveur dédié par rapport au placement sur relais de cloud public (données de la plateforme, 18 septembre 2026).

Un test utile : identifiez le joueur d'un match type qui se trouve le plus loin du serveur, et demandez-vous si l'emplacement a été choisi pour lui, ou uniquement pour les joueurs situés près du centre.

-

-

-

Philip Coté

Philip Coté

Philip Coté

,

Directeur de la technologie

Directeur de la technologie

Directeur de la technologie

Questions Fréquemment Posées

Quel est l'intérêt de l'architecture client-serveur ?

Quel est un exemple d'architecture client-serveur dans les jeux ?

En quoi le modèle client-serveur dans les jeux vidéo diffère-t-il de celui du web ou d'une base de données ?

En savoir plus

Blog le plus lu pour

Blog le plus lu pour

Netcode

Netcode

Intégrer Edgegap facilement en quelques minutes

Commencez l'intégration maintenant!

Commencez l'intégration maintenant!