Aller au contenu
Garry's Mod

Installer un serveur Garry's Mod

Le serveur dédié Garry's Mod s'installe avec SteamCMD (application 4020, connexion anonyme) et se lance avec srcds_run (Linux) ou srcds.exe (Windows). Comptez environ 30 minutes, un VPS ou un PC et un jeton de serveur GSLT obligatoire d'après le wiki Facepunch. Source principale : wiki.facepunch.com/gmod.

Dernière mise à jour : 09/10/2026

Le serveur dédié Garry's Mod s'installe avec SteamCMD (application 4020, connexion anonyme) et se lance avec srcds_run (Linux) ou srcds.exe (Windows). Comptez environ 30 minutes, un VPS ou un PC et un jeton de serveur GSLT obligatoire d'après le wiki Facepunch. Source principale : wiki.facepunch.com/gmod.

Installation pas à pas

  1. Choisissez la machine : VPS Linux (Ubuntu/Debian) ou PC Windows ; la charge dépend surtout des addons et du mode de jeu.

  2. Créez un utilisateur non-root (steam) et installez SteamCMD ainsi que les bibliothèques 32 bits.

  3. Téléchargez le serveur : app_update 4020 validate avec une connexion anonyme.

  4. Créez un jeton GSLT (AppID 4000) sur steamcommunity.com/dev/managegameservers.

  5. Générez la ligne de lancement avec l'outil « Ligne de lancement Garry's Mod » et lancez srcds_run.

  6. Configurez garrysmod/cfg/server.cfg avec l'outil « Générateur de server.cfg Garry's Mod ».

  7. Ajoutez vos addons avec une collection Workshop (+host_workshop_collection).

  8. Ouvrez les ports (27015 UDP/TCP au minimum) dans ufw, chez le fournisseur et sur la box.

  9. Testez en local (connect 127.0.0.1 dans la console du jeu) puis depuis une autre connexion.

  10. Créez un service systemd et planifiez mises à jour et sauvegardes.

Prérequis

  • Système : Linux (Ubuntu/Debian) ou Windows. Le wiki Facepunch donne les commandes Windows et Linux.
  • Ressources : le wiki ne fixe pas de minimum. Partez de 2 vCPU, 4 Go de RAM et plusieurs Go de disque, puis ajustez selon vos addons et le nombre de joueurs (non documenté officiellement).
  • Comptes : un compte Steam pour le jeton GSLT (AppID 4000) ; le serveur lui-même s'installe en connexion anonyme.

Installation locale sous Windows

Après avoir décompressé SteamCMD dans C:\steamcmd, installez le serveur puis lancez srcds.exe (exemple du wiki Facepunch). Testez ensuite avec connect 127.0.0.1 dans la console du jeu.

cd C:\steamcmd
steamcmd +force_install_dir C:\gmodds +login anonymous +app_update 4020 validate +quit

cd C:\gmodds
srcds.exe -console -game garrysmod +maxplayers 20 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKEN

VPS Linux : utilisateur et dépendances

Le serveur Source est un programme 32 bits : activez l'architecture i386 et installez les bibliothèques 32 bits. Les paquets ci-dessous viennent du wiki Team Fortress (même moteur) ; les noms peuvent varier selon la distribution.

sudo adduser steam
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 lib32z1 steamcmd
su - steam

VPS Linux : installation et premier démarrage

Commande d'installation Linux du wiki Facepunch, puis lancement avec srcds_run. La page ne détaille pas les ports ni l'emplacement exact de server.cfg ; les valeurs standard Source s'appliquent (voir plus bas).

steamcmd +login anonymous +force_install_dir /home/steam/gmodds +app_update 4020 validate +quit

cd /home/steam/gmodds
./srcds_run -game garrysmod -console +maxplayers 32 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKEN

Workshop et jeton GSLT

D'après le wiki Facepunch, +sv_setsteamaccount est obligatoire (sans lui, le classement du serveur est pénalisé) et +host_workshop_collection ajoute les addons d'une collection publique ou non répertoriée, sous-collections comprises. host_workshop_autoupdate 0 coupe les mises à jour automatiques mais peut empêcher les joueurs de rejoindre en cas de version de map obsolète. Le wiki mentionne aussi un nouveau format cfg/srcds_workshop_ids.txt (version 2026.09.22 ou ultérieure) : consultez sa page « Workshop for Dedicated Servers ». Pour les téléchargements côté joueurs, voir l'outil « Gestionnaire de collection Workshop ».

