Français - Création d'un serveur de A à Z
- 1 - Créer un nouveau serveur dédié (Windows 10/11/Server 20xx)
- 2 - Configurer un nouveau serveur
- 3 - Administration de votre serveur Arma Reforger
- 4 - Créer, configurer et ajouter son propre scénario personnalisé pour sa communauté
- 5 - Comment optimiser et améliorer les performances de son serveur ?
- 6 - Vous rencontrez un problème ?
1 - Créer un nouveau serveur dédié (Windows 10/11/Server 20xx)
Introduction
Les serveur sont les premiers piliers des jeux comme ceux de la série Arma et ce depuis bien longtemps. French Reforger Mod a dans le passé et dans le présent, collaboré avec beaucoup de communautés Arma Reforger et a permis de collecter une grande quantité de savoir sur les serveurs "Enfusion". Aujourd'hui, nous vous mettons tout ce qu'on a appris depuis des mois, sur papier (enfin sur pixel plutôt).
Pour information, les fichiers serveur sont disponibles sans avoir Arma Reforger d'acheté sur le compte steam du serveur.
Fans d'arma 3 et de Dayz, oubliez tout ce que vous connaissez sur les serveurs de vos jeux respectifs, Arma Reforger marche totalement différemment sur le plan des serveurs.
Ce tutoriel est aussi disponible avec les systèmes d'exploitation Linux (Debian). Retournez un peu un arrière dans le wiki pour obtenir la liste des tutos disponibles en français et en anglais.
1. Télécharger les fichiers nécessaires
Commencez par installer sur votre serveur dédié a l'aide de steam, le logiciel Arma Reforger Server Steam.
Une fois cela fait, exécuter le logiciel pour ouvrir les fichiers du serveur.
2. Configurer le serveur
Assurez vous que l'option "Extensions de fichier" est activé dans la catégorie Affichage dans l'explorateur de fichier.
Pour indiquer avec quel paramètres le serveur doit se lancer, il faut créer un fichier configuration. C'est dans ce fichier que l'on pourra définir les paramètres en lien avec le serveur et le scénario (dépend de quel scénario bien sûr).
Pour ce faire, créer un nouveau dossier "Configs" et dans ce fichiers, faites une config du nom de votre choix et remplacez .txt par .json à la fin du fichier (Le nom doit être sans espace de préférence, ni de caractère spéciaux).
Pour en savoir plus sur la configuration, rendez vous ici
3. Lancer le serveur
Pour indiquer quel fichier configuration le serveur doit lancer, on va passer par un fichier .bat qui permet de lancer le serveur avec des paramètres pour pouvoir indiquer à l'exécutable, quoi ouvrir avec le serveur et avec quel paramètres le lancer.
Pour ce faire, faites un nouveau fichier texte, nommez le start pour exemple:
Dans ce fichier bat, on va indiquer quel exécutable il faut lancer, dans notre cas ArmaReforgerServer.exe:
Puis on va pouvoir faire une deuxième configuration de notre serveur, plus en lien avec son comportement avec votre machine:
Paramètres de lancement | Description | Exemples |
-addonsDir | Définit où le serveur va trouver les mods dans les fichiers de votre serveur. | -addonsDir ".\Workshop\" |
addonDownloadDir | Définit où le serveur va télécharger les mods indiqués dans la configuration (pas nécessaire si vous définissez addonsDir). | -addonDownloadDir ".\Workshop\" |
-addonTempDir | Définit où stocker des fichiers temporaires pour le téléchargement des addons. | -addonTempDir "C:\Users\Administrator\AppData\Local\Temp" |
-autoreload | Permet de recharger le scénario quand ce même scénario touche a sa fin (par exemple, la fin de partie d'un serveur conflit). Ce paramètres évite que le serveur s'éteigne et qu'il relance tout seul une nouvelle partie sans aide éxterieure. | -autoreload 10 |
-config | Définit quel fichier json le serveur doit lancer. | -config ".\Configs\GM_Arland.json" |
-singleThreadedUpdate | Permet de désactiver le fait que le serveur travaille sur plusieurs theads (utilisation du processeur). | -singleThreadedUpdate |
-MaxFPS | IMPORTANT: Définit le pallier que le serveur ne doit pas dépasser. Est très utile car si il n'y a pas de pallier, le serveur va utiliser plus de ressources sur votre machine qu'il le doit. La valeur doit être définit dans l'idéal entre 60 et 120 FPS. | -MaxFPS 85 |
Il est recommandé d'utiliser des chemins absolus pour les répertoires, même si le chemin fourni peut être relatif à l'emplacement de l'exécutable.
En ce moment, pas mal de problème d'ordre dans cette configuration apparaissent. Je vous conseil fortement de vous baser sur ma ligne de commande qui est fonctionnel en Janvier 2025. Pour les paramètres en lien avec la machine (threads...), mettez les a avant maxFPS.
Donc pour résumer, votre configuration et les fichiers de votre serveur devrait ressembler a ça:
ArmaReforgerServer.exe -config ".\Configs\GM_Arland.json" -MaxFPS 85 -addonsDir ".\Workshop" -addonTempDir ".\Workshop\Temp"Une fois tout ça fait, renommez votre start.txt pour remplacer .txt par .bat.
4. Configuration de votre machine pour le serveur Arma Reforger
Pour que le serveur Arma Reforger puisse communiquer avec l'extérieur, il lui faut allouer des autorisations, notamment du pare-feu Windows et de votre box internet (pour les particulier).
Pour ouvrir les ports du pare feu, recherchez dans la bar de recherche "pare-feu Windows Defender":
Une fois cela fait, rendez vous dans les paramètres avancés:
Une fois cela fait, rendez vous dans "Règles de trafic entrant" puis créez une nouvelle règle:
Sélectionnez port puis suivant:
Une fois cela fait, cochez UDP et mettez le port 2001 (obligatoire):
Autorisez la connexion:
Puis nommez votre règle et vous pouvez refaire l'opération deux fois avec le port 17777 pour l'A2S et 19999 pour le RCON toujours dans la catégorie "Règles de trafic entrant".
Une fois tous les port ouvert dans "Règles de trafic entrant", allez dans la catégorie "Règles de trafic sortant" puis réitérer l'opération en faisant bien attention d'autorisez la connexion qui est refusé par défaut.
N'ouvrez pas le port 19999 si vous n'utiliserez pas le RCON pour des questions de sécurité évidente
Une fois toutes ces étapes faites, vous pouvez lancer votre serveur ✅
Si tout va bien, vous pourrez retrouver votre serveur dans la liste des serveur en jeu (PS: Le ping est normal, mon serveur est hébergé en local et un bug dis que le serveur a +999 de ping).
Vous rencontrez un problème ? Dirigez vous vers la page TroubleShooting.
Il est possible qu'au premier lancement, le serveur ne trouve pas le scénario, c'est normal il vient a peine de s'installer. Essayez de relancer plusieurs fois le serveur si nécessaire.
Page du wiki conseillé après avoir configuré et installé le serveur: Admin Tips (comment se login en admin, les commandes intéressantes...)
2 - Configurer un nouveau serveur
Introduction
Arma Reforger utilise des fichiers en .json pour la configuration de ses serveurs. Attention, les fichiers json sont connu pour être capricieux et sensible aux erreurs.
Dans ce wiki, je vais détailler a quoi sert chaque ligne de cette configuration en détail et vous indiquer les choses importantes a savoir.
Pour obtenir une configuration déjà fonctionnel, rendez vous tout en bas du tutoriel.
Pour commencer, voici un template pour commencer la configuration de votre serveur:
{
"bindAddress": "0.0.0.0",
"bindPort": 2001,
"publicAddress": "",
"publicPort": 2001,
"a2s": {
"address": "",
"port": 17777
},
"rcon": {
"address": "",
"port": 19999,
"password": "MODIFY_ME_WITHOUT_SPACES",
"permission": "monitor",
"blacklist": [],
"whitelist": []
},
"game": {
"name": "YOUR SERVER NAME",
"password": "",
"passwordAdmin": "MODIFY_ME_WITHOUT_SPACE",
"admins" : [
"Your steam ID",
"Admin B steam ID",
"Admin C steam ID"
],
"scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
"maxPlayers": 128,
"visible": true,
"crossPlatform": true,
"supportedPlatforms": [
"PLATFORM_PC",
"PLATFORM_XBL",
"PLATFORM_PSN"
],
"gameProperties": {
"serverMaxViewDistance": 2500,
"serverMinGrassDistance": 50,
"networkViewDistance": 1000,
"disableThirdPerson": true,
"fastValidation": true,
"battlEye": true,
"VONDisableUI": true,
"VONDisableDirectSpeechUI": true,
"VONCanTransmitCrossFaction" : true,
"missionHeader": {
"m_iPlayerCount": 40,
"m_eEditableGameFlags": 6,
"m_eDefaultGameFlags": 6,
"other": "values"
}
},
"mods": [
{
"modId": "59727DAE364DEADB",
"name": "WeaponSwitching",
"version": "1.0.1"
},
{
"modId": "59727DAE32981C7D",
"name": "Explosive Goats beta",
"version": "0.5.42"
}
]
},
"operating": {
"lobbyPlayerSynchronise": true,
"joinQueue" : {
"maxSize" : 50
}
}
}ATTENTION: Changez les mots de passe par défaut ! Une personne mal intentionné peux obtenir des droits administrateurs si vous oubliez de changer votre mot de passe.
Faites aussi attention avec les mods. Ne laissez pas les mods mis par défaut, ils existent peut être plus ou ne sont pas mis a jour et peuvent donc être l'origine de problèmes.
Dans tous les cas, laissez le paramètres "fastValidation" en true.
IPV6 n'est pas pris en charge par Arma Reforger.
Root:
bindAddress:
Adresse IP à laquelle le socket du serveur sera liée. Dans la plupart des cas, cette adresse doit être laissée vide. Il peut être utilisé pour restreindre les connexions à une interface réseau particulière. S'il n'est pas renseigné ou s'il est vide, 0.0.0.0 est utilisé, ce qui autorise les connexions via n'importe quelle adresse IP.
Ce paramètre doit généralement être laissée en dehors de la configuration du serveur pour utiliser la valeur par défaut et ne doit être définie que par des utilisateurs expérimentés ayant des besoins spécifiques en matière de réseau.
bindPort:
Port UDP auquel le socket du serveur sera liée.
Ce paramètre doit généralement être laissée en dehors de la configuration du serveur afin qu'il utilise automatiquement la même valeur que publicPort. Elle ne doit être utilisée que par les utilisateurs ayant des besoins spécifiques en matière de redirection de port.
publicAddress:
Doit correspondre à l'adresse IP publique à laquelle les clients peuvent se connecter pour atteindre le serveur. Il faut utiliser l'adresse ip de la machine, pour ce faire, ouvrez un CMD (recherchez cmd dans la bar de recherche) puis entrez la commande ipconfig, puis dans la carte réseau utilisé par le serveur, trouvez la ligne Adresse IPV4, puis recopiez la dans la config pour la public adress, l'adresse de l'A2S et celle du RCON si vous l'utilisez.
publicPort:
Définit le port publique par le quel les clients peuvent atteindre le serveur (de base: 2001). Si vous définissez un port personnalisés, il soit se trouver entre 1 et 65535 inclus [1 ; 65535].
a2s:
Steam Query: C'est un protocole réseau utilisé dans de nombreux jeux multijoueurs pour récupérer des informations sur un serveur de jeu, comme le nombre de joueurs, le nom du serveur, la carte en cours, etc. C'est le cas d'Arma Reforger.
Vous pouvez laisser ce paramètre comme il est.
Paramètres | Description |
Adress | Adresse IP à laquelle la socket de l'A2S sera liée. Elle peut être utilisée pour restreindre les requêtes de l'A2S à une interface réseau particulière. |
port | Valeur entre 1 et 65535, par défaut 17777. Modifie le port UDP de Steam Query sur lequel le jeu écoute les requêtes A2S. |
rcon (optionnel, par défaut, "désactivé"):
Le rcon est l'acronyme pour remote console. Il permet d'avoir la console du serveur sans être en bureau a distance sur le serveur par exemple.
Vous pouvez laisser ce paramètre comme il est.
Paramètres | Description |
Adress | Adresse IP à laquelle la socket RCON sera liée. Elle peut être utilisée pour restreindre la connexion à une interface réseau particulière. |
Port | Entre 1 et 65535, valeur par défaut: 19999 Port du protocole RCON. |
password | Mot de passe, a changer même si il est désactivé par sécurité. Il ne doit pas avoir d'espace et il doit faire au minimum 3 caractère de long. |
MaxClients | Le maximum de gens en même temps connecté en RCON. Valeur entre 1 et 16, par défaut 16. |
permission | Permission pour tous les clients RCON. Les permissions possibles sont admin et monitor. L'un peut modifier l'état du serveur et l'autre non. |
blacklist | array value, default [] Une liste de commandes exclues de l'exécution. |
whitelist | valeur du tableau, par défaut [] S'il est défini, il spécifie la liste des commandes qui peuvent être exécutées, et aucune autre commande n'est autorisée. |
Game:
Name:
Le nom de votre serveur dans la liste de serveur. Entre 0 et 100 caractères.
password:
Mot de passe pour entrer sur le serveur. Laisser vide si vous ne voulez pas de mot de passe.
passwordAdmin:
Mot de passe pour obtenir les droits de GameMaster et Admin en jeu.
Modifiez ce paramètre pour la sécurité de votre serveur !
Admins:
Liste de tous les admins automatiquement enregistré en tant que GameMaster et Admin en jeu. Pour ce faire, il faut mettre votre steamID:
Comment trouver son steam id ?
Rendez vous dans "Détail du compte" sur steam:
scenarioID:
ID du scénario que le serveur doit lancer. Pour les scénarios moddés, il peuvent être trouvés et copiés dans la case Scenarios du workshop Web:
Pour les scénarios vanilla, en voici la liste entière depuis la 1.1.0:
ScenarioID | Description |
{ECC61978EDCC2B5A}Missions/23_Campaign.conf
| Conflit - Everon |
{C700DB41F0C546E1}Missions/23_Campaign_NorthCentral.conf
| Conflit - Nord d'Everon |
{28802845ADA64D52}Missions/23_Campaign_SWCoast.conf
| Conflit - Sud d'Everon |
{DAA03C6E6099D50F}Missions/24_CombatOps.conf
| Combat Ops - Arland |
{C41618FD18E9D714}Missions/23_Campaign_Arland.conf
| Conflit - Arland |
{DFAC5FABD11F2390}Missions/26_CombatOpsEveron.conf
| Combat Ops - Everon |
{59AD59368755F41A}Missions/21_GM_Eden.conf
| GameMaster - Everon |
{2BBBE828037C6F4B}Missions/22_GM_Arland.conf
| GameMaster - Arland |
maxPlayers:
Permet de définir le nombre max de joueur sur le serveur en simultané (liste d'attente non comprise). Entre 1 et 128. De base 64.
visible:
Permet de définir si le serveur est visible ou non. De base oui (true). Pour ne pas le rendre visible, définir a false.
supportedPlatforms:
Définit la liste de quel plate-forme peut rejoindre le serveur:
Code | Plateforme |
PLATFORM_PC | PC (Steam). |
PLATFORM_XBL | Xbox series S et X. |
PLATFORM_PSN | PS5 et PS5 pro (depuis la 1.2.1.169). |
Un serveur vanilla ne peut être que PC ou PC avec toutes les consoles.
Un serveur moddé ne peut être que PC et Xbox (Jan. 2025).
serverMaxViewDistance:
Définit la distance de vue des joueurs maximum par défaut. Doit être entre 500 et 10 000, par défaut 1600.
serverMinGrassDistance:
Définit la distance de vue de l'affichage de l'herbe des joueurs minimum par défaut. Doit être entre 50 et 150, par défaut 50.
fastValidation:
Laisser sur true pour un serveur publique.
networkViewDistance:
La distance de vue du serveur sur le plan du réseau. Doit être entre 500 et 5000, par défaut 1500.
disableThirdPerson:
Désactive la 3ème personne. "true" pour désactiver la 3ème personne et "false" pour ne pas la désactiver.
battlEye:
Active ou désactive l'anticheat BattlEye. true pour désactiver Battleye et false pour le laisser activé.
VONDisableUI:
Désactive l'interface VON des joueurs. true pour laisser l'interface activé et false pour la désactiver.
VONDisableDirectSpeechUI:
Désactive l'interface VON des joueurs uniquement pour les communications a proximités (sans passer par la radio). true pour laisser l'interface activé et false pour la désactiver.
VONCanTransmitCrossFaction:
Permet de définir si les joueurs peuvent parler sur les radios des factions ennemies en volant les radios sur les cadavres. true pour autoriser et false pour que les joueurs puissent uniquement écouter.
Missionheader:
Paramètres en lien avec le scénario.
Mods:
Cette étape nécessite d'être précis et être attentif car beaucoup d'erreurs de configs proviennent d'ici.
Rappel de quelques règles en Json:
Les séparateurs utilisés entre deux paires/valeurs sont des virgules.
La dernière valeur ne doit pas avoir de séparateur.
Donc ceci est correct ✅
Mais cela est incorrect ❌
Tout comme ça est aussi incorrect
et ça aussi:
Non pas parce que j'ai retiré la valeur version mais parce que j'ai mis un séparateur a la dernière valeur.
Pour revenir sur l'ajout des mods, voici un template pour ajouter un mod:
{
"modId" : "MODID",
"modName" : "MODNAME",
"version" : "VERSION"
}Vous pouvez vous passer de la valeur version, dans ce cas le serveur mettras à jour le mod quand le serveur redémarreras. Attention aux virgules !
Les dépendances sont automatiquement téléchargés par le serveur.
Pour trouver l'id du mod, allez sur le workshop en version web et recherchez votre mod:
Vous pouvez aussi trouver la version du mod si besoin.
Pour le nom du mod, copiez le depuis la bar d'URL:
En conclusion, pour ce mod, votre json devrait ressembler a ça:
{
"modId" : "5B3ED33ADA805340",
"modName" : "TaskForceMattockWeapons",
"version" : "2.0.6"
}Une fois cela acquis, vous pouvez ajouter un par un vos mods ✅
Operating:
lobbyPlayerSynchronise:
Laisser activé.
joinQueue - maxSize:
Définit la taille maximale de la file d'attente. Entre 1 et 50. Par défaut, 50. Définissez ce paramètre a 0 pour désactiver la file d'attente.
En conclusion, voici ma version de ma configuration. Vous pouvez la mettre pour votre serveur. Encore une fois, oubliez pas de modifier les mots de passe et les steamID pour des raisons de sécurités:
{
"bindAddress": "0.0.0.0",
"bindPort": 2001,
"publicAddress": "192.168.21.130",
"publicPort": 2001,
"a2s": {
"address": "192.168.21.130",
"port": 17777
},
"rcon": {
"address": "192.168.21.130",
"port": 19999,
"password": "MyRCONAdminPassword",
"permission": "monitor",
"blacklist": [],
"whitelist": []
},
"game": {
"name": "[FR/EN] - Tutorial: Server creation",
"password": "",
"passwordAdmin": "MyAdminPassword",
"admins" : [
"76561199095525585"
],
"scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
"maxPlayers": 64,
"visible": true,
"crossPlatform": true,
"supportedPlatforms": [
"PLATFORM_PC",
"PLATFORM_XBL"
],
"gameProperties": {
"serverMaxViewDistance": 2500,
"serverMinGrassDistance": 50,
"networkViewDistance": 1200,
"disableThirdPerson": false,
"fastValidation": true,
"battlEye": true,
"VONDisableUI": true,
"VONDisableDirectSpeechUI": true,
"VONCanTransmitCrossFaction" : true
},
"mods": [
{
"modId": "5B3ED33ADA805340",
"name": "TaskForceMattockWeapons"
},
{
"modId": "595F2BF2F44836FB",
"name": "RHS-StatusQuo"
},
{
"modId": "597697D81A1EA202",
"name": "Zimnitrita"
},
{
"modId": "6307394AE8A4D78C",
"name": "Zimnitrita-Conflict-PVP"
}
]
},
"operating": {
"lobbyPlayerSynchronise": true,
"joinQueue" : {
"maxSize" : 50
}
}
}
3 - Administration de votre serveur Arma Reforger
Introduction
Vous voilà sur votre nouveau serveur ! Maintenant, vous pouvez apprendre a le contrôler et nous allons vous exposer les conseils et leçon qu'on a pu retenir dans le passé sur les serveurs Arma Reforger
1. Les commandes
Dans Arma Reforger, il existe des commandes très utiles pour pouvoir par exemple se connecter en admin, bannir des joueurs, kicker des joueurs ou encore contrôler le serveur, toutes les commandes commencent par un hashtag #.
Les commandes administratives:
#login:
Permet de se connecter en Admin et GameMaster depuis le tchat du jeu
#logout:
Permet de retirer les droits d'administration depuis le tchat du jeu. Pour sélectionner un joueur, il faut d'abord récupérer son id avec #id.
#restart:
Permet de redémarrer le serveur depuis le tchat du jeu et depuis le RCON avec la commande @restart. Disponible uniquement en admin.
#shutdown
Permet d'éteindre le serveur (Arma) depuis le tchat du jeu et depuis le RCON avec la commande @shutdown. Disponible uniquement en admin.
Les commandes de modération:
Toutes les commandes d'administration doivent contenir une valeur pour désigner le joueur en question, vous pouvez utiliser son numéro pour l'identifier. Pour ce faire, faites la commande #players pour obtenir son numéro qui se trouve le plus à gauche des lignes de joueur (1, 2, 3...). Toutes ces commandes peuvent être exécuté en RCON, en remplaçant le # par un @.
#ban
La commande #ban a plusieurs sous commandes: create, remove, list:
#ban create:
Permet de bannir un joueur:
#ban create [ID] [Durée en seconde] [(optionnel) raison]Exemple:
#ban create 1 60 1min banL'ID peut être obtenu en faisant #players et en récupérant le tout premier numéro des listes de joueurs.
Si le joueur n'est pas connecté, vous pouvez utiliser son identityID:
#ban create 2e18318e-71d7-4f3a-9a1c-bdc234c9d5db 60 1min banPour bannir définitivement un joueur, mettez 0 seconde.
#ban list:
Permet de lister tous les bans du serveur. C'est ici que vous pouvez retrouver les identityID des joueurs banni pour pouvoir les dé-bannir.
#ban remove:
Permet de dé-bannir un joueur avec son identityID (voir #ban list):
#ban remove [identityID]Exemple:
#ban remove 2e18318e-71d7-4f3a-9a1c-bdc234c9d5db#kick:
Permet de kick un joueur avec son ID. L'ID peut être obtenu en faisant #players et en récupérant le tout premier numéro des listes de joueurs.
#kick [ID]Exemple:
#kick 1Autres commandes:
#id:
permet d'obtenir son propre ID. Peut être exécuté sans être admin.
#players:
Permet d'obtenir la liste des joueurs. Peut être exécuté sans être admin. En bleu, l'id du joueur et en vert l'identityID du joueur, elle lui est unique et permet de bannir le joueur même si il n'est pas connecté contrairement a l'id.
#roles:
Permet d'obtenir vos rôles sur le serveur. Peut être exécuté sans être admin.
2. Les mods conseillés:
Attention: Si votre serveur est dédié aux PlayStation, ne mettez pas de mods car elle ne les supportent pas encore.
4 - Créer, configurer et ajouter son propre scénario personnalisé pour sa communauté
En attente
5 - Comment optimiser et améliorer les performances de son serveur ?
En attente
6 - Vous rencontrez un problème ?
En attente