# Server creation and configuration

Important information about choosing a machine to host a community server

Tutorial for creating a new server from scratch and configuring it correctly, as well as building your own arsenal.

# English - Creating a server from A to Z

# English - Create a new server (Windows 10/11/Server 20xx)

## ****Introduction****

Servers are the first pillars of games like those in the Arma series, and have been for a long time. French Reforger Mod has, in the past and in the present, collaborated with many Arma Reforger communities and collected a great deal of knowledge about “Enfusion” servers. Today, we're putting everything we've learned over the last few months down on paper (or pixel, rather).

# Français - Création d'un serveur de A à Z

# 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).

<p class="callout success">Pour information, les fichiers serveur sont disponibles sans avoir Arma Reforger d'acheté sur le compte steam du serveur.</p>

<p class="callout info">****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.</p>

<p class="callout info">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.</p>

### ****1. Télécharger les fichiers nécessaires****

<span style="white-space: pre-wrap;">Commencez par installer sur votre serveur dédié a l'aide de steam, le logiciel </span>[Arma Reforger Server Steam](about:blank).

[![steam install server.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/steam-install-server.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/steam-install-server.png)

Une fois cela fait, exécuter le logiciel pour ouvrir les fichiers du serveur.

[![fichiers serv.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/fichiers-serv.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/fichiers-serv.png)

### ****2. Configurer le serveur****

<p class="callout warning"><span style="white-space: pre-wrap;">Assurez vous que l'option "Extensions de fichier" est activé dans la catégorie Affichage dans l'explorateur de fichier. </span>[![2025-01-02 01_53_42-.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/2025-01-02-01-53-42.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/2025-01-02-01-53-42.png)</p>

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).

[![2025-01-02 01_55_22-.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/2025-01-02-01-55-22.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/2025-01-02-01-55-22.png)

<p class="callout info"><span style="white-space: pre-wrap;">Pour en savoir plus sur la configuration, rendez vous </span>[ici](https://wiki.nabla.sh/books/server-creation-and-configuration/page/2-configurer-un-nouveau-serveur)</p>

### ****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:

[![2025-01-02 02_06_32-.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/2025-01-02-02-06-32.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/2025-01-02-02-06-32.png)

Dans ce fichier bat, on va indiquer quel exécutable il faut lancer, dans notre cas ArmaReforgerServer.exe:

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/naHimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/naHimage.png)

Puis on va pouvoir faire une deuxième configuration de notre serveur, plus en lien avec son comportement avec votre machine:

<table id="bkmrk-param%C3%A8tres-de-lancem" style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0.3em 0px 1.375em; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-weight: 400; font-stretch: inherit; font-size: 14px; line-height: inherit; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen, Ubuntu, Roboto, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; border-collapse: collapse; border-spacing: 0px; min-width: 100px; max-width: 100%; hyphens: auto; table-layout: fixed; color: rgb(68, 68, 68); letter-spacing: normal; orphans: 2; text-align: start; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><colgroup><col style="width: 379px;"></col><col style="width: 563px;"></col><col style="width: 417px;"></col></colgroup><tbody><tr style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 0px; border: 0px; font: inherit; vertical-align: baseline;"><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">****Paramètres de lancement****

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">****Description****

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">****Exemples****

</td></tr><tr style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 0px; border: 0px; font: inherit; vertical-align: baseline;"><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">-addonsDir

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">Définit où le serveur va trouver les mods dans les fichiers de votre serveur.

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">```json
-addonsDir ".\Workshop\"
```

`<span class="editor-theme-code">-addonsDir ".\Workshop\"</span>`</td></tr><tr style="height: 10px; box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 0px; border: 0px; font: inherit; vertical-align: baseline;"><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">addonDownloadDir

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">Définit où le serveur va télécharger les mods indiqués dans la configuration (pas nécessaire si vous définissez addonsDir).

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">```json
-addonDownloadDir ".\Workshop\"
```

`<span class="editor-theme-code">-addonDownloadDir ".\Workshop\"</span>`</td></tr><tr style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 0px; border: 0px; font: inherit; vertical-align: baseline;"><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">-addonTempDir

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">Définit où stocker des fichiers temporaires pour le téléchargement des addons.

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">```json
-addonTempDir "C:\Users\Administrator\AppData\Local\Temp"
```

`<span class="editor-theme-code">-addonTempDir "C:\Users\Administrator\AppData\Local\Temp"</span>`</td></tr><tr style="height: 10px; box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 0px; border: 0px; font: inherit; vertical-align: baseline;"><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">****-autoreload****

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;"><span style="color: rgb(36, 43, 52); background-color: rgb(255, 255, 255);">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.</span>

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">```json
-autoreload 10
```

`<span class="editor-theme-code">-autoreload 10</span>`</td></tr><tr style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 0px; border: 0px; font: inherit; vertical-align: baseline;"><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">****-config****

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">Définit quel fichier json le serveur doit lancer.

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">```json
-config ".\Configs\GM_Arland.json"
```

`<span class="editor-theme-code">-config ".\Configs\GM_Arland.json"</span>`</td></tr><tr style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 0px; border: 0px; font: inherit; vertical-align: baseline;"><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">****-****singleThreadedUpdate

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">Permet de désactiver le fait que le serveur travaille sur plusieurs theads (utilisation du processeur).

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">```json
-singleThreadedUpdate
```

`<span class="editor-theme-code">-singleThreadedUpdate</span>`</td></tr><tr style="height: 10px; box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 0px; border: 0px; font: inherit; vertical-align: baseline;"><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">-MaxFPS

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">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.

</td><td style="box-sizing: border-box; outline-color: var(--color-primary); outline-width: 1px; margin: 0px; padding: 6px 8px; border: 1px solid rgb(221, 221, 221); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.2; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; min-width: 10px; overflow: auto; word-break: break-word;">```json
-MaxFPS 85
```

`<span class="editor-theme-code">-MaxFPS 85</span>`</td></tr></tbody></table>

<p class="callout warning">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.</p>

<p class="callout info">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.</p>

---

Donc pour résumer, votre configuration et les fichiers de votre serveur devrait ressembler a ça:

```json
ArmaReforgerServer.exe -config ".\Configs\GM_Arland.json" -MaxFPS 85 -addonsDir ".\Workshop" -addonTempDir ".\Workshop\Temp"
```

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/u6Rimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/u6Rimage.png)

Une fois tout ça fait, renommez votre start.txt pour remplacer .txt par .bat.

### ****4. Configuration de votre machine pour le serveur Arma Reforger****

<span style="white-space: pre-wrap;">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). </span>

Pour ouvrir les ports du pare feu, recherchez dans la bar de recherche "pare-feu Windows Defender":

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/vRKimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/vRKimage.png)

Une fois cela fait, rendez vous dans les paramètres avancés:

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/ig7image.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/ig7image.png)

Une fois cela fait, rendez vous dans "Règles de trafic entrant" puis créez une nouvelle règle:

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/lRsimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/lRsimage.png)

Sélectionnez port puis suivant:

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/zVOimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/zVOimage.png)

Une fois cela fait, cochez UDP et mettez le port 2001 (obligatoire):

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/ZHiimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/ZHiimage.png)

Autorisez la connexion:

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/DLAimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/DLAimage.png)

<span style="white-space: pre-wrap;">Puis nommez votre règle et vous pouvez refaire l'opération deux fois avec le port </span><span style="color: rgb(32, 33, 34);">17777 pour l'A2S</span><span style="white-space: pre-wrap;"> et </span><span style="color: rgb(32, 33, 34); white-space: pre-wrap;">19999 pour le RCON toujours dans la catégorie </span>"Règles de trafic entrant"<span style="color: rgb(32, 33, 34);">.</span>

<span style="color: rgb(32, 33, 34); white-space: pre-wrap;">Une fois tous les port ouvert dans </span>"Règles de trafic entrant"<span style="color: rgb(32, 33, 34); white-space: pre-wrap;">, allez dans la catégorie </span><span style="white-space: pre-wrap;">"Règles de trafic sortant" puis réitérer l'opération en faisant bien </span>****attention d'autorisez la connexion qui est refusé par défaut.****

<p class="callout warning"><span style="color: rgb(32, 33, 34);">N'ouvrez pas le port 19999 si vous n'utiliserez pas le RCON pour des questions de sécurité évidente</span></p>

---

<p class="callout success">Une fois toutes ces étapes faites, vous pouvez lancer votre serveur ✅</p>

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).

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/h1Himage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/h1Himage.png)

<p class="callout info">Vous rencontrez un problème ? Dirigez vous vers la page TroubleShooting.</p>

<p class="callout info">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.</p>

> <span style="white-space: pre-wrap;">Page du wiki conseillé après avoir configuré et installé le serveur: </span>[Admin Tips](https://wiki.nabla.sh/books/server-creation-and-configuration/page/3-administration-de-votre-serveur-arma-reforger)<span style="white-space: pre-wrap;"> (comment se login en admin, les commandes intéressantes...)</span>

# 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
        }
	}
}
```

<p class="callout danger">****ATTENTION:****<span style="white-space: pre-wrap;"> 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.</span></p>

<p class="callout warning">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.</p>

<p class="callout warning">Dans tous les cas, laissez le paramètres "fastValidation" en true.</p>

<p class="callout warning">IPV6 n'est pas pris en charge par Arma Reforger.</p>

---

## ****Root:****

#### bindAddress:

<span style="color: rgb(36, 43, 52); background-color: rgb(255, 255, 255);">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.</span>

<p class="callout info">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.</p>

#### bindPort:

Port UDP auquel le socket du serveur sera liée.

<p class="callout info"><span style="color: rgb(36, 43, 52);">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.</span></p>

#### publicAddress:

<span style="color: rgb(36, 43, 52); background-color: rgb(255, 255, 255);">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.</span>

#### publicPort<span style="color: rgb(36, 43, 52);">:</span>

<span style="color: rgb(36, 43, 52); white-space: pre-wrap;">Définit le port publique par le quel les clients peuvent atteindre le serveur (de base: </span><span style="color: rgb(32, 33, 34); background-color: rgb(255, 255, 255);">2001</span><span style="color: rgb(36, 43, 52); white-space: pre-wrap;">). Si vous définissez un port personnalisés, il soit se trouver entre 1 et </span><span style="color: rgb(32, 33, 34); background-color: rgb(255, 255, 255);">65535</span><span style="color: rgb(36, 43, 52); white-space: pre-wrap;"> inclus \[1 ; 65535\].</span>

---

## ****a2s:****

[Steam Query](https://developer.valvesoftware.com/wiki/Server_queries): 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.

<p class="callout info">Vous pouvez laisser ce paramètre comme il est.</p>

<table id="bkmrk-param%C3%A8tresdescriptio"><colgroup><col style="width: 240px;"></col><col style="width: 240px;"></col></colgroup><tbody><tr><td>Paramètres

</td><td>Description

</td></tr><tr><td>Adress

</td><td>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.

</td></tr><tr><td>port

</td><td><span style="white-space: pre-wrap;">Valeur entre 1 et 65535, par défaut </span><span style="color: rgb(32, 33, 34); background-color: rgb(255, 255, 255);">17777</span>. Modifie le port UDP de Steam Query sur lequel le jeu écoute les requêtes A2S.

</td></tr></tbody></table>

---

## ****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.

<p class="callout info">Vous pouvez laisser ce paramètre comme il est.</p>

<table id="bkmrk-param%C3%A8tresdescriptio-1"><colgroup><col style="width: 240px;"></col><col style="width: 240px;"></col></colgroup><tbody><tr><td>Paramètres

</td><td>Description

</td></tr><tr><td>Adress

</td><td>Adresse IP à laquelle la socket RCON sera liée. Elle peut être utilisée pour restreindre la connexion à une interface réseau particulière.

</td></tr><tr><td>Port

</td><td><span style="color: rgb(36, 43, 52); background-color: rgb(255, 255, 255); white-space: pre-wrap;">Entre 1 et 65535, valeur par défaut: 19999 </span>

<span style="color: rgb(36, 43, 52); background-color: rgb(255, 255, 255);">Port du protocole RCON.</span>

</td></tr><tr style="height: 10px;"><td>password

</td><td>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.

</td></tr><tr><td>MaxClients

</td><td>Le maximum de gens en même temps connecté en RCON. Valeur entre 1 et 16, par défaut 16.

</td></tr><tr><td>permission

</td><td>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.

</td></tr><tr><td>blacklist

</td><td><span style="color: rgb(36, 43, 52); background-color: rgb(255, 255, 255);">array value, default \[\] Une liste de commandes exclues de l'exécution.</span>

</td></tr><tr><td>whitelist

</td><td>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.

</td></tr></tbody></table>

---

## ****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.

<p class="callout warning">Modifiez ce paramètre pour la sécurité de votre serveur !</p>

#### 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:  
>   
> [![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/lK8image.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/lK8image.png)Et vous pouvez le retrouver ici:  
> [![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/2reimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/2reimage.png)

#### 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:

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/uj9image.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/uj9image.png)

Pour les scénarios vanilla, en voici la liste entière depuis la 1.1.0:

<table id="bkmrk-scenarioiddescriptio"><colgroup><col style="width: 240px;"></col><col style="width: 240px;"></col></colgroup><tbody><tr><td>ScenarioID

</td><td>Description

</td></tr><tr><td>```
{ECC61978EDCC2B5A}Missions/23_Campaign.conf
```

`<span class="editor-theme-code">{ECC61978EDCC2B5A}Missions/23_Campaign.conf</span>``<span class="editor-theme-code">{ECC61978EDCC2B5A}Missions/23_Campaign.conf</span>`

`<span class="editor-theme-code">{ECC61978EDCC2B5A}Missions/23_Campaign.conf</span>`

`<span class="editor-theme-code">{ECC61978EDCC2B5A}Missions/23_Campaign.conf</span>`

`<span class="editor-theme-code">{ECC61978EDCC2B5A}Missions/23_Campaign.conf</span>`

</td><td>Conflit - Everon

</td></tr><tr><td>```
{C700DB41F0C546E1}Missions/23_Campaign_NorthCentral.conf
```

`<span class="editor-theme-code">{C700DB41F0C546E1}Missions/23_Campaign_NorthCentral.conf</span>``<span class="editor-theme-code">{C700DB41F0C546E1}Missions/23_Campaign_NorthCentral.conf</span>`

`<span class="editor-theme-code">{C700DB41F0C546E1}Missions/23_Campaign_NorthCentral.conf</span>`

`<span class="editor-theme-code">{C700DB41F0C546E1}Missions/23_Campaign_NorthCentral.conf</span>`

`<span class="editor-theme-code">{C700DB41F0C546E1}Missions/23_Campaign_NorthCentral.conf</span>`

</td><td>Conflit - Nord d'Everon

</td></tr><tr><td>```
{28802845ADA64D52}Missions/23_Campaign_SWCoast.conf
```

`<span class="editor-theme-code">{28802845ADA64D52}Missions/23_Campaign_SWCoast.conf</span>``<span class="editor-theme-code">{28802845ADA64D52}Missions/23_Campaign_SWCoast.conf</span>`

`<span class="editor-theme-code">{28802845ADA64D52}Missions/23_Campaign_SWCoast.conf</span>`

`<span class="editor-theme-code">{28802845ADA64D52}Missions/23_Campaign_SWCoast.conf</span>`

`<span class="editor-theme-code">{28802845ADA64D52}Missions/23_Campaign_SWCoast.conf</span>`

</td><td>Conflit - Sud d'Everon

</td></tr><tr><td>```
{DAA03C6E6099D50F}Missions/24_CombatOps.conf
```

`<span class="editor-theme-code">{DAA03C6E6099D50F}Missions/24_CombatOps.conf</span>``<span class="editor-theme-code">{DAA03C6E6099D50F}Missions/24_CombatOps.conf</span>`

`<span class="editor-theme-code">{DAA03C6E6099D50F}Missions/24_CombatOps.conf</span>`

`<span class="editor-theme-code">{DAA03C6E6099D50F}Missions/24_CombatOps.conf</span>`

`<span class="editor-theme-code">{DAA03C6E6099D50F}Missions/24_CombatOps.conf</span>`

</td><td>Combat Ops - Arland

</td></tr><tr><td>```
{C41618FD18E9D714}Missions/23_Campaign_Arland.conf
```

`<span class="editor-theme-code">{C41618FD18E9D714}Missions/23_Campaign_Arland.conf</span>``<span class="editor-theme-code">{C41618FD18E9D714}Missions/23_Campaign_Arland.conf</span>`

`<span class="editor-theme-code">{C41618FD18E9D714}Missions/23_Campaign_Arland.conf</span>`

`<span class="editor-theme-code">{C41618FD18E9D714}Missions/23_Campaign_Arland.conf</span>`

`<span class="editor-theme-code">{C41618FD18E9D714}Missions/23_Campaign_Arland.conf</span>`

</td><td>Conflit - Arland

</td></tr><tr><td>```
{DFAC5FABD11F2390}Missions/26_CombatOpsEveron.conf
```

`<span class="editor-theme-code">{DFAC5FABD11F2390}Missions/26_CombatOpsEveron.conf</span>``<span class="editor-theme-code">{DFAC5FABD11F2390}Missions/26_CombatOpsEveron.conf</span>`

`<span class="editor-theme-code">{DFAC5FABD11F2390}Missions/26_CombatOpsEveron.conf</span>`

`<span class="editor-theme-code">{DFAC5FABD11F2390}Missions/26_CombatOpsEveron.conf</span>`

`<span class="editor-theme-code">{DFAC5FABD11F2390}Missions/26_CombatOpsEveron.conf</span>`

</td><td>Combat Ops - Everon

</td></tr><tr><td>```
{59AD59368755F41A}Missions/21_GM_Eden.conf
```

`<span class="editor-theme-code">{59AD59368755F41A}Missions/21_GM_Eden.conf</span>``<span class="editor-theme-code">{59AD59368755F41A}Missions/21_GM_Eden.conf</span>`

`<span class="editor-theme-code">{59AD59368755F41A}Missions/21_GM_Eden.conf</span>`

`<span class="editor-theme-code">{59AD59368755F41A}Missions/21_GM_Eden.conf</span>`

`<span class="editor-theme-code">{59AD59368755F41A}Missions/21_GM_Eden.conf</span>`

</td><td>GameMaster - Everon

</td></tr><tr style="height: 10px;"><td>```
{2BBBE828037C6F4B}Missions/22_GM_Arland.conf
```

`<span class="editor-theme-code">{2BBBE828037C6F4B}Missions/22_GM_Arland.conf</span>``<span class="editor-theme-code">{2BBBE828037C6F4B}Missions/22_GM_Arland.conf</span>`

`<span class="editor-theme-code">{2BBBE828037C6F4B}Missions/22_GM_Arland.conf</span>`

`<span class="editor-theme-code">{2BBBE828037C6F4B}Missions/22_GM_Arland.conf</span>`

`<span class="editor-theme-code">{2BBBE828037C6F4B}Missions/22_GM_Arland.conf</span>`

</td><td>GameMaster - Arland

</td></tr></tbody></table>

#### 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:

<table id="bkmrk-codeplateformeplatfo"><colgroup><col style="width: 240px;"></col><col style="width: 240px;"></col></colgroup><tbody><tr><td>Code

</td><td>Plateforme

</td></tr><tr><td><span style="color: rgb(32, 33, 34); background-color: rgb(248, 249, 250);">PLATFORM\_PC</span>

</td><td>PC (Steam).

</td></tr><tr><td><span style="color: rgb(32, 33, 34); background-color: rgb(248, 249, 250);">PLATFORM\_XBL</span>

</td><td>Xbox series S et X.

</td></tr><tr><td><span style="color: rgb(32, 33, 34); background-color: rgb(248, 249, 250);">PLATFORM\_PSN</span>

</td><td><span style="white-space: pre-wrap;">PS5 et PS5 pro (depuis la </span><span style="color: rgb(32, 33, 34);">1.2.1.169</span>).

</td></tr></tbody></table>

<p class="callout warning"><span style="color: rgb(36, 43, 52);">Un serveur vanilla ne peut être que PC ou PC avec toutes les consoles.</span></p>

<p class="callout warning"><span style="color: rgb(36, 43, 52);">Un serveur moddé ne peut être que PC et Xbox (Jan. 2025).</span></p>

#### 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:

<span style="color: rgb(36, 43, 52); background-color: rgb(255, 255, 255);">Laisser sur true pour un serveur publique.</span>

#### 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.

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/7v5image.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/7v5image.png)

#### 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:

<span style="white-space: pre-wrap;">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. </span>

#### 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 ✅  
> [![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/6GTimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/6GTimage.png)  
> Mais cela est incorrect ❌  
> [![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/cx4image.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/cx4image.png)  
> Tout comme ça est aussi incorrect  
> [![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/07gimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/07gimage.png)  
> et ça aussi:  
> [![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/DE1image.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/DE1image.png)  
> 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:

```json
{
  "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 !

<p class="callout info">Les dépendances sont automatiquement téléchargés par le serveur.</p>

#### Pour trouver l'id du mod, allez sur le workshop en version web et recherchez votre mod:

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/61Zimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/61Zimage.png)<span style="white-space: pre-wrap;"></span>

Vous pouvez aussi trouver la version du mod si besoin.

#### Pour le nom du mod, copiez le depuis la bar d'URL:

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/1hwimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/1hwimage.png)

En conclusion, pour ce mod, votre json devrait ressembler a ça:

```
{
  "modId" : "5B3ED33ADA805340",
  "modName" : "TaskForceMattockWeapons",
  "version" : "2.0.6"
}
```

<p class="callout success">Une fois cela acquis, vous pouvez ajouter un par un vos mods ✅</p>

---

## ****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:

```json
{
	"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****

<span style="white-space: pre-wrap;">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 </span>

### ****1. Les commandes**** 

<p class="callout info">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 #.</p>

#### ****Les commandes administratives:****

##### \#<span style="color: rgb(32, 33, 34);">login</span>:

<span style="white-space: pre-wrap;">Permet de se connecter en Admin et GameMaster depuis le tchat du jeu </span>

#### \#<span style="color: rgb(32, 33, 34);">logout:</span>

<span style="color: rgb(32, 33, 34);">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.</span>

#### <span style="color: rgb(32, 33, 34);">\#restart:</span>

<span style="color: rgb(32, 33, 34);">Permet de redémarrer le serveur depuis le tchat du jeu et depuis le RCON avec la commande @restart. Disponible uniquement en admin.</span>

#### <span style="color: rgb(32, 33, 34);">\#shutdown</span>

<span style="color: rgb(32, 33, 34);">Permet d'éteindre le serveur (Arma) depuis le tchat du jeu et depuis le RCON avec la commande @shutdown. Disponible uniquement en admin.</span>

#### ****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 ban
```

L'<span style="color: rgb(255, 255, 255); background-color: rgb(35, 111, 161);">ID</span><span style="white-space: pre-wrap;"> peut être obtenu en faisant #players et en récupérant le tout premier numéro des listes de joueurs.</span>

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/t1cimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/t1cimage.png)

<span style="white-space: pre-wrap;">Si le joueur n'est pas connecté, vous pouvez utiliser son </span><span style="background-color: rgb(45, 194, 107);">identityID</span>:

```
#ban create 2e18318e-71d7-4f3a-9a1c-bdc234c9d5db 60 1min ban
```

<p class="callout info">Pour bannir définitivement un joueur, mettez 0 seconde.</p>

#### \#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'<span style="color: rgb(255, 255, 255); background-color: rgb(35, 111, 161);">ID</span><span style="white-space: pre-wrap;"> peut être obtenu en faisant #players et en récupérant le tout premier numéro des listes de joueurs.</span>

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/t1cimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/t1cimage.png)

```
#kick [ID]
```

Exemple:

```
#kick 1
```

---

#### ****Autres 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.

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/t1cimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/t1cimage.png)

#### \#roles:

Permet d'obtenir vos rôles sur le serveur. Peut être exécuté sans être admin.

### ****2. Les mods conseillés:****

<p class="callout warning">Attention: Si votre serveur est dédié aux PlayStation, ne mettez pas de mods car elle ne les supportent pas encore.</p>

# 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 ?

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-01/scaled-1680-/kUeimage.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-01/kUeimage.png)

En attente

# 6 - Vous rencontrez un problème ?

En attente

# Server config - Mission header

A very interesting parameter allows the mod and scenario to be modified directly from your configuration file.

<span style="white-space:pre-wrap;">This feature is used, for example, by the </span>****ACE Medical****<span style="white-space:pre-wrap;"> mod, which lets you configure certain ACE parameters for your server.</span>  
<span style="white-space:pre-wrap;">It is also used by </span>****vanilla servers****<span style="white-space:pre-wrap;"> to configure a scenario without publishing a separate mod.</span>

<span style="white-space:pre-wrap;">The problem is that it is </span>****poorly explained**** [https://community.bistudio.com/wiki/Arma\_Reforger:Server\_Config](https://community.bistudio.com/wiki/Arma_Reforger:Server_Config)  
  
  
A typical server config can look like this:

```
{
	"bindAddress": "0.0.0.0",
	"bindPort": 2001,
	"publicAddress": "192.168.9.10",
	"publicPort": 2001,
	"a2s": {
		"address": "192.168.9.10",
		"port": 17777
	},
	"rcon": {
		"address": "192.168.9.10",
		"port": 19999,
		"password": "changeme_withoutspaces",
		"permission": "monitor",
		"blacklist": [],
		"whitelist": []
	},
	"game": {
		"name": "Server Name - Mission Name",
		"password": "",
		"passwordAdmin": "changeme",
		"admins" : [
			"76561198200329058"
		],
		"scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
		"maxPlayers": 32,
		"visible": true,
		"crossPlatform": true,
		"supportedPlatforms": [
			"PLATFORM_PC",
			"PLATFORM_XBL"
		],
		"gameProperties": {
			"serverMaxViewDistance": 2500,
			"serverMinGrassDistance": 50,
			"networkViewDistance": 1000,
			"disableThirdPerson": true,
			"fastValidation": true,
			"battlEye": true,
			"VONDisableUI": true,
			"VONDisableDirectSpeechUI": 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" : 12
		},
		"disableNavmeshStreaming": [
			"Soldiers",
			"BTRlike"
		]
	}
}
```

  
The part mission header is the part to use to customise these parameters.  
  
<span style="white-space:pre-wrap;">Here is the English version of your </span>****Mission Header variables****<span style="white-space:pre-wrap;"> list for your wiki page:</span>

---

### ****Variables in the** `<strong class="editor-theme-bold editor-theme-code">SCR_MissionHeader</strong>` **Class:****

1. ****m\_sName****<span style="white-space:pre-wrap;"> (</span>**string**) - The name of the mission.
2. ****m\_sAuthor****<span style="white-space:pre-wrap;"> (</span>**string**) - The author of the mission.
3. ****m\_sPath****<span style="white-space:pre-wrap;"> (</span>**string**) - The file path to the mission.
4. ****m\_sDescription****<span style="white-space:pre-wrap;"> (</span>**string**) - A brief description of the mission.
5. ****m\_sDetails****<span style="white-space:pre-wrap;"> (</span>**string**) - A detailed description of the mission, including rules and objectives.
6. ****m\_sIcon****<span style="white-space:pre-wrap;"> (</span>**ResourceName**) - The icon displayed in menus.
7. ****m\_sLoadingScreen****<span style="white-space:pre-wrap;"> (</span>**ResourceName**) - The image displayed when the mission is loading.
8. ****m\_sPreviewImage****<span style="white-space:pre-wrap;"> (</span>**ResourceName**) - The mission’s preview image.
9. ****m\_sGameMode****<span style="white-space:pre-wrap;"> (</span>**string**) - The game mode of the mission (e.g., "Sandbox").
10. ****m\_iPlayerCount****<span style="white-space:pre-wrap;"> (</span>**int**) - The number of players supported in the mission.
11. ****m\_eEditableGameFlags****<span style="white-space:pre-wrap;"> (</span>**EGameFlags**) - Game flags that can be modified by the player.
12. ****m\_eDefaultGameFlags****<span style="white-space:pre-wrap;"> (</span>**EGameFlags**) - Default game flags.
13. ****m\_bIsSavingEnabled****<span style="white-space:pre-wrap;"> (</span>**bool**) - Determines whether mission state saving is enabled.
14. ****m\_sSaveFileName****<span style="white-space:pre-wrap;"> (</span>**string**) - The name of the save file for this mission. If undefined, the associated world file name will be used.
15. ****m\_sBriefingConfig****<span style="white-space:pre-wrap;"> (</span>**ResourceName**) - Configuration file for the briefing screen.
16. ****m\_bOverrideScenarioTimeAndWeather****<span style="white-space:pre-wrap;"> (</span>**bool**<span style="white-space:pre-wrap;">) - If </span>`<span class="editor-theme-code">true</span>`, the scenario's time and weather will be overridden by the values defined in this mission header.
17. ****m\_iStartingHours****<span style="white-space:pre-wrap;"> (</span>**int**) - The starting hour of the mission (0-23).
18. ****m\_iStartingMinutes****<span style="white-space:pre-wrap;"> (</span>**int**) - The starting minutes of the mission (0-59).
19. ****m\_bRandomStartingDaytime****<span style="white-space:pre-wrap;"> (</span>**bool**<span style="white-space:pre-wrap;">) - If </span>`<span class="editor-theme-code">true</span>`, the starting time will be randomized.
20. ****m\_fDayTimeAcceleration****<span style="white-space:pre-wrap;"> (</span>**float**) - Time acceleration during the day (1 = 100%, 2 = 200%, etc.).
21. ****m\_fNightTimeAcceleration****<span style="white-space:pre-wrap;"> (</span>**float**) - Time acceleration during the night.
22. ****m\_bRandomStartingWeather****<span style="white-space:pre-wrap;"> (</span>**bool**<span style="white-space:pre-wrap;">) - If </span>`<span class="editor-theme-code">true</span>`, the starting weather will be randomized.
23. ****m\_bRandomWeatherChanges****<span style="white-space:pre-wrap;"> (</span>**bool**<span style="white-space:pre-wrap;">) - If </span>`<span class="editor-theme-code">true</span>`, weather will dynamically change during gameplay.
24. ****m\_fXpMultiplier****<span style="white-space:pre-wrap;"> (</span>**float**) - Player XP multiplier.
25. ****m\_bMapMarkerEnableDeleteByAnyone****<span style="white-space:pre-wrap;"> (</span>**bool**<span style="white-space:pre-wrap;">) - If </span>`<span class="editor-theme-code">true</span>`, map markers can be deleted by any player within the faction.
26. ****m\_iMapMarkerLimitPerPlayer****<span style="white-space:pre-wrap;"> (</span>**int**) - The maximum number of map markers a player can place at a time.
27. ****m\_bLoadOnStart****<span style="white-space:pre-wrap;"> (</span>**bool**) - Determines if the mission is loaded on start.
28. ****m\_sOwner****<span style="white-space:pre-wrap;"> (</span>**string**) - The owner of the mission.

---

### ****Additional Variables in the** `<strong class="editor-theme-bold editor-theme-code">SCR_MissionHeaderCampaign</strong>` **Class:****

1. ****m\_iControlPointsCap****<span style="white-space:pre-wrap;"> (</span>**int**) - The limit on the number of control points in the campaign.
2. ****m\_fVictoryTimeout****<span style="white-space:pre-wrap;"> (</span>**float**) - Time before automatic victory if conditions are met.
3. ****m\_iStartingHQSupplies****<span style="white-space:pre-wrap;"> (</span>**int**) - Initial supply count at the headquarters.
4. ****m\_iMinimumBaseSupplies****<span style="white-space:pre-wrap;"> (</span>**int**) - Minimum amount of supplies required for a base.
5. ****m\_iMaximumBaseSupplies****<span style="white-space:pre-wrap;"> (</span>**int**) - Maximum amount of supplies a base can store.
6. ****m\_bCustomBaseWhitelist****<span style="white-space:pre-wrap;"> (</span>**bool**) - Indicates whether a custom base whitelist is used.
7. ****m\_bIgnoreMinimumVehicleRank****<span style="white-space:pre-wrap;"> (</span>**bool**<span style="white-space:pre-wrap;">) - If </span>`<span class="editor-theme-code">true</span>`, ignores the minimum rank required for vehicles.
8. ****m\_aCampaignCustomBaseList****<span style="white-space:pre-wrap;"> (</span>**array**) - List of custom bases for the campaign.

<span style="white-space:pre-wrap;">These additional variables are specific to the </span>`<span class="editor-theme-code">SCR_MissionHeaderCampaign</span>`<span style="white-space:pre-wrap;"> class and are used to define settings for campaign-style missions.</span>

****Sources****:

- [SCR\_MissionHeader Interface Reference](https://community.bistudio.com/wikidata/external-data/arma-reforger/ArmaReforgerScriptAPIPublic/interfaceSCR__MissionHeader.html)
- [SCR\_MissionHeaderCampaign Interface Reference](https://community.bistudio.com/wikidata/external-data/arma-reforger/ArmaReforgerScriptAPIPublic/interfaceSCR__MissionHeaderCampaign.html)[  ](https://community.bistudio.com/wiki/Arma_Reforger:Server_Config#bikisp67b889cad0109)

# Change loading screen of a scenario

To change the loading screen, you need to override the connection UI.  
  
[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-03/scaled-1680-/image.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-03/image.png)

<span style="white-space:pre-wrap;">Override this layout: </span>[https://enfusionengine.com/api/redirect?to=enfusion://ResourceManager/$ArmaReforger:UI/layouts/Menus/LoadingScreen/ScenarioLoadingScreen.layout](https://enfusionengine.com/api/redirect?to=enfusion://ResourceManager/$ArmaReforger:UI/layouts/Menus/LoadingScreen/ScenarioLoadingScreen.layout)<span style="white-space:pre-wrap;"> </span>  
  
  
You will arrive on this screen where you can customize everything.

[![image.png](https://wiki.nabla.sh/uploads/images/gallery/2025-03/scaled-1680-/N24image.png)](https://wiki.nabla.sh/uploads/images/gallery/2025-03/N24image.png)