// Garry's Mod

Créer un serveur DarkRP sur Garry's Mod : jobs, addons et 64 bits

Créer un serveur DarkRP sur Garry's Mod : jobs, addons et 64 bits

Un serveur DarkRP se crée en quatre étapes : réglez le gamemode sur darkrp, chargez DarkRP et vos addons via une collection Workshop, placez vos propres jobs et réglages dans l'addon darkrpmodification (jamais dans DarkRP lui-même) et nommez-vous admin avec FAdmin. Voici chaque étape avec les vrais noms de fichiers, plus ce que la mise à jour 64 bits de Garry's Mod de septembre 2026 change, ou ne change pas, pour votre serveur.

Ce dont vous avez besoin

DarkRP est le gamemode roleplay de FPtje, construit sur sandbox : les joueurs choisissent un job, touchent un salaire et achètent des objets via le menu F4. En plus d'un serveur Garry's Mod (app Steam 4020), il vous faut :

  • Un GSLT (Game Server Login Token). Le wiki de Facepunch le qualifie d'obligatoire ; sans token, votre serveur recule dans la liste des serveurs. Vous le créez sur la page Steam de gestion des comptes de serveurs de jeu, avec l'App ID 4000, un par serveur. Dans notre panel, collez-le dans la variable de démarrage Steam Account Token.
  • Une collection Workshop, publique ou non répertoriée (unlisted). Le serveur ne peut pas lire une collection privée.
  • L'addon darkrpmodification, sur GitHub, pour tout ce que vous personnalisez.

Quand s'en passer ? Si vous voulez seulement construire et faire les fous avec quelques amis, sandbox demande moins de travail. DarkRP ne vaut la peine que si vous voulez faire respecter des règles et avez du temps pour modérer.

Étape 1 : gamemode, map et collection Workshop

Selon le README, vous installez DarkRP via git ou via le Workshop (ID 248302805). Le plus simple : ajoutez DarkRP à votre collection. Renseignez ensuite, dans les variables de démarrage du panel :

  • Gamemode : darkrp, le nom du dossier du gamemode.
  • Workshop-collectie : l'ID de votre collection. La commande de démarrage le transmet via +host_workshop_collection ; le serveur télécharge la collection à chaque démarrage, collections imbriquées comprises.
  • Map : le nom de fichier d'une map RP, sans .bsp. Si la map fait partie de votre collection, son nom figure généralement dans la description Workshop.

Les joueurs reçoivent automatiquement la map et DarkRP s'ils proviennent de la collection du serveur. Les autres addons avec du contenu, comme des models ou des sons, se préparent avec resource.AddWorkshop("ID") dans un fichier Lua ; sur nos serveurs, garrysmod/lua/autorun/server/workshop.lua est déjà prévu pour cela. Utilisez-y des ID d'addons individuels, pas un ID de collection, et laissez de côté les addons qui ne contiennent que du Lua : ils arrivent par un autre mécanisme. Une prochaine mise à jour apportera une autre option : des ID Workshop individuels dans cfg/srcds_workshop_ids.txt. Fin septembre, cette fonction n'existe encore que dans la branche dev, pas dans la version serveur normale. Pour en savoir plus sur les addons, consultez la base de connaissances : Installer des addons et gamemodes du Workshop.

Étape 2 : darkrpmodification, jamais le core

La règle la plus importante figure mot pour mot dans le README : « don't touch DarkRP's core files ». Tout ce que vous modifiez dans gamemodes/darkrp/ est perdu à la prochaine mise à jour de DarkRP. C'est pour cela qu'existe darkrpmodification : téléchargez le zip depuis GitHub et placez son contenu dans un dossier à part sous garrysmod/addons/, via le gestionnaire de fichiers ou SFTP. Ce dossier ne contient que des fichiers texte :

Arborescence d'un serveur DarkRP : l'addon darkrpmodification dans garrysmod/addons avec darkrp_config et darkrp_customthings, à côté de lua/bin pour les modules binaires et du gamemode DarkRP, qu'on ne modifie pas
Où personnaliser DarkRP : tout dans l'addon darkrpmodification, rien dans gamemodes/darkrp.
  • lua/darkrp_config/ : settings.lua (les réglages les plus importants), disabled_defaults.lua, mysql.lua et licenseweapons.lua.
  • lua/darkrp_customthings/ : jobs.lua, shipments.lua, entities.lua et des fichiers pour les agendas, les munitions, les groupes de portes, les chats de groupe et les véhicules.
  • lua/darkrp_language/ pour les traductions et lua/darkrp_modules/ pour vos propres modules.

Étape 3 : vos propres jobs, shipments et entities

Un job est un bloc dans jobs.lua, sous la même forme que les jobs par défaut de DarkRP :

TEAM_MECANICIEN = DarkRP.createJob("Mécanicien", {
    color = Color(230, 140, 20, 255),
    model = {"models/player/Group01/Male_02.mdl"},
    description = [[Répare les voitures au garage.]],
    weapons = {},
    command = "mecanicien",
    max = 2,
    salary = GAMEMODE.Config.normalsalary,
    admin = 0,
    vote = false,
    hasLicense = false,
    category = "Citizens",
})

Pour modifier un job par défaut, comme la police, désactivez-le d'abord dans disabled_defaults.lua, puis copiez-le dans jobs.lua. Même principe pour les armes et les shipments (shipments.lua) et pour les entities comme la money printer (entities.lua). Redémarrez après chaque modification et regardez la console : une virgule oubliée y provoque une erreur Lua, et votre job n'apparaît alors pas dans le menu F4.

