doganddev
Accueil Blog Boutique

Serveur Rust sur Linux

DOG&DEV · 25/01/2025

Gaming Matériel Serveur Linux
Serveur Rust sur Linux

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 validate puis 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.

Commentaires (0)

Laisser un commentaire