Vintage Story Intermédiaire 15 min de lecture

Installer un serveur Vintage Story sur un VPS Linux

Tutoriel pas à pas pour installer un serveur Vintage Story 1.22 sur un VPS Ubuntu ou Debian : .NET 10, server.sh, pare-feu, démarrage auto et mises à jour.

Installer un serveur Vintage Story sur un VPS Linux

Support Technique

Besoin d'aide ? Notre équipe est disponible 24/7 pour vous assister.

Vous avez un VPS et vous voulez garder le contrôle total sur votre serveur Vintage Story ? Ce tutoriel vous guide de l’installation de .NET jusqu’au démarrage automatique, avec une organisation propre qui rend les mises à jour faciles.

📌 Pas envie de gérer Linux ?

Un hébergeur Vintage Story clé en main s'occupe de tout cela pour vous : installation, mises à jour, sauvegardes et anti-DDoS. Ce guide est pour ceux qui veulent tout maîtriser, par exemple sur un VPS HebergTonServ.

Ce que nous allons mettre en place

On sépare les fichiers du jeu et les données (monde, config, mods). Mettre à jour le serveur revient alors à remplacer un seul dossier sans toucher au monde.

DossierContenu
/home/vintagestory/serverBinaires du serveur (remplacés à chaque mise à jour)
/home/vintagestory/dataserverconfig.json, Saves, Mods, ModConfig, Logs, Backups

Étape 1 : préparer le système

Connectez-vous en SSH puis mettez le système à jour et installez les dépendances utilisées par le script officiel :

sudo apt update && sudo apt upgrade -y
sudo apt install -y procps screen wget curl ca-certificates

Créez un utilisateur dédié : ne faites jamais tourner un serveur de jeu en root.

sudo adduser --disabled-password --gecos "" vintagestory

Étape 2 : installer le runtime .NET 10

Chaque version majeure de Vintage Story cible une version précise de .NET :

Version de Vintage StoryRuntime requis
1.22 et plus.NET 10
1.21.x.NET 8
Avant 1.21.NET 7

Le plus fiable, quelle que soit votre distribution, est le script d’installation officiel de Microsoft :

wget https://dot.net/v1/dotnet-install.sh -O /tmp/dotnet-install.sh
sudo bash /tmp/dotnet-install.sh --channel 10.0 --runtime dotnet --install-dir /usr/share/dotnet
sudo ln -sf /usr/share/dotnet/dotnet /usr/bin/dotnet

Vérifiez l’installation :

dotnet --list-runtimes

Vous devez voir une ligne Microsoft.NETCore.App 10.0.x.

Étape 3 : télécharger le serveur Vintage Story

Passez sur l’utilisateur dédié et créez les dossiers :

sudo -iu vintagestory
mkdir -p ~/server ~/data
cd ~/server

Téléchargez l’archive serveur. Remplacez 1.22.7 par la version voulue (liste sur vintagestory.at ou dans l’historique des versions) :

VS_VERSION=1.22.7
wget "https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_${VS_VERSION}.tar.gz"
tar -xzf "vs_server_linux-x64_${VS_VERSION}.tar.gz"
rm "vs_server_linux-x64_${VS_VERSION}.tar.gz"

Étape 4 : configurer le script server.sh

L’archive contient un script server.sh qui gère le démarrage dans une session screen. Ouvrez-le :

nano ~/server/server.sh

Adaptez les trois variables en haut du fichier :

USERNAME=vintagestory
VSPATH=/home/vintagestory/server
DATAPATH=/home/vintagestory/data

Rendez-le exécutable et démarrez le serveur :

chmod +x ~/server/server.sh
~/server/server.sh start
~/server/server.sh status

Au premier lancement, le serveur génère serverconfig.json et un nouveau monde dans /home/vintagestory/data. Les commandes disponibles du script sont :

CommandeEffet
server.sh startDémarre le serveur en arrière-plan
server.sh stopArrête proprement le serveur (sauvegarde le monde)
server.sh restartRedémarre
server.sh statusIndique si le serveur tourne
server.sh command "/op Pseudo"Envoie une commande à la console

Étape 5 : accéder à la console

Pour voir la console en direct :

screen -r vintagestory_server

(ou sudo -u vintagestory screen -r vintagestory_server depuis un autre utilisateur)

Pour vous détacher sans arrêter le serveur : Ctrl + A puis D.

