# Monter un serveur Minecraft

> De la commande passée à la première connexion d'un joueur.

On va monter un serveur, le régler, y poser un plugin, et le rendre joignable. Tout
depuis le terminal, sauf la commande elle-même.

## 1. Commander le serveur

Le catalogue est dans l'espace client : choisis l'édition (Vanilla, Paper, Forge…),
la taille, et le nœud. Compte 4 Go de mémoire pour une dizaine de joueurs en survie
vanilla, davantage avec des mods.

<Card title="Choisir un serveur" icon="cart-shopping" href="https://app.arkya.gg">
  Le catalogue, les éditions, les tailles.
</Card>

## 2. Le retrouver

```bash
ark ls --family AGS
```

```
nom          gamme  état    adresse             taille                 par mois
survie-2026  AGS    arrêté  51.210.44.12:25565  4 vCPU · 8 Go · 80 Go  12.40 €
```

```bash
ark use survie-2026
```

## 3. Le régler avant de le démarrer

Les réglages du jeu passent par les variables — pas besoin d'éditer
`server.properties` à la main.

```bash
ark env ls
```

```
variable       valeur                     
MC_VERSION     latest
MAX_PLAYERS    20
SERVER_MOTD    Bienvenue sur le serveur
WHITELIST      0
SERVER_PORT    25565                      lecture seule
```

```bash
ark env set MAX_PLAYERS=40 SERVER_MOTD="Survie 2026 — entre nous"
```

## 4. Le démarrer et regarder

```bash
ark console
```

```
────────────────────────────────────────────────────────────
console survie-2026 51.210.44.12:25565
tape une commande puis Entrée · /start /stop /restart /kill · /quit ou Ctrl+C pour sortir
────────────────────────────────────────────────────────────
> /start
— démarrage
[Arkya Daemon]: Updating process configuration files...
[13:02:11 INFO]: Starting minecraft server version 1.21.4
[13:02:15 INFO]: Preparing level "world"
[13:02:26 INFO]: Done (14.902s)! For help, type "help"
— en ligne
```

Le premier démarrage prend plus longtemps que les suivants : le monde se génère.

## 5. Accepter le CLUF

Si le serveur s'arrête tout seul en parlant d'`eula.txt` :

```bash
ark files cat /eula.txt
ark files put ./eula.txt /eula.txt
```

Ou, plus court, par la variable si l'édition en propose une :

```bash
ark env set EULA=true
ark restart
```

## 6. Poser un plugin

```bash
ark files mkdir /plugins
ark files put ./EssentialsX.jar /plugins/EssentialsX.jar
ark restart
```

Pour un pack de mods entier, passe par SFTP — c'est fait pour.

```bash
ark sftp --reset
```

## 7. Le rendre joignable par un nom

`ark ls` donne l'adresse : `51.210.44.12:25565`. Pour que tes joueurs tapent
`jeu.exemple.fr`, un enregistrement `SRV` évite d'avoir à donner le port :

```dns
_minecraft._tcp.jeu.exemple.fr. 300 IN SRV 0 5 25565 jeu.exemple.fr.
jeu.exemple.fr.                 300 IN A   51.210.44.12
```

## 8. Prendre l'habitude de sauvegarder

Avant toute manipulation qui touche au monde ou aux plugins :

```bash
ark backup create avant-plugin
```

Et le rituel du redémarrage propre, quand il y a du monde dessus :

```bash
ark exec -- say Redémarrage dans 60 secondes
sleep 60
ark exec -- save-all
ark backup create avant-redemarrage
ark restart
```

## Ce qui coince le plus souvent

<AccordionGroup>
  <Accordion title="Le serveur démarre puis s'arrête tout de suite">
    Regarde la console : neuf fois sur dix, c'est le CLUF non accepté, ou une version
    de Java qui ne correspond pas à celle du jeu. `ark console` montre la ligne exacte.
  </Accordion>
  <Accordion title="« Unable to access jarfile server.jar »">
    L'installation ne s'est pas terminée, ou un `ark command` pointe vers un fichier
    qui n'existe pas. `ark files ls /` dit ce qu'il y a vraiment sur le disque, et
    `ark command --restore` remet la commande d'origine.
  </Accordion>
  <Accordion title="Les joueurs n'arrivent pas à se connecter">
    Vérifie que le service est publié : `ark net`. S'il affiche « fermé »,
    `ark net --public`. Vérifie ensuite que l'adresse donnée aux joueurs est bien celle
    de `ark ls`.
  </Accordion>
  <Accordion title="Le serveur rame">
    `ark info` donne le processeur et la mémoire consommés. Si la mémoire est au
    plafond, `ark scale --ram 12` puis `ark restart`. Si c'est le processeur, cherche
    plutôt du côté des plugins et des entités.
  </Accordion>
</AccordionGroup>
