Aller au contenu principal

Serveur Rust

Installation d'un serveur Rust sur VPS Game RedHeberg

Ce guide complet vous permet d'installer et configurer un serveur Rust performant sur votre VPS Game Ryzen RedHeberg.

Prérequis

info

VPS recommandés :

  • ULTRA (4vCPU/8GB) : jusqu'à 50 joueurs
  • EXTREME (4vCPU/12GB) : jusqu'à 100 joueurs
  • Anti-DDoS PRO inclus pour une protection optimale

Système d'exploitation recommandé : Ubuntu 22.04 LTS

1. Préparation du système

Mise à jour complète du système :

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl unzip lib32gcc-s1 screen htop

Création de l'utilisateur dédié :

sudo adduser --disabled-login --gecos "" rustserver
sudo usermod -a -G sudo rustserver

2. Installation de SteamCMD

Connexion en tant qu'utilisateur rustserver :

sudo su - rustserver

Téléchargement et installation de SteamCMD :

cd /home/rustserver
mkdir steamcmd && cd steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
chmod +x steamcmd.sh

Premier lancement pour initialiser SteamCMD :

./steamcmd.sh +quit

3. Installation du serveur Rust

Création des dossiers nécessaires :

cd /home/rustserver
mkdir rust-server && cd rust-server

Script de téléchargement du serveur :

cat > update_rust.sh << 'EOF'
#!/bin/bash
cd /home/rustserver/steamcmd
./steamcmd.sh +force_install_dir /home/rustserver/rust-server +login anonymous +app_update 258550 +quit
EOF

chmod +x update_rust.sh
./update_rust.sh
astuce

Le téléchargement initial fait environ 4-5 GB. Avec la connexion 10 Gbps de RedHeberg, cela prend quelques minutes seulement.

4. Configuration du serveur

Création du script de démarrage principal :

cat > /home/rustserver/start_rust.sh << 'EOF'
#!/bin/bash

# Configuration serveur
SERVER_NAME="Mon Serveur Rust RedHeberg"
SERVER_DESCRIPTION="Serveur Rust hébergé chez RedHeberg"
SERVER_URL="https://redheberg.fr"
SERVER_BANNER="https://redheberg.fr/img/logo.png"
WORLD_SIZE="3000"
MAX_PLAYERS="50"
SEED="123456"
RCON_PASSWORD="ChangeMe123!"
SERVER_PASSWORD=""

# Ports (modifiez si nécessaire)
SERVER_PORT="28015"
RCON_PORT="28016"
APP_PORT="28017"

cd /home/rustserver/rust-server

./RustDedicated \
-batchmode \
-nographics \
-server.ip YOUR_SERVER_IP \
-server.port $SERVER_PORT \
-server.maxplayers $MAX_PLAYERS \
-server.hostname "$SERVER_NAME" \
-server.description "$SERVER_DESCRIPTION" \
-server.url "$SERVER_URL" \
-server.headerimage "$SERVER_BANNER" \
-server.worldsize $WORLD_SIZE \
-server.seed $SEED \
-server.saveinterval 300 \
-rcon.ip YOUR_SERVER_IP \
-rcon.port $RCON_PORT \
-rcon.password "$RCON_PASSWORD" \
-app.port $APP_PORT \
-server.secure true \
-decay.scale 0.5 \
-server.pve false
EOF

chmod +x /home/rustserver/start_rust.sh
attention

Remplacez YOUR_SERVER_IP par l'IP de votre VPS et modifiez RCON_PASSWORD avec un mot de passe fort.

5. Configuration du firewall UFW

Retour en utilisateur root pour configurer le pare-feu :

exit  # Sortir de rustserver
sudo ufw allow 22/tcp
sudo ufw allow 28015/tcp
sudo ufw allow 28015/udp
sudo ufw allow 28016/tcp
sudo ufw allow 28017/tcp
sudo ufw --force enable

6. Service systemd

Création du service système :

sudo tee /etc/systemd/system/rust-server.service << 'EOF'
[Unit]
Description=Rust Dedicated Server
After=network.target

[Service]
Type=simple
User=rustserver
WorkingDirectory=/home/rustserver/rust-server
ExecStart=/home/rustserver/start_rust.sh
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target
EOF

Activation du service :

sudo systemctl daemon-reload
sudo systemctl enable rust-server

7. Installation d'Oxide/uMod (optionnel)

Installation du framework de plugins :

sudo su - rustserver
cd /home/rustserver/rust-server

# Téléchargement d'Oxide
wget https://github.com/OxideMod/Oxide.Rust/releases/latest/download/Oxide.Rust-linux.zip
unzip Oxide.Rust-linux.zip
rm Oxide.Rust-linux.zip

# Permissions
chmod +x RustDedicated

Configuration Oxide dans le script de démarrage (ajoutez avant ./RustDedicated) :

# Dans start_rust.sh, ajouter avant la commande ./RustDedicated :
export OXIDE_ROOT="/home/rustserver/rust-server/oxide"

8. Automatisation des wipes

Script de wipe automatique :

sudo su - rustserver
cat > /home/rustserver/wipe_server.sh << 'EOF'
#!/bin/bash

echo "Arrêt du serveur pour wipe..."
sudo systemctl stop rust-server

# Sauvegarde optionnelle
BACKUP_DIR="/home/rustserver/backups/$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"
cp -r /home/rustserver/rust-server/server /home/rustserver/rust-server/oxide "$BACKUP_DIR/" 2>/dev/null

# Suppression des données de monde
cd /home/rustserver/rust-server
rm -rf server/my_server_identity/storage/
rm -rf server/my_server_identity/cfg/
rm -f server/my_server_identity/*.sav*
rm -f server/my_server_identity/*.map

echo "Redémarrage du serveur..."
sudo systemctl start rust-server

echo "Wipe terminé !"
EOF

chmod +x /home/rustserver/wipe_server.sh

Programmation du wipe hebdomadaire :

exit  # Sortir de rustserver
sudo crontab -e

# Ajouter cette ligne pour un wipe chaque jeudi à 18h00
0 18 * * 4 /home/rustserver/wipe_server.sh >> /var/log/rust-wipe.log 2>&1

9. Gestion du serveur

Démarrer le serveur :

sudo systemctl start rust-server

Surveiller les logs en temps réel :

sudo journalctl -u rust-server -f

Vérifier le statut :

sudo systemctl status rust-server

Redémarrer le serveur :