Désactiver le préchargeur
Tutoriels Linux Serveurs de jeux

Installer un serveur Enshrouded sur Linux (Ubuntu, Debian, AlmaLinux)

Documentation / Tutoriels Linux / Serveurs de jeux / Installer un serveur Enshrouded sur Linux (Ubuntu, Debian, AlmaLinux)
Mis à jour le 22/09/2026
11 vues
Avancé
45 minutes

Prérequis

  • Un serveur sous Ubuntu, Debian, AlmaLinux, Rocky, CentOS, Fedora ou openSUSE : voir nos VPS au Canada
  • Une connexion SSH ouverte en root : Se connecter en SSH à votre VPS
  • 15 Go de disque libre (le serveur pèse 8,3 Go)
  • 4 Go de RAM (le serveur en occupe 750 Mo sans joueur, davantage avec)
Votre serveur :

Enshrouded n'existe qu'en serveur Windows. Ce guide le fait tourner sous Linux avec GE-Proton, la couche de compatibilité de Steam dans sa version communautaire : un utilisateur dédié, SteamCMD, le serveur (8,3 Go), la bibliothèque Steam que Proton exige, Proton, un service qui démarre avec la machine et arrête le serveur en sauvegardant, les réglages (nom, mots de passe), le pare-feu, la connexion depuis le jeu et la mise à jour. Choisissez votre système ci-dessus. Copiez la commande avec le bouton Copier, collez-la dans votre terminal, et comparez avec le résultat attendu.

1Mettre à jour le système et installer les bibliothèques 32 bits

SteamCMD, l'outil de Valve qui télécharge les serveurs de jeux, est un programme 32 bits : il lui faut les bibliothèques 32 bits du système. On met d'abord le système à jour ; sans cela, l'installation 32 bits échoue sur AlmaLinux, Rocky, CentOS et Fedora (conflit avec une bibliothèque plus ancienne), et SteamCMD ne peut pas joindre Steam sur une Fedora fraîche (certificats absents).

Mettre à jour le système
apt update && apt upgrade -y
Résultat attendu
...
212 upgraded, 8 newly installed, 0 to remove and 4 not upgraded.
(les nombres dépendent de l'âge de l'image)
Mettre à jour le système
dnf upgrade -y
Résultat attendu
...
Complete!
Mettre à jour le système
dnf upgrade -y
Résultat attendu
...
Complete!
Mettre à jour le système
zypper -n refresh && zypper -n update
Résultat attendu
All repositories have been refreshed.
...
Installer les bibliothèques 32 bits et curl
dpkg --add-architecture i386 && apt update && apt install -y lib32gcc-s1 lib32stdc++6 curl
Installer les bibliothèques 32 bits
dnf install -y glibc.i686 libstdc++.i686
Installer les bibliothèques 32 bits
dnf install -y glibc.i686 libstdc++.i686
Installer les bibliothèques 32 bits
zypper -n install glibc-32bit libstdc++6-32bit

openSUSE Leap 16 livre son noyau avec l'exécution des programmes 32 bits désactivée : sans cette étape, SteamCMD répond « Exec format error ». On l'active dans GRUB et on redémarre (reconnectez-vous en SSH après une minute).

Activer les programmes 32 bits dans le noyau, puis redémarrer
sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="ia32_emulation=1 /' /etc/default/grub && grub2-mkconfig -o /boot/grub2/grub.cfg && reboot
Après le redémarrage : vérifier que l'option est active
grep -o ia32_emulation=1 /proc/cmdline
Résultat attendu
ia32_emulation=1

Proton a besoin de la bibliothèque Vulkan du système, même sans carte graphique : sans elle, il s'arrête sur « libvulkan.so.1: cannot open shared object file ».

Installer la bibliothèque Vulkan
apt install -y libvulkan1
Installer la bibliothèque Vulkan
dnf install -y vulkan-loader
Installer la bibliothèque Vulkan
dnf install -y vulkan-loader
Installer la bibliothèque Vulkan
zypper -n install libvulkan1

2Créer un utilisateur dédié et installer SteamCMD

Le serveur ne tourne jamais en root : un utilisateur enshrouded, dont le dossier personnel est /opt/enshrouded, possède SteamCMD et le serveur. Le dossier est créé avant l'utilisateur : sur Rocky et CentOS, SELinux refuse à useradd de le créer lui-même sous /opt.

