Comment installer et créer des mods pour Ground Branch ?
Les mods de Ground Branch passent par le Steam Workshop. Sur un serveur dédié EsoterHost, collez leurs numéros dans l'onglet Paramètres : le serveur les télécharge lui-même au démarrage. Pour créer un mod, Ground Branch propose le menu Quick Create dans le jeu (missions, modes de jeu et mutateurs en Lua, écussons, équipements) et le Mod Kit gratuit sur l'Epic Games Store pour les contenus Unreal Engine comme les armes. Un mod doit être public ou non répertorié sur le Workshop pour être chargé par un serveur.
Ground Branch a une scène de mods très active : armes, optiques, tenues, écussons, missions et modes de jeu. Tout passe par le Steam Workshop (jeu 16900). Ce guide sert à trois publics :
- les responsables de serveur, qui veulent installer des mods,
- les moddeurs, qui créent des missions, des modes de jeu ou des écussons avec les outils du jeu,
- les créateurs d'armes et d'objets, qui travaillent avec le Mod Kit officiel.
Les informations sur la création de mods reprennent la documentation officielle de BlackFoot Studios, le wiki Ground Branch.
Partie 1 : installer des mods sur un serveur dédié
Ajouter des mods depuis le panel
- Sur la page du mod dans le Steam Workshop, repérez son numéro : le nombre à la fin de l'adresse, après
?id=. - Dans le panel EsoterHost, onglet Paramètres, collez ce numéro dans Mods du Steam Workshop. Pour plusieurs mods, séparez les numéros par des virgules. Vous pouvez aussi coller l'adresse entière de la page.
- Cliquez sur Enregistrer et redémarrer.
Le serveur télécharge lui-même les mods au démarrage. Dans l'onglet Console, ces lignes confirment que tout s'est bien passé :
[EsoterHost] Mods du Workshop : 3444393266
LogGBModKit: Warning: UGBModKitSubsystem::InitWorkshopContentPath(): WorkshopContentPath set to 'Z:/home/container/GroundBranch/ServerMods/content/16900/'
LogTemp: Warning: UGBGameInstance::OnDedicatedServerModSyncFinished(): bSuccess: truePour retirer un mod, supprimez son numéro du champ et redémarrez. Videz le champ pour retirer tous les mods.
Comment le serveur gère les mods
| Élément | Emplacement ou comportement |
|---|---|
| Liste des mods | groundbranch/GroundBranch/ServerConfig/Mods.txt, un numéro par ligne, écrit par le panel |
| Mods téléchargés | groundbranch/GroundBranch/ServerMods/content/16900/<numéro>/ |
| Vérification | À chaque démarrage, le serveur synchronise ses mods avec le Workshop |
| Liste modifiée à la main | Conservée tant que le champ du panel ne change pas |
D'après BlackFoot Studios, un mod doit être public ou non répertorié (Unlisted) sur le Workshop pour être utilisé sur un serveur. Un mod resté privé, ou caché comme le sont les nouveaux mods à leur publication, ne sera pas chargé.
Bonnes pratiques côté serveur
- Ajoutez les mods un par un sur un serveur déjà stable. Si un problème apparaît, vous savez lequel en est la cause.
- Prévenez vos joueurs en publiant la liste des mods sur votre Discord, avec les liens Workshop.
- Surveillez la mémoire : un gros pack d'armes ou de cartes alourdit le serveur. Si le processeur ou la mémoire restent au maximum dans l'onglet Métriques, passez à la formule supérieure.
- Faites une sauvegarde avant de changer beaucoup de mods d'un coup.
Partie 2 : les deux façons de créer un mod
BlackFoot Studios distingue deux familles de mods :
| Famille | Outil | Pour quoi faire |
|---|---|---|
| Mods sans « assets » | Menu Modding → Quick Create dans le jeu | Missions, modes de jeu et mutateurs en Lua, écussons, tenues (kits), équipements de l'IA, traductions |
| Mods avec « assets » | Mod Kit (SDK), gratuit sur l'Epic Games Store | Contenus Unreal Engine 4 : modèles 3D, textures, matériaux, sons. Les armes et leurs accessoires en premier |
Un « asset », au sens d'Unreal Engine, est un fichier visible dans le navigateur de contenu de l'éditeur (.uasset, ou .umap pour une carte). Tout le reste (scripts Lua, missions, images d'écussons, fichiers de tenues) se fait sans le Mod Kit.
Partie 3 : Quick Create, le mod sans outil externe
Créer le dossier du mod
- Dans le jeu, ouvrez Modding dans le menu principal, puis Quick Create.
- Créez un dossier de mod (« Staged Mod »). Gardez l'emplacement proposé par défaut : un nom d'utilisateur Windows avec des caractères spéciaux peut gêner l'envoi vers Steam.
- Le jeu crée les sous-dossiers où ranger vos fichiers. Vous pouvez supprimer ceux dont vous n'avez pas besoin.
Les types de fichiers reconnus, d'après la documentation officielle :
| Type | Dossier dans le mod | Extension |
|---|---|---|
| Mission | GroundBranch/Mission/<Carte>/ | .mis (créée avec l'éditeur du jeu) |
| Mode de jeu | GroundBranch/GameMode/ | .lua |
| Bibliothèque Lua | GroundBranch/Lua/ | .lua |
| Mutateur | GroundBranch/Mutator/ | .lua |
| Traduction | GroundBranch/Localization/<langue>/ | .csv |
| Écusson | GroundBranch/Patches/<Catégorie>/ | .png |
| Tenue personnalisée | GroundBranch/CustomKit/ | .kit |
| Équipement de l'IA | GroundBranch/AILoadouts/<Type>/ | .kit |
Tester puis publier
- Tester : votre mod est chargé en jeu pendant que vous travaillez, sous le nom Mod ID #0. Testez-le autant que nécessaire avant de le publier.
- Publier : la dernière étape de Quick Create crée l'élément Workshop et envoie le contenu du dossier.
- Mettre à jour : utilisez Replace Existing Mod, choisissez votre mod dans la liste, puis renvoyez-le. Tout le contenu actuel du dossier remplace l'ancienne version : vérifiez-le avant l'envoi.
- Rendre visible : passez le mod en Public ou Unlisted sur sa page Workshop pour le partager ou l'utiliser sur un serveur. Le titre, la description et les captures se modifient aussi sur cette page.
Partie 4 : créer une mission
Les missions se créent avec l'éditeur intégré au jeu.
- Dans le menu principal, choisissez Lone Wolf et lancez une mission (Terrorist Hunt ou Intel Retrieval) sur la carte voulue.
- Une fois dans la Ready Room, ouvrez la console et tapez
editmission. - L'éditeur s'ouvre : les objets à placer sont à gauche, la liste des objets de la mission et leurs propriétés à droite, la barre d'outils en haut.
Les éléments de base d'une mission en coopération :
| Objet | Rôle |
|---|---|
| Point d'insertion | Où l'équipe démarre. Le bouton Add Player Spawns crée 8 points d'apparition autour. Mettez son TeamID à 1 |
GBAISpawnPoint | Apparition d'un ennemi. Gardez le TeamID à 100 et regroupez les ennemis en escouades (_1, _2, _3…) |
GBAIGuardPoint | Point de garde pour les ennemis postés |
GBAIPatrolPoint | Point de patrouille |
GBAIHotspot | Zone où les apparitions d'IA sont prioritaires quand elle est active (Terrorist Hunt) |
Une fois les ennemis placés, sélectionnez tous les points d'apparition et cliquez sur Determine Squad IDs. Avant d'enregistrer, lancez Validate Level depuis le menu File : il signale les propriétés mal réglées. Les modes PvP (Uplink, Team Elimination, DTAS, Hostage Rescue, Deathmatch) ont chacun leurs objets propres, détaillés dans le guide officiel de l'éditeur de missions.
Rangez la mission dans GroundBranch/Mission/<Carte>/ de votre dossier de mod, puis publiez-la avec Quick Create. Sur votre serveur, ajoutez-la ensuite à MapList.ini comme expliqué dans le guide des cartes et missions.
Partie 5 : créer un mode de jeu en Lua
La logique des modes officiels (Terrorist Hunt, Intel Retrieval, Team Elimination…) est écrite en Lua, dans GroundBranch/GameMode. Un nouveau mode se compose d'un script, de missions faites pour lui, et souvent d'une table de traductions et d'équipements d'IA.
La structure d'un script
Tous les scripts Lua de Ground Branch suivent la même forme : une table qui porte les variables du mode, des fonctions appelées par le jeu, et la table renvoyée à la fin.
local monmode = {
StringTables = { "MonMode" },
GameModeAuthor = "(c) Votre équipe, 2026",
GameModeType = "PVE",
PlayerTeams = {
BluFor = {
TeamId = 1,
Loadout = "NoTeam",
},
},
}
function monmode:PostInit()
-- Réglages du mode, une seule fois au chargement de la carte
end
function monmode:OnRoundStageSet(RoundStage)
if RoundStage == "PreRoundWait" then
-- Préparer la manche : faire apparaître l'IA, placer les objectifs
end
end
function monmode:OnCharacterDied(Character, CharacterController, KillerController)
-- Compter les morts, vérifier la condition de victoire
end
return monmodeLes conventions à respecter, d'après la documentation officielle :
GameModeTypevautPVE(une équipe contre l'IA),PVP(équipe contre équipe),FFAouPVPFFA(chacun pour soi), ouTraining.PlayerTeams: en coopération, une équipeBluForavec le TeamId 1. En PvP,Blue(TeamId 1) etRed(TeamId 2). Évitez les TeamId 0 et 255, réservés.StringTables: le nom de votre table de traductions, en général celui du mode. La description affichée dans les menus vient de la clégamemode_description_<mode>, préfixée[Solo/Co-op]ou[PvP].- Ne faites pas apparaître l'IA dans
PostInit(): cette fonction n'est appelée qu'une fois. Préparez chaque manche dansOnRoundStageSet(), en général à l'étapePreRoundWait.
Les étapes d'une manche
| Étape | Ce qui se passe |
|---|---|
WaitingForReady | Les joueurs sont dans la Ready Room et choisissent leur équipement |
ReadyCountdown | Un joueur a choisi son point d'apparition, la partie va commencer |
PreRoundWait | Les joueurs sont sur la carte, immobiles quelques secondes |
InProgress | La manche est en cours |
PostRoundWait | Fin de manche, le mode a déclaré une victoire ou une défaite |
TimeLimitReached | Le temps est écoulé sans résultat |
MatchEnded | Compte à rebours avant la mission suivante |
Un mode peut ajouter ses propres étapes : Uplink, par exemple, ajoute BlueDefenderSetup et RedDefenderSetup.
Les fonctions appelées par le jeu
Les plus utiles, parmi celles de la documentation officielle : PreInit(), PostInit(), OnRoundStageSet(RoundStage), OnRoundStageTimeElapsed(RoundStage), PlayerInsertionPointChanged(PlayerState, InsertionPoint), PlayerReadyStatusChanged(PlayerState, ReadyStatus), PlayerCanEnterPlayArea(PlayerState), GetSpawnInfo(PlayerState), PlayerEnteredPlayArea(PlayerState), OnCharacterDied(Character, CharacterController, KillerController), OnGameTriggerBeginOverlap(GameTrigger, Character), OnLaptopPickedUp(), OnMissionSettingsChanged(ChangedSettingsTable), ShouldCheckForTeamKills() et LogOut(Exiting). Un mode peut aussi fournir un script <Mode>Validate.lua, appelé par l'éditeur de missions quand il valide une carte.
Le jeu cherche les scripts appelés par require() dans GroundBranch/GameMode et GroundBranch/Lua, ceux du jeu et ceux du mod qui contient le mode en cours. La référence complète des fonctions (bibliothèques gamemode, ai, timer, actor…) est la bibliothèque Lua officielle, à jour pour la version 1035.
Les mutateurs, pour régler un serveur
Un mutateur est un script Lua chargé au démarrage du jeu, qui reste actif d'une mission à l'autre. C'est l'outil idéal pour un responsable de serveur : règles de pseudos, filtrage du chat, restrictions d'équipement. Le jeu en fournit trois de base, dans GroundBranch/Mutators : InventoryManagement.lua, ServerManagement.lua et WeaponRestriction.lua.
Leurs variables propres :
MutatorNameetMutatorAuthor: nom et auteur.ServerOnly = true: le mutateur n'est chargé que sur un serveur, dédié ou hébergé.ServerAuthoritative = true: les réglages du serveur s'imposent aux joueurs tant qu'ils y sont connectés.
Partie 6 : créer un écusson
Les écussons (patches) sont le mod le plus simple. Le format officiel :
- une image PNG de 512 × 256 pixels, sans transparence (le canal alpha est ignoré),
- un nom de la forme
(Auteur)Nom.png, avec des_à la place des espaces, - en option, une carte de normales
(Auteur)Nom_N.png, de même taille, - rangée dans
GroundBranch/Patches/<Catégorie>/du dossier de mod. Les catégories d'origine sontBloodType,Country,MoraleetRole, et vous pouvez en créer d'autres.
L'écusson s'affiche en jeu au format 1,65:1 alors que l'image est en 2:1 : pour garder un cercle bien rond, compressez votre dessin horizontalement d'un facteur 0,825 avant d'enregistrer.

Partie 7 : le Mod Kit pour les armes et les objets 3D
Le Mod Kit (ou SDK) est une version de l'éditeur Unreal Engine 4 enrichie des systèmes de Ground Branch. Il est gratuit, et distribué uniquement sur l'Epic Games Store pour des raisons de licence d'Unreal Engine. Il contient les systèmes du jeu et des modèles provisoires, mais pas les cartes ni les assets du jeu.
BlackFoot Studios destine le Mod Kit aux moddeurs qui connaissent déjà l'éditeur Unreal Engine 4. Les premiers mods pris en charge sont les armes et leurs accessoires.
Installer et démarrer
- Sur l'Epic Games Store, cherchez GROUND BRANCH Mod Kit et ajoutez-le gratuitement à votre bibliothèque.
- Lancez-le depuis la bibliothèque Epic. Aux questions du premier démarrage (Wwise, plugins), vous pouvez en général répondre non ou ignorer.
Créer, empaqueter, publier
La barre d'outils du Mod Kit ajoute quatre boutons propres à Ground Branch :
| Bouton | Effet |
|---|---|
| Create Mod | Crée le dossier du mod (un plugin) et un élément Workshop vide. Nom sans espace ni caractère spécial |
| Package Mod | Prépare (« cook ») tous les fichiers et les assemble dans un .pak, en signalant les erreurs |
| Upload Mod | Envoie le mod empaqueté sur le Steam Workshop |
| Open Wiki | Ouvre la documentation officielle |
Quelques points pratiques :
- Rangez tout votre contenu dans le dossier qui porte le numéro Workshop, pour éviter les conflits avec un autre mod du même nom.
- Si vos fichiers ne s'affichent pas, activez Show Plugin Content dans les options d'affichage du navigateur de contenu.
- Le
.pakempaqueté se trouve dans%LocalAppData%\GroundBranch\Saved\StagedMods\<NomDuMod>. En cas d'échec, le journal (Window → Developer → Output Log) indique le fichier en cause, souvent une erreur de compilation de blueprint. - Pour publier, Steam doit être lancé avec un compte qui possède Ground Branch. Remplissez le fichier
WorkshopItemà la racine du mod avant Upload Mod. - Un nouveau mod est caché à sa publication : testez-le, puis passez-le en Public ou Unlisted.
Erreurs fréquentes à la publication :
| Problème | Solution |
|---|---|
| « Error code 9 » à l'envoi | Les informations de WorkshopItem sont incomplètes, notamment le Mod ID |
| Vignette cassée sur le Workshop | La vignette doit être une image .jpg ou .png ordinaire, pas un .uasset importé dans l'éditeur |
| L'élément Workshop n'a pas été créé | Steam était peut-être indisponible : cliquez deux fois sur Upload Mod pour le créer à ce moment-là |
Partie 8 : tester votre mod sur un vrai serveur
Un mod qui marche en solo peut se comporter autrement sur un serveur dédié, surtout un mode de jeu ou un mutateur. Avant de l'annoncer à la communauté :
- Publiez-le, puis passez-le en Unlisted : il reste discret, mais un serveur peut le charger.
- Ajoutez son numéro dans l'onglet Paramètres de votre serveur EsoterHost et redémarrez.
- Vérifiez dans la console la ligne
OnDedicatedServerModSyncFinished(): bSuccess: true. - Pour une mission ou un mode de jeu, ajoutez sa ligne dans
MapList.iniet redémarrez : la console afficheSelected '…' as initial mappuisGame class is '…', la classe du mode chargé. - Jouez une manche complète avec deux ou trois testeurs, puis passez le mod en Public.
Pour tester sans toucher à votre serveur principal, lancez un essai gratuit de 24 h, sans carte bancaire.
Questions fréquentes
Comment installer un mod sur un serveur Ground Branch ?
Collez le numéro Workshop du mod dans l'onglet Paramètres du panel EsoterHost, puis redémarrez. Le serveur télécharge et charge le mod lui-même au démarrage.
Où trouver le numéro d'un mod Ground Branch ?
À la fin de l'adresse de sa page sur le Steam Workshop, après ?id=. Vous pouvez aussi coller l'adresse entière dans le panel.
Pourquoi mon mod n'est-il pas chargé par le serveur ?
Le plus souvent, le mod est encore caché ou privé sur le Workshop. Il doit être public ou non répertorié (Unlisted) pour être utilisé sur un serveur.
Faut-il le Mod Kit pour créer une mission Ground Branch ?
Non. Les missions se créent avec l'éditeur intégré au jeu (commande editmission en Lone Wolf) et se publient avec le menu Quick Create, sans Mod Kit.
Où télécharger le Mod Kit de Ground Branch ?
Sur l'Epic Games Store, gratuitement, sous le nom GROUND BRANCH Mod Kit. Il est réservé aux contenus Unreal Engine comme les armes.
En quel langage sont écrits les modes de jeu Ground Branch ?
En Lua. Chaque mode est un script rangé dans GroundBranch/GameMode, avec des fonctions comme PostInit et OnRoundStageSet appelées par le jeu.
Quelle taille pour un écusson Ground Branch ?
Une image PNG de 512 × 256 pixels, sans transparence, nommée (Auteur)Nom.png et rangée dans GroundBranch/Patches/<Catégorie>/.
Pour aller plus loin
- Le guide complet du serveur dédié Ground Branch
- Cartes, missions et rotation MapList.ini
- Commandes admin et réglages du serveur
- La documentation officielle des mods Ground Branch
Image : GROUND BRANCH, BlackFoot Studios