GM Market — Premium GMod & FiveM Scripts
Garry's Mod Guide 🇫🇷 Français

Optimisation serveur GMod 2026 : réduire le lag de A à Z (server.cfg, addons, FastDL)

>*Muzan Moderator
@>*Muzan · Moderator ·
9 views 0 replies

TL;DR

GMod est mono-threadé côté serveur — il n'exploite qu'un seul cœur CPU, ce qui rend l'optimisation absolument critique (PlaynHost). Peu importe si votre machine tourne avec 32 cœurs, le serveur ne pourra jamais en utiliser qu'un seul pour la logique de jeu. Ce guide couvre les réglages server.cfg, les flags de lancement, l'audit d'addons et la mise en place du FastDL.


Comprendre le problème

GMod n'est pas multi-threadé côté serveur : l'application n'utilise qu'un seul cœur processeur à la fois. La puissance brute ne peut pas tout compenser, et c'est particulièrement vrai sur des serveurs dépassant 30 joueurs (mTxServ).

Sous Windows, SRCDS se limite à 2 threads seulement : l'un pour le réseau, l'autre pour tout le reste (Steam Discussions). C'est pourquoi Linux est fortement recommandé. Avec Garry's Mod, la performance CPU est souvent plus importante que la RAM brute — un serveur avec moins de cœurs mais plus rapides surpassera un serveur avec plus de cœurs lents (Wasabi Hosting).


Étape 1 — Flags de lancement SRCDS

./srcds_run -game garrysmod -console -tickrate 33 +map gm_flatgrass +maxplayers 32 -authkey VOTRE_CLE -disableluarefresh -softrestart
  • -disableluarefresh — Désactive la surveillance des fichiers Lua en temps réel. Évite que SRCDS scrute constamment le dossier lua/ pour détecter des modifications — cycles CPU économisés en production.
  • -tickrate 33 — Le tickrate détermine combien de fois par seconde le serveur se met à jour. Un tickrate élevé consomme exponentiellement plus de ressources CPU (PlaynHost). Pour 40+ joueurs, beaucoup d'admins abaissent à 22, voire 11 (NFOServers).
  • fps_max 128 — Plafonne la vitesse de traitement des ticks. Évite les pics CPU sur les serveurs chargés (Physgun).

Étape 2 — Optimiser le server.cfg

// === Réseau ===
sv_minrate 20000
sv_maxrate 100000
sv_maxupdaterate 66
sv_minupdaterate 33
sv_maxcmdrate 66
sv_mincmdrate 33
net_maxfilesize 64
decalfrequency 10
net_splitpacket_maxrate 45000

// === Multi-threading Source Engine ===
sv_parallel_packentities 1
sv_parallel_sendsnapshot 1

// === Physique ===
gmod_physiterations 4
sv_turbophysics 1

// === Performance générale ===
sv_hibernate_think 1
sv_stats 0
fps_max 128

// === Sécurité ===
sv_allowcslua 0
sv_cheats 0

// === FastDL ===
sv_downloadurl "https://fastdl.monserveur.com"

// === Limites sandbox ===
sbox_maxprops 50
sbox_maxragdolls 5
sbox_maxnpcs 10

Variables critiques expliquées

sv_parallel_packentities 1 & sv_parallel_sendsnapshot 1 Ces deux convars exploitent les capacités multi-thread du moteur Source et peuvent améliorer significativement les performances sur les systèmes multi-cœurs (Wasabi Hosting). Elles déchargent l'empaquetage des entités réseau sur un thread secondaire, soulageant le thread principal.

gmod_physiterations 4 Contrôle le nombre d'itérations du moteur physique Havok par tick. La valeur 2 est légère (idéale pour les serveurs RP), 4 est le compromis standard. Au-delà de 6, le coût CPU dépasse les gains de précision.

sv_hibernate_think 1 Selon le wiki Facepunch, le hook GM:Tick ne s'exécute pas si le serveur est vide, à moins que sv_hibernate_think soit à 1 (Wiki GMod). Activez-le si votre gamemode a des tâches en arrière-plan. Sinon, laissez-le à 0 pour économiser des cycles CPU à vide.

sv_stats 0 — Désactive la collecte de stats internes de SRCDS. Petit gain, mais tout compte sur un moteur mono-threadé.

