Cómo Crear un Servidor SA-MP desde Cero en VPS Windows: Guía Paso a Paso

Aprende a crear un servidor SA-MP desde cero en VPS Windows: descarga del paquete oficial, configuración de server.cfg, apertura de puertos y primera conexión.

Levantar un servidor SA-MP en VPS Windows sigue siendo un camino común en 2026, principalmente para comunidades hispanas y brasileñas de Roleplay que mantienen gamemodes legados corriendo en la build 0.3.7 R5. Lo que traba al principiante casi nunca es el juego en sí — son detalles de infraestructura: puerto 7777 en TCP en lugar de UDP, RCON con contraseña por defecto, announce desactivado, o el firewall de Windows bloqueando el samp-server.exe.

Este tutorial cubre el camino completo desde cero: descarga oficial, estructura de carpetas, configuración mínima funcional, firewall y validación de conectividad. El público objetivo es quien nunca corrió el samp-server y quiere empezar con una base sólida para evolucionar después hacia un gamemode personalizado en Pawn.

Tiempo estimado de ejecución: alrededor de 30 minutos desde el primer RDP hasta que el servidor aparezca en el cliente del juego.

Requisitos previos

Lo que necesitas antes de empezar

VPS Windows Server 2019 o 2022 con un mínimo de 2 vCPUs, 2 GB de RAM y 20 GB de disco SSD. Acceso administrativo vía RDP, y el cliente SA-MP 0.3.7 R5 instalado en tu máquina para probar la conexión (descarga en sa-mp.com).

SO recomendado Windows Server 2022
Puerto SA-MP 7777 (UDP)
Build oficial 0.3.7-R5-1-1
RAM mínima 2 GB
vCPU mínima 2 cores

SA-MP es single-thread, así que un clock alto de CPU pesa más que la cantidad de cores. Disco SSD es recomendado pero no crítico — el gamemode carga todo en memoria al inicio y casi no toca el disco después.

Descargar el paquete oficial de SA-MP Server

El paquete oficial es el ZIP distribuido en sa-mp.com, que contiene el samp-server.exe, la configuración por defecto y los gamemodes de ejemplo. Descarga siempre desde la fuente oficial: los paquetes redistribuidos en foros frecuentemente vienen con plugins con backdoor.

01

Conéctate a la VPS vía RDP usando las credenciales que recibiste al provisionar. Abre PowerShell como administrador y crea la estructura de carpetas:

New-Item -ItemType Directory -Path "C:\samp-server" -Force
Set-Location "C:\samp-server"

Mantener el servidor en C:\samp-server (raíz, sin espacios) evita problemas con plugins antiguos que no manejan bien paths largos o con espacios.

02

Descarga el paquete Windows de la build 0.3.7-R5-1-1:

Invoke-WebRequest -Uri "https://files.sa-mp.com/samp037_svr_R5-1-1_win32.zip" -OutFile "samp-server.zip"
Expand-Archive -Path "samp-server.zip" -DestinationPath "." -Force

El Expand-Archive crea una subcarpeta samp03 con todo el contenido. Mueve los archivos a la raíz para simplificar:

Move-Item -Path ".\samp03\*" -Destination "." -Force
Remove-Item -Path ".\samp03" -Recurse
Remove-Item -Path ".\samp-server.zip"
03

Confirma que los archivos principales estén presentes:

Get-ChildItem | Select-Object Name, Length | Format-Table

Deberías ver al menos: samp-server.exe, samp-npc.exe, server.cfg, announce.exe, y las carpetas gamemodes, filterscripts, scriptfiles, plugins y npcmodes. Si falta alguno de ellos, la descarga vino incompleta — repite el paso anterior.

Configurar el server.cfg

El server.cfg es el archivo central de configuración. Define gamemode, RCON, nombre del servidor, slots y plugins. La configuración por defecto es insegura y necesita ajustes mínimos antes de levantar.

04

Genera una contraseña RCON fuerte antes de editar el archivo:

$rcon = -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 24 | ForEach-Object {[char]$_})
Write-Output $rcon

Copia el valor generado — lo vas a pegar en el server.cfg en el próximo paso. Guárdalo también en un gestor de contraseñas; sin RCON pierdes el acceso administrativo al servidor en runtime.

05

Abre el server.cfg en Notepad y reemplaza el contenido con la configuración mínima funcional:

echo Ejecutando server.cfg...
lanmode 0
rcon_password TU_CONTRASENA_RCON_AQUI
maxplayers 100
port 7777
hostname Mi Servidor SA-MP
gamemode0 grandlarc 1
filterscripts gl_actions gl_property gl_realtime
announce 1
query 1
chatlogging 1
weburl www.sa-mp.com
onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300.0
stream_rate 1000
maxnpc 0
logtimeformat [%H:%M:%S]
language Spanish

Reemplaza TU_CONTRASENA_RCON_AQUI por la contraseña que generaste en el paso anterior, y ajusta hostname con el nombre real de tu servidor.

