CrestVPS

hébergement serveur minecraft

Hébergement de serveurs de jeux

Le tick rate est un problème mono-thread. Tout le reste est du bruit.

Ce que nous déploierions

76,23 €/mois

108,90 €30% annuel

La boucle d'un serveur de jeux s'exécute sur un cœur, et le nombre qui décide si vos joueurs se plaignent est la vitesse de ce cœur et sa capacité à fonctionner sans interruption. Nous sélectionnons les puces les plus cadencées du marché, nous les épinglons, nous déplaçons les tâches du noyau avec isolcpus et le mode tickless, puis nous plaçons un filtrage au niveau de la couche applicative devant. Ainsi, une attaque contre votre communauté ne devient pas un ticket de support pour vous.

Pourquoi cette configuration

NITRO fait tourner Zen 5 à 5,9 GHz avec des cœurs épinglés et isolés, ce qui maintient la gigue du temps de frame sous la milliseconde même avec un serveur plein. Le profil de filtrage L7 comprend les schémas de trafic Source-engine, FiveM, Minecraft et TeamSpeak. Il supprime donc le bruit sans perdre vos joueurs.

Ce que nous déploierions

PlanNITRO N2
vCPU8 (dedicated)
RAM32 GB
Stockage480 GB
ImageDebian 13 Trixie

Dimensionnement

Dimensionnez sur la marge mono-thread, pas sur le nombre de cœurs. Une boucle de jeu autoritaire s'exécute sur un seul cœur. Un jeu de tir 128 tick avec 12 slots veut un cœur NITRO à pleine cadence et 4 Go de RAM. Rust ou les grands serveurs Source de plus de 100 joueurs nécessitent deux cœurs de marge, car la boucle a des pics lors des changements d'entités. Minecraft avec 40 joueurs et une pile de plugins : 4 cœurs, 12 Go, la plupart pour le tas (heap). Maintenez la charge en régime permanent sous 60 %.

Arithmétique du budget de tick

Un tick est une échéance stricte. À 64 tick, vous avez 15,6 ms par frame ; à 128 tick, 7,8 ms. Ce budget couvre la physique, l'enregistrement des hits, l'IA et la sérialisation réseau pour chaque joueur connecté. Un dépassement et le serveur drop un tick. Les joueurs voient cela comme des rubber-banding et des tirs manqués. Profilez le temps de frame p99, jamais la moyenne. La moyenne reste plate pendant que le début de round, les changements de carte et les spawns massifs d'entités dépassent le budget. Dimensionnez pour que le temps de frame en régime permanent soit sous la moitié du budget. Les pics restent alors dans le budget.

Ce que le filtrage L7 de jeu fait réellement

Le nettoyage volumétrique empêche le remplissage du tuyau. Il ne fait rien contre une inondation de requêtes composée de paquets valides. Les moteurs Source répondent à A2S_INFO depuis n'importe quelle adresse, donc un attaquant envoie de petites requêtes et votre boucle de tick paie pour les réponses, ou les reflète sur quelqu'un d'autre. Filtrer en couche 7 signifie que le scrubber parle le protocole : challenge-response sur les requêtes, limites de débit par source sur les handshakes, paquets malformés abandonnés avant d'atteindre le processus de jeu. Les 15 Tbps de capacité inline sont le plancher. La conscience du protocole est ce qui garde la boucle dans les temps.

Ce qui va de travers

  • Acheter du vCPU partagé ou en rafale pour une boucle de tick. Une charge soutenue fait chuter la fréquence turbo, le temps de frame p99 double à peu près, et les joueurs le ressentent avant que vos graphiques ne le montrent. Épinglez les cœurs sur NITRO.
  • Exécuter le serveur de jeu et son backend MySQL ou Redis sur les mêmes cœurs. Une attente de fsync ou une pause du ramasse-miettes atterrit dans la fenêtre de tick et le serveur perd des frames pendant la charge.
  • Dimensionner sur le temps de frame moyen. La moyenne reste plate pendant que le début de partie, les rotations de carte et les apparitions massives d'entités dépassent le budget. Prévoyez pour p99, mesuré pendant ces événements, pas pendant l'inactivité.

Réglez la machine

  • Planification CPUPinned + isolcpus + tickless · 18 €
  • Protection DDoSGame-layer L7 filtering · 24 €
  • Tout le resteMétriques et alertes à résolution seconde · 5 €