Montar un servidor de Rust no consiste únicamente en instalar SteamCMD y abrir un puerto. El juego mantiene una simulación persistente con construcciones, entidades, jugadores, monumentos y complementos, por lo que exige bastante más CPU y memoria que un servidor de Minecraft básico. Si dimensionas mal la máquina, aparecerán retrasos, reinicios lentos y caídas de rendimiento a medida que avance el wipe.
Esta guía explica cómo preparar un servidor dedicado en Linux, instalarlo con comandos reales, configurar su arranque, gestionar los wipes e incorporar plugins mediante uMod/Oxide.
Requisitos reales de un servidor de Rust
Los requisitos dependen del tamaño del mapa, el límite de jugadores, la cantidad de construcciones y los plugins instalados. Además, el consumo aumenta durante el ciclo del wipe: un mapa recién generado requiere menos recursos que otro lleno de bases y entidades.
| Escenario | CPU recomendada | RAM orientativa | Almacenamiento |
|---|---|---|---|
| Pruebas o grupo pequeño | 4 núcleos con frecuencia alta | 10-12 GB | SSD, al menos 30 GB libres |
| Servidor comunitario pequeño | 4-6 núcleos con buen rendimiento por núcleo | 16 GB | SSD NVMe recomendado |
| Comunidad mediana con plugins | 6-8 núcleos de alta frecuencia | 24-32 GB | SSD NVMe |
| Mapa grande o muchos jugadores | CPU moderna de alta frecuencia | 32 GB o más, según carga | SSD NVMe con margen para copias |
Estas cifras son puntos de partida, no garantías. El consumo real debe comprobarse durante las horas de mayor actividad y al final del wipe.
Por qué mandan la RAM y el rendimiento por núcleo
Rust dedica una parte importante del trabajo del servidor a un hilo principal. Tener muchos núcleos ayuda al sistema operativo y a tareas secundarias, pero no compensa una CPU lenta. Para alojar Rust suele ser preferible un procesador moderno con gran rendimiento por núcleo y frecuencia sostenida que una CPU antigua con muchos núcleos.
La memoria también es crítica. El servidor carga el mapa y conserva numerosos objetos activos. Si Linux se queda sin RAM y empieza a usar la partición de intercambio, las pausas pueden ser muy visibles. Si el proceso agota toda la memoria disponible, el sistema incluso puede finalizarlo.
Red y almacenamiento
Utiliza almacenamiento SSD; un NVMe reduce los tiempos de carga, actualización y guardado. Evita llenar la unidad: conserva espacio para archivos temporales, registros y copias del mapa. La conexión debe tener buena subida, latencia estable y protección frente a ataques. Overclock Host dispone de red propia con ASN y protección DDoS para sus servidores de juegos.
Preparar Linux e instalar SteamCMD
El ejemplo utiliza Ubuntu o Debian de 64 bits. No ejecutes el servidor como root: crea un usuario específico y separa sus archivos del resto del sistema.
sudo apt update
sudo apt install -y steamcmd lib32gcc-s1
sudo useradd --create-home --shell /bin/bash rust
sudo mkdir -p /opt/rust
sudo chown -R rust:rust /opt/rust
En algunas versiones de Debian o Ubuntu, SteamCMD requiere habilitar previamente la arquitectura i386 y los repositorios correspondientes:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmd lib32gcc-s1
Instala el servidor dedicado con la aplicación de Steam 258550:
sudo -u rust steamcmd \
+force_install_dir /opt/rust \
+login anonymous \
+app_update 258550 validate \
+quit
El mismo comando sirve para actualizar la instalación. Detén primero el proceso de Rust para evitar que SteamCMD sustituya archivos mientras el servidor los está utilizando.
Crear el comando de arranque
El ejecutable principal en Linux es RustDedicated. Este es un arranque razonable para una comunidad pequeña:
cd /opt/rust
./RustDedicated -batchmode -nographics \
+server.identity "comunidad" \
+server.hostname "Servidor Rust de la comunidad" \
+server.description "Servidor en español" \
+server.port 28015 \
+server.queryport 28017 \
+server.level "Procedural Map" \
+server.seed 123456 \
+server.worldsize 3500 \
+server.maxplayers 50 \
+server.saveinterval 300 \
+rcon.port 28016 \
+rcon.password "CAMBIA_ESTA_CLAVE" \
+rcon.web 1 \
+server.secure 1
No copies la contraseña del ejemplo. Utiliza una clave larga, única y que no aparezca en repositorios, paneles públicos ni capturas de pantalla.
Parámetros que debes conocer
| Parámetro | Función |
|---|---|
server.identity |
Define la carpeta que contiene la configuración, los registros y las partidas guardadas. |
server.hostname |
Nombre mostrado en el navegador de servidores. |
server.port |
Puerto de juego, normalmente UDP. |
server.queryport |
Puerto utilizado para las consultas de Steam. |
server.seed |
Semilla empleada para generar el mapa procedural. |
server.worldsize |
Tamaño del mundo. Un mapa mayor aumenta la carga y el consumo de memoria. |
server.maxplayers |
Límite de jugadores simultáneos; no reserva capacidad por sí solo. |
server.saveinterval |
Intervalo entre guardados automáticos, expresado en segundos. |
rcon.port |
Puerto de administración remota. |
rcon.web |
Activa el protocolo WebSocket empleado por clientes RCON modernos. |
No selecciones un mapa enorme por apariencia. Un worldsize alto crea más terreno, monumentos y entidades, alarga el inicio y necesita más RAM. Ajusta el mapa a tu población habitual, no al máximo de jugadores que esperas alcanzar algún día.
Abrir los puertos correctamente
Con el ejemplo anterior debes permitir el puerto de juego y el de consultas mediante UDP. RCON utiliza TCP. Si empleas UFW:
sudo ufw allow 28015/udp
sudo ufw allow 28017/udp
sudo ufw allow from TU_IP_PUBLICA to any port 28016 proto tcp
sudo ufw status
Restringe RCON a tu dirección IP o a una VPN siempre que sea posible. Si el servidor está detrás de un router, configura también el reenvío de puertos hacia la IP privada de la máquina. Recuerda revisar las reglas del cortafuegos del proveedor, además de UFW.
Guardar la configuración en server.cfg
Los ajustes persistentes pueden guardarse en:
/opt/rust/server/comunidad/cfg/server.cfg
La parte comunidad coincide con server.identity. El archivo puede contener, por ejemplo:
server.hostname "Servidor Rust de la comunidad"
server.description "Servidor en español con wipes programados"
server.maxplayers 50
server.saveinterval 300
server.secure true
Mantén en el comando de arranque los valores que identifican la instancia, como puertos, identidad, semilla y tamaño del mapa. Deja en server.cfg los ajustes que vayas a modificar con más frecuencia. Así será más fácil revisar cambios y recuperar una configuración conocida.
Cómo configurar los wipes
Un wipe de mapa elimina el mundo construido y obliga a generarlo de nuevo. Un wipe de planos también reinicia el progreso de aprendizaje. No son la misma operación, por lo que debes anunciar con claridad cuál vas a realizar.
Wipe de mapa
- Avisa a la comunidad y detén el servidor de forma ordenada.
- Haz una copia de la carpeta
server/comunidad. - Elimina los archivos de partida del mapa dentro de esa identidad.
- Cambia
server.seedsi quieres una distribución diferente. - Inicia el servidor y revisa la consola antes de admitir jugadores.
Antes de detenerlo puedes forzar un guardado desde RCON:
server.save
quit
Los nombres incluyen la semilla, el tamaño y la versión del mapa, por lo que conviene inspeccionarlos antes de borrar nada:
find /opt/rust/server/comunidad -maxdepth 1 -type f \
\( -name "*.map" -o -name "*.sav" -o -name "*.sav.*" \) -print
Wipe de planos
Los datos de planos se almacenan por separado del mapa. Para reiniciarlos, detén el servidor y retira los archivos cuyo nombre comienza por player.blueprints dentro de la carpeta de identidad. Conserva una copia para poder revertir el cambio si has seleccionado archivos incorrectos.
Puedes automatizar el calendario con un servicio y un temporizador de systemd, pero no programes únicamente un borrado ciego. El proceso debería avisar, guardar, detener, copiar, verificar las rutas, ejecutar el wipe, actualizar Rust y arrancar de nuevo. Prueba primero el procedimiento en una instancia secundaria.
Instalar uMod/Oxide y añadir plugins
uMod, conocido históricamente como Oxide, permite ampliar Rust con administración, permisos, moderación y modos de juego. Descarga la compilación específica para Rust desde la fuente oficial, detén el servidor y extrae su contenido sobre /opt/rust. Después, inicia Rust para que se generen las carpetas de Oxide.
La estructura habitual incluye:
/opt/rust/oxide/plugins
/opt/rust/oxide/config
/opt/rust/oxide/data
/opt/rust/oxide/logs
Los plugins de Rust suelen distribuirse como archivos .cs. Colócalos en oxide/plugins; su configuración aparecerá en oxide/config después de la primera carga. Consulta la consola para detectar dependencias ausentes o errores de compilación.
cp MiPlugin.cs /opt/rust/oxide/plugins/
chown rust:rust /opt/rust/oxide/plugins/MiPlugin.cs
Instala pocos plugins al principio y mide su efecto. Un complemento puede ejecutar tareas frecuentes, consultar grandes listas de entidades o escribir continuamente en disco. La cantidad de plugins no explica por sí sola la carga: importa qué hace cada uno y con qué frecuencia.
Mantenimiento y comprobaciones básicas
Supervisa RAM, carga de CPU, espacio libre y registros. Herramientas como htop, free -h y df -h permiten detectar problemas básicos:
htop
free -h
df -h
journalctl -u rust-server --since "30 minutes ago"
Actualiza primero en una ventana anunciada, guarda copias fuera de la carpeta de instalación y conserva varias generaciones. Una copia alojada en el mismo disco no protege frente a un fallo de la unidad. Si no quieres ocuparte de actualizaciones, puertos y supervisión, puedes valorar un servicio gestionado o consultar una configuración acorde con tu comunidad.
Preguntas frecuentes
¿Cuánta RAM necesita un servidor de Rust?
Para pruebas pequeñas puedes partir de 10-12 GB, pero una comunidad real suele necesitar 16 GB o más. Los mapas grandes, muchos jugadores, las construcciones acumuladas y determinados plugins elevan el consumo. Mide el uso al final del wipe y deja margen para Linux.
¿Es mejor tener más núcleos o una CPU más rápida?
El rendimiento por núcleo suele ser prioritario porque una parte importante de la simulación depende del hilo principal. Necesitas varios núcleos para el sistema y tareas auxiliares, pero una CPU antigua con muchos núcleos puede rendir peor que otra moderna de alta frecuencia.
¿Puedo cambiar la semilla sin hacer wipe?
No de forma coherente. La semilla determina la generación del mundo; cambiarla implica crear un mapa nuevo. Detén el servidor, realiza una copia, elimina la partida del mapa y arranca con la nueva semilla.
¿Hay que reinstalar uMod después de actualizar Rust?
Puede ser necesario porque SteamCMD puede sustituir archivos utilizados por el cargador. Tras cada actualización, comprueba la compatibilidad, reinstala uMod si corresponde y revisa que los plugins carguen sin errores.
¿Qué puertos necesita el servidor?
Con la configuración de esta guía, el juego utiliza 28015/UDP, las consultas 28017/UDP y RCON 28016/TCP. Si cambias esos valores en el arranque, adapta el cortafuegos y el reenvío del router. Restringe siempre el acceso a RCON.