Nunca dejes rcon_password por defecto

Los bots escanean el rango de IPs de hosters conocidos buscando servidores SA-MP con rcon_password changeme o admin. Con el RCON capturado, el atacante ejecuta exec para cargar filterscripts maliciosos. Cambiarla antes del primer boot es obligatorio.

Abrir el puerto 7777 en el firewall

Por defecto, Windows Server bloquea el tráfico inbound en puertos no estándar. Necesitas crear una regla explícita para UDP 7777, y también para el samp-server.exe a nivel de aplicación.

06

Crea la regla de firewall para UDP 7777 vía PowerShell:

New-NetFirewallRule -DisplayName "SA-MP Server UDP 7777" `
  -Direction Inbound `
  -Protocol UDP `
  -LocalPort 7777 `
  -Action Allow `
  -Profile Any

La flag -Profile Any aplica en Domain, Private y Public — necesario porque la interfaz de red de la VPS probablemente está categorizada como Public.

07

Agrega también la excepción a nivel del ejecutable, para cubrir el caso de antivirus o políticas más restrictivas:

New-NetFirewallRule -DisplayName "SA-MP Server EXE" `
  -Direction Inbound `
  -Program "C:\samp-server\samp-server.exe" `
  -Action Allow `
  -Profile Any

Si tienes un firewall externo (security group del proveedor o WAF), libera UDP 7777 inbound desde 0.0.0.0/0 ahí también — el firewall de Windows no cubre las reglas de borde.

Iniciar el servidor y validar

Con la configuración y el firewall listos, es hora de levantar el proceso. La primera ejecución va a exponer problemas que quedaron silenciosos en la configuración — log incompleto, gamemode faltante, o plugin con la versión equivocada.

08

Inicia el servidor por primera vez en modo interactivo (para ver el log directo):

Set-Location "C:\samp-server"
.\samp-server.exe

La ventana de consola debe abrir y mostrar algo similar a:

SA-MP Dedicated Server
----------------------
v0.3.7-R5-1-1, (C)2005-2015 SA-MP Team

[15:42:01] Server Plugins
[15:42:01] --------------
[15:42:01]  Loaded 0 plugins.

[15:42:01] Filterscripts
[15:42:01] ---------------
[15:42:01]   Loading filterscript 'gl_actions.amx'...
[15:42:01]   Loading filterscript 'gl_property.amx'...
[15:42:01]   Loading filterscript 'gl_realtime.amx'...
[15:42:01]  Loaded 3 filterscripts.

[15:42:02] Number of vehicle models: 0
[15:42:02] Loading gamemode 'grandlarc.amx'...

Si aparece “Unable to load gamemode” o “Filterscript could not be loaded”, confirma que los archivos .amx están presentes en gamemodes\ y filterscripts\.

09

En otra ventana RDP (sin cerrar el servidor), confirma que el puerto está en LISTEN:

Get-NetUDPEndpoint -LocalPort 7777

Deberías ver una línea con LocalAddress: 0.0.0.0 y LocalPort: 7777. Si aparece “No matching MSFT_NetUDPEndpoint objects found”, el servidor no levantó correctamente o está escuchando en otro puerto — revisa la línea port en el server.cfg.

10

Abre el cliente SA-MP en tu máquina local, ve a Agregar Dirección e ingresa IP_DE_LA_VPS:7777. El servidor debe aparecer con el hostname configurado, el ping actual y la cantidad de jugadores (0/100).

Conéctate con cualquier nick y escribe en el chat:

/rcon login TU_CONTRASENA_RCON

Si el RCON acepta (mensaje “You are logged in as admin”), la configuración está completa. Prueba con /rcon cmdlist para confirmar los comandos administrativos.

Verificación

Para confirmar que el servidor está visible externamente y responde a la query, usa el checker oficial. En el navegador, accede a https://sa-mp.com/server/TU_IP:7777. Deberías ver los datos del servidor (hostname, players, gamemode, ping) renderizados en la página.

Si la página retorna “Server offline” aún con el proceso corriendo, el problema es firewall en algún nivel — proveedor de VPS, Windows Defender, o ISP del proveedor bloqueando UDP. Confirma con Test-NetConnection -ComputerName TU_IP -Port 7777 ejecutado desde otra máquina externa.

Resolución de problemas

”Failed to load filterscript ‘gl_actions.amx’”

El archivo .amx no está en C:\samp-server\filterscripts\ o tiene permisos denegados. Ejecuta icacls C:\samp-server /grant Everyone:F /T en PowerShell admin para resetear permisos. Confirma con Get-ChildItem .\filterscripts\*.amx que los 3 filterscripts (gl_actions, gl_property, gl_realtime) existen.

El servidor aparece en el cliente pero connect da timeout

Casi siempre es UDP bloqueado en algún hop entre cliente y servidor. La query (que muestra los datos) usa el mismo UDP 7777 pero envía paquetes pequeños que pasan más fácil. Los paquetes de gameplay son más grandes y pueden ser fragmentados en redes mal configuradas. Prueba desde otra red (4G del celular) para aislar.

samp-server.exe se cierra solo al iniciar

Probablemente SmartScreen o el antivirus mató el proceso. Ve a Seguridad de Windows → Protección basada en reputación y desactiva “Bloqueo de aplicaciones potencialmente no deseadas”, o agrega C:\samp-server como carpeta de exclusión. Reabrir el samp-server.exe debe funcionar.

Ejecuta como servicio para producción

En producción, usa NSSM (Non-Sucking Service Manager) para correr el samp-server.exe como servicio de Windows. Esto garantiza restart automático ante crash y al boot de la VPS. Comando: nssm install SAMP "C:\samp-server\samp-server.exe" — después nssm start SAMP.

Próximos pasos

Con el servidor corriendo, el próximo bloque es customización y operación:

  • Cambiar al gamemode personalizado: reemplaza grandlarc.amx en gamemodes\ y actualiza gamemode0 en el server.cfg. Mantén el original como backup.
  • Instalar plugins comunes (sscanf, streamer, MySQL): descarga los DLLs en forum.sa-mp.com, ponlos en plugins\ y agrega la línea plugins sscanf streamer mysql al server.cfg.
  • Backup automatizado de scriptfiles: la carpeta scriptfiles\ guarda datos persistentes (cuentas, estadísticas). Agenda una task de Windows para hacer dump diario en un storage externo.
  • Monitoreo: configura alertas si el proceso cae o si el ping supera un threshold. Sistemas simples de healthcheck (UptimeRobot apuntando a la query externa) cubren lo básico.

Si vas a poner esto en producción para una comunidad real, una VPS Hostini con SSD NVMe ya viene con latencia optimizada para player latinoamericano y protección DDoS gestionada en el edge — útil porque los servidores SA-MP de comunidades hispanas son blanco frecuente de ataques UDP flood.

Preguntas frecuentes

¿Cuál es la diferencia entre SA-MP 0.3.7 y open.mp?

SA-MP 0.3.7 R5 es la build final oficial del equipo original, congelada desde 2022. Open.mp es el fork mantenido por la comunidad, compatible con gamemodes 0.3.7 y con correcciones de seguridad activas. Para un servidor nuevo en 2026, open.mp es la elección técnica más segura, pero este tutorial cubre el SA-MP clásico porque sigue siendo el que la mayoría de los gamemodes legados (principalmente hispanos y BR) asumen como base.

¿Necesito abrir el puerto 7777 en TCP, UDP o ambos?

Solo UDP. SA-MP usa exclusivamente UDP 7777 para gameplay y query. Si abres solo TCP, el servidor ni siquiera responde al ping del master list. Si quieres exponer la query externa (usada por sitios de estadísticas), también es UDP 7777 — mismo puerto, mismo protocolo.

¿Por qué mi servidor no aparece en la lista interna de SA-MP?

Tres causas comunes: announce 0 en server.cfg, puerto 7777 UDP cerrado en el firewall de Windows, o la IP pública de la VPS está en un rango bloqueado por el master list. Confirma con sa-mp.com/server/IP:7777 — si carga datos, el servidor está bien y el problema es solo el master list tardando en indexar (hasta 30 minutos).

¿Cuántos slots aguantan 2 GB de RAM y 2 vCPUs?

Un servidor vanilla con gamemode ligero corre 100 slots tranquilo en esa especificación. Con gamemode completo tipo Roleplay (LS Life, Latin Roleplay, similares) y 50+ filterscripts, espera entre 200 y 500 slots estables. SA-MP es single-thread por diseño — una vCPU rápida vale más que muchos cores.

¿La RCON password por defecto es segura?

No. El server.cfg viene con `rcon_password changeme` por ejemplo, y cualquier servidor con RCON expuesto y contraseña débil es escaneado en horas — los atacantes obtienen acceso para ejecutar comandos a nivel de servidor. Cámbiala por una contraseña aleatoria de 20+ caracteres y considera deshabilitar el RCON remoto si solo administras desde la consola local.

¿Necesito Windows Server o Windows 10 normal sirve?

Windows Server 2019 o 2022 es la elección técnica correcta: mejor scheduler para cargas de larga duración, sin el límite de 20 conexiones inbound que tiene Windows 10/11, y soporte oficial para correr como servicio vía NSSM. Windows desktop funciona para desarrollo local, pero en producción vas a chocar con el límite de conexiones y el samp-server.exe puede ser bloqueado por SmartScreen.

Temas:
Próximos pasos VPS, dedicado o panel gestionado para FiveM, SAMP, MTA, Tibia y más.Aloja tu servidor de juegos con Hostini →
¿Te resultó útil este tutorial?
Hablar por WhatsApp