Étape 4 : réglages et modules

settings.lua contient tous les réglages de l'économie et des règles, avec leurs valeurs par défaut, comme GM.Config.startingmoney = 500 et GM.Config.normalsalary = 45. Ne modifiez que ce que vous voulez vraiment changer. Dans disabled_defaults.lua, vous activez ou désactivez des modules entiers : true signifie désactivé, false activé. La faim (hungermod) et le module AFK sont désactivés par défaut ; si vous voulez que les joueurs doivent manger, mettez hungermod sur false.

Vous nommer admin avec FAdmin

DarkRP a son propre système d'administration, FAdmin, activé par défaut. Nommez-vous superadmin depuis la console du panel en tapant fadmin setroot VotreNom pendant que vous êtes sur le serveur ; ensuite, les commandes fonctionnent aussi dans le chat, précédées de /. Si vous préférez un autre système d'admin, désactivez le module fadmin dans disabled_defaults.lua, pour éviter que deux systèmes se marchent dessus.

Base de données : SQLite suffit

Par défaut, DarkRP stocke l'argent et les données dans la base SQLite intégrée garrysmod/sv.db. Pour un seul serveur, c'est parfait. MySQL (dans mysql.lua, avec le module MySQLOO) ne devient utile que si plusieurs serveurs doivent partager les mêmes données, et c'est là que la question du 64 bits entre en jeu.

64 bits : ce que la mise à jour de septembre change ou non

Le 16 septembre, Facepunch a publié des versions 64 bits du client, du serveur dédié et de Hammer. Selon les notes de patch, cela concerne Windows ; l'objectif est de réduire le risque de crashs dus à un espace d'adressage 32 bits saturé sur les serveurs lourds chargés d'addons. Pour Linux, le wiki mentionne toujours le 64 bits comme faisant partie de la branche bêta x86-64. Sur notre panel, le serveur démarre avec srcds_run de la branche standard.

Pour les addons Lua ordinaires, cela ne change rien. Cela compte uniquement pour les modules binaires dans garrysmod/lua/bin/, comme MySQLOO : ils doivent avoir la même architecture que votre serveur. Un serveur Linux 32 bits charge gmsv_nom_linux.dll, un serveur Linux 64 bits gmsv_nom_linux64.dll. En cas de doute, tapez dans la console lua_run print(jit.os, jit.arch) : x86 signifie 32 bits, x64 64 bits. Téléchargez ensuite le module correspondant et testez-le d'abord, avant d'y laisser entrer vos joueurs.

Slots, RAM et offre

Vous réglez le nombre de slots dans le panel avec Max Players (32 par défaut, 128 au maximum) et le tickrate avec Tickrate (66 par défaut). Côté mémoire, il existe une limite franche : un processus serveur 32 bits ne peut adresser que 4 Go de mémoire au plus. Plus de RAM que cela n'aide donc pas un serveur 32 bits.

  • Amateur (2 Go, 3,00 €) : sandbox ou un petit test DarkRP.
  • Beginner (4 Go, 6,00 €) : un serveur DarkRP avec une collection normale.
  • Traveller (6 Go, 9,00 €) : de la marge pour une collection lourde qui frôle ces 4 Go.

Si vous choisissez une offre plus grande, c'est surtout pour le stockage : à partir de Researcher (10 Go, 15,00 €), vous obtenez 60 Go de NVMe au lieu de 40 Go. Pour un seul serveur 32 bits, plus de RAM n'apporte pas grand-chose.

Toutes les offres Garry's Mod disposent de stockage NVMe et d'une protection DDoS, sont résiliables chaque mois et tournent à Hengelo, Francfort, Varsovie ou Beauharnois. Pas encore de serveur ? Voir démarrer un serveur Garry's Mod.

Questions fréquentes

Comment créer un serveur DarkRP ?

Réglez le gamemode sur darkrp, chargez DarkRP (ID Workshop 248302805) et vos addons via une collection Workshop publique ou non répertoriée, et ajoutez un GSLT à vos paramètres de lancement. Vos propres jobs et réglages vont dans l'addon darkrpmodification, dans garrysmod/addons, jamais dans les fichiers de DarkRP lui-même.

Où modifier les jobs DarkRP ?

Dans lua/darkrp_customthings/jobs.lua de l'addon darkrpmodification, avec DarkRP.createJob. Pour modifier un job par défaut, désactivez-le d'abord dans lua/darkrp_config/disabled_defaults.lua, puis copiez-le dans jobs.lua.

Faut-il un GSLT pour un serveur Garry's Mod ?

Oui. Le wiki de Facepunch qualifie le Game Server Login Token d'obligatoire ; les serveurs sans token reculent nettement dans la liste des serveurs. Vous le créez sur Steam avec l'App ID 4000, un par serveur, et le transmettez via +sv_setsteamaccount.

Mon addon fonctionne-t-il sur la version 64 bits de Garry's Mod ?

Les addons Lua ordinaires fonctionnent en 32 bits comme en 64 bits. Seuls les modules binaires dans garrysmod/lua/bin doivent correspondre à l'architecture : _linux.dll pour Linux 32 bits, _linux64.dll pour 64 bits. Avec lua_run print(jit.os, jit.arch) dans la console, vous voyez laquelle votre serveur utilise.

À lire aussi

// ESSAYEZ VOUS-MÊME
Votre serveur Minecraft en ligne en 60 secondes
Voir les offres →