decalfrequency 10 — Réduit la fréquence de création des décals (impacts de balles, etc.). Une valeur trop haute accumule des décals qui doivent être nettoyés côté serveur.


Étape 3 — Audit des addons

Les addons sont la cause principale de lag sur les serveurs GMod (Wasabi Hosting). La règle 80/20 s'applique parfaitement : 80 % du lag provient de 20 % des addons (PlaynHost).

Méthode "breadboarding" : Supprimez la majorité des addons et réintroduisez-les progressivement jusqu'à ce que les performances chutent — vous identifierez ainsi le coupable (Steam Discussions).

Checklist d'audit :

  • lua_profile 1 en console pour identifier les hooks coûteux
  • Traquer les hook.Add("Think", ...) sans condition de sortie rapide
  • sv_allowcslua 0 — empêcher l'exécution Lua client non contrôlée
  • Limiter sbox_maxprops, sbox_maxragdolls, sbox_maxnpcs — plus de props = plus de calculs (mTxServ)
  • Utiliser net_graph 4 en jeu — si sv clignote rouge, le serveur est surchargé

Addons gourmands à surveiller : Wiremod, ACF, et certains systèmes RP lourds. Envisagez des alternatives plus légères si la performance est prioritaire (Wasabi Hosting).

Exemple — hook Think optimisé :

-- MAUVAIS : tourne 66 fois/sec sur TOUTES les entités
hook.Add("Think", "HookLourd", function()
    for _, ent in ipairs(ents.GetAll()) do
        ent:Update()
    end
end)

-- MIEUX : timer espacé + filtre par classe
timer.Create("TimerOptimise", 0.5, 0, function()
    for _, ent in ipairs(ents.FindByClass("mon_entity")) do
        if IsValid(ent) then ent:Update() end
    end
end)

Étape 4 — Configurer le FastDL

FastDL est un serveur web qui héberge tout le contenu custom de votre serveur (maps, modèles, matériaux, sons). Utiliser un serveur web dédié pour les téléchargements est bien plus rapide que de servir les fichiers via le serveur de jeu lui-même, et réduit significativement la charge (Physgun).

Structure FastDL : Contrairement à la disposition habituelle des addons dans GMod, vos dossiers models/, materials/, sounds/ et resource/ doivent être placés directement à la racine du serveur web (GitHub DBOYttt).

for addon_dir in garrysmod/addons/*/; do
  for sub in models materials sounds resource; do
    if [ -d "${addon_dir}${sub}" ]; then
      cp -r "${addon_dir}${sub}" /var/www/fastdl/
    fi
  done
done

Dans server.cfg :

sv_downloadurl "https://fastdl.monserveur.com"

Conseil : Compressez vos fichiers en .bz2 — le client GMod tente d'abord de télécharger le format compressé, ce qui accélère les connexions.

Important : N'hébergez pas le FastDL sur la même machine que votre serveur de jeu — cela crée une concurrence sur la bande passante.


FAQ

Q : Mon serveur lag uniquement avec beaucoup de joueurs, pourquoi ? SRCDS atteint ses limites en joueurs supportables : le CPU peut sembler à 50-70 % selon votre panel, mais les pings montent quand même car le moteur Source ne se concentre que sur un seul cœur (NFOServers).

Q : Est-ce que baisser le tickrate à 11 va casser mon gamemode RP ? Ça dépend. DarkRP/TTT fonctionnent très bien à 22. Certains systèmes de combat nécessitent 33. Testez progressivement avec net_graph 4.

Q : sv_parallel_packentities peut-il causer des bugs réseau ? Rarement sur de vieilles branches SRCDS. Sur GMod x86-64 (branche beta actuelle), aucun problème constaté en production. Activez toujours sv_parallel_sendsnapshot 1 en même temps.

Q : Où trouver des addons bien optimisés ? Sur GM Market, dans la catégorie GMod — plusieurs scripts du catalogue mentionnent explicitement leur impact serveur. Vérifiez toujours les descriptions et avis avant d'installer en production.


Guide testé sur des serveurs DarkRP et TTT, GMod build x86-64, Linux Ubuntu 22.04, juin 2026. Profilez toujours avec votre configuration réelle — chaque serveur réagit différemment.

0

0 Replies

No replies yet — be the first to respond.