Comment créer un serveur dédié Rust
Faites tourner votre propre serveur Rust avec la taille de carte, les jours de wipe et les règles de votre choix. Le programme serveur de Facepunch est gratuit et tourne sous Windows et Linux.
Ce qu'il vous faut
Un PC Windows ou Linux qui reste allumé pendant que les autres jouent, plus SteamCMD, l'outil gratuit en ligne de commande de Valve pour les serveurs Steam. Le serveur Rust est l'app Steam 258550, 6,1 Go en connexion anonyme : le PC serveur n'a besoin ni de Rust ni d'un compte Steam.
Chaque joueur a besoin de sa propre copie de Rust sur Steam. Côté serveur, Facepunch demande au minimum 12 Go de RAM libre et 15 Go sur le disque, idéalement un SSD ; les grandes cartes demandent plus des deux.
Pour donner une idée : sur notre PC de test, un monde de 1000 m sans joueurs s'est stabilisé à environ 2,8 Go de RAM et a mis 3 minutes 18 secondes à être prêt. Une carte de taille normale prend plus de temps et demande plus.
Pour jouer, il faut un port ouvert, UDP 28015. La liste des serveurs et l'app mobile Rust+ en utilisent deux de plus, voir Ports et pare-feu.
Vérifié avec le build du serveur Rust du 22 octobre 2026 (protocole 2635.289.1).
Installer le serveur
1. Téléchargez SteamCMD chez Valve et décompressez-le dans C:\steamcmd.
2. Ouvrez PowerShell ou l'invite de commandes et téléchargez le serveur dans C:\rust-server :
C:\steamcmd\steamcmd.exe +force_install_dir C:\rust-server +login anonymous +app_update 258550 validate +quit3. La ligne de lancement de Rust est longue, gardez-la donc dans un fichier. Enregistrez ceci sous C:\rust-server\start-server.bat et double-cliquez dessus :
cd /d "%~dp0"
RustDedicated.exe -batchmode +server.identity main +server.port 28015 +server.queryport 28017 +rcon.port 28016 +rcon.password "YOUR-ADMIN-PASSWORD" +rcon.web 1 +app.port 28082 +server.hostname "YOUR-SERVER-NAME" +server.maxplayers 60 +server.worldsize 3500 +server.seed 90817 -logfile server-log.txtLe chargement prend quelques minutes. Les joueurs peuvent rejoindre dès que la fenêtre affiche Server startup complete.
Nous avons testé ces étapes sous Ubuntu 24.04. SteamCMD de Valve a besoin de la bibliothèque GCC 32 bits (lib32gcc-s1) ; sans elle, steamcmd.sh s'arrête tout de suite.
sudo apt update
sudo apt install lib32gcc-s1 curl screen
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xz
./steamcmd.sh +force_install_dir ~/rust-server +login anonymous +app_update 258550 validate +quitLancez le serveur dans une session screen, pour qu'il continue de tourner quand vous vous déconnectez :
cd ~/rust-server
export LD_LIBRARY_PATH=~/rust-server:~/rust-server/RustDedicated_Data/Plugins/x86_64
screen -S rust ./RustDedicated -batchmode +server.identity main +server.port 28015 +server.queryport 28017 +rcon.port 28016 +rcon.password "YOUR-ADMIN-PASSWORD" +rcon.web 1 +app.port 28082 +server.hostname "YOUR-SERVER-NAME" +server.maxplayers 60 +server.worldsize 3500 +server.seed 90817 -logfile server-log.txtGardez la ligne export. Le serveur ne charge le steamclient.so de Steam depuis son propre dossier que si ce dossier est dans LD_LIBRARY_PATH. Sans elle, le nôtre a généré la carte puis s'est arrêté avec Failed to load module steamclient.so.
Ctrl+A puis D quitte la session ; screen -r rust la récupère. La console Linux n'accepte pas les commandes tapées, utilisez donc RCON pour l'administration (voir Admin).
Facepunch ne publie pas d'image Docker. Notre test a exécuté les étapes Linux ci-dessus en root dans un conteneur ubuntu:24.04 de base, ligne export comprise.
La ligne de lancement
Chaque paire +name et valeur de la ligne de lancement définit une variable de console (convar) avant le chargement du monde. Si vous en omettez une, le serveur prend sa valeur par défaut :
| Option | Par défaut | Effet |
|---|---|---|
-batchmode | Lance le serveur sans affichage graphique. Mettez-le toujours. | |
+server.identity | my_server_identity | Nom du dossier sous server/ qui contient la sauvegarde et les réglages de ce serveur. Une deuxième identity donne un deuxième serveur, séparé, à partir de la même installation. |
+server.port | 28015 | Port de jeu, UDP. C'est sur celui-ci que les joueurs se connectent. |
+server.queryport | 28016 | Port UDP utilisé par la liste des serveurs. Il ne doit pas être le port de jeu. |
+rcon.port | 28015 | Console à distance, TCP. |
+rcon.password | (aucun) | Mot de passe de la console à distance. Choisissez-en un long, à vous. |
+rcon.web | 1 active le RCON WebSocket, celui que Facepunch recommande et qu'utilise sa console web. | |
+app.port | 28082 | Port TCP de l'app compagnon Rust+, 10000 ou plus. |
+server.hostname | My Untitled Rust Server | Nom dans la liste des serveurs. |
+server.maxplayers | 500 | Nombre maximal de joueurs connectés en même temps. |
+server.worldsize | 4500 | Taille de la carte, de 1000 à 6000. Les grandes cartes chargent plus lentement et prennent plus de RAM. |
+server.seed | 1337 | Nombre (de 0 à 2147483647) à partir duquel la carte est générée. |
-logfile | Copie la sortie de la console dans un fichier. | |
Valeurs par défaut telles que notre serveur de test les a indiquées dans son log et via RCON. Sans +server.seed, tous les serveurs génèrent la même carte, celle du seed 1337.
Réglages du serveur
Les réglages qui doivent survivre à chaque redémarrage vont dans server.cfg, dans server\main\cfg à l'intérieur du dossier du serveur (main étant votre server.identity). Écrivez une convar par ligne, sans le +.
Le premier lancement crée le dossier cfg avec users.cfg, bans.cfg et serverauto.cfg, un fichier que le serveur écrit lui-même. server.cfg n'existe pas tant que vous ne le créez pas.
server.tags biweekly,softcore,EU
server.description "YOUR-SERVER-DESCRIPTION"
server.url "https://YOUR-WEBSITE"
server.headerimage "https://YOUR-WEBSITE/header.png"
server.pve false
decay.scale 0.5Le serveur lit server.cfg à chaque lancement. Dans notre test, une convar présente à la fois là et dans la ligne de lancement a gardé la valeur de la ligne de lancement ; les autres lignes de server.cfg ont été appliquées. Le serveur n'écrit jamais lui-même dans server.cfg.
| Convar | Par défaut | Effet |
|---|---|---|
server.description | No server description has been provided. | Texte de l'écran que les joueurs voient avant de rejoindre. |
server.url | (vide) | Lien vers un site web sur cet écran. |
server.headerimage | (vide) | Lien vers l'image de bannière sur cet écran. |
server.tags | (vide) | Tags de filtre pour la liste des serveurs, séparés par des virgules. |
server.pve | False | Mode PvE. Le passer à true ajoute aussi le tag pve. |
decay.scale | 1 | Multiplicateur de la vitesse de dégradation (decay) des constructions. |
server.saveinterval | 600 | Secondes entre deux sauvegardes automatiques. |
Les tags aident les joueurs à filtrer la liste. Choisissez au plus un tag de wipe (weekly, biweekly, monthly), un tag de style (vanilla, softcore, hardcore) et une région : NA, SA, EU, WA, EA, OC ou AF.
En plus, il y a pve, roleplay, creative, minigame, training, battlefield, broyale, builds, tut et premium. Deux tags d'un même groupe peuvent exclure le serveur des recherches filtrées.
Pour voir la valeur actuelle d'une convar, tapez juste son nom dans la console du serveur ou via RCON.
Admin
Rust connaît deux rangs : owner et moderator. Donnez-les dans la console du serveur ou via RCON, avec le SteamID64 à 17 chiffres du joueur. La commande status liste tous les joueurs connectés avec leur ID :
ownerid YOUR-STEAMID64 "YOUR-NAME"
moderatorid A-FRIENDS-STEAMID64 "A-FRIENDS-NAME"Le joueur se reconnecte ensuite. Les deux commandes écrivent le rang tout de suite dans cfg/users.cfg ; chez nous, les deux lignes y étaient avant que server.writecfg ne tourne. removeowner et removemoderator retirent un rang.
En jeu, les admins ouvrent la console avec F1 et y tapent les commandes.
| Commande | Effet |
|---|---|
status | Affiche les joueurs connectés avec leur SteamID64. |
say <text> | Envoie un message à tout le monde dans le chat. |
kick <player> <reason> | Expulse un joueur du serveur. |
ban <player> <reason> | Bannit un joueur connecté. |
banid <SteamID64> <name> <reason> | Bannit par ID, y compris les joueurs hors ligne. |
unban <SteamID64> | Lève un bannissement. |
server.save | Sauvegarde le monde immédiatement. |
server.writecfg | Écrit les admins et les bans dans le dossier cfg. |
quit | Sauvegarde et arrête le serveur. |
Pour administrer depuis un autre PC, la console web de Facepunch sur facepunch.github.io/webrcon se connecte au port RCON avec votre mot de passe RCON. Cette page est en HTTP simple.
Ports et pare-feu
Les joueurs rejoignent la partie en UDP 28015. La liste des serveurs lit les infos du serveur via le port de requête, et l'app Rust+ parle au serveur en TCP. Avec la ligne de lancement ci-dessus, cela fait trois ports : UDP 28015, UDP 28017 et TCP 28082.
Sans +server.queryport, le port de la liste des serveurs est un au-dessus du plus grand des deux, port de jeu ou port RCON. Notre serveur de test sans rcon.port répondait à la liste sur UDP 28016.
Autorisez-les dans le pare-feu Windows, dans PowerShell en administrateur :
New-NetFirewallRule -DisplayName "Rust server (UDP)" -Direction Inbound -Protocol UDP -LocalPort 28015,28017 -Action Allow
New-NetFirewallRule -DisplayName "Rust server (Rust+)" -Direction Inbound -Protocol TCP -LocalPort 28082 -Action AllowSur la box ou le routeur, redirigez les trois mêmes ports vers le PC serveur et donnez-lui une IP locale fixe. Choisissez UDP ou TCP pour chaque règle plutôt qu'un réglage « les deux ». RCON (TCP 28016) n'a pas besoin de redirection sauf si vous gérez le serveur hors de chez vous.
L'app compagnon Rust+
Rust+ associe les téléphones au serveur via app.port. Sans +app.port, notre serveur de test utilisait TCP 28082. Le port doit être de 10000 ou plus, et un changement demande un redémarrage.
Au démarrage, le serveur vérifie que Rust+ peut le joindre depuis l'extérieur. Si ce test échoue, Rust+ est désactivé ; notre serveur de test, sans port ouvert, a écrit Rust+ companion server connectivity test failed. Le serveur doit aussi pouvoir joindre companion-rust.facepunch.com.
Si Rust+ affiche la mauvaise adresse, réglez app.publicip sur YOUR-SERVER-IP. Pour désactiver Rust+, mettez +app.port 1- dans la ligne de lancement ; là, le signe moins se place après le 1.
Le fichier companion.id dans le dossier identity est l'identité Rust+ du serveur. Ne le supprimez jamais et ne le donnez pas à un autre serveur : tous les joueurs devraient refaire l'association, et un fichier supprimé ne se récupère pas.
Rejoindre le serveur
Dans le menu principal de Rust, appuyez sur F1 et tapez :
client.connect YOUR-SERVER-IP:28015Sur le même réseau que le serveur, utilisez plutôt son adresse IP locale (ipconfig l'affiche). Une fois le port de requête ouvert, le serveur apparaît aussi dans Community du navigateur de serveurs, ou dans Modded s'il utilise des plugins qui modifient le jeu.
Sauvegardes, wipes et mises à jour
Tout ce que garde un serveur se trouve dans server\main. Après un lancement et une sauvegarde, le nôtre contenait :
| Fichier | Contenu |
|---|---|
proceduralmap.1000.90817.289.sav | Le monde : constructions, objets et tout ce qui a été posé. 289 vient du numéro de protocole. |
….sav.1 | La sauvegarde précédente. Le serveur garde deux copies plus anciennes (server.savebackupcount 2). |
proceduralmap.1000.90817.289.map | La carte générée, nommée d'après la taille, le seed et le protocole. |
.navmesh, _occlusion_3.dat | Données que le serveur tire de la carte pour les déplacements de l'IA et la visibilité. |
player.blueprints.18.db | Plans de fabrication appris par les joueurs. |
player.deaths, .identities, .states | Données des joueurs, un fichier .db chacun. |
player.tokens.db | Associations Rust+. |
clans.289.db, relationship.289.db | Clans et relations entre joueurs. |
sv.files.289.db | Images sur les panneaux et autres objets sur lesquels on peut dessiner. |
companion.id | L'identité Rust+ du serveur. |
cfg/ | users.cfg, bans.cfg, serverauto.cfg et votre server.cfg. |
*.db-wal | Changements récents du fichier .db à côté. Copiez-les ensemble. |
Pour un backup, lancez server.save, arrêtez le serveur et copiez tout le dossier identity, fichiers -wal compris. Ne le remettez que sur le même serveur, à cause de companion.id.
Wipes
Un wipe remet un serveur à zéro. La mise à jour mensuelle de Facepunch augmente le numéro de protocole dans le nom des sauvegardes, donc le serveur crée tout seul une nouvelle carte : c'est le wipe forcé. Ne renommez pas une ancienne .sav pour le contourner.
Pour wiper la carte vous-même, arrêtez le serveur et supprimez les fichiers .sav et .map, ou changez server.seed. Pour un wipe des plans, supprimez aussi player.blueprints en même temps.
Le compte à rebours de wipe en jeu est réglé par défaut sur jeudi 19:00, heure de Londres. Changez-le avec wipetimer.wipeDayofWeek (0 pour dimanche, 4 pour jeudi), wipetimer.wipeHourofDay et wipetimer.wipeTimezone.
Mises à jour
Le serveur Rust ne se met pas à jour tout seul. Après un patch du jeu, arrêtez-le et relancez la ligne SteamCMD de l'étape d'installation : elle garde la sauvegarde et le dossier cfg. D'ici là, les joueurs qui ont le nouveau build ne peuvent pas rejoindre.
Plugins et mods
Les plugins tournent sur un framework communautaire, Oxide (uMod) ou Carbon. Facepunch documente les deux mais ne fait ni l'un ni l'autre. Pour Oxide, arrêtez le serveur, décompressez le build Rust d'umod.org par-dessus le dossier du serveur et relancez. Les plugins vont dans oxide/plugins.
Chaque mise à jour SteamCMD écrase les fichiers d'Oxide, réinstallez donc Oxide après chaque mise à jour. Oxide sort en général un build compatible peu après un patch de Rust.
Facepunch veut en Modded les serveurs dont les plugins changent le gameplay ou ajoutent une interface (taux de récolte, kits, panneaux d'info). Outils d'admin, anti-cheat, cosmétiques de chat et convars vanilla modifiées peuvent rester en Community. Une infraction peut le faire retirer de la liste.
Problèmes courants
Mes amis n'arrivent pas à se connecter
Attendez Server startup complete. Vérifiez qu'UDP 28015 est redirigé vers la bonne IP locale et autorisé dans le pare-feu. Depuis votre propre réseau, connectez-vous plutôt à l'IP locale.
Le serveur n'apparaît pas dans la liste des serveurs
Redirigez le port de requête (UDP 28017 avec notre ligne de lancement) et gardez-le différent du port de jeu. Un serveur encore en chargement n'est pas encore listé.
Un réglage de server.cfg n'a aucun effet
Vérifiez la ligne de lancement. Quand une convar est aux deux endroits, la valeur de la ligne de lancement gagne ; sur notre serveur de test, maxplayers et hostname de server.cfg étaient ignorés pour cette raison. Gardez chaque convar à un seul endroit.
Les joueurs reçoivent un message disant que le serveur doit être mis à jour
Rust a reçu un patch et pas le serveur. Arrêtez-le, relancez la ligne SteamCMD, puis réinstallez Oxide ou Carbon si vous les utilisez.
Les plugins ne marchent plus après une mise à jour
SteamCMD a remplacé les fichiers d'Oxide par les fichiers du jeu de base. Réinstallez le dernier build d'Oxide.
Rust+ ne s'associe pas
app.port doit être de 10000 ou plus et redirigé en TCP. Cherchez dans le log le test Rust+ au démarrage, réglez app.publicip si l'adresse est fausse et laissez companion.id là où il est.
Le serveur crashe pendant le chargement de la carte
Il manque de mémoire. Facepunch demande 12 Go de RAM libre ; une server.worldsize plus petite en demande moins.
SteamCMD s'arrête avant le début du téléchargement
Il manque +login anonymous dans la ligne. Ajoutez-le avant +app_update. Sans lui, notre SteamCMD s'est terminé sur Failed to request app info update.
Le serveur Linux s'arrête avec Failed to load module steamclient.so
Lancez la ligne export de l'étape de démarrage dans le même shell avant ./RustDedicated, pour que le serveur trouve le steamclient.so dans son propre dossier.
Questions
Faut-il posséder Rust pour héberger un serveur Rust ?
Non. SteamCMD télécharge le serveur en connexion anonyme. Chaque joueur a besoin de Rust sur Steam.
Quel port rediriger pour un serveur Rust ?
UDP 28015 pour jouer. Ajoutez UDP 28017 pour apparaître dans la liste des serveurs et TCP 28082 pour Rust+, avec la ligne de lancement de cette page.
Combien de RAM faut-il pour un serveur Rust ?
Facepunch demande au moins 12 Go libres. Notre petite carte de test de 1000 m utilisait environ 2,8 Go sans personne de connecté ; les grandes cartes et plus de joueurs demandent plus.
Comment me mettre admin sur mon serveur Rust ?
Lancez ownerid avec votre SteamID64 à 17 chiffres et un nom, dans la console du serveur ou via RCON, puis reconnectez-vous. En jeu, la console est sur F1.
Peut-on mettre un mot de passe sur un serveur Rust ?
Pas en Rust vanilla : il n'y a pas de mot de passe pour rejoindre. Sur notre serveur de test, find password ne listait que des réglages RCON. Pour limiter qui peut rejoindre, il faut un plugin.
Quand les serveurs Rust wipent-ils ?
Facepunch force un wipe de la carte avec sa mise à jour mensuelle, en général le premier jeudi du mois. Entre les deux, vous wipez quand vous voulez en supprimant la sauvegarde.
Peut-on faire tourner un serveur Rust sous Linux ?
Oui. Le serveur existe aussi pour Linux. Nous l'avons testé sous Ubuntu 24.04.
Wikily Servers héberge Rust
À partir de 10,99 € par mois

