Tutoriales de VPS
Montar un servidor dedicado de Rust en un VPS (2026): LinuxGSM, puertos, RCON, plugins, copias de seguridad y actualizaciones automáticas
Monta un servidor dedicado de Rust en un VPS con Ubuntu usando LinuxGSM: configura SteamCMD, los puertos de juego y consulta, RCON, Oxide/uMod, actualizaciones automáticas, monitorización, copias de seguridad y wipes de mapa.

Montar un servidor dedicado de Rust en un VPS (2026): LinuxGSM, puertos, RCON, plugins, copias de seguridad y actualizaciones automáticas
Cuando quieres abrir un mapa de Rust de larga duración con amigos, lo realmente difícil no suele ser descargar el servidor, sino elegir bien el VPS, abrir los puertos UDP correctos, proteger RCON, organizar las actualizaciones y los wipes, y asegurarte de que el guardado del mundo realmente se pueda restaurar. Rust es más sensible a la memoria, al rendimiento de un solo núcleo de CPU, al disco y a la red que un sitio web normal; un VPS barato con poca memoria puede arrancar, pero también puede sufrir tirones frecuentes al generar el mapa o después de que muchos jugadores construyan.
Este artículo usa Ubuntu 24.04 LTS y LinuxGSM como ejemplo para desplegar un Rust Dedicated Server. LinuxGSM utiliza SteamCMD por debajo para descargar el App ID 258550 y además ofrece comandos de arranque, actualización, monitorización, registros, copias de seguridad, wipe de mapa y gestión de Oxide/uMod, lo que lo hace adecuado para administradores que no quieren mantener su propio script de arranque frágil.
El servidor de Rust no necesita GPU, pero consume mucha memoria y rendimiento de un solo núcleo. Cuanto más grande sea el mapa, más jugadores haya en línea y más densas sean las construcciones y entidades, mayores serán los requisitos de recursos. A continuación se muestra un punto de partida conservador para comprar un VPS, no una garantía estricta de concurrencia:
| Escala de uso | Punto de partida sugerido del VPS | Tamaño de mapa | Escenario adecuado |
|---|---|---|---|
| Servidor privado de 5-10 personas | 4 vCPU de alto rendimiento, 12 GB de RAM, 80 GB NVMe | 2500-3000 | Vanilla, pocas construcciones |
| Servidor comunitario de 10-30 personas | 6-8 vCPU de alto rendimiento, 16-24 GB de RAM, 120 GB NVMe | 3000-3500 | Jugadores activos, pocos plugins |
| Más de 30 personas o modded | Más de 8 núcleos, 32 GB+ de RAM, 160 GB+ NVMe | Empezar con 3000 para pruebas de carga | Plugins, muchas entidades, servidor público |
La página de Rust de LinuxGSM indica un mínimo de 9 GB de memoria y señala que los mapas más grandes aumentarán aún más los requisitos. Por eso no fuerces un servidor de producción en un VPS de 4 GB u 8 GB, y no trates el swap como sustituto de la memoria. En cuanto a la CPU, prioriza el rendimiento estable de un solo núcleo en lugar de comparar solo la cantidad de vCPU.
El centro de datos debe estar cerca de tus jugadores principales, y debes confirmar que el proveedor permite servidores de juegos, cuenta con protección UDP y tráfico suficiente. Para servidores públicos, también fíjate en las políticas de limpieza DDoS, las reglas de bloqueo tras ataques y el coste de cambiar de IP. Antes de comprar, puedes consultar la guía de recomendaciones y configuración de VPS para servidores de juegos.
| Opción | Ventajas | Contrapartidas | Escenario recomendado |
|---|---|---|---|
| LinuxGSM | Comandos completos de instalación, actualización, monitorización, copia de seguridad y consola | Se gestiona principalmente por SSH | Un solo VPS, una o pocas instancias de Rust |
| Imagen Docker | Aislamiento claro de directorios y dependencias | Las variables de la imagen, la lógica de actualización y las rutas de guardado dependen del mantenedor | Equipos con estándares de contenedores maduros |
| Pterodactyl | Panel web, usuarios, cuotas y gestión de múltiples instancias | Más configuración de Panel, Wings, base de datos y red | Alojar varios servidores de juegos o gestión entre varias personas |
Este artículo elige LinuxGSM porque encaja directamente con los flujos de actualización por SteamCMD, RCON, wipe y copias de seguridad de Rust. Si necesitas gestionar Rust, Minecraft, Palworld y CS2 en un mismo panel, encaja mejor el panel de servidores de juegos Pterodactyl en un VPS.
Este artículo usa explícitamente los siguientes puertos para evitar depender de la derivación automática:
| Puerto | Protocolo | Uso | Público |
|---|---|---|---|
| 28015 | UDP | Conexión de los jugadores al juego | Sí |
| 28017 | UDP | Consulta de Steam y lista de servidores | Necesario para servidores públicos |
| 28016 | TCP | Gestión WebRCON | Solo IP de administrador o VPN |
| 28082 | TCP | Rust+ Companion | Abrir si se usa Rust+ |
La documentación de Facepunch indica que server.port y server.queryport son ambos UDP y no pueden ser iguales; si no se establece explícitamente el query port, se deriva del puerto de juego o del puerto RCON. RCON es una entrada de gestión y nunca debe exponerse desnudo a todo internet.
Al preparar un dominio independiente (por ejemplo rust.example.com), solo hay que añadir un registro A que apunte a la IPv4 pública del VPS. El proxy naranja normal de Cloudflare no reenvía el tráfico UDP de Rust, así que debe configurarse como DNS only.
Primero actualiza el sistema e instala las herramientas básicas:
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl ca-certificates ufw tmux unzip tar bzip2
Crea un usuario dedicado; no dejes que el servidor de Rust se ejecute como root a largo plazo:
sudo adduser rustserver
sudo usermod -aG sudo rustserver
sudo -iu rustserver
Durante la instalación, LinuxGSM puede necesitar sudo para instalar dependencias del sistema. Una vez completada la instalación y confirmado que el servicio funciona, puedes quitarle los privilegios sudo desde otra cuenta de administrador:
sudo deluser rustserver sudo
Antes de hacer esto, asegúrate de que todavía tienes otra cuenta de administrador sudo operativa para no quedarte fuera del sistema.
Todos los comandos siguientes se ejecutan como el usuario rustserver:
cd /home/rustserver
curl -Lo linuxgsm.sh https://linuxgsm.sh
chmod +x linuxgsm.sh
bash linuxgsm.sh rustserver
./rustserver install
El instalador comprueba las dependencias y descarga el Rust Dedicated Server mediante inicio de sesión anónimo de SteamCMD. Tras la instalación, primero consulta los detalles:
./rustserver details
./rustserver validate
details muestra el directorio de configuración, los puertos, los registros y el estado del servicio; validate valida los archivos con SteamCMD. No fuerces validate en cada arranque normal, ya que aumenta el tiempo de arranque y la E/S de disco; es más adecuado para instalaciones fallidas o archivos corruptos.
Primero genera una contraseña RCON aleatoria y guárdala en tu gestor de contraseñas:
openssl rand -hex 24
Edita la configuración de la instancia:
nano /home/rustserver/lgsm/config-lgsm/rustserver/rustserver.cfg
Escribe los parámetros que necesitas sobrescribir:
ip="0.0.0.0"
port="28015"
queryport="28017"
rconport="28016"
appport="28082"
rconpassword="替换为刚生成的随机密码"
rconweb="1"
servername="My Private Rust Server"
gamemode="vanilla"
serverlevel="Procedural Map"
seed="20260815"
worldsize="3000"
maxplayers="20"
saveinterval="300"
tickrate="30"
tags="monthly,vanilla"
maxbackups="8"
maxbackupdays="14"
stoponbackup="on"
No edites _default.cfg directamente. LinuxGSM indica claramente que el archivo predeterminado se sobrescribirá en las actualizaciones; escribe las personalizaciones en common.cfg o en el rustserver.cfg de la instancia actual.
Restringe los permisos de lectura del archivo de configuración:
chmod 600 /home/rustserver/lgsm/config-lgsm/rustserver/rustserver.cfg
El tamaño de mapa permite 1000-6000, pero los mapas grandes consumen más memoria, disco y tiempo de generación. Los servidores privados pequeños son más fáciles de estabilizar empezando en 3000. seed determina el mapa generado proceduralmente; antes de cambiar la seed o el tamaño del mapa debes hacer una copia de seguridad y tratarlo como un nuevo wipe.
Arranca el servidor:
cd /home/rustserver
./rustserver start
./rustserver details
./rustserver monitor
Entra en la consola para observar la primera generación del mapa:
./rustserver console
Cuando veas que el servicio ha terminado de arrancar, pulsa Ctrl+B y luego D para separarte de tmux. No pulses Ctrl+C, ya que terminará el proceso del servidor.
Ver registros:
tail -n 200 /home/rustserver/log/console/rustserver-console.log
tail -f /home/rustserver/log/console/rustserver-console.log
Si el nombre concreto del archivo de registro cambia, usa la ruta que muestra ./rustserver details.
Primero mantén abierta la sesión SSH actual y permite SSH:
sudo ufw allow OpenSSH
sudo ufw allow 28015/udp
sudo ufw allow 28017/udp
Sustituye la dirección de ejemplo de abajo por la IP pública fija de tu equipo administrador, permitiendo que solo esa dirección se conecte a RCON:
sudo ufw allow from 203.0.113.10 to any port 28016 proto tcp
Abre esto solo si necesitas Rust+:
sudo ufw allow 28082/tcp
Tras confirmar las reglas, activa el firewall:
sudo ufw status numbered
sudo ufw enable
sudo ss -lunp | grep -E ':28015|:28017'
sudo ss -lntp | grep -E ':28016|:28082'
El grupo de seguridad del proveedor de la nube también debe configurarse con los mismos protocolos. Los errores más comunes son abrir 28015 solo como TCP, o abrir el puerto de juego pero olvidar 28017/UDP, de modo que los jugadores pueden conectarse directamente pero el servidor no aparece en la lista.
En el cliente de Rust, pulsa F1 para abrir la consola e introduce:
connect rust.example.com:28015
También puedes usar directamente la IP pública. Antes de la primera conexión, entra en la consola del servidor para añadir un Owner:
ownerid 76561198000000000 "AdminName" "Server owner"
server.writecfg
save
Sustituye el SteamID64 de ejemplo por tu ID real. La documentación de Facepunch indica que tras añadir un administrador debes ejecutar server.writecfg, y los permisos surten efecto solo cuando el jugador se reconecta.
Comandos habituales de gestión diaria:
status
players
save
say Server will restart in 5 minutes
kick SteamID64 "reason"
ban SteamID64 "reason"
Lo que puedas hacer desde la consola SSH no necesita exponer RCON. Si realmente necesitas un panel remoto, restringe 28016/TCP a la IP fija del administrador, o permite solo el acceso por red privada WireGuard/Tailscale.
Los servidores Vanilla no necesitan plugins. Instala Oxide/uMod solo cuando necesites explícitamente lista blanca, permisos, colas, teletransporte o funciones de gestión:
cd /home/rustserver
./rustserver mods-install
./rustserver restart
La documentación de Rust de LinuxGSM indica que los archivos de plugins están en:
/home/rustserver/serverfiles/oxide/plugins/
La configuración suele estar en:
/home/rustserver/serverfiles/oxide/config/
Tras una actualización de Rust, Oxide/uMod puede necesitar actualizarse en sincronía:
./rustserver mods-update
./rustserver restart
Instala solo un plugin a la vez, registra la fuente y la versión, y haz copia de seguridad de los guardados primero. Consigue los plugins desde la página oficial de uMod o el repositorio del proyecto; no coloques DLL, scripts o archivos comprimidos republicados en foros directamente en un servidor de producción.
LinuxGSM ofrece tres comandos clave:
./rustserver monitor
./rustserver update
./rustserver backup
Edita el crontab como el usuario rustserver:
crontab -e
Añade:
*/5 * * * * /home/rustserver/rustserver monitor > /dev/null 2>&1
*/30 * * * * /home/rustserver/rustserver update > /dev/null 2>&1
30 5 * * * /home/rustserver/rustserver backup > /dev/null 2>&1
0 6 * * 0 /home/rustserver/rustserver update-lgsm > /dev/null 2>&1
monitor intenta recuperar cuando el proceso está caído, y update comprueba actualizaciones de SteamCMD y solo actualiza y reinicia cuando es necesario. El stoponbackup="on" de la configuración de copias de seguridad prioriza la consistencia de los archivos, por lo que la ejecución diaria a las 05:30 puede provocar una breve interrupción; ajústala según los horarios de actividad de los jugadores y anúncialo con antelación.
Los archivos locales de LinuxGSM por defecto no pueden resistir fallos de disco del VPS, bloqueos de cuenta o incidentes del centro de datos. Sincroniza periódicamente el directorio de copias de seguridad cifrado a otro almacenamiento de objetos o servidor externo, y realiza simulacros de recuperación reales. Para estrategias externas, consulta la guía de simulacros de copia de seguridad y recuperación en VPS.
El wipe de Rust no es "borrar unos archivos y volver a intentarlo". Primero anuncia el apagado, guarda el mundo y crea una copia de seguridad adicional:
cd /home/rustserver
./rustserver backup
Restablecer solo el mapa, conservando los blueprints de los jugadores:
./rustserver map-wipe
Restablecer el mapa y todos los blueprints de los jugadores:
./rustserver full-wipe
La documentación de LinuxGSM distingue claramente ambos; Facepunch también señala que renombrar a la fuerza guardados antiguos para saltarse cambios de protocolo es peligroso. Antes de ejecutar un wipe, registra la seed, el world size, la lista de plugins y los archivos de copia de seguridad actuales, y no pongas comandos de wipe no verificados en cron desatendido.
Rust suele publicar actualizaciones grandes mensualmente y también puede publicar hotfixes. El orden de actualización segura es el siguiente:
- Avisa a los jugadores con antelación;
- Ejecuta
saveen la consola; - Ejecuta
./rustserver backup; - Ejecuta
./rustserver update; - Si usas plugins, ejecuta después
./rustserver mods-update; - Tras arrancar, revisa registros, mapa, datos de jugadores y plugins;
- Vuelve a probar 28015/UDP y la lista de servidores desde una red externa.
Usa esto solo cuando encuentres archivos corruptos o un estado anómalo de SteamCMD:
./rustserver validate
No borres manualmente serverfiles/server/rustserver/ sin una copia de seguridad. Ese directorio de identidad contiene el mapa, los guardados, los blueprints, los administradores, los baneos y los datos de emparejamiento de Rust+.
Primero mira los recursos reales; no reinstales de inmediato:
free -h
vmstat 1 10
top
df -h
df -i
iostat -xz 1 10
./rustserver details
./rustserver monitor
Orden habitual de diagnóstico:
- Memoria casi agotada y swap continuo: reduce el mapa, reduce plugins o amplía la memoria;
- Un solo núcleo al máximo durante mucho tiempo: reduce la carga de entidades y plugins, cambia a un VPS con mayor rendimiento de un solo núcleo;
- Latencia de disco alta: confirma que se usa NVMe, comprueba si las copias de seguridad y los registros compiten por E/S al mismo tiempo;
- Servidor no encontrado en la lista: revisa 28017/UDP, el grupo de seguridad de la nube y el query port;
- Tiempo de espera agotado en conexiones directas de jugadores: revisa 28015/UDP, la dirección de escucha y el estado de limpieza DDoS;
- Errores de plugins tras actualizar: actualiza Oxide/uMod y los plugins, y si es necesario verifica primero con Vanilla;
- Rust+ sin conexión: revisa 28082/TCP y si el servidor puede hacer conexiones salientes al servicio Facepunch Companion.
Ampliar el mapa de 3000 a 4500 no es una "mejora de contenido" gratuita; aumenta directamente el tiempo de generación, la memoria, el disco y la escala de entidades. Valida primero con datos de horas punta y luego ajusta gradualmente.
./rustserver debug
tail -n 300 /home/rustserver/log/console/rustserver-console.log
df -h
free -h
Las causas comunes incluyen dependencias faltantes, memoria insuficiente, disco lleno, errores de comillas en la configuración o archivos de SteamCMD corruptos. Lee el primer error real antes de decidir si validar.
Confirma queryport="28017" en la configuración, y que tanto el firewall de la nube como UFW permiten 28017/UDP. El puerto de juego y el puerto de consulta no pueden usar el mismo puerto.
sudo ss -lntp | grep ':28016'
sudo ufw status numbered
Confirma que la IP de origen del cliente coincide con la lista blanca del firewall, y que la contraseña no se ha estropeado por el escape del shell o del archivo de configuración. No abras RCON permanentemente a todas las fuentes solo para probar.
Detén primero las escrituras; no reinicies repetidamente ni ejecutes un nuevo wipe. Comprueba server.identity, la seed, el world size y los nombres de los archivos de guardado, y luego restaura desde la copia de seguridad previa a la actualización en un directorio de prueba aislado. El wipe de mapa y el wipe completo cubren ámbitos de datos distintos, así que debes confirmar cuál se ejecutó antes de restaurar.
Revisa al mismo tiempo el CPU steal, el uso de un solo núcleo, la latencia de disco, la pérdida de paquetes UDP y el estado de limpieza DDoS. Que el servidor de Rust funcione normalmente no significa que la ruta de red esté bien; si jugadores de varias regiones sufren pérdida de paquetes a la vez, revisa primero la red del centro de datos y las alertas de ataque.
- El VPS cumple los requisitos de memoria del mapa y número de jugadores actuales, usando NVMe
- Rust se ejecuta como un usuario dedicado
rustserver, no como root - 28015/UDP y 28017/UDP son accesibles desde redes externas
- 28016/TCP solo permite IP fijas de administrador o VPN
- 28082/TCP no está abierto cuando no se usa Rust+
- RCON usa una contraseña fuerte aleatoria, los permisos del archivo de configuración son 600
- El SteamID64 del administrador está escrito y se ha ejecutado
server.writecfg - Las tareas programadas
monitor,updateybackupse ejecutan realmente - Las copias de seguridad locales tienen una copia externa, y se ha completado un simulacro de recuperación
- Antes de un wipe hay anuncio, guardado, copia de seguridad y una elección clara de map/full
- Las fuentes de los plugins son de confianza, y Oxide/uMod se revisa en sincronía tras las actualizaciones de Rust
- Se han revisado un solo núcleo, memoria, swap, latencia de disco y pérdida de paquetes UDP en horas punta
Si solo son 3-10 personas jugando con amigos, empezar con un mapa de 3000, 12-16 GB de memoria y los mínimos plugins posibles suele ser más estable que buscar desde el principio un mapa grande y una jugabilidad compleja. Si acabas de desplegar un servidor de Minecraft Java, también puedes comparar el tutorial de servidor Minecraft Java en VPS para ver las diferencias entre ambos tipos de servidores de juegos en memoria, puertos y copias de seguridad.