← Blog

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

Ilustración del artículo : Cómo crear un servidor RP en Garry's Mod desde cero
Í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

  1. 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.
  2. Addons mal optimizados: un solo addon con un hook Think mal escrito puede consumir más que el resto del servidor. Usa el profiler de Lua en consola para identificar qué hooks tardan más.
  3. Mapas demasiado grandes: los mapas de rol enormes con cientos de NPCs y entidades comen memoria y tiempo de carga. Un rp_downtown optimizado rinde mejor que un mapa gigante que nadie recorre entero.
  4. 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.

¿Es mejor un servidor gestionado o un VPS para alojar DarkRP?

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.