Créer les dossiers et l'utilisateur enshrouded
mkdir -p /opt/enshrouded/server /opt/enshrouded/steamcmd && useradd -r -s /bin/bash -d /opt/enshrouded enshrouded && chown -R enshrouded:enshrouded /opt/enshrouded
Télécharger SteamCMD (en tant que enshrouded)
su - enshrouded -c "cd /opt/enshrouded/steamcmd && curl -fsSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar zxf - && ls"
Résultat attendu
linux32
steamcmd.sh

3Télécharger le serveur Enshrouded (8,3 Go)

SteamCMD pour Linux sait télécharger une application Windows : l'option @sSteamCmdForcePlatformType windows le lui demande. L'application 2278520 est le serveur dédié Enshrouded, 8,3 Go ; demandée en mode Linux, elle ne livre que 107 Mo de bibliothèques Steam, sans serveur. Comptez une à cinq minutes selon la ligne.

Installer le serveur Enshrouded (version Windows)
su - enshrouded -c "/opt/enshrouded/steamcmd/steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir /opt/enshrouded/server +login anonymous +app_update 2278520 validate +quit"
Résultat attendu
... Success! App '2278520' fully installed.
Vérifier
ls /opt/enshrouded/server/enshrouded_server.exe && du -sh /opt/enshrouded/server
Résultat attendu
/opt/enshrouded/server/enshrouded_server.exe
8.3G	/opt/enshrouded/server

4Installer la bibliothèque Steam que Proton exige

Le serveur parle à Steam (liste des serveurs, connexions des joueurs) à travers Proton, qui cherche la bibliothèque Steam native dans ~/.steam/sdk64/steamclient.so. Sans elle, le serveur s'arrête aussitôt, code 3, et son journal finit sur « Init_Steamworks ». SteamCMD a téléchargé cette bibliothèque à son premier lancement (linux64/steamclient.so) : un lien suffit.

