Introduction
Garry's Mod (GMod) reste un des jeux sandbox les plus joués au monde, et DarkRP est son gamemode Roleplay le plus populaire. Compatible avec des milliers d'addons Workshop, il propose un système de jobs, économie, propriété et tout l'éventail RP classique.
Prérequis
- VPS Debian 12 ou Ubuntu 22.04+ chez VeryCloud (compatible 32-bit pour les libs Steam)
- 2 GB de RAM minimum, 4 GB recommandés pour 32+ joueurs
- 20 GB de disque (les addons Workshop consomment vite)
- Accès root via SSH
- Un Game Server Token Steam (gratuit, créé plus bas)
Étape 1 : Système et dépendances
sudo dpkg --add-architecture i386
sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 libcurl3-gnutls:i386 \
curl wget screen git unzip
Étape 2 : Créer un utilisateur dédié
sudo useradd -m -s /bin/bash gmod
sudo passwd gmod
sudo su - gmod
Étape 3 : Installer SteamCMD
mkdir -p ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar xzf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz
Étape 4 : Télécharger Garry's Mod Server
mkdir -p ~/gmodserver
cd ~/steamcmd
./steamcmd.sh +force_install_dir /home/gmod/gmodserver +login anonymous +app_update 4020 validate +quit
L'install fait environ 1 GB et prend 5-10 minutes.
Étape 5 : Obtenir un Steam Game Server Token
Rendez-vous sur : https://steamcommunity.com/dev/managegameservers
- App ID :
4020 - Memo :
Mon serveur GMod - Create Account
Récupérez le Login Token (format XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX).
Étape 6 : Premier démarrage (Sandbox de base)
cd ~/gmodserver
./srcds_run -game garrysmod -console -port 27015 +maxplayers 16 \
+gamemode sandbox +map gm_construct \
+sv_setsteamaccount VOTRE_TOKEN_STEAM
Le serveur démarre, mais c'est de la sandbox basique. On va installer DarkRP.
Arrêtez avec Ctrl+C ou en tapant quit dans la console.
Étape 7 : Installer DarkRP
cd ~/gmodserver/garrysmod/gamemodes
git clone https://github.com/FPtje/DarkRP.git darkrp
git clone https://github.com/FPtje/DarkRPModification.git darkrpmodification
Note : darkrpmodification est l'addon qui contient VOS modifications (jobs custom, shipments, lois). Le dossier darkrp ne doit jamais être modifié pour faciliter les mises à jour.
Bougez darkrpmodification au bon endroit :
mv ~/gmodserver/garrysmod/gamemodes/darkrpmodification ~/gmodserver/garrysmod/addons/darkrpmodification
Étape 8 : Télécharger une map DarkRP
DarkRP fonctionne sur des maps spécifiques (rp_*). La plus populaire est rp_downtown_v4c_v2. Téléchargez-la depuis garrysmods.org ou Workshop.
Placez la map :
# Si téléchargée en local, uploadez via SFTP dans :
~/gmodserver/garrysmod/maps/
Ou utilisez resource downloader / workshop (voir étape 11).
Étape 9 : Configurer le serveur
nano ~/gmodserver/garrysmod/cfg/server.cfg
Contenu :
hostname "Mon Serveur DarkRP - VeryCloud"
sv_password ""
sv_lan 0
rcon_password "MotDePasseRcon"
sv_region 3 // 3 = Europe
// Performances réseau
sv_minrate 30000
sv_maxrate 0
sv_minupdaterate 22
sv_maxupdaterate 66
sv_mincmdrate 22
sv_maxcmdrate 66
// Anti-spam et tickrate
fps_max 67
gmod_physiterations 4
// Console / chat
sv_alltalk 0
sv_voiceenable 1
// Authentication
sv_steamaccount VOTRE_TOKEN_STEAM
Étape 10 : Lancer DarkRP
Lancez avec le bon gamemode :
cd ~/gmodserver
./srcds_run -game garrysmod -console -port 27015 \
+maxplayers 32 \
+gamemode darkrp \
+map rp_downtown_v4c_v2 \
+sv_setsteamaccount VOTRE_TOKEN_STEAM \
-tickrate 66
Le serveur démarre. Connectez-vous depuis GMod : Console → connect IP_VPS:27015.
Étape 11 : Ajouter des addons via Workshop
DarkRP demande quelques addons quasi-obligatoires : Pointshop, Sit Anywhere, custom jobs, weapons packs.
Workshop Collection
Créez une collection Workshop sur Steam : https://steamcommunity.com/sharedfiles/edititem/767/3/
Ajoutez vos addons (Sit Anywhere, M9K Weapons, ULib, ULX, etc.). Notez l'ID de la collection dans l'URL.
Lancez le serveur avec :
./srcds_run -game garrysmod -console -port 27015 \
+maxplayers 32 \
+gamemode darkrp \
+map rp_downtown_v4c_v2 \
+sv_setsteamaccount VOTRE_TOKEN_STEAM \
+host_workshop_collection ID_COLLECTION \
-authkey VOTRE_WORKSHOP_API_KEY
Le Workshop API Key s'obtient sur : https://steamcommunity.com/dev/apikey
Étape 12 : Customiser DarkRP
Toutes vos modifs vont dans darkrpmodification/lua/darkrp_customthings/.
Ajouter un job custom
nano ~/gmodserver/garrysmod/addons/darkrpmodification/lua/darkrp_customthings/jobs.lua
Exemple de job :
TEAM_HACKER = DarkRP.createJob("Hacker", {
color = Color(0, 255, 100, 255),
model = "models/player/hostage/hostage_04.mdl",
description = "Vous piratez les systèmes informatiques.",
weapons = {"weapon_keypadcracker"},
command = "hacker",
max = 2,
salary = 75,
admin = 0,
vote = false,
hasLicense = false,
candemote = true,
category = "Voleurs"
})
Ajouter une arme à acheter
nano ~/gmodserver/garrysmod/addons/darkrpmodification/lua/darkrp_customthings/shipments.lua
DarkRP.createShipment("AK-47", {
model = "models/weapons/w_rif_ak47.mdl",
entity = "weapon_ak472",
price = 5000,
amount = 10,
separate = true,
pricesep = 600,
noship = false,
allowed = {TEAM_GUN, TEAM_BLACKMARKET}
})
Étape 13 : Service systemd avec screen
GMod n'a pas de daemon natif, on utilise screen pour le tourner en arrière-plan.
sudo nano /etc/systemd/system/gmod.service
[Unit]
Description=Garry's Mod DarkRP Server
After=network.target
[Service]
Type=forking
User=gmod
WorkingDirectory=/home/gmod/gmodserver
ExecStart=/usr/bin/screen -dmS gmod /home/gmod/gmodserver/srcds_run -game garrysmod -console -port 27015 +maxplayers 32 +gamemode darkrp +map rp_downtown_v4c_v2 +sv_setsteamaccount VOTRE_TOKEN +host_workshop_collection ID_COLLECTION -authkey VOTRE_API_KEY -tickrate 66
ExecStop=/usr/bin/screen -S gmod -X quit
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now gmod
Pour accéder à la console live :
sudo -u gmod screen -r gmod
# Sortir sans tuer le screen : Ctrl+A puis D
Étape 14 : Ouvrir les ports
sudo ufw allow 27015/tcp
sudo ufw allow 27015/udp
sudo ufw allow 27005/udp
Et côté Netrix VeryCloud, ouvrez 27015 TCP+UDP dans l'espace client.
Dépannage
"Steam token rejected"
Votre Game Server Token n'est pas valide ou est utilisé sur un autre serveur. Re-créez-en un sur https://steamcommunity.com/dev/managegameservers.
Serveur tourne mais inaccessible
Vérifiez que :
- Le port 27015 UDP est ouvert (pas seulement TCP)
sv_lan 0dansserver.cfgheartbeatest activé (par défaut sur 4020)
"Map not found"
La map n'est pas dans ~/gmodserver/garrysmod/maps/. Téléchargez-la et placez le .bsp (et éventuellement .nav) au bon endroit.
Lag malgré peu de joueurs
Souvent dû à des addons Workshop mal optimisés. Listez les plus lourds :
du -sh ~/gmodserver/garrysmod/addons/*/ | sort -h
Désactivez temporairement les plus gros.
Commandes utiles
# Statut du service
sudo systemctl status gmod
# Voir la console live
sudo -u gmod screen -r gmod
# (Ctrl+A puis D pour quitter sans arrêter)
# Mise à jour GMod
~/steamcmd/steamcmd.sh +force_install_dir /home/gmod/gmodserver +login anonymous +app_update 4020 validate +quit
# Mise à jour DarkRP
cd ~/gmodserver/garrysmod/gamemodes/darkrp
git pull
# Compter les joueurs en ligne
ss -unp | grep 27015
# Liste des cartes installées
ls ~/gmodserver/garrysmod/maps/*.bsp
Conclusion
Votre serveur DarkRP est en ligne. Pour aller plus loin :
- Installez ULX + ULib pour les permissions admin
- Configurez un anti-cheat (CAC, Vermilion)
- Mettez en place un système MySQL pour la sauvegarde des données (DarkRP utilise SQLite par défaut)
- Hébergez une page web (forum, donations) en parallèle sur le même VPS
Ressources
- Wiki officiel DarkRP : https://wiki.darkrp.com
- Garry's Mod Wiki : https://wiki.facepunch.com/gmod
- Workshop GMod : https://steamcommunity.com/app/4000/workshop/
- SteamCMD doc : https://developer.valvesoftware.com/wiki/SteamCMD


















