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
- 5 Go de disque libre (le serveur pèse 2 Go)
- 6 Go de RAM (le serveur en occupe 2,8 Go sans joueur, davantage avec)
V Rising 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, et un écran virtuel (le serveur en exige un) : un utilisateur dédié, SteamCMD, le serveur (2 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, mot de passe, joueurs), 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).
apt update && apt upgrade -y... 212 upgraded, 8 newly installed, 0 to remove and 4 not upgraded. (les nombres dépendent de l'âge de l'image)
dnf upgrade -y... Complete!
dnf upgrade -y... Complete!
zypper -n refresh && zypper -n updateAll repositories have been refreshed. ...
dpkg --add-architecture i386 && apt update && apt install -y lib32gcc-s1 lib32stdc++6 curldnf install -y glibc.i686 libstdc++.i686dnf install -y glibc.i686 libstdc++.i686zypper -n install glibc-32bit libstdc++6-32bitopenSUSE 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).
sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="ia32_emulation=1 /' /etc/default/grub && grub2-mkconfig -o /boot/grub2/grub.cfg && rebootgrep -o ia32_emulation=1 /proc/cmdlineia32_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 ». Le serveur, lui, exige un écran X même sans rien afficher : sans écran il s'arrête sur « Failed to create batch mode window ». Xvfb est cet écran virtuel.
apt install -y libvulkan1 xvfbdnf install -y vulkan-loader xorg-x11-server-Xvfbdnf install -y vulkan-loader xorg-x11-server-Xvfbzypper -n install libvulkan1 xorg-x11-server-Xvfb2Créer un utilisateur dédié et installer SteamCMD
Le serveur ne tourne jamais en root : un utilisateur vrising, dont le dossier personnel est /opt/vrising, 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.
mkdir -p /opt/vrising/server /opt/vrising/steamcmd && useradd -r -s /bin/bash -d /opt/vrising vrising && chown -R vrising:vrising /opt/vrisingsu - vrising -c "cd /opt/vrising/steamcmd && curl -fsSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar zxf - && ls"linux32 steamcmd.sh
3Télécharger le serveur V Rising (2 Go)
SteamCMD pour Linux sait télécharger une application Windows : l'option @sSteamCmdForcePlatformType windows le lui demande. L'application 1829350 est le serveur dédié V Rising, 2 Go.
su - vrising -c "/opt/vrising/steamcmd/steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir /opt/vrising/server +login anonymous +app_update 1829350 validate +quit"... Success! App '1829350' fully installed.
ls /opt/vrising/server/VRisingServer.exe && du -sh /opt/vrising/server && cat /opt/vrising/server/VERSION/opt/vrising/server/VRisingServer.exe 1.9G /opt/vrising/server VRisingServer: v1.1.15.0-r101082-b2 (202609071358)
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 meurt au démarrage sur « Assertion failed: !status, file ../src-lsteamclient/steamclient_main.c ». SteamCMD a téléchargé cette bibliothèque à son premier lancement (linux64/steamclient.so) : un lien suffit.
su - vrising -c "mkdir -p /opt/vrising/.steam/sdk64 && ln -sf /opt/vrising/steamcmd/linux64/steamclient.so /opt/vrising/.steam/sdk64/steamclient.so && ls -l /opt/vrising/.steam/sdk64/"total 0 lrwxrwxrwx 1 vrising vrising 44 Sep 22 02:56 steamclient.so -> /opt/vrising/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.
su - vrising -c "mkdir -p /opt/vrising/proton && cd /opt/vrising/proton && curl -fsSL https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton10-34/GE-Proton10-34.tar.gz | tar xzf - && ls"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/vrising comme contenant des bibliothèques de ce type.
dnf install -y policycoreutils-python-utils && semanage fcontext -a -t textrel_shlib_t '/opt/vrising(/.*)?' && restorecon -R /opt/vrising6Créer le script de démarrage et le service
Le script lance l'écran virtuel Xvfb, puis le serveur dessus avec Proton ; -persistentDataPath met les réglages, les sauvegardes et le journal dans /opt/vrising/data. À l'arrêt du service, le script envoie au serveur le signal Ctrl+C, qui le fait sauvegarder et quitter, puis ferme l'écran. Le premier démarrage charge le monde : comptez deux minutes avant « Startup Completed ».
mkdir -p /opt/vrising/steam /opt/vrising/prefix /opt/vrising/data
cat > /opt/vrising/start.sh << 'EOF'
#!/bin/sh
# Le serveur exige un ecran X, meme sans rien afficher : Xvfb ; a l'arret, le serveur quitte d'abord (Ctrl+C), l'ecran ensuite
export STEAM_COMPAT_CLIENT_INSTALL_PATH=/opt/vrising/steam
export STEAM_COMPAT_DATA_PATH=/opt/vrising/prefix
cd /opt/vrising/server
Xvfb :99 -screen 0 1024x768x24 -nolisten tcp &
XPID=$!
DISPLAY=:99 /opt/vrising/proton/GE-Proton10-34/proton run ./VRisingServer.exe -persistentDataPath /opt/vrising/data -saveName world1 -logFile /opt/vrising/data/VRisingServer.log &
PID=$!
trap 'pkill -INT -x VRisingServer.e; wait $PID; kill $XPID; exit 0' TERM
wait $PID
kill $XPID
EOF
chmod +x /opt/vrising/start.sh && chown -R vrising:vrising /opt/vrisingcat > /etc/systemd/system/vrising.service << 'EOF'
[Unit]
Description=Serveur V Rising
After=network.target
[Service]
User=vrising
Group=vrising
WorkingDirectory=/opt/vrising
ExecStart=/opt/vrising/start.sh
KillMode=mixed
TimeoutStopSec=120
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
EOFsystemctl daemon-reload && systemctl enable --now vrisingCreated symlink /etc/systemd/system/multi-user.target.wants/vrising.service → /etc/systemd/system/vrising.service.
systemctl is-active vrising && grep -h 'Boot Time\|connected to Steam successfully\|Startup Completed' /opt/vrising/data/VRisingServer.log && ss -lunp | grep 987 | awk '{print $4}'active Bootstrap - Boot Time: 2026-09-22 02:56:26 UTC, Version: VRisingServer v1.1.15.0-r101082-b2 (202609071358) (Build) (Release) (m) PlatformSystemBase - Server connected to Steam successfully! [Server] Startup Completed - Disabling Scene Loading Systems 0.0.0.0:9876 0.0.0.0:9877
7Régler le serveur : nom, mot de passe, joueurs, liste publique
Le serveur lit ses réglages par-dessus les valeurs par défaut dans /opt/vrising/data/Settings/ServerHostSettings.json : le fichier ne contient que ce que vous changez. Le premier démarrage a créé ce dossier Settings avec adminlist.txt (les administrateurs) et banlist.txt. Sans ListOnSteam et ListOnEOS à true, le serveur reste absent des listes du jeu.
cat > /opt/vrising/data/Settings/ServerHostSettings.json << 'EOF'
{
"Name": "Mon serveur V Rising",
"Description": "Serveur installe avec le guide Caramania",
"Password": "ChangezMoi",
"MaxConnectedUsers": 20,
"ListOnSteam": true,
"ListOnEOS": true
}
EOF
chown vrising:vrising /opt/vrising/data/Settings/ServerHostSettings.json && systemctl restart vrisinggrep -h '"Name"\|"Password"\|"MaxConnectedUsers"\|"ListOnEOS"' /opt/vrising/data/VRisingServer.log | head -n 4"Name": "Mon serveur V Rising", "MaxConnectedUsers": 20, "Password": "ChangezMoi", "ListOnEOS": true,
Name, Description- Le nom et la description dans la liste des serveurs
Password- Le mot de passe demandé aux joueurs (vide = serveur ouvert)
MaxConnectedUsers- Le nombre de joueurs (40 par défaut)
ListOnSteam, ListOnEOS- true pour apparaître dans les listes du jeu (le jeu cherche d'abord sur EOS)
Port, QueryPort- Les ports UDP du jeu (9876) et de la liste Steam (9877)
AutoSaveInterval, AutoSaveCount- Sauvegarde automatique toutes les 120 secondes, 20 conservées
GameSettingsPreset- Un préréglage de jeu ; les règles fines vont dans ServerGameSettings.json, à côté
Pour administrer en jeu, ajoutez votre identifiant Steam (SteamID64) dans /opt/vrising/data/Settings/adminlist.txt, un par ligne, sans redémarrer ; puis dans le jeu, activez la console dans les options, ouvrez-la avec la touche ~ et tapez adminauth.
echo 76561198000000000 >> /opt/vrising/data/Settings/adminlist.txt && cat /opt/vrising/data/Settings/adminlist.txt76561198000000000
8Gérer et sauvegarder le serveur
Le monde vit dans /opt/vrising/data/Saves/v4/world1 : le serveur y écrit AutoSave_N.save.gz toutes les deux minutes et à chaque arrêt du service. L'archive ci-dessous garde une copie datée des sauvegardes et des réglages.
systemctl status vrisingjournalctl -u vrising -fsystemctl restart vrisingsystemctl stop vrisingtail -f /opt/vrising/data/VRisingServer.logsystemctl stop vrising && tar -czf /opt/vrising/vrising-$(date +%F).tar.gz -C /opt/vrising/data Saves Settings && systemctl start vrising && ls -la /opt/vrising/*.tar.gz-rw-r--r-- 1 root root 20548411 Sep 22 03:01 /opt/vrising/vrising-2026-09-22.tar.gz
9Ouvrir les ports dans le pare-feu
Le jeu passe en UDP sur le port 9876, la liste des serveurs Steam interroge le port 9877. La commande active le pare-feu du système en gardant SSH autorisé, puis ouvre les ports.
apt install -y ufw && ufw allow 22/tcp && ufw allow 9876:9877/udp && ufw --force enable... Firewall is active and enabled on system startup
dnf install -y firewalld && systemctl enable --now firewalld && firewall-cmd --permanent --add-port=9876-9877/udp && firewall-cmd --reload... success success
dnf install -y firewalld && systemctl enable --now firewalld && firewall-cmd --permanent --add-port=9876-9877/udp && firewall-cmd --reload... success success
firewall-cmd --permanent --add-port=9876-9877/udp && firewall-cmd --reloadsuccess success
ufw statusStatus: active 22/tcp ALLOW Anywhere 9876:9877/udp ALLOW Anywhere
firewall-cmd --list-ports9876-9877/udp
firewall-cmd --list-ports9876-9877/udp
firewall-cmd --list-ports9876-9877/udp
10Se connecter au serveur
- Lancez V Rising et ouvrez la liste des serveurs : elle affiche le nom donné dans ServerHostSettings.json (Mon serveur V Rising) ; le serveur y apparaît une fois « Startup Completed » écrit dans son journal.
- Entrez le mot de passe (ChangezMoi) si vous en avez mis un.
- Pour les commandes d'administration en jeu : console (touche ~), puis adminauth, après l'ajout de votre SteamID à adminlist.txt (étape 7).
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é. Les réglages, les sauvegardes et le journal sont dans /opt/vrising/data, hors du dossier mis à jour.
systemctl stop vrising && su - vrising -c "/opt/vrising/steamcmd/steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir /opt/vrising/server +login anonymous +app_update 1829350 validate +quit" && systemctl start vrising... Success! App '1829350' fully installed.
Erreurs fréquentes
Un raté passager côté Steam : relancez la même commande, le téléchargement reprend.
Le système n'a pas été mis à jour avant : faites la première boîte de l'étape 1, puis réessayez.
Les programmes 32 bits sont désactivés dans le noyau : appliquez la dernière boîte de l'étape 1 et redémarrez.
Plusieurs serveurs de jeux tournent sur la même machine, chacun avec son utilisateur, et SteamCMD a déjà créé dix dossiers /tmp/dumps, /tmp/dumps01... /tmp/dumps09 qui appartiennent aux autres : lancez rm -rf /tmp/dumps* en root, puis relancez la commande.
La bibliothèque Vulkan manque : dernière boîte de l'étape 1.
Le serveur n'a pas d'écran : Xvfb manque (dernière boîte de l'étape 1) ou start.sh ne le lance pas (étape 6).
Un autre écran virtuel occupe déjà le numéro 99 sur cette machine (un autre serveur de jeu, par exemple), ou son verrou est resté après un arrêt brutal. Si aucun Xvfb ne tourne (pgrep Xvfb ne répond rien), effacez /tmp/.X99-lock et /tmp/.X11-unix/X99 ; sinon remplacez :99 par :98 aux deux endroits de start.sh.
Proton ne trouve pas la bibliothèque Steam native : refaites l'étape 4 (le lien ~/.steam/sdk64/steamclient.so doit exister pour l'utilisateur vrising).
SELinux bloque Proton : faites la boîte SELinux de l'étape 5, puis systemctl restart vrising.
Messages de Proton lancé sans session graphique ni client Steam, sans effet : le serveur démarre derrière.
ListOnSteam et ListOnEOS sont à false par défaut (étape 7), ports 9876 et 9877 fermés (étape 9), ou serveur pas encore prêt : attendez « Startup Completed » dans le journal, deux minutes après le lancement.
Serveur prêt
Votre serveur V Rising démarre avec la machine, sauvegarde toutes les deux minutes et à l'arrêt, et écoute sur les ports 9876 et 9877. Donnez le nom du serveur et le mot de passe à vos joueurs.