./srcds_run -game garrysmod -console +maxplayers 32 +gamemode sandbox +map gm_construct \
  +host_workshop_collection 123456789 \
  +sv_setsteamaccount YOUR_GSLT_TOKEN

Ports à ouvrir et pare-feu Linux (ufw)

Ces ports sont les valeurs standard des serveurs Source (le wiki Facepunch consulté ne les liste pas). Pour changer le port de jeu, utilisez -port N sur la ligne de lancement. Les addons Workshop se téléchargent via Steam : aucun port supplémentaire côté joueur n'est documenté.

Ouvrez uniquement ce dont vous avez besoin, puis testez depuis une autre connexion (pas depuis le serveur lui-même).

  • 27015/udp : jeu (port Source par défaut)
  • 27015/tcp : RCON
  • 27005/udp : communication client
  • 27020/udp : SourceTV (optionnel)
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27005/udp
sudo ufw allow 27020/udp
sudo ufw enable
sudo ufw status

Pare-feu Windows (netsh)

Dans une invite de commandes administrateur, créez une règle entrante par port (ou ouvrez « Pare-feu Windows Defender avec fonctions avancées de sécurité »).

netsh advfirewall firewall add rule name="Garry's Mod 27015 UDP" dir=in action=allow protocol=UDP localport=27015
netsh advfirewall firewall add rule name="Garry's Mod 27015 TCP" dir=in action=allow protocol=TCP localport=27015
netsh advfirewall firewall add rule name="Garry's Mod 27005 UDP" dir=in action=allow protocol=UDP localport=27005
netsh advfirewall firewall add rule name="Garry's Mod 27020 UDP" dir=in action=allow protocol=UDP localport=27020

Pare-feu du fournisseur et redirection de ports (box)

Chez un hébergeur (OVH, Hetzner, Scaleway…), ouvrez aussi les mêmes ports dans le pare-feu ou le « security group » du fournisseur : ufw ne suffit pas s'il existe un pare-feu en amont. Pour un serveur à la maison, créez dans votre box une redirection (NAT) de chaque port vers l'adresse IP locale de la machine (fixez-la ou réservez-la par DHCP).

Test : depuis une autre connexion, ajoutez le serveur par « IP:port » dans le navigateur de serveurs de Garry's Mod ou en console. Si cela échoue, vérifiez dans l'ordre : service démarré, pare-feu local, pare-feu du fournisseur, redirection NAT.

Démarrage automatique : service systemd

Créez /etc/systemd/system/gmod.service (en root), puis activez-le. Adaptez l'utilisateur et les chemins ; consultez les journaux avec journalctl -u gmod -f.

[Unit]
Description=Garry's Mod dedicated server
After=network-online.target
Wants=network-online.target

[Service]
User=steam
WorkingDirectory=/home/steam/gmodds
ExecStart=/home/steam/gmodds/srcds_run -game garrysmod -console -norestart +maxplayers 32 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKEN
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

# then:
# sudo systemctl daemon-reload
# sudo systemctl enable --now gmod

Windows : tâche planifiée au démarrage

Sous Windows, une tâche planifiée lance votre script .bat à l'ouverture du système (exécutez la commande dans une invite administrateur).

schtasks /Create /TN "Garry's Mod server" /TR "C:\gmodds\start-gmod.bat" /SC ONSTART /RU SYSTEM /RL HIGHEST

Mises à jour, sauvegardes et redémarrages planifiés

