Cómo crear un servidor RP en Garry's Mod desde cero
Par Benjamin D. · PDG
· Mis à jour le 13 de agosto de 2026 · Lecture 12 min

Índice
Montar un servidor RP Garry's Mod en 2026 sigue siendo uno de los proyectos más accesibles del hosting de juegos, pero también uno de los que más se complican cuando llegan los primeros 40 jugadores. Entre DarkRP, addons del Workshop, FastDL, base de datos MySQL y limpieza de props, la diferencia entre un rol fluido y un servidor a 20 FPS está en la configuración. Vamos al grano.
Qué necesita realmente un servidor RP Garry's Mod antes de instalar nada
Un servidor RP Garry's Mod no es un servidor sandbox con un par de addons. Un gamemode de rol como DarkRP carga scripts Lua en cada tick, sincroniza dinero, trabajos, puertas, entidades y armas para todos los jugadores conectados. El cuello de botella casi nunca es la RAM: es el rendimiento monohilo del procesador, porque el motor Source ejecuta la lógica del juego en un único hilo principal.
Requisitos técnicos según el número de slots
| Slots | RAM recomendada | Almacenamiento | Notas |
|---|---|---|---|
| 16-32 | 4 GB | 25 GB NVMe | DarkRP base + 30 addons del Workshop |
| 32-64 | 6-8 GB | 40 GB NVMe | Addons de armas, coches, mapas pesados, MySQL |
| 64-100+ | 10-16 GB | 60 GB NVMe o más | Colección grande, FastDL propio, logs y backups |
El SSD NVMe importa más de lo que parece: al arrancar, el servidor monta cientos de archivos .gma y los mapas de rol tipo rp_downtown o rp_rockford pesan varios cientos de MB. Con almacenamiento mecánico, un reinicio de mapa puede tardar minutos. Con NVMe, segundos.
Dos caminos: panel gestionado o VPS
- Servidor gestionado: instalación instantánea, consola en vivo, gestor de archivos, backups automáticos y anti-DDoS ya activo. Es la vía rápida para lanzar un Servidor Garry's Mod sin tocar Linux.
- VPS: control total, varias instancias en la misma máquina, posibilidad de montar tu propio FastDL y tu MySQL. Requiere administrar el sistema. Un VPS Linux o un VPS Pterodactyl cubren perfectamente este escenario.
Si es tu primer proyecto de rol, empieza gestionado. Si ya administras una comunidad con foro, web y bot de moderación, el VPS te dará más margen. En Nexus Games ambas opciones corren sobre Ryzen 9 y DDR5 ECC, que es exactamente lo que pide el motor Source.
Instalación paso a paso de un servidor RP Garry's Mod con DarkRP
1. Instalar SteamCMD y los archivos base
En un VPS Linux limpio (Debian 12 o Ubuntu 22.04/24.04), lo primero es preparar las dependencias de 32 bits que Source todavía necesita:
sudo dpkg --add-architecture i386
sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 steamcmd screen curl unzip
sudo adduser --disabled-password --gecos "" gmod
sudo su - gmod
mkdir -p ~/gmodserver && cd ~/gmodserver
Descarga los archivos del servidor dedicado (appid 4020):
steamcmd +force_install_dir /home/gmod/gmodserver \
+login anonymous \
+app_update 4020 validate \
+quit
Si trabajas desde un panel de gestión, este paso ya está hecho: eliges Garry's Mod, el servidor se despliega en unos segundos y tienes la consola disponible directamente. Ese es el punto donde el panel te ahorra la parte tediosa.
2. Instalar el gamemode DarkRP
DarkRP es el gamemode de rol de referencia. Necesita también darkrpmodification, el addon donde se editan trabajos, armas y ajustes sin tocar el core (así no pierdes nada al actualizar).
cd /home/gmod/gmodserver/garrysmod/gamemodes
git clone https://github.com/FPtje/DarkRP.git darkrp
cd /home/gmod/gmodserver/garrysmod/addons
git clone https://github.com/FPtje/darkrpmodification.git
Regla de oro: nunca edites archivos dentro de gamemodes/darkrp/. Todo va en addons/darkrpmodification/lua/darkrp_config/ y darkrp_customthings/.
3. Configurar server.cfg
Crea o edita garrysmod/cfg/server.cfg. Una base sólida para rol:
hostname "[ES] Mi Ciudad RP | Serio | Español"
sv_password ""
rcon_password "CambiaEstoPorAlgoLargoYAleatorio"
sv_lan 0
sv_region 3
// Red y tickrate
sv_maxrate 0
sv_minrate 128000
sv_maxupdaterate 66
sv_minupdaterate 33
sv_maxcmdrate 66
sv_mincmdrate 33
net_maxfilesize 64
// Estabilidad
sv_kickerrornum 0
sv_allowcslua 0
sv_timeout 90
gmod_physiterations 2
// Descargas rápidas
sv_downloadurl "https://fastdl.tudominio.com/garrysmod/"
sv_allowdownload 1
sv_allowupload 0
// Límites sandbox útiles en RP
sbox_maxprops 40
sbox_maxragdolls 2
sbox_maxvehicles 0
sbox_maxeffects 0
sbox_godmode 0
sbox_noclip 0
sv_allowcslua 0 es obligatorio: evita que los clientes ejecuten Lua propio, la puerta de entrada clásica de los cheats en Garry's Mod. Y rcon_password debe ser una cadena larga y aleatoria, nunca el nombre del servidor.
4. Línea de arranque
cd /home/gmod/gmodserver
screen -S gmodrp ./srcds_run -game garrysmod \
-console -port 27015 \
+maxplayers 64 \
+gamemode darkrp \
+map rp_downtown_v4c_v2 \
+host_workshop_collection 1234567890 \
-authkey TU_API_KEY_WORKSHOP \
+exec server.cfg \
-tickrate 33
Dos parámetros clave:
- +host_workshop_collection: el ID de tu colección pública del Steam Workshop. Todo lo que metas ahí se descarga automáticamente en el servidor y en los clientes.
- -authkey: tu clave de la Steam Web API, necesaria para que el servidor pueda consultar el Workshop sin límites.
La documentación oficial del motor y de los parámetros de arranque está en el wiki oficial de Garry's Mod, que conviene revisar tras cada actualización mayor.
5. Servicio systemd (VPS)
Para que el servidor arranque solo tras un reinicio de la máquina:
sudo nano /etc/systemd/system/gmodrp.service
[Unit]
Description=Servidor RP Garry's Mod
After=network.target
[Service]
Type=simple
User=gmod
WorkingDirectory=/home/gmod/gmodserver
ExecStart=/home/gmod/gmodserver/srcds_run -game garrysmod -console -port 27015 +maxplayers 64 +gamemode darkrp +map rp_downtown_v4c_v2 +exec server.cfg
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now gmodrp
sudo systemctl status gmodrp
Configurar el rol: trabajos, economía y addons imprescindibles
Ajustes generales de DarkRP
El archivo addons/darkrpmodification/lua/darkrp_config/settings.lua controla el ritmo económico de tu ciudad. Los valores por defecto están pensados para servidores caóticos; en un RP serio conviene bajarlos:
GM.Config.startingmoney = 500
GM.Config.normalsalary = 45
GM.Config.paydelay = 600 -- pago cada 10 minutos
GM.Config.propertytax = false
GM.Config.doorcost = 40
GM.Config.propcost = 5
GM.Config.deathblack = true
GM.Config.respawntime = 8
GM.Config.dropmoneyondeath = false
GM.Config.chatsound = false
GM.Config.voiceradius = true -- voz de proximidad, clave en rol
GM.Config.globalshow = false
GM.Config.adminsents = true
voiceradius a true es probablemente el ajuste que más cambia la experiencia de rol: la voz pasa a ser de proximidad y obliga a los jugadores a estar físicamente cerca para hablar.
Crear trabajos personalizados
Los jobs se definen en darkrp_customthings/jobs.lua. Ejemplo de un trabajo de mecánico coherente con una ciudad:
TEAM_MECANICO = DarkRP.createJob("Mecánico", {
color = Color(70, 130, 180, 255),
model = {"models/player/Group03/male_07.mdl"},
description = [[Repara vehículos y gestiona el taller de la ciudad.]],
weapon = {"weapon_physcannon"},
command = "mecanico",
max = 3,
salary = 70,
admin = 0,
vote = false,
hasLicense = false,
candemote = true,
category = "Ciudadanos",
PlayerSpawn = function(ply)
ply:SetMaxHealth(100)
ply:SetHealth(100)
ply:SetArmor(0)
Recuerda cerrar las funciones y la tabla correctamente (end y })): un error de sintaxis en Lua tumba todo el gamemode al arrancar. Revisa siempre la consola tras añadir un job nuevo.
Addons que sostienen un servidor de rol
| Tipo de addon | Para qué sirve | Impacto en rendimiento |
|---|---|---|
| Administración (ULX/ULib o similar) | Rangos, sanciones, comandos de staff | Bajo |
| PropCleaner / limpieza automática | Elimina props huérfanos cada X minutos | Positivo |
| Sistema de armas (base de SWEPs) | Policía, bandas, tiendas de armas | Medio (modelos y sonidos) |
| Vehículos (Simfphys, LFS) | Coches conducibles para el rol urbano | Alto si abusas del número |
| Anti-cheat Lua serverside | Detección de scripts cliente | Bajo |
Consejo de terreno: no pases de 60-80 addons en la colección. Cada uno añade tiempo de carga al cliente, y un jugador que tarda cuatro minutos en conectarse simplemente cierra el juego. Antes de añadir un addon, pregúntate si aporta rol real o solo decoración.
MySQL para persistencia
Con SQLite (por defecto) todo se guarda en un archivo local. Funciona, pero si algún día quieres varios servidores compartiendo la economía, o backups externos, MySQL es la opción. Instalación básica en el VPS:
sudo apt install -y mariadb-server
sudo mysql_secure_installation
sudo mysql -u root -p
CREATE DATABASE darkrp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'gmoduser'@'localhost' IDENTIFIED BY 'contrasena_larga_aleatoria';
GRANT ALL PRIVILEGES ON darkrp.* TO 'gmoduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Después configura MySQLoo en settings.lua con GM.Config.mysql_host, mysql_username, mysql_password y mysql_database. Verifica siempre en consola que aparece el mensaje de conexión establecida antes de abrir el servidor al público.
Optimización, seguridad y mantenimiento diario
Los cuatro problemas de rendimiento más frecuentes
- Acumulación de props y entidades: en una noche de 50 jugadores es normal llegar a miles de entidades. Configura una limpieza automática de props huérfanos cada 15-20 minutos y limita
sbox_maxprops. - Addons mal optimizados: un solo addon con un hook
Thinkmal escrito puede consumir más que el resto del servidor. Usa el profiler de Lua en consola para identificar qué hooks tardan más. - Mapas demasiado grandes: los mapas de rol enormes con cientos de NPCs y entidades comen memoria y tiempo de carga. Un
rp_downtownoptimizado rinde mejor que un mapa gigante que nadie recorre entero. - Falta de FastDL: sin
sv_downloadurl, las descargas van por el propio servidor de juego y compiten con el tráfico de partida. Monta el FastDL en un servidor web aparte.
Para comprobar el estado del servidor en caliente, desde la consola:
status
stats
net_status
lua_run print(#ents.GetAll())
Si el número de entidades se acerca a 8.000, tienes un problema de limpieza. El límite duro del motor está en 8.192 y al alcanzarlo el servidor crashea.
Reinicios programados
Un servidor de rol activo agradece un reinicio diario en horas de baja afluencia. Vacía la memoria, limpia entidades residuales y aplica actualizaciones de addons:
crontab -e
# Reinicio diario a las 06:00
0 6 * * * /usr/bin/systemctl restart gmodrp
Seguridad: lo que sí hay que hacer
- RCON con contraseña larga y aleatoria (32 caracteres mínimo) y jamás compartida en Discord.
- sv_allowcslua 0 siempre activo en producción.
- Rangos de staff acotados: nadie necesita superadmin salvo el propietario. Los administradores de rol no requieren acceso a la consola del servidor.
- Copias de seguridad regulares de
garrysmod/data/,darkrpmodification/y la base de datos. Las backups automáticas del panel cubren el juego; la base MySQL conviene volcarla también:
mysqldump -u gmoduser -p darkrp > /home/gmod/backups/darkrp_$(date +%F).sql
En un VPS, además, aplica la higiene estándar de Linux:
ssh-keygen -t ed25519 -C "admin@migmod"
sudo nano /etc/ssh/sshd_config # PermitRootLogin no / PasswordAuthentication no
sudo systemctl restart ssh
sudo apt install -y ufw fail2ban
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 27015
sudo ufw allow 27015/udp
sudo ufw enable
sudo systemctl enable --now fail2ban
La protección anti-DDoS volumétrica ya viene incluida por defecto en la infraestructura de Nexus Games, así que no necesitas montar filtrado de tráfico masivo por tu cuenta: céntrate en el acceso administrativo y en la integridad de los datos.
Gestión del día a día con el panel
NexusPanel cubre lo que un gestor de comunidad usa a diario: consola en vivo para leer errores Lua en tiempo real, gestor de archivos para editar jobs.lua sin FTP, reinicio en un clic, instalación de addons y subusuarios para dar acceso limitado a tu equipo técnico sin entregarles el control total. Ese último punto es importante cuando tienes tres o cuatro desarrolladores tocando el servidor.
Si tu comunidad crece más allá de Garry's Mod, la misma lógica se aplica a otros juegos: puedes revisar todos nuestros servidores de juegos o añadir un alojamiento de bots de Discord para gestionar tickets, whitelist de rol y sanciones desde tu servidor de Discord.
Errores frecuentes al lanzar un servidor RP
Abrir el servidor demasiado pronto
Un servidor RP con jobs sin equilibrar, sin normativa escrita y sin staff formado pierde a sus primeros jugadores en 48 horas, y esos jugadores no vuelven. Dedica una o dos semanas a testear en privado con sv_password activado.
Copiar la configuración de otro servidor
Los packs de DarkRP «todo incluido» que circulan por ahí suelen traer addons desactualizados, backdoors en Lua y economías rotas. Construye tu colección del Workshop addon por addon, verificando fecha de actualización y comentarios.
Ignorar los logs
La consola de Garry's Mod es explícita. Los errores [ERROR] addons/xxx/lua/... repetidos cada tick son la causa número uno de caídas de FPS del servidor. Filtra el log y corrige o elimina el addon culpable:
tail -f /home/gmod/gmodserver/garrysmod/console.log | grep -i "error"
Subdimensionar el hardware
Los 64 slots que anuncias solo valen si el servidor los aguanta. Con un procesador de baja frecuencia, un DarkRP con 50 jugadores y coches se arrastra pase lo que pase. Prioriza frecuencia por núcleo y NVMe antes que RAM extra que no vas a usar. Si más adelante necesitas alojar varios gamemodes a la vez, un VPS Pterodactyl te permite gestionar todas las instancias desde un único punto.
Más guías técnicas sobre configuración y administración están disponibles en el Blog de Nexus Games.
Conclusión
Crear un servidor RP Garry's Mod sólido es cuestión de método: base limpia, DarkRP modificado únicamente vía darkrpmodification, colección del Workshop controlada, FastDL activo, limpieza automática de props y copias de seguridad reales. El hardware sostiene la partida, pero la configuración y la moderación son las que hacen que los jugadores vuelvan cada noche. Empieza pequeño, mide y crece.
FAQ
¿Cuánta RAM necesito para un servidor RP Garry's Mod de 64 slots?Entre 6 y 10 GB según el número de addons. Un DarkRP con 60-70 addons del Workshop, coches y sistema de armas se mueve cómodo con 8 GB. Lo determinante no es la RAM sino la frecuencia del procesador, ya que el motor Source ejecuta la lógica del juego en un solo hilo. Un Ryzen 9 con DDR5 ECC y NVMe cubre este perfil sin problema.
¿Por qué mis jugadores tardan tanto en conectarse al servidor?Casi siempre por falta de FastDL o por una colección del Workshop demasiado pesada. Configura sv_downloadurl apuntando a un servidor web con los archivos comprimidos en .bz2, y revisa la colección: elimina addons duplicados, mapas que no usas y packs de modelos innecesarios. Bajar de 3 GB a 800 MB de contenido reduce el tiempo de conexión drásticamente.
Un servidor gestionado si quieres lanzarlo hoy: instalación instantánea, consola en vivo, gestión de archivos, backups automáticas y anti-DDoS incluido, sin administrar Linux. Un VPS si necesitas varias instancias, tu propio FastDL, MySQL dedicado o un panel autoalojado. En ese caso, asegura el acceso con claves SSH, ufw y fail2ban antes de abrir el servidor al público.