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
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
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
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 :