Visión General y Arquitectura
Assetto Corsa Server Manager es una interfaz web de código abierto diseñada para gestionar servidores dedicados de Assetto Corsa. Permite crear campeonatos, gestionar contenido y controlar el servidor sin necesidad de editar archivos de texto manualmente.
💡 Filosofía del Proyecto
Esta guía se centra en reutilizar hardware existente ("ese PC viejo") para crear una infraestructura de simracing privada, ahorrando costes mensuales de hosting y manteniendo la privacidad de los datos.
Arquitectura del Sistema
Jugador (AC)
→
Internet (IP Pública)
→
Router (NAT)
→
Server Manager (Puerto 8772)
→
AC Server (Puerto 9600)
Flujo de conexión desde el cliente hasta el proceso del juego.
Requisitos de Hardware
El servidor dedicado de Assetto Corsa (acServer.exe) es una aplicación de consola que calcula física y sincroniza estados. No renderiza gráficos, por lo que los requisitos difieren de los de juego.
Especificaciones Críticas
| Componente |
Mínimo (10-15 Jugadores) |
Recomendado (20+ Jugadores) |
| CPU |
Intel Core 2 Duo / AMD Athlon X2 |
Intel Core i3 (4ta Gen+) / AMD Ryzen 3 |
| RAM |
4 GB DDR3 |
8 GB - 16 GB DDR4 |
| Disco |
HDD 7200RPM |
SSD SATA / NVMe (Crítico para carga de pistas) |
| Red |
Ethernet 100Mbps (Cable) |
Ethernet Gigabit (Cable) |
⚠️ WiFi NO es una opción
La latencia variable (jitter) del WiFi rompe la sincronización física del simulador. El servidor debe conectarse físicamente al router mediante cable Ethernet.
Preparación de Windows
Windows está diseñado para el consumidor, no para servidores. Debemos optimizarlo para que no interfiera (actualizaciones, suspensión).
1. Energía y Rendimiento
# Desactivar Hibernación (ahorra espacio y evita estados suspensivos)
powercfg -h off
# Establecer plan de energía "Alto Rendimiento"
powercfg -setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
# Evitar que el adaptador de red se apague para ahorrar energía
# (En Administrador de dispositivos -> Adaptadores de red -> Tu tarjeta -> Propiedades -> Administración de energía -> Desmarcar todo)
2. Firewall de Windows
Debemos permitir explícitamente el tráfico de Assetto Corsa y del Server Manager.
# Regla para el Panel Web (Server Manager)
New-NetFirewallRule -DisplayName "Assetto Server Manager Web" -Direction Inbound -LocalPort 8772 -Protocol TCP -Action Allow
# Reglas para el Juego (UDP/TCP)
New-NetFirewallRule -DisplayName "Assetto Server UDP" -Direction Inbound -LocalPort 9600 -Protocol UDP -Action Allow
New-NetFirewallRule -DisplayName "Assetto Server TCP" -Direction Inbound -LocalPort 9600 -Protocol TCP -Action Allow
# Puerto HTTP para Plugins (opcional)
New-NetFirewallRule -DisplayName "Assetto HTTP" -Direction Inbound -LocalPort 8081 -Protocol TCP -Action Allow
Configuración de Red Avanzada
1. IP Estática (Enlace Local)
El servidor debe tener una IP local fija (ej: 192.168.1.50) para que el router sepa siempre dónde enviar los datos.
🔧 Ver método PowerShell para IP Estática
Abre PowerShell como administrador y adapta los valores a tu red:
# Obtener nombre del adaptador
Get-NetAdapter
# Configurar IP (Ejemplo: IP 192.168.1.50, Gateway 192.168.1.1)
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.1.50 -PrefixLength 24 -DefaultGateway 192.168.1.1
# Configurar DNS
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 1.1.1.1,8.8.8.8
2. Port Forwarding (Acceso WAN)
Para que tus amigos se conecten desde sus casas, debes abrir puertos en tu router.
| Puerto |
Protocolo |
Destino |
Función |
| 9600 |
UDP |
192.168.1.50 |
Conexión de juego principal (Vital) |
| 9600 |
TCP |
192.168.1.50 |
Sincronización y Lobby |
| 8772 |
TCP |
192.168.1.50 |
Panel Web (Solo si quieres administrar fuera de casa) |
| 8081 |
TCP |
192.168.1.50 |
API HTTP (Plugins como sTracker/KMR) |
🔴 Problema: CGNAT
Si tu IP Pública empieza por 100.x.x.x, tienes CGNAT (Carrier Grade NAT). Esto significa que tu IP no es única, la compartes con otros clientes de tu ISP. El Port Forwarding tradicional no funcionará. Solución: Llama a tu ISP y solicita una IP Pública Fija o contrata un VPS para hacer túnel.
Instalación de Assetto Server Manager
Paso 1: Descarga
Descarga la última versión desde el repositorio oficial:
GitHub Releases
Busca el archivo server-manager-windows-amd64.zip.
Paso 2: Estructura de Archivos
Descomprime en una carpeta corta y sin espacios, ej: C:\AC-Server\.
C:\AC-Server\
├── server-manager.exe # Ejecutable principal
├── config.yml # Archivo de configuración (¡CRÍTICO!)
├── server-install/ # Aquí se instalará el servidor de AC
└── logs/ # Registros de errores
Paso 3: Configuración (config.yml)
Copia config.example.yml a config.yml y edítalo. Basado en el archivo INSTALL.txt proporcionado, esta es la configuración esencial:
# CONFIGURACIÓN DE STEAM
steam:
username: "TU_USUARIO_STEAM"
password: "TU_CONTRASEÑA_STEAM"
# Importante: Usa dobles barras invertidas en Windows
install_path: "C:\\AC-Server\\server-install"
# CONFIGURACIÓN WEB
web:
# 0.0.0.0 permite acceso desde cualquier IP de la red local
address: "0.0.0.0:8772"
secure: false
# BASE DE DATOS
database:
type: "boltdb"
# CUENTAS (CAMBIAR INMEDIATAMENTE)
accounts:
admin_password: "contraseña_segura_123"
⚠️ Steam Guard
La primera vez que ejecutes el servidor, intentará descargar los archivos del juego desde Steam. Si tienes Steam Guard activado, el proceso se detendrá esperando el código SMS. Mantén la ventana de la consola visible para introducir el código si es necesario.
Paso 4: Ejecución
Haz doble clic en server-manager.exe. Se abrirá una ventana de consola negra. Cuando veas el mensaje Listening on :8772, abre tu navegador y ve a:
http://localhost:8772
Login por defecto: Usuario: admin | Contraseña: servermanager (o la que pusiste en config.yml).
Uso y Características Avanzadas
Interfaz Web y Opciones
El Server Manager reemplaza la tediosa edición de server_cfg.ini y entry_list.ini por una interfaz gráfica moderna.
Quick Race
Configura y lanza una sesión rápida en segundos. Ideal para probar configuraciones o jugar con amigos de forma espontánea.
Custom Race
Control total sobre cada parámetro: clima, sesiones, combustible, neumáticos, etc. Guarda tus configuraciones como presets.
Championships
Sistema completo de campeonatos con gestión de puntos, equipos, clases y formularios de inscripción.
Race Weekends
Configura eventos secuenciales (ej: Clasificación el sábado, Carrera el domingo) que se conectan entre sí automáticamente.
Integración con Plugins (sTracker / KMR)
Server Manager facilita la instalación de plugins críticos:
- sTracker: Estadísticas detalladas, rankings y gestión de resultados.
- KissMyRank: Ranking global y tablas de tiempos en vivo.
- Real Penalty: Sistema de penalización automático para cortes de pista y saltos de salida.
Ve a la pestaña correspondiente en el panel web para configurar los puertos automáticamente.
Gestión de Contenido (Cars/Tracks)
El servidor necesita los archivos del contenido para enviarlo a los clientes.
Subida vía Web
Ve a la pestaña Content. Puedes arrastrar y soltar carpetas comprimidas (ZIP) o carpetas sueltas de pistas y coches.
Copia Manual (Método Rápido)
Si ya tienes Assetto Corsa instalado en tu PC de juego:
- Ve a
C:\Archivos de Programa\Steam\steamapps\common\assettocorsa\content.
- Copia las carpetas
cars y tracks a un USB.
- Pégalas en
C:\AC-Server\server-install\content en el servidor.
💡 Permisos de Escritura
Asegúrate de que el usuario que ejecuta server-manager.exe tiene permisos de escritura en la carpeta de instalación y en la carpeta de contenido.
Mantenimiento y Actualización
Actualización del Server Manager
Sigue estos pasos para no perder tus datos:
- Haz una copia de seguridad de
server_manager.db (tu base de datos) y config.yml.
- Descarga la nueva versión.
- Reemplaza el ejecutable
server-manager.exe.
- Lee el CHANGELOG para ver si hay cambios necesarios en la config.
- Inicia el nuevo ejecutable.
Logs y Diagnóstico
Si el servidor falla, revisa la carpeta logs. El archivo server-manager.log mostrará errores de la aplicación, mientras que los logs de AC Server mostrarán errores de conexión.
Solución de Problemas Comunes
🔴 "Could not load track"
El servidor no encuentra la pista o está corrupta. Asegúrate de que la carpeta de la pista esté en content/tracks y tenga los archivos .kn5 y data.
🔴 "Session Closed" inmediato
Generalmente causado por puertos bloqueados. Verifica que el puerto UDP 9600 esté abierto en el firewall de Windows y en el router.
⚠️ Lag constante en el servidor
Revisa tu velocidad de subida (Upload Speed). Para 20 jugadores se recomiendan al menos 10Mbps de subida estable. Si usas WiFi, cambia a cable.
📖 Errores de Steam al descargar el servidor
Si el log muestra "No license" o errores de login:
- Asegúrate de que la cuenta de Steam usada en
config.yml es correcta.
- Si usas Steam Guard, vigila la consola para introducir el código.
- Verifica que la cuenta posee Assetto Corsa en la biblioteca (no es necesario instalarlo, pero sí tener la licencia).