Arrêtez le service avant de mettre à jour (même commande SteamCMD que pour l'installation), sauvegardez régulièrement les fichiers de configuration et de données, et planifiez un redémarrage quotidien si le serveur dégrade avec le temps.

sudo systemctl stop gmod
steamcmd +force_install_dir /home/steam/gmodds +login anonymous +app_update 4020 validate +quit
sudo systemctl start gmod

# backup
tar czf ~/gmod-$(date +%F).tar.gz -C /home/steam/gmodds garrysmod/cfg garrysmod/data garrysmod/addons

# daily restart at 05:00 (root crontab: sudo crontab -e)
0 5 * * * systemctl restart gmod

Déclarer et trouver son serveur

Ajoutez votre serveur sur https://game-rank.com/jeux/garrys-mod pour le rendre visible à la communauté. Pour le retrouver dans le jeu, utilisez le navigateur de serveurs ou connectez-vous directement avec son adresse IP:port.

Dépannage : erreurs fréquentes

  • Les clients restent bloqués sur le chargement ou « missing content » : addons non fournis aux joueurs. Solution : ajoutez les IDs dans workshop.lua (resource.AddWorkshop) ou renseignez sv_downloadurl (FastDL), et vérifiez que la collection est publique.
  • Serveur invisible depuis l'extérieur : le service tourne mais personne ne peut se connecter. Cause : port fermé (ufw, pare-feu du fournisseur ou redirection NAT manquante). Solution : ouvrez les ports listés plus haut aux trois niveaux et testez depuis une autre connexion.
  • Port déjà utilisé au démarrage : une autre instance occupe le port. Solution : listez les processus avec ss -lunp | grep 27015, arrêtez l'ancienne instance, ou donnez un port différent avec -port à chaque serveur.
  • SteamCMD « Failed to install app » ou téléchargement bloqué : cause fréquente, disque plein ou droits insuffisants sur le dossier. Solution : vérifiez df -h et le propriétaire du dossier, puis relancez la commande avec validate (plusieurs fois si nécessaire).
  • srcds_run : « No such file or directory » ou bibliothèque 32 bits manquante : le serveur Source est un programme 32 bits. Solution : activez l'architecture i386 (dpkg --add-architecture i386) et installez lib32gcc-s1 et lib32stdc++6.

Questions fréquentes

Le jeton GSLT est-il obligatoire ?
Le wiki Facepunch indique que +sv_setsteamaccount est obligatoire et que s'en passer pénalise le classement du serveur. Utilisez l'AppID 4000 pour créer le jeton.
Comment changer de mode de jeu (DarkRP, TTT…) ?
Avec +gamemode <dossier> sur la ligne de lancement, où le dossier se trouve dans garrysmod/gamemodes/ ou dans le dossier gamemodes/ d'un addon. On peut aussi changer la variable gamemode puis changer de carte.
Puis-je lancer le serveur en root ?
Déconseillé : créez un utilisateur dédié (par exemple steam) sans droits administrateur, installez et lancez le serveur avec lui. Une faille du serveur ou d'un plugin ne compromet alors pas toute la machine.
Mon serveur Garry's Mod n'apparaît pas dans la liste : que vérifier ?
Vérifiez d'abord que les ports sont ouverts à tous les niveaux, que le serveur n'est pas en mode LAN (sv_lan 0) et, si le jeu l'exige, qu'un jeton de serveur (GSLT) valide est fourni. La liste Steam peut mettre quelques minutes à se rafraîchir ; en attendant, connectez-vous par IP:port.

Outils pour votre serveur Garry's Mod

Garry's Mod
Garry's ModAccès libre
Créez le server.cfg de votre serveur Garry's Mod : nom, mots de passe, région, téléchargements FastDL, limites sandbox et sécurité.
ConfigurationSandboxOuvrir
Documentation
Garry's Mod
Garry's ModAccès libre
Générez la ligne de lancement srcds de Garry's Mod : carte, mode de jeu, slots, port, collection Workshop et jeton GSLT.
LancementConfigurationOuvrir
Documentation
Garry's Mod
Garry's ModConnexion requise
Collez vos liens Workshop : IDs nettoyés et dédoublonnés, paramètre +host_workshop_collection et fichier workshop.lua prêts à l'emploi.
WorkshopAddonsOuvrir
Documentation
Garry's Mod
Garry's ModConnexion requise
Générez le settings.lua de DarkRP : économie, salaires, vitesses, lois, distances de chat et limites, avec les valeurs par défaut officielles.
DarkRPConfigurationRoleplayOuvrir
Documentation
Garry's Mod
Garry's ModConnexion requise
Collez un script Lua de Garry's Mod : détection des end, parenthèses et chaînes non fermés avant de redémarrer le serveur.
LuaDéveloppementOuvrir
Documentation