Dans ce guide, nous allons télécharger, configurer et exécuter un serveur dédié Valheim sous Windows, Linux et macOS.
Un serveur dédié vous offre un monde persistant qui continue de tourner que quelqu'un soit connecté ou non, ce qui représente une vraie amélioration par rapport à la configuration hôte-et-joue avec laquelle la plupart des groupes commencent. Le serveur de Valheim est gratuit, ne nécessite pas une seconde copie du jeu, et fait vraiment partie des plus simples à mettre en route.
Nous couvrons ici la configuration vanilla. Si vous souhaitez ajouter des mods par-dessus, notre guide de mods Valheim couvre la partie serveur de BepInEx ainsi que le client.
Requirements
- Une machine tournant sous Windows 10 ou plus récent, ou une distribution Linux moderne. Voir la section macOS pour comprendre pourquoi les Mac sont un cas particulier.
- Au moins 4 Go de RAM pour un petit groupe. Les serveurs Valheim consomment de plus en plus de mémoire à mesure que le monde est exploré et construit, donc 8 Go est une cible plus sûre pour un groupe de dix joueurs.
- Environ 2 à 3 Go d'espace disque pour les fichiers du serveur, plus de la place pour les sauvegardes du monde et les backups.
- Un compte Steam. Il n'a pas besoin de posséder Valheim, puisque le serveur dédié est un outil gratuit.
- Une aisance de base avec un terminal et l'édition d'un fichier texte.
ASTUCE - Comme pour tout serveur de jeu, exécutez-le sous un compte utilisateur séparé plutôt que sous votre utilisateur principal ou en root. Cela ne coûte rien et limite les dégâts en cas de problème.
Backend Steam Ou Backend Crossplay
Décidez cela avant de commencer, car cela détermine si vous devez toucher à votre routeur.
Le backend Steam est celui par défaut. Le serveur communique directement avec les clients, ce qui signifie que vous devez faire du port forwarding, et seuls les joueurs Steam peuvent voir ou rejoindre le serveur.
Le backend crossplay, activé avec -crossplay, achemine le trafic via un relais PlayFab. Vous n'avez pas besoin de faire de port forwarding, et des joueurs de n'importe quelle plateforme, y compris Xbox et la version Microsoft Store, peuvent rejoindre.
Le crossplay semble être le choix évident, et ça l'est souvent, notamment si vous ne pouvez pas contrôler votre routeur. Les compromis sont que le trafic passe par un relais plutôt qu'en direct, ce qui peut ajouter de la latence, et que vous ne pouvez pas vous connecter à un serveur crossplay via une IP locale ou loopback. Vous vous connectez par IP publique et port, par code d'invitation, ou via la liste des serveurs.
NOTE - Si vous utilisez des mods, gardez à l'esprit que les clients Xbox et Microsoft Store ne peuvent pas charger BepInEx. Activer le crossplay sur un serveur moddé permet à ces joueurs de le trouver, mais pas nécessairement d'y jouer.
Téléchargement Des Fichiers Du Serveur
Le serveur dédié Valheim est l'app Steam 896660, et il est gratuit.
Via Le Client Steam
La méthode la plus simple si la machine dispose de Steam avec un bureau.
- Ouvrez votre Bibliothèque Steam.
- Cliquez sur le menu déroulant en haut à gauche et assurez-vous que la case Outils est cochée.
- Trouvez Valheim Dedicated Server dans la liste et cliquez sur Installer.
- Une fois terminé, faites un clic droit dessus et choisissez Gérer, puis Parcourir les fichiers locaux pour ouvrir le dossier d'installation.
Via SteamCMD
La bonne approche pour une machine headless, et celle à utiliser sur un serveur Linux.
Nous avons un guide séparé consacré à SteamCMD lui-même :
https://moddingcommunity.com/blog/how-to-download-run-steamcmd/
Une fois SteamCMD installé, les commandes sont :
login anonymous
force_install_dir /path/to/valheim-server
app_update 896660 validate
quit
Ou en une seule ligne à insérer dans un script ou une tâche cron :
./steamcmd.sh +login anonymous +force_install_dir /home/valheim/server +app_update 896660 validate +quit
La connexion anonyme fonctionne ici, donc aucun identifiant n'est nécessaire. Relancez la même commande à chaque fois que vous voulez mettre à jour le serveur, ce que vous devrez faire après chaque patch de Valheim, puisque les clients refusent de se connecter à un serveur sur une version plus ancienne.
Prérequis Linux
Le serveur Linux partage la plupart de ses dépendances de bibliothèques avec le client Steam, plus quelques extras.
Debian et Ubuntu
sudo apt update
sudo apt install -y libatomic1 libpulse-dev libpulse0 screen
Fedora, RHEL et Rocky
sudo dnf install -y libatomic pulseaudio-libs pulseaudio-libs-devel screen
Le serveur a également besoin de GLIBC 2.29 et GLIBCXX 3.4.26 ou plus récent. Toute distribution actuelle les possède. Si vous êtes sur quelque chose de plus ancien, comme CentOS 7, la solution recommandée est Docker plutôt que d'essayer de mettre à jour glibc manuellement.
Arguments De Lancement
Toute la configuration du serveur se fait via des arguments de lancement plutôt qu'un fichier de configuration. Voici ceux qui comptent.
| Argument | Défaut | Description |
|---|---|---|
-name "My server" |
N/A | Le nom du serveur affiché dans la liste des serveurs. |
-port 2456 |
2456 |
Le port UDP. Valheim utilise ce port et celui juste au-dessus, donc 2456 signifie 2456 et 2457. |
-world "Dedicated" |
N/A | Le monde à charger. Le crée s'il n'existe pas, ou charge un monde existant portant ce nom. |
-password "Secret" |
N/A | Le mot de passe de connexion. |
-public 1 |
1 |
1 liste le serveur publiquement. 0 le cache, les joueurs se connectent alors par IP. Pratique pour le LAN. |
-crossplay |
désactivé | Utilise le backend crossplay PlayFab au lieu de Steam. Aucune redirection de port nécessaire. |
-savedir [PATH] |
voir ci-dessous | Change l'emplacement où sont stockés les mondes et les fichiers de permissions. |
-logFile "/path/log.txt" |
N/A | Où écrire le journal. |
-saveinterval 1800 |
1800 |
Fréquence de sauvegarde du monde, en secondes. Par défaut, 30 minutes. |
-backups 4 |
4 |
Nombre de backups automatiques à conserver. |
-backupshort 7200 |
7200 |
Intervalle avant le premier backup automatique, en secondes. |
-backuplong 43200 |
43200 |
Intervalle entre les backups suivants, en secondes. |
-instanceid "1" |
N/A | Nécessaire seulement lorsque plusieurs serveurs tournent sur le même port depuis la même adresse MAC, afin que chacun obtienne un identifiant PlayFab unique. |
Chemins de sauvegarde par défaut, si vous ne les redéfinissez pas :
- Windows :
%USERPROFILE%\AppData\LocalLow\IronGate\Valheim - Linux :
~/.config/unity3d/IronGate/Valheim
ATTENTION - Votre mot de passe ne peut pas être vide et ne peut pas être une sous-chaîne du nom du serveur ou du nom du monde. Le serveur refuse de démarrer si c'est le cas, et le message d'erreur est facile à manquer dans le journal.
Modificateurs De Monde
Vous pouvez aussi définir la difficulté et les règles du monde en ligne de commande, ce qui est pratique pour un serveur puisque personne n'a besoin de se mettre d'accord sur les curseurs en jeu.
-preset définit tout d'un coup. Les valeurs valides sont Normal, Casual, Easy, Hard, Hardcore, Immersive et Hammer.
-modifier <name> <value> définit un paramètre à la fois, et doit venir après un preset si vous utilisez les deux, car un preset écrase tout ce qui précède :
| Modificateur | Valeurs |
|---|---|
combat |
veryeasy, easy, hard, veryhard |
deathpenalty |
casual, veryeasy, easy, hard, hardcore |
resources |
muchless, less, more, muchmore, most |
raids |
none, muchless, less, more, muchmore |
portals |
casual, hard, veryhard |
-setkey <name> active/désactive une clé de case à cocher : nobuildcost, playerevents, passivemobs ou nomap.
Par exemple, un serveur sans raids et avec des ressources généreuses :
-preset normal -modifier raids none -modifier resources more
Démarrer Le Serveur Sous Windows
Le serveur est fourni avec start_headless_server.bat dans son dossier d'installation.
Faites-en une copie et modifiez la copie. Steam réinitialise l'original à chaque mise à jour du serveur, ce qui effacera vos paramètres. Le seul inconvénient est que le raccourci de la bibliothèque Steam pointe uniquement vers le nom de fichier original, donc vous devez lancer votre copie directement plutôt que via Steam.
- Ouvrez le dossier d'installation du serveur.
- Copiez
start_headless_server.batvers quelque chose commestart_myserver.bat. - Faites un clic droit sur votre copie et choisissez Modifier.
- Trouvez la ligne commençant par
start valheim_serveret définissez vos arguments dessus.
Une ligne terminée ressemble à ceci :
start valheim_server -nographics -batchmode -name "My Valheim Server" -port 2456 -world "Dedicated" -password "secret123" -public 1 -crossplay
- Enregistrez, puis double-cliquez sur le fichier batch.
- Si le pare-feu Windows vous le demande, cochez toutes les cases pour que le serveur puisse communiquer avec internet.
Vous êtes opérationnel lorsque la console affiche :
Game server connected
Démarrer Le Serveur Sous Linux
L'équivalent Linux est start_server.sh. Faites-en d'abord une copie, pour la même raison que sous Windows.
cd /home/valheim/server
cp start_server.sh start_myserver.sh
chmod u+x start_myserver.sh
nano start_myserver.sh
Définissez vos arguments sur la ligne ./valheim_server.x86_64 :
#!/bin/bash
export templdpath=$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export SteamAppId=892970
./valheim_server.x86_64 \
-nographics \
-batchmode \
-name "My Valheim Server" \
-port 2456 \
-world "Dedicated" \
-password "secret123" \
-public 1 \
-crossplay
export LD_LIBRARY_PATH=$templdpath
Notez la ligne SteamAppId=892970, qui est l'ID d'application du jeu et non celui du serveur. Elle est déjà présente dans le script d'origine et doit y rester.
Exécutez-le avec :
./start_myserver.sh
Lancer Le Serveur Avec Screen
Lancer le serveur au premier plan d'une session SSH le fait mourir dès que vous vous déconnectez. screen corrige ce problème.
screen -S valheim ./start_myserver.sh
Détachez-vous avec CTRL + A puis D. Rattachez-vous avec :
screen -r valheim
Listez vos sessions avec screen -ls.
Lancer Le Serveur En Tant Que Service systemd
Pour tout ce qui compte réellement, une unité systemd vaut mieux qu'une session screen. Elle démarre au boot et redémarre en cas de plantage.
Créez /etc/systemd/system/valheim.service :
[Unit]
Description=Valheim Dedicated Server
After=network.target
[Service]
Type=simple
User=valheim
WorkingDirectory=/home/valheim/server
ExecStart=/home/valheim/server/start_myserver.sh
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
TimeoutStopSec=120
[Install]
WantedBy=multi-user.target
Puis activez-le et démarrez-le :
sudo systemctl daemon-reload
sudo systemctl enable --now valheim
KillSignal=SIGINT est important. Valheim a besoin de l'équivalent de CTRL + C pour s'arrêter proprement et sauvegarder le monde, et TimeoutStopSec=120 lui laisse le temps de terminer. Se tromper sur ce point est un bon moyen de perdre de la progression.
Vérifiez son état avec systemctl status valheim et suivez le journal avec journalctl -u valheim -f.
Exécution Via Docker
Le serveur dédié nécessite GLIBC 2.29 et GLIBCXX 3.4.26. Si votre distribution est plus ancienne, Docker est la voie officiellement recommandée, et le serveur fournit un script pour cela.
- Installez Docker en suivant les instructions pour votre distribution.
- Assurez-vous que le daemon fonctionne et que votre utilisateur fait partie du groupe
docker. Cela devrait fonctionner sans erreur :
docker ps
- Exécutez le script fourni, en lui passant votre script de démarrage :
./docker_start_server.sh start_myserver.sh
Le premier lancement initialise le conteneur et prend quelques minutes. Les lancements suivants démarrent immédiatement.
Les données du jeu sont stockées dans un volume Docker nommé dans DOCKER_DATA_VOLUME à l'intérieur de docker_start_server.sh, avec valheim_server_data par défaut. Pour conserver les données sur votre système de fichiers à la place, remplacez-le par un chemin :
DOCKER_DATA_VOLUME="${HOME}/valheim_storage"
Créez ce répertoire avant de lancer le script. Vos mondes, adminlist.txt, bannedlist.txt et permittedlist.txt s'y retrouvent tous. Arrêtez le serveur de la même façon que lorsqu'il est lancé directement.
macOS
Valheim dispose d'un client macOS natif, mais il n'existe aucune version macOS du serveur dédié. Steam ne le propose que pour Windows et Linux.
Si vous souhaitez héberger un serveur depuis un Mac, les options réalistes sont :
- Faire tourner Linux dans une VM et suivre les instructions Linux ci-dessus.
- Utiliser Docker Desktop pour Mac avec une image communautaire du serveur Valheim.
- Héberger le serveur sur une machine Linux ou un VPS loué, et simplement jouer depuis le Mac.
Les joueurs Mac peuvent bien sûr rejoindre un serveur hébergé n'importe où, et le modding du client Mac fonctionne avec la solution de contournement Rosetta abordée dans notre guide de mods.
Redirection De Ports
Ignorez complètement cette section si vous utilisez -crossplay.
Sur le backend Steam, redirigez ceci sur votre routeur vers la machine faisant tourner le serveur :
| Protocole | Port | But |
|---|---|---|
| UDP | 2456 | Port de jeu |
| UDP | 2457 | Port de jeu + 1, utilisé automatiquement |
Si vous avez changé -port, redirigez le port choisi ainsi que celui juste au-dessus.
Vous devrez peut-être aussi les autoriser dans le pare-feu du système :
# Debian/Ubuntu with ufw
sudo ufw allow 2456:2457/udp
# Fedora/RHEL with firewalld
sudo firewall-cmd --permanent --add-port=2456-2457/udp
sudo firewall-cmd --reload
Sous Windows, cocher toutes les cases dans l'invite du pare-feu au premier lancement suffit.
ASTUCE - Faire tourner plusieurs serveurs sur une même machine fonctionne très bien tant que chacun dispose de sa propre paire de ports. Utilisez 2456/2457, 2458/2459, et ainsi de suite, et donnez à chacun un -instanceid.
Admins, Bannissements Et La Permitted List
Trois fichiers texte dans le dossier de sauvegarde contrôlent l'accès, un identifiant de plateforme par ligne :
adminlist.txt- qui obtient les privilèges d'administrateur.bannedlist.txt- qui est banni.permittedlist.txt- une liste d'autorisation.
ATTENTION - Ajouter quelqu'un dans permittedlist.txt bannit automatiquement tous ceux qui n'y figurent pas. C'est le comportement voulu, et il surprend souvent. Laissez-le vide sauf si vous voulez expressément un serveur fermé.
Les identifiants de plateforme (Platform User ID) ressemblent à [Platform]_[User ID] et sont sensibles à la casse. Vous pouvez les lire dans le journal du serveur, ou en jeu depuis le panneau F2.
En jeu, les administrateurs ouvrent la console avec F5 et disposent de :
| Commande | Effet |
|---|---|
kick PLAYERNAME |
Expulse un joueur. |
ban PLAYERNAME |
Bannit un joueur. |
unban PLAYERNAME |
Lève un bannissement. |
banned |
Liste tous les joueurs bannis. |
Sauvegardes Et Backups
Le serveur sauvegarde le monde toutes les -saveinterval secondes, 30 minutes par défaut, et conserve -backups backups automatiques.
Par défaut, cela vous donne une sauvegarde vieille d'environ deux heures et trois autres espacées de douze heures. Pour un serveur actif, c'est assez léger, et voici un meilleur point de départ :
-saveinterval 900 -backups 8 -backupshort 3600 -backuplong 21600
Cela sauvegarde toutes les 15 minutes et conserve huit sauvegardes, la première vieille d'une heure et les autres espacées de six heures.
Les sauvegardes automatiques se trouvent à côté de vos fichiers de monde dans le répertoire de sauvegarde. Elles sont sur le même disque que ce qu'elles sauvegardent, donc copiez-les ailleurs régulièrement si le monde vous tient à cœur. Une tâche cron avec rsync suffit largement.
Arrêter Le Serveur Correctement
Appuyez sur CTRL + C dans la console du serveur.
Ne fermez pas la fenêtre avec la croix. La documentation officielle d'Iron Gate est étonnamment honnête sur ce point : le serveur peut continuer à tourner en arrière-plan et ils ne savent pas vraiment. Dans tous les cas, vous risquez de perdre tout ce qui s'est passé depuis la dernière sauvegarde.
Sous systemd, systemctl stop valheim envoie SIGINT si vous avez défini KillSignal=SIGINT comme ci-dessus, ce qui revient au même.
Dépannage
Le serveur démarre puis s'arrête immédiatement. Neuf fois sur dix, c'est la règle du mot de passe. Il ne peut pas être vide, et il ne peut pas apparaître dans le nom du serveur ou le nom du monde.
Personne ne trouve le serveur dans la liste. Les listes publiques peuvent mettre plusieurs minutes à apparaître, et elles sont peu fiables dans le meilleur des cas. Faites en sorte que quelqu'un rejoigne par IP avec Join IP pour confirmer que le serveur lui-même est joignable, puis inquiétez-vous de la liste.
Les joueurs obtiennent une incompatibilité de version. Le serveur est sur une build différente de celle des clients. Relancez la mise à jour SteamCMD, ou mettez à jour via le client Steam.
Connexion refusée ou expirée sur le backend Steam. Redirection de ports. Les deux ports UDP, redirigés vers la bonne IP interne, et autorisés dans le pare-feu du système.
Le serveur crossplay est inaccessible sur mon réseau local. C'est normal. Les serveurs crossplay ne peuvent pas être atteints via une IP locale ou de bouclage. Utilisez l'IP publique, un code de connexion, ou la liste des serveurs.
Erreurs de bibliothèques manquantes sous Linux. Installez libatomic1, libpulse0 et libpulse-dev. Si les erreurs mentionnent des versions de GLIBC ou GLIBCXX, votre distribution est trop ancienne et Docker est la solution.
L'utilisation mémoire ne cesse d'augmenter. C'est normal à mesure que le monde est exploré et construit. Redémarrer le serveur selon un calendrier est une solution courante et tout à fait raisonnable.
Le monde est revenu en arrière après un crash. Vous avez perdu tout ce qui s'est passé depuis la dernière sauvegarde. Réduisez -saveinterval, et assurez-vous d'arrêter le serveur avec CTRL + C.
Conclusion
Un serveur Valheim est l'un des plus faciles à mettre en place. Récupérez l'app 896660 avec SteamCMD, copiez le script de démarrage, indiquez votre nom, port, monde et mot de passe en ligne de commande, puis lancez-le.
Les deux décisions à prendre en amont sont le crossplay par rapport au backend Steam, qui détermine si vous devez toucher à votre routeur ou non, et vos paramètres de sauvegarde, puisque les valeurs par défaut sont plus légères que ce que la plupart des groupes souhaitent.
Si vous prévoyez d'ajouter des mods plus tard, notre guide de mods Valheim couvre start_server_bepinex.sh et les mods qui doivent être installés côté serveur en plus du client.
Voir aussi
- Guide officiel du serveur dédié Valheim - la documentation d'Iron Gate elle-même, et la source de la liste d'arguments ci-dessus.
- FAQ Crossplay de Valheim
- Documentation SteamCMD
- Discord Valheim Modding
- Wiki Valheim Modding
- TMC App - Notre propre application, avec un navigateur de serveurs, des graphiques de latence en direct et le RCON. Elle gère aussi les mods Valheim, ce que couvre notre guide des mods Valheim. Open source sous licence GPL-3.0 et en tout début de développement, donc l'essayer ou nous laisser un retour est vraiment apprécié.
Nous maintenons ce guide aussi à jour que possible, mais Valheim et ses outils de serveur évoluent avec le temps. Si une instruction ne correspond plus à ce que vous observez, merci de le signaler ou d'ouvrir une pull request sur le dépôt GitHub de ce guide.
Rejoignez notre serveur Discord si vous avez des questions ou besoin d'aide sur tout ce qui concerne les serveurs ou le modding !

