Cómo crear un servidor dedicado de Rust
Monta tu propio servidor de Rust con el tamaño de mapa, los días de wipe y las reglas que elijas. El programa de servidor de Facepunch es gratis y funciona en Windows y Linux.
Qué necesitas
Un PC con Windows o Linux que siga encendido mientras se juega, más SteamCMD, la herramienta gratis de línea de comandos de Valve para servidores de Steam. El servidor de Rust es la app 258550 de Steam, 6,1 GB con inicio de sesión anónimo: el PC del servidor no necesita ni Rust ni cuenta de Steam.
Cada jugador necesita su propia copia de Rust en Steam. Para el servidor, el mínimo de Facepunch es 12 GB de RAM libres y 15 GB de disco, mejor en un SSD; los mapas grandes suben las dos cifras.
Para hacerte una idea: en nuestro PC de pruebas, un mundo de 1000 m sin jugadores se quedó en unos 2,8 GB de RAM y tardó 3 minutos y 18 segundos en estar listo. Un mapa de tamaño completo tarda más y necesita más.
Para jugar hace falta un puerto abierto, UDP 28015. La lista de servidores y la app móvil Rust+ usan otros dos, explicados en Puertos y firewall.
Comprobado con la build del servidor de Rust del 22 de octubre de 2026 (protocolo 2635.289.1).
Instalar el servidor
1. Descarga SteamCMD de Valve y descomprímelo en C:\steamcmd.
2. Abre PowerShell o el Símbolo del sistema y descarga el servidor en C:\rust-server:
C:\steamcmd\steamcmd.exe +force_install_dir C:\rust-server +login anonymous +app_update 258550 validate +quit3. La línea de inicio de Rust es larga, así que guárdala en un archivo. Guarda esto como C:\rust-server\start-server.bat y haz doble clic en él:
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.txtLa carga tarda unos minutos. Los jugadores pueden entrar cuando la ventana muestre Server startup complete.
Probamos estos pasos en Ubuntu 24.04. SteamCMD de Valve necesita la biblioteca GCC de 32 bits (lib32gcc-s1); sin ella, steamcmd.sh se detiene al momento.
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 +quitInicia el servidor en una sesión de screen, para que siga funcionando cuando cierres sesión:
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.txtNo quites la línea export. El servidor solo carga el steamclient.so de Steam desde su propia carpeta si esa carpeta está en LD_LIBRARY_PATH. Sin ella, el nuestro generó el mapa y luego se cerró con Failed to load module steamclient.so.
Ctrl+A y luego D sale de la sesión; screen -r rust la recupera. La consola de Linux no acepta comandos escritos, así que usa RCON para administrar (mira Admin).
Facepunch no publica una imagen de Docker. Nuestra prueba ejecutó los pasos de Linux de arriba como root en un contenedor ubuntu:24.04 básico, con la línea export incluida.
La línea de inicio
Cada par +name y valor de la línea de inicio fija una variable de consola (convar) antes de que cargue el mundo. Si quitas uno, el servidor usa su valor por defecto:
| Opción | Por defecto | Qué hace |
|---|---|---|
-batchmode | Ejecuta el servidor sin gráficos. Ponlo siempre. | |
+server.identity | my_server_identity | Nombre de la carpeta dentro de server/ que guarda la partida y los ajustes de este servidor. Una segunda identity da un segundo servidor, separado, con la misma instalación. |
+server.port | 28015 | Puerto de juego, UDP. Los jugadores se conectan a este. |
+server.queryport | 28016 | Puerto UDP que usa la lista de servidores. No puede ser el puerto de juego. |
+rcon.port | 28015 | Consola remota, TCP. |
+rcon.password | (ninguna) | Contraseña de la consola remota. Elige una larga y propia. |
+rcon.web | 1 es RCON por WebSocket, el que recomienda Facepunch y el que usa su consola web. | |
+app.port | 28082 | Puerto TCP de la app complementaria Rust+, 10000 o más. |
+server.hostname | My Untitled Rust Server | Nombre en la lista de servidores. |
+server.maxplayers | 500 | Máximo de jugadores conectados a la vez. |
+server.worldsize | 4500 | Tamaño del mapa, de 1000 a 6000. Los mapas más grandes cargan más lento y usan más RAM. |
+server.seed | 1337 | Número (de 0 a 2147483647) a partir del que se genera el mapa. |
-logfile | Copia la salida de la consola en un archivo. | |
Valores por defecto tal como los mostró nuestro servidor de pruebas en su log y por RCON. Sin +server.seed, todos los servidores generan el mismo mapa, el de la seed 1337.
Ajustes del servidor
Los ajustes que deben sobrevivir a cada reinicio van en server.cfg, en server\main\cfg dentro de la carpeta del servidor (main es tu server.identity). Escribe una convar por línea, sin el +.
El primer arranque crea la carpeta cfg con users.cfg, bans.cfg y serverauto.cfg, un archivo que escribe el propio servidor. server.cfg no existe hasta que lo creas tú.
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.5El servidor lee server.cfg en cada arranque. En nuestra prueba, una convar puesta ahí y también en la línea de inicio se quedó con el valor de la línea de inicio; el resto de líneas de server.cfg se aplicaron. El servidor nunca escribe en server.cfg.
| Convar | Por defecto | Qué hace |
|---|---|---|
server.description | No server description has been provided. | Texto de la pantalla que ven los jugadores antes de entrar. |
server.url | (vacío) | Enlace a una web en esa pantalla. |
server.headerimage | (vacío) | Enlace a la imagen del banner en esa pantalla. |
server.tags | (vacío) | Etiquetas de filtro para la lista de servidores, separadas por comas. |
server.pve | False | Modo PvE. Ponerlo en true también añade la etiqueta pve. |
decay.scale | 1 | Multiplicador de lo rápido que se deterioran las construcciones (decay). |
server.saveinterval | 600 | Segundos entre guardados automáticos. |
Las etiquetas ayudan a los jugadores a filtrar la lista. Elige como mucho una etiqueta de wipe (weekly, biweekly, monthly), una de estilo (vanilla, softcore, hardcore) y una región: NA, SA, EU, WA, EA, OC o AF.
Como extras están pve, roleplay, creative, minigame, training, battlefield, broyale, builds, tut y premium. Dos etiquetas del mismo grupo pueden dejar el servidor fuera de las búsquedas filtradas.
Para ver el valor actual de cualquier convar, escribe solo su nombre en la consola del servidor o por RCON.
Admin
Rust tiene dos rangos: owner y moderator. Se dan en la consola del servidor o por RCON, con el SteamID64 de 17 dígitos del jugador. El comando status muestra a todos los conectados con su ID:
ownerid YOUR-STEAMID64 "YOUR-NAME"
moderatorid A-FRIENDS-STEAMID64 "A-FRIENDS-NAME"Después, el jugador se vuelve a conectar. Los dos comandos escriben el rango en cfg/users.cfg al momento; el nuestro ya tenía las dos líneas antes de ejecutar server.writecfg. removeowner y removemoderator quitan un rango.
En el juego, los admins abren la consola con F1 y escriben ahí los comandos.
| Comando | Qué hace |
|---|---|
status | Muestra los jugadores conectados con su SteamID64. |
say <text> | Envía un mensaje a todos por el chat. |
kick <player> <reason> | Echa a un jugador del servidor. |
ban <player> <reason> | Banea a un jugador que está conectado. |
banid <SteamID64> <name> <reason> | Banea por ID, también a jugadores desconectados. |
unban <SteamID64> | Quita un baneo. |
server.save | Guarda el mundo ahora mismo. |
server.writecfg | Escribe los admins y los baneos en la carpeta cfg. |
quit | Guarda y para el servidor. |
Para administrar desde otro PC, la consola web de Facepunch en facepunch.github.io/webrcon se conecta al puerto RCON con tu contraseña de RCON. Esa página va por HTTP sin cifrar.
Puertos y firewall
Los jugadores llegan al juego por UDP 28015. La lista de servidores lee los datos del servidor por el puerto de consulta, y la app Rust+ habla con el servidor por TCP. Con la línea de inicio de arriba son tres puertos: UDP 28015, UDP 28017 y TCP 28082.
Sin +server.queryport, el puerto de la lista de servidores es uno más que el mayor de los dos, el puerto de juego o el de RCON. Nuestro servidor de pruebas sin rcon.port respondió a la lista en UDP 28016.
Déjalos pasar en el Firewall de Windows, en PowerShell como administrador:
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 AllowEn el router, redirige esos mismos tres puertos al PC del servidor y dale a ese PC una IP local fija. Elige UDP o TCP en cada regla en vez de una opción de ambos. RCON (TCP 28016) no necesita redirección salvo que gestiones el servidor desde fuera de casa.
App complementaria Rust+
Rust+ vincula los móviles con el servidor por app.port. Sin +app.port, nuestro servidor de pruebas usó TCP 28082. El puerto tiene que ser 10000 o más, y un cambio necesita reiniciar.
Al arrancar, el servidor comprueba que Rust+ puede llegar a él desde fuera. Si falla, Rust+ se desactiva; nuestro servidor de pruebas, sin puertos abiertos, registró Rust+ companion server connectivity test failed. El servidor también tiene que llegar a companion-rust.facepunch.com.
Si Rust+ muestra una dirección incorrecta, pon app.publicip en YOUR-SERVER-IP. Para desactivar Rust+, pon +app.port 1- en la línea de inicio; ahí el signo menos va después del 1.
El archivo companion.id de la carpeta de la identity es la identidad Rust+ del servidor. No lo borres nunca ni se lo des a otro servidor: todos los jugadores tendrían que volver a vincularse, y un archivo borrado no se puede recuperar.
Unirse al servidor
En el menú principal de Rust, pulsa F1 y escribe:
client.connect YOUR-SERVER-IP:28015En la misma red que el servidor, usa mejor su IP local (ipconfig te la muestra). Cuando el puerto de consulta esté abierto, el servidor también aparece en Community en el navegador de servidores, o en Modded si usa plugins que cambian el juego.
Partidas, wipes y actualizaciones
Todo lo que guarda un servidor está en server\main. Tras un arranque y un guardado, el nuestro tenía:
| Archivo | Qué contiene |
|---|---|
proceduralmap.1000.90817.289.sav | El mundo: construcciones, objetos y todo lo colocado. 289 sale del número de protocolo. |
….sav.1 | El guardado anterior. El servidor conserva dos copias más antiguas (server.savebackupcount 2). |
proceduralmap.1000.90817.289.map | El mapa generado, con el nombre según tamaño, seed y protocolo. |
.navmesh, _occlusion_3.dat | Datos que el servidor saca del mapa para las rutas de la IA y la visibilidad. |
player.blueprints.18.db | Planos que han aprendido los jugadores. |
player.deaths, .identities, .states | Registros de jugadores, un archivo .db cada uno. |
player.tokens.db | Vinculaciones de Rust+. |
clans.289.db, relationship.289.db | Clanes y relaciones entre jugadores. |
sv.files.289.db | Imágenes de letreros y otros objetos en los que se puede dibujar. |
companion.id | La identidad Rust+ del servidor. |
cfg/ | users.cfg, bans.cfg, serverauto.cfg y tu server.cfg. |
*.db-wal | Cambios recientes del archivo .db de al lado. Cópialos juntos. |
Para hacer una copia de seguridad, ejecuta server.save, para el servidor y copia toda la carpeta de la identity, con los archivos -wal. Restáurala solo en el mismo servidor, por companion.id.
Wipes
Un wipe reinicia un servidor desde cero. La actualización mensual de Facepunch sube el número de protocolo en los nombres de guardado, así que el servidor crea solo un mapa nuevo: ese es el wipe forzado. No renombres un .sav antiguo para saltártelo.
Para hacer wipe del mapa tú mismo, para el servidor y borra los archivos .sav y .map, o cambia server.seed. Para un wipe de planos, borra también player.blueprints a la vez.
La cuenta atrás del wipe en el juego marca por defecto el jueves a las 19:00, hora de Londres. Cámbiala con wipetimer.wipeDayofWeek (0 es domingo, 4 jueves), wipetimer.wipeHourofDay y wipetimer.wipeTimezone.
Actualizaciones
El servidor de Rust no se actualiza solo. Tras un parche del juego, páralo y vuelve a ejecutar la línea de SteamCMD del paso de instalación: conserva la partida y la carpeta cfg. Hasta entonces, los jugadores con la build nueva no pueden entrar.
Plugins y mods
Los plugins funcionan sobre un framework de la comunidad, Oxide (uMod) o Carbon. Facepunch documenta los dos pero no hace ninguno. Para Oxide, para el servidor, descomprime la build de Rust de umod.org sobre la carpeta del servidor y vuelve a arrancar. Los plugins van en oxide/plugins.
Cada actualización de SteamCMD sobrescribe los archivos de Oxide, así que reinstala Oxide tras cada actualización. Oxide suele sacar una build compatible poco después de un parche de Rust.
Facepunch quiere en Modded los servidores cuyos plugins cambian el gameplay o añaden interfaz (rates de recolección, kits, paneles de info). Herramientas de admin, anticheat, cosmética del chat y cambios en convars vanilla pueden quedarse en Community. Saltarse las normas puede sacarlo de la lista.
Problemas comunes
Mis amigos no pueden conectarse
Espera a Server startup complete. Comprueba que UDP 28015 está redirigido a la IP local correcta y permitido en el firewall. Desde tu propia red, conéctate a la IP local.
El servidor no aparece en la lista de servidores
Redirige el puerto de consulta (UDP 28017 con nuestra línea de inicio) y que sea distinto del puerto de juego. Un servidor que aún está cargando todavía no aparece.
Un ajuste de server.cfg no hace nada
Revisa la línea de inicio. Cuando una convar está en los dos sitios, gana el valor de la línea de inicio; en nuestro servidor de pruebas, maxplayers y hostname de server.cfg se ignoraron por eso. Pon cada convar en un solo sitio.
Los jugadores reciben un mensaje de que el servidor necesita actualizarse
Rust recibió un parche y el servidor no. Páralo, vuelve a ejecutar la línea de SteamCMD y luego reinstala Oxide o Carbon si los usas.
Los plugins dejaron de funcionar tras una actualización
SteamCMD sustituyó los archivos de Oxide por los archivos normales del juego. Vuelve a instalar la última build de Oxide.
Rust+ no se vincula
app.port tiene que ser 10000 o más y estar redirigido como TCP. Busca en el log la comprobación de Rust+ al arrancar, pon app.publicip si la dirección es incorrecta y deja companion.id donde está.
El servidor se cuelga al cargar el mapa
Le falta memoria. Facepunch pide 12 GB de RAM libres; una server.worldsize más pequeña necesita menos.
SteamCMD se para antes de empezar la descarga
A la línea le falta +login anonymous. Añádelo antes de +app_update. Sin él, nuestro SteamCMD terminó con Failed to request app info update.
El servidor de Linux se cierra con Failed to load module steamclient.so
Ejecuta la línea export del paso de inicio en la misma shell antes de ./RustDedicated, para que el servidor encuentre el steamclient.so en su propia carpeta.
Preguntas
¿Necesito tener Rust para crear un servidor de Rust?
No. SteamCMD descarga el servidor con un inicio de sesión anónimo. Cada jugador necesita Rust en Steam.
¿Qué puerto redirijo para un servidor de Rust?
UDP 28015 para jugar. Añade UDP 28017 para salir en la lista de servidores y TCP 28082 para Rust+, con la línea de inicio de esta página.
¿Cuánta RAM necesita un servidor de Rust?
Facepunch pide al menos 12 GB libres. Nuestro pequeño mapa de prueba de 1000 m usó unos 2,8 GB sin nadie conectado; los mapas más grandes y más jugadores necesitan más.
¿Cómo me hago admin en mi servidor de Rust?
Ejecuta ownerid con tu SteamID64 de 17 dígitos y un nombre, en la consola del servidor o por RCON, y vuelve a entrar. En el juego, la consola está en F1.
¿Puedo poner contraseña a un servidor de Rust?
En Rust vanilla no: no hay contraseña para entrar. En nuestro servidor de pruebas, find password solo mostró ajustes de RCON. Para limitar quién puede entrar hace falta un plugin.
¿Cuándo hacen wipe los servidores de Rust?
Facepunch fuerza un wipe del mapa con su actualización mensual, normalmente el primer jueves del mes. Entre medias, haces wipe cuando quieras borrando la partida.
¿Puedo montar un servidor de Rust en Linux?
Sí. El servidor también sale para Linux. Lo probamos en Ubuntu 24.04.
Wikily Servers aloja Rust
Desde 10,99 € al mes

