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.
| Dossier | Contenu |
|---|---|
/home/vintagestory/server | Binaires du serveur (remplacés à chaque mise à jour) |
/home/vintagestory/data | serverconfig.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 Story | Runtime 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 :
| Commande | Effet |
|---|---|
server.sh start | Démarre le serveur en arrière-plan |
server.sh stop | Arrête proprement le serveur (sauvegarde le monde) |
server.sh restart | Redémarre |
server.sh status | Indique 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 ?
- ⚙️ Configurer serverconfig.json
- 🧩 Installer des mods
- 💾 Automatiser les sauvegardes
- 🚀 Optimiser les performances
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