Créer le lien vers la bibliothèque Steam de SteamCMD (en tant qu'enshrouded)
su - enshrouded -c "mkdir -p /opt/enshrouded/.steam/sdk64 && ln -sf /opt/enshrouded/steamcmd/linux64/steamclient.so /opt/enshrouded/.steam/sdk64/steamclient.so && ls -l /opt/enshrouded/.steam/sdk64/"
Résultat attendu
total 0
lrwxrwxrwx 1 enshrouded enshrouded 47 Sep 22 01:54 steamclient.so -> /opt/enshrouded/steamcmd/linux64/steamclient.so

5Installer GE-Proton

Proton est la couche qui fait tourner les programmes Windows dans Steam ; GE-Proton en est une version communautaire utilisable sans le client Steam. La version 10-34 est celle qui fonctionne sur tous les systèmes de ce guide.

Télécharger GE-Proton 10-34 (en tant qu'enshrouded)
su - enshrouded -c "mkdir -p /opt/enshrouded/proton && cd /opt/enshrouded/proton && curl -fsSL https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton10-34/GE-Proton10-34.tar.gz | tar xzf - && ls"
Résultat attendu
GE-Proton10-34

SELinux, en mode strict sur Rocky et CentOS (permissif sur AlmaLinux), refuse à Proton de charger ses fichiers Windows : le service tourne en boucle sans créer le journal du serveur, et /var/log/audit/audit.log montre « denied { execmod } ... comm="wine64" ». On marque le dossier /opt/enshrouded comme contenant des bibliothèques de ce type.

Autoriser SELinux à exécuter Proton dans /opt/enshrouded
dnf install -y policycoreutils-python-utils && semanage fcontext -a -t textrel_shlib_t '/opt/enshrouded(/.*)?' && restorecon -R /opt/enshrouded

6Créer le script de démarrage et le service

Le script donne à Proton les deux dossiers qu'il attend, son environnement Windows (prefix) et un dossier Steam (vide ici), puis lance le serveur. Le service le démarre avec la machine sous l'utilisateur enshrouded. Sa ligne ExecStop envoie le signal d'interruption au processus du serveur, ce qui le fait sauvegarder et se fermer proprement en une seconde ; un arrêt brutal du lanceur Proton laisserait le serveur tourner sans sauvegarder.

Créer start.sh
mkdir -p /opt/enshrouded/steam /opt/enshrouded/prefix
cat > /opt/enshrouded/start.sh << 'EOF'
#!/bin/sh
export STEAM_COMPAT_CLIENT_INSTALL_PATH=/opt/enshrouded/steam
export STEAM_COMPAT_DATA_PATH=/opt/enshrouded/prefix
cd /opt/enshrouded/server
exec /opt/enshrouded/proton/GE-Proton10-34/proton run ./enshrouded_server.exe
EOF
chmod +x /opt/enshrouded/start.sh && chown -R enshrouded:enshrouded /opt/enshrouded
Créer le service enshrouded
cat > /etc/systemd/system/enshrouded.service << 'EOF'
[Unit]
Description=Serveur Enshrouded
After=network.target

[Service]
User=enshrouded
Group=enshrouded
WorkingDirectory=/opt/enshrouded
ExecStart=/opt/enshrouded/start.sh
ExecStop=/bin/sh -c 'pkill -INT -x enshrouded_serv; while pgrep -x enshrouded_serv >/dev/null; do sleep 1; done'
TimeoutStopSec=120
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target
EOF
Activer et démarrer le service
systemctl daemon-reload && systemctl enable --now enshrouded
Résultat attendu
Created symlink /etc/systemd/system/multi-user.target.wants/enshrouded.service → /etc/systemd/system/enshrouded.service.
Une minute plus tard : le serveur est connecté à Steam, en ligne, et écoute
systemctl is-active enshrouded && grep -h 'Game Version\|connected to Steam\|HostOnline\|LoadEcsScene to Run' /opt/enshrouded/server/logs/enshrouded_server.log && ss -lunp | grep 15637 | awk '{print $4}'
Résultat attendu
active
[I 00:00:05,722] Game Version (SVN): 1024233
[I 00:00:06,341] [online] Server connected to Steam successfully
[I 00:00:06,499] [Session] 'HostOnline' (up)!
[I 00:00:08,657] [game_server] Switching state from LoadEcsScene to Run after 171.03 ms
0.0.0.0:15637

7Régler le serveur : nom, mots de passe, joueurs

Le premier démarrage a créé /opt/enshrouded/server/enshrouded_server.json avec des mots de passe aléatoires pour ses quatre groupes de joueurs (Admin, Friend, Guest, Visitor) : un joueur entre avec le mot de passe du groupe dont il reçoit les droits. Le fichier enshrouded_server_readme.txt, à côté, décrit chaque réglage. On l'édite serveur arrêté.

Changer le nom du serveur et le mot de passe du groupe Admin (remplacez ChangezMoi), puis relancer
systemctl stop enshrouded && sed -i 's/"name": "Enshrouded Server"/"name": "Mon serveur Enshrouded"/; s/"password": "Admin[^"]*"/"password": "ChangezMoi"/' /opt/enshrouded/server/enshrouded_server.json && grep -n '"name": "Mon\|ChangezMoi' /opt/enshrouded/server/enshrouded_server.json && systemctl start enshrouded
Résultat attendu
2:	"name": "Mon serveur Enshrouded",
56:			"password": "ChangezMoi",
name
Le nom affiché dans la liste des serveurs du jeu
slotCount
Le nombre de joueurs, 16 par défaut (de 1 à 16)
queryPort
Le port du serveur, 15637 par défaut (UDP)
userGroups : password
Le mot de passe de chaque groupe (Admin, Friend, Guest, Visitor) ; les joueurs entrent avec celui de leur groupe
userGroups : canKickBan, canAccessInventories, canEditWorld, canEditBase
Les droits du groupe : expulser, ouvrir les coffres, modifier le monde, modifier les bases
gameSettingsPreset et gameSettings
La difficulté (Default, Relaxed, Hard, Survival, décrites dans le readme) et chaque facteur de jeu
Ouvrir tout le fichier pour d'autres réglages (Ctrl+O pour enregistrer, Ctrl+X pour quitter), serveur arrêté
systemctl stop enshrouded && nano /opt/enshrouded/server/enshrouded_server.json && systemctl start enshrouded

8Gérer et sauvegarder le serveur

Le monde vit dans /opt/enshrouded/server/savegame ; le serveur l'écrit à chaque arrêt du service. L'archive ci-dessous en garde une copie datée avec les réglages.

Voir l'état du service
systemctl status enshrouded
Suivre le journal du serveur en direct (Ctrl+C pour sortir)
journalctl -u enshrouded -f
Redémarrer
systemctl restart enshrouded
Arrêter
systemctl stop enshrouded
Suivre le journal du serveur lui-même (Ctrl+C pour sortir)
tail -f /opt/enshrouded/server/logs/enshrouded_server.log
Archiver le monde et les réglages (serveur arrêté, puis relancé)
systemctl stop enshrouded && tar -czf /opt/enshrouded/enshrouded-$(date +%F).tar.gz -C /opt/enshrouded/server savegame enshrouded_server.json && systemctl start enshrouded && ls -la /opt/enshrouded/*.tar.gz
Résultat attendu
-rw-r--r-- 1 root root 2946 Sep 22 01:56 /opt/enshrouded/enshrouded-2026-09-22.tar.gz

9Ouvrir les ports dans le pare-feu

Le serveur n'écoute que sur le port 15637 en UDP : le jeu lui-même passe par le réseau de Steam. La commande active le pare-feu du système en gardant SSH autorisé, puis ouvre les ports.

Activer le pare-feu (SSH reste autorisé) et ouvrir les ports du jeu
apt install -y ufw && ufw allow 22/tcp && ufw allow 15637/udp && ufw --force enable
Résultat attendu
...
Firewall is active and enabled on system startup
Activer le pare-feu (SSH reste autorisé) et ouvrir les ports du jeu
dnf install -y firewalld && systemctl enable --now firewalld && firewall-cmd --permanent --add-port=15637/udp && firewall-cmd --reload
Résultat attendu
...
success
success
Activer le pare-feu (SSH reste autorisé) et ouvrir les ports du jeu
dnf install -y firewalld && systemctl enable --now firewalld && firewall-cmd --permanent --add-port=15637/udp && firewall-cmd --reload
Résultat attendu
...
success
success
Ouvrir les ports du jeu (firewalld est déjà actif sur openSUSE)
firewall-cmd --permanent --add-port=15637/udp && firewall-cmd --reload
Résultat attendu
success
success
Vérifier les règles
ufw status
Résultat attendu
Status: active
22/tcp                     ALLOW       Anywhere
15637/udp                  ALLOW       Anywhere
Vérifier les règles
firewall-cmd --list-ports
Résultat attendu
15637/udp
Vérifier les règles
firewall-cmd --list-ports
Résultat attendu
15637/udp
Vérifier les règles
firewall-cmd --list-ports
Résultat attendu
15637/udp

10Se connecter au serveur

  1. Lancez Enshrouded, puis ouvrez la liste des serveurs (menu Join) : elle affiche le nom donné dans enshrouded_server.json (Mon serveur Enshrouded).
  2. Entrez le mot de passe du groupe : ChangezMoi pour entrer comme Admin, ou celui d'un autre groupe pour vos joueurs (grep password /opt/enshrouded/server/enshrouded_server.json les affiche).
  3. Le serveur n'apparaît dans la liste qu'après « HostOnline » dans son journal, quelques secondes après le lancement.

11Mettre à jour le serveur

Après une mise à jour du jeu, mettez le serveur à jour : la même commande que l'installation, serveur arrêté. Le monde et enshrouded_server.json ne font pas partie du téléchargement, ils restent.

Mettre à jour le serveur (serveur arrêté, puis relancé)
systemctl stop enshrouded && su - enshrouded -c "/opt/enshrouded/steamcmd/steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir /opt/enshrouded/server +login anonymous +app_update 2278520 validate +quit" && systemctl start enshrouded
Résultat attendu
... Success! App '2278520' fully installed.

Erreurs fréquentes

Serveur prêt

Votre serveur Enshrouded démarre avec la machine, sauvegarde à chaque arrêt et écoute sur le port 15637. Donnez le nom du serveur et le mot de passe de leur groupe à vos joueurs.

💬 Écrivez-nous sur Messenger !