🔧 Chapitre 5 · Ton serveur Garry's Mod sur TeamKit

Installer une carte et un gamemode

Mis à jour le 04/10/2026 ·

Ton serveur démarre en sandbox sur une carte livrée avec le jeu. Il est temps de lui donner ton propre gamemode et ta propre carte. AMP règle chacun des deux avec une paire de champs, et chacun cache un piège qui fait perdre des heures si on ne le connaît pas.

Ce chapitre ne traite aucun gamemode en particulier. Il t'explique le mécanisme : où un gamemode se range, comment le déclarer, ce qu'il attend de toi. À toi de l'appliquer à celui que tu as choisi. Dans les exemples, <ton-gamemode> désigne son nom.

Prérequis : ta collection Workshop est en place et vérifiée (chapitre 4).


1. Les quatre champs qui décident du démarrage #

Un serveur Garry's Mod démarre toujours avec une carte et un gamemode (le chapitre 2 explique pourquoi). Dans Configuration → Garry's Mod, onglet Server, quatre champs s'en occupent :

Champ Ce qu'il contient
Initial Gamemode une liste de gamemodes, plus une entrée --Custom--
Custom Gamemode le nom du gamemode, quand la liste est sur --Custom--
Initial Map une liste de cartes, plus une entrée --Custom--
Custom Map le nom de la carte, quand la liste est sur --Custom--

Le principe est identique pour les deux : si ce que tu veux n'est pas dans la liste, tu choisis --Custom--, et c'est le champ Custom juste en dessous qui donne le nom.

Une règle d'ordre, qui t'évitera bien des doutes : change une seule chose à la fois. D'abord le gamemode, sur une carte du jeu. Ensuite la carte. Si tu changes les deux d'un coup et que le serveur ne démarre plus, tu ne sauras pas lequel accuser.

✅ À retenir Liste sur --Custom--, nom dans le champ Custom. Le gamemode d'abord, la carte ensuite.


2. D'où vient une carte #

Une carte Garry's Mod est un fichier .bsp. Il peut arriver sur ton serveur par trois chemins :

Provenance Où elle se trouve Comment la choisir
Livrée avec le jeu (gm_construct, gm_flatgrass) déjà là dans la liste Initial Map
Workshop dans un .gma de garrysmod/cache/srcds/, fermé --Custom-- + Custom Map
Déposée à la main garrysmod/maps/, en .bsp visible --Custom-- + Custom Map

Une carte du Workshop s'ajoute comme n'importe quel addon : dans ta collection et dans Resource Lua Code, pour que tes joueurs la téléchargent aussi. Une carte déposée à la main par SFTP n'existe, elle, que sur ton serveur : tes joueurs devront se la procurer autrement. La version Workshop de la même carte est souvent la solution la plus simple ; sinon, le chapitre 6 parle du FastDL.

✅ À retenir Workshop = collection + Resource Lua Code. À la main = garrysmod/maps/, et il faudra penser aux joueurs.


3. Le piège de la carte : le vrai nom du .bsp #

Le nom affiché sur une page Workshop est un titre, choisi librement par l'auteur. Le serveur, lui, veut le nom du fichier .bsp. Les deux sont souvent différents.

Exemple vécu : une carte dont la page Workshop s'intitule « Rp_NewExton2 » contient en réalité le fichier maps/rp_newexton2_v4h.bsp. Avec rp_newexton2 dans Custom Map, le serveur tourne dans le vide : il n'arrive jamais au bout de son démarrage, et rien ne s'affiche pour dire pourquoi.

Le bon nom ici était donc :

rp_newexton2_v4h

Sans l'extension .bsp, recopié lettre pour lettre.

Trouver le vrai nom #

  • Lis la page Workshop. Beaucoup d'auteurs indiquent le nom du fichier dans la description, souvent pour cette raison précise.
  • Pour une carte déposée à la main, c'est simple : le nom du fichier dans garrysmod/maps/, moins .bsp.
  • Côté joueur, abonne-toi à la carte depuis ton propre Garry's Mod : en général, elle apparaît ensuite dans la liste des cartes au lancement d'une partie, sous son nom de fichier.
  • Pour confirmer après coup, les journaux du jeu dans garrysmod/logs/ (un fichier par démarrage) gardent la trace de la carte chargée.

