Serveur Rust sur Linux
DOG&DEV · 25/01/2025
Serveur Rust sur Linux
Ce guide décrit l’installation d’un serveur Rust sur un VPS Linux (Debian/Ubuntu) : SteamCMD, script start_rust.sh (ou équivalent), server.cfg, RCON, Oxide/uMod, pare-feu (UFW) et systemd. Pour un token Steam (GSLT) si nécessaire : gslt-token. Pour la sécurisation du VPS : how-to-secure-vps.
Prérequis
- Ubuntu 20.04/22.04 ou Debian 11/12 — 64 bits
- 8–16 Go RAM, 25–40 Go disque
- Accès root ou sudo
- SteamCMD installé
1. Dépendances et SteamCMD
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 steamcmd
Ou installer SteamCMD manuellement depuis Valve Developer Wiki.
2. Télécharger Rust (app 258550)
mkdir -p ~/steamcmd && cd ~/steamcmd
./steamcmd.sh +force_install_dir /opt/rust +login anonymous +app_update 258550 validate +quit
(Adapter /opt/rust et le chemin si besoin.)
3. Script de démarrage (start_rust.sh)
Créer /opt/rust/start_rust.sh (ou équivalent) :
#!/bin/bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/RustDedicated_Data/Plugins/x86_64
./RustDedicated -batchmode -nographics \
-server.ip 0.0.0.0 \
-server.port 28015 \
-server.maxplayers 50 \
-server.hostname "Mon serveur Rust" \
-server.identity "server1" \
-server.worldsize 3000 \
-server.seed 12345 \
-rcon.ip 0.0.0.0 \
-rcon.port 28016 \
-rcon.password "MotDePasseRCON"
- server.identity : nom du « dossier » de sauvegarde (monde, blueprints). Changer = nouveau monde.
- server.worldsize, server.seed : taille et graine de la map.
- rcon.port, rcon.password : RCON pour administration à distance.
Rendre exécutable : chmod +x /opt/rust/start_rust.sh.
4. Première exécution et éventuelles libs
Lancer une première fois :
cd /opt/rust && ./start_rust.sh
Si erreurs de libs (ex. libidn) :
sudo apt install libidn2-0 libidn2-0-dev
(Rust peut exiger d’autres paquets ; installer selon les messages d’erreur.)
5. Fichiers de config (server.cfg, users, bans)
- server.cfg : souvent dans le dossier de server.identity (ex. server/server1/) ou à la racine. Les convars peuvent aussi être passées en ligne de commande.
- users.cfg, bans.cfg : dans le même dossier. RCON ou la console serveur pour kick, ban, ownerid, etc.
6. Oxide / uMod
- Télécharger Oxide (ou uMod) pour Rust depuis umod.org.
- Extraire dans le dossier du serveur (souvent RustDedicated_Data ou à la racine selon les instructions).
- Au prochain démarrage, Oxide crée oxide/, oxide/plugins/, etc.
- Placer les .cs ou .json de plugins dans oxide/plugins/.
7. Pare-feu (UFW)
sudo ufw allow 28015/udp
sudo ufw allow 28015/tcp
sudo ufw allow 28016/tcp # RCON
sudo ufw allow 22/tcp
sudo ufw enable
(Ouvrir aussi ces ports dans le pare-feu de l’hébergeur si applicable.)
8. Systemd (démarrage automatique)
Fichier /etc/systemd/system/rust-server.service :
[Unit]
Description=Rust Dedicated Server
After=network.target
[Service]
Type=simple
User=rust
WorkingDirectory=/opt/rust
ExecStart=/opt/rust/start_rust.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
Créer l’utilisateur rust si besoin, adapter WorkingDirectory et ExecStart. Puis :
sudo systemctl daemon-reload
sudo systemctl enable rust-server
sudo systemctl start rust-server
9. Mises à jour, sauvegardes, wipes
- Mise à jour : relancer SteamCMD
+app_update 258550 validatepuis redémarrer le serveur. Script ou cron possible. - Sauvegardes : dossiers server/server1/ (ou l’identity utilisée), oxide/. Sauvegardes planifiées (tar, rsync) recommandées.
- Wipes :
- map : supprimer les fichiers de monde dans l’identity, garder blueprints.
- full : supprimer l’identity (monde + blueprints).
- Prévenir les joueurs et planifier une fenêtre de maintenance.
Dépannage
| Symptôme | Cause possible | Correctif |
|---|---|---|
| Serveur ne démarre pas | Libs manquantes, mauvais chemin | Vérifier les erreurs en console ; apt install les libs ; chemins dans start_rust.sh |
| Joueurs ne voient pas le serveur | Ports 28015 fermés (UFW, hébergeur) | ufw allow 28015/udp 28015/tcp ; ouvrir côté hébergeur |
| RCON inaccessible | 28016 fermé, mauvais mot de passe | ufw allow 28016/tcp ; vérifier -rcon.password |
| Lag, crash | RAM, worldsize, plugins | Réduire worldsize ; désactiver des plugins ; allouer plus de RAM (pas de -Xmx pour Rust, le binaire gère) |
Bonnes pratiques
- GSLT : si requis pour le listage Steam, gslt-token.
- Sécurisation : how-to-secure-vps.
- Surveillance : logs, RCON, alertes (disque, RAM).
Ressources
Cet article s’inscrit dans notre série de guides hébergement et gaming. Pour un serveur sur-mesure, contact.