⚠️ Attention

N'utilisez pas Ctrl + C dans la console : cela coupe le serveur brutalement. Utilisez /stop ou server.sh stop.

Profitez-en pour vous donner les droits admin :

/op VotrePseudo

Étape 6 : ouvrir le pare-feu

Vintage Story utilise le port 42420 en TCP, et aussi en UDP depuis la 1.20. Avec UFW (revenez sur votre utilisateur sudo avec exit) :

sudo ufw allow OpenSSH
sudo ufw allow 42420/tcp
sudo ufw allow 42420/udp
sudo ufw enable
sudo ufw status

🚨 Ne vous enfermez pas dehors

Autorisez toujours OpenSSH avant ufw enable, sinon vous perdrez l'accès SSH à votre VPS.

Étape 7 : démarrage automatique avec systemd

Pour que le serveur redémarre tout seul après un reboot du VPS, créez un service :

sudo nano /etc/systemd/system/vintagestory.service
[Unit]
Description=Serveur Vintage Story
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
User=vintagestory
WorkingDirectory=/home/vintagestory/server
ExecStart=/home/vintagestory/server/server.sh start
ExecStop=/home/vintagestory/server/server.sh stop
TimeoutStopSec=120

[Install]
WantedBy=multi-user.target

Activez-le (arrêtez d’abord l’instance lancée à la main avec server.sh stop) :

sudo systemctl daemon-reload
sudo systemctl enable --now vintagestory
sudo systemctl status vintagestory

Étape 8 : mettre à jour le serveur

Grâce à la séparation serveur/données, une mise à jour prend deux minutes :

sudo systemctl stop vintagestory
sudo -iu vintagestory

# 1. Sauvegarde de sécurité des données
tar -czf ~/backup-avant-maj-$(date +%F).tar.gz -C ~ data

# 2. Remplacement des binaires (on garde server.sh configuré)
cp ~/server/server.sh ~/server.sh.bak
rm -rf ~/server/*
cd ~/server
VS_VERSION=1.22.7
wget "https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_${VS_VERSION}.tar.gz"
tar -xzf "vs_server_linux-x64_${VS_VERSION}.tar.gz" && rm "vs_server_linux-x64_${VS_VERSION}.tar.gz"
cp ~/server.sh.bak ~/server/server.sh && chmod +x ~/server/server.sh
exit

sudo systemctl start vintagestory

💡 Vérifiez vos mods avant une mise à jour majeure

Lors d'un passage 1.21 → 1.22, beaucoup de mods doivent être mis à jour. Vérifiez leur compatibilité sur le ModDB avant de migrer, et changez de runtime .NET si besoin.

Dépannage

You must install or update .NET to run this application Le runtime installé ne correspond pas à la version du serveur. Vérifiez avec dotnet --list-runtimes et installez le bon canal (--channel 10.0 pour la 1.22).

Le serveur démarre mais personne ne peut se connecter

  • Vérifiez sudo ufw status (TCP et UDP 42420)
  • Certains fournisseurs ont un pare-feu réseau supplémentaire dans leur interface
  • Testez depuis l’extérieur : nc -zv IP_DU_VPS 42420

Le serveur s’arrête tout seul Consultez les logs dans /home/vintagestory/data/Logs/. Les causes fréquentes : un mod incompatible, un manque de RAM, ou un disque presque plein (le serveur s’arrête volontairement sous 400 Mo libres, clé DieBelowDiskSpaceMb).

Et ensuite ?

Questions fréquentes

Quelle version de .NET faut-il pour un serveur Vintage Story ?

.NET 10 pour la 1.22 et plus, .NET 8 pour la 1.21, .NET 7 avant. Seul le runtime est nécessaire, pas le SDK.

Comment accéder à la console sous Linux ?

sudo -u vintagestory screen -r vintagestory_server, puis Ctrl + A puis D pour se détacher sans arrêter le serveur.

Comment mettre à jour un serveur Vintage Story sous Linux ?

Arrêtez le serveur, sauvegardez le dossier de données, remplacez le dossier serveur par la nouvelle archive vs_server_linux-x64, puis relancez. Le monde et la configuration sont conservés.


Vous préférez jouer plutôt qu’administrer ? Nos serveurs de jeux sont prêts en quelques minutes, sans une ligne de commande.

É

Équipe HebergTonServ

Administrateurs serveurs de jeux