Changer de carte de démarrage #

  1. Vérifie que la carte est bien sur le serveur : .gma présent dans cache/srcds/ pour le Workshop (chapitre 4), .bsp dans garrysmod/maps/ sinon.
  2. Trouve son vrai nom de fichier.
  3. Ouvre Configuration → Garry's Mod, onglet Server.
  4. Mets Initial Map sur --Custom--.
  5. Écris le nom dans Custom Map, sans .bsp.
  6. Enregistre, puis clique sur Restart dans Status.
  7. Suis la console jusqu'au chargement complet de la carte.

Pour essayer une carte sans toucher à la configuration, la console AMP accepte changelevel suivi du nom de la carte. Au prochain démarrage, le serveur reviendra à celle de Custom Map. Les commandes utiles sont regroupées au chapitre 9.

✅ À retenir Custom Map veut le nom du fichier, pas le titre de la page. Un nom faux ne produit pas d'erreur, il produit un serveur bloqué.


4. Une carte, c'est souvent deux addons #

Sur une carte très utilisée, on a constaté que la carte et son contenu étaient deux entrées Workshop distinctes. La description de la carte demandait de s'abonner aussi au pack de contenu.

Oublier le second donne un monde en damier violet et noir alors que tout semble en place : la carte se charge, le serveur tourne, mais les textures manquent.

  1. Lis toute la description de la carte avant de l'ajouter.
  2. Repère les liens vers un pack de contenu ou d'autres addons exigés.
  3. Ajoute chacun d'eux à ta collection et à Resource Lua Code.
  4. Redémarre et vérifie cache/srcds/.

Le damier n'est pas toujours causé par ça : certaines cartes demandent le contenu d'un autre jeu, comme Counter-Strike: Source. Tout est détaillé au chapitre 6.

✅ À retenir Avant d'ajouter une carte, lis sa description jusqu'au bout. Si elle cite un pack de contenu, il part dans la collection avec elle.


5. Choisir le gamemode dans AMP #

La liste Initial Gamemode propose les gamemodes qu'AMP connaît, dont Sandbox. Pour tout autre gamemode :

  1. Ouvre Configuration → Garry's Mod, onglet Server.
  2. Mets Initial Gamemode sur --Custom--.
  3. Écris le nom technique du gamemode dans Custom Gamemode.
  4. Laisse une carte du jeu dans Initial Map pour ce premier essai.
  5. Enregistre et clique sur Restart.

Le nom technique n'est pas forcément le nom commercial du gamemode. Pour un gamemode déposé à la main, c'est le nom de son dossier dans garrysmod/gamemodes/. Pour un gamemode du Workshop, son auteur l'indique en principe dans la description ou la documentation. Dans le doute, la structure d'un gamemode est décrite sur le wiki officiel : https://wiki.facepunch.com/gmod.

Changer de gamemode demande toujours un redémarrage : tout son code Lua est chargé au lancement.

✅ À retenir Custom Gamemode = le nom technique, celui du dossier. Un Restart après chaque changement.


6. Workshop ou à la main : deux façons d'installer un gamemode #

Un gamemode s'installe soit par le Workshop, soit en déposant son dossier par SFTP. Les deux marchent, mais ils ne se gèrent pas du tout pareil.

Par le Workshop À la main, par SFTP
Où il vit un .gma dans garrysmod/cache/srcds/ un dossier dans garrysmod/gamemodes/
Tu vois ses fichiers non, le .gma est monté fermé oui, dans le File Manager et en SFTP
Tu peux modifier son code ou sa config non oui
Il arrive sur le serveur par ta collection toi
Il arrive chez les joueurs par Resource Lua Code son contenu passe par un autre chemin (chapitre 6)
Mise à jour chapitre 9 à la main, chapitre 9

Comment choisir :

  • Tu veux juste faire tourner le gamemode tel que son auteur l'a publié : le Workshop suffit.
  • Tu dois régler des fichiers de configuration, le traduire ou le modifier : il faut la version à déposer à la main, puisque le contenu d'un .gma n'est pas modifiable.

Et surtout, jamais les deux à la fois. Un gamemode présent dans la collection ET dans gamemodes/, c'est un doublon, avec les mêmes conséquences que deux bases d'armes (chapitre 4, section 8).

✅ À retenir Workshop = simple mais figé. À la main = modifiable mais à ta charge. Une seule des deux méthodes pour un même gamemode.


7. Déposer un gamemode à la main #

Pour envoyer un dossier complet, utilise le SFTP. La connexion est expliquée dans le tuto général AMP : Les fichiers : File Manager et SFTP.

  1. Arrête le serveur depuis Status.
  2. Connecte-toi en SFTP à ton instance.
  3. Ouvre garrysmod/gamemodes/.
  4. Envoie le dossier du gamemode en entier.
  5. Contrôle la structure (voir ci-dessous).
  6. Règle Initial Gamemode sur --Custom-- et Custom Gamemode sur le nom du dossier.
  7. Démarre et lis la console jusqu'au bout.

La structure à vérifier #

Le code d'un gamemode vit dans un sous-dossier gamemode/. C'est d'ailleurs ce chemin que tu retrouveras dans les messages d'erreur. Une installation correcte ressemble à ceci :

garrysmod/gamemodes/<ton-gamemode>/
garrysmod/gamemodes/<ton-gamemode>/gamemode/

Et voici l'erreur classique après une décompression, avec un niveau de trop :

garrysmod/gamemodes/<ton-gamemode>/<ton-gamemode>/gamemode/

Dans ce second cas, remonte le contenu d'un niveau pour retrouver la première forme.

Après une modification #

Corriger un fichier du gamemode sur un serveur qui tourne ne change rien tant qu'il n'a pas redémarré. Ça a été vérifié : le code est chargé au lancement, puis plus jamais relu. Après chaque modification, clique sur Restart.

✅ À retenir Un dossier par gamemode dans gamemodes/, sans niveau en trop. Toute modification = un Restart.


8. Ce qu'un gamemode attend de toi #

Un gamemode arrive rarement seul. Avant de l'installer, fais la liste de ce qu'il exige. Ses exigences se lisent sur sa page Workshop, dans son fichier d'explications ou dans la documentation de son auteur.

Ce qu'il peut exiger Ce que tu fais
Des addons (bibliothèques, base d'armes…) collection + Resource Lua Code, un exemplaire chacun (chapitre 4)
Le contenu d'un autre jeu CSS Content Mode ou TF2 Content Mode, puis un Update (chapitre 6)
Un mod d'administration ULX + ULib par exemple (chapitre 7)
Ses propres réglages ses fichiers de configuration, version déposée à la main uniquement

Quand une dépendance manque, le symptôme est souvent trompeur. Une erreur dans un fichier inclus interrompt le chargement de tout ce qui vient après dans le fichier qui l'appelle. Le serveur démarre, se laisse rejoindre, mais la moitié du gamemode n'existe pas. Le chapitre 8 t'apprend à lire ces erreurs et à remonter à la ligne utile.

L'ordre qui marche #

  1. Pars de ta référence : sandbox sur gm_construct, sans erreur.
  2. Ajoute les dépendances à ta collection et vérifie leur téléchargement.
  3. Installe le gamemode et déclare-le dans Custom Gamemode, en gardant gm_construct.
  4. Redémarre, lis la console, rejoins le serveur, teste.
  5. Seulement ensuite, change la carte.

À chaque étape, ne passe à la suivante que si la précédente marche.

✅ À retenir Un gamemode, c'est lui plus ses dépendances. Liste-les avant d'installer, et avance une étape à la fois.


✅ Checklist du chapitre #


❓ Si ça ne marche pas #

Après un changement de carte, le serveur ne finit jamais de démarrer. Le nom dans Custom Map ne correspond à aucun fichier. Vérifie le vrai nom du .bsp (section 3), sans l'extension, lettre pour lettre. Vérifie aussi que la carte a bien été téléchargée dans cache/srcds/ ou déposée dans garrysmod/maps/.

Ce n'est pas mon gamemode qui se lance. Contrôle que Initial Gamemode est bien sur --Custom--, que Custom Gamemode porte le nom du dossier et pas le nom commercial, et qu'il n'y a pas de dossier en double dans gamemodes/. Puis redémarre.

J'ai corrigé un fichier du gamemode, rien n'a changé. Le code est lu au démarrage seulement. Clique sur Restart.

La carte se charge, mais le monde est en damier violet et noir. Il manque un pack de contenu (section 4) ou le contenu d'un autre jeu. Le chapitre 6 traite les deux cas.

Le serveur se rejoint, mais des pans entiers du gamemode manquent. Une erreur Lua a coupé le chargement en cascade, souvent à cause d'une dépendance absente ou installée deux fois. Ouvre la console ou garrysmod/logs/ et suis le chapitre 8.

Je ne sais pas quelles dépendances mon gamemode demande. Relis sa page et sa documentation. Si ça reste flou, pose la question sur le Discord TeamKit, en donnant le nom du gamemode et le lien de sa page.

Une étape qui coince ? Ouvre un ticket sur le site ou demande sur le Discord TeamKit. Le bot Guide connaît ces pages.