El servidor de txAdmin no arranca: 10 errores comunes y cómo solucionarlos

9 min de lectura

  • txadmin
  • error fxserver
  • servidor no arranca

Cuando txAdmin muestra el servidor como “starting” y nunca se pone en verde, la causa es casi siempre una de diez: una clave de licencia incorrecta o reutilizada, un puerto ya en uso, una dirección de bind equivocada, una base de datos que rechaza la conexión, un mysql_connection_string mal escrito, recursos arrancados en el orden incorrecto, sv_licenseKey en el archivo equivocado, artefactos antiguos, un acceso de administrador perdido o permisos de archivos en Linux. Cada una imprime una línea reconocible en la consola en vivo de txAdmin. Encuentra esa línea, búscala abajo, aplica la solución y reinicia.

Abre primero la consola en vivo (barra lateral de txAdmin, “Live Console”) y baja hasta la primera línea roja después del banner de arranque. Los errores que vienen después suelen ser consecuencia de ese primero.

1. Clave de licencia inválida o vinculada a otro servidor

La consola dice algo como:

[svadhesive] Server license key not found or invalid!

o, cuando la clave ya está en uso en otro sitio:

Could not authenticate server license key. Server key is already in use by another server.

Causa. La clave en server.cfg es incorrecta, tiene espacios de más, se pegó con un salto de línea o la está usando ahora mismo otro servidor en ejecución (una segunda instancia de txAdmin, un VPS viejo que olvidaste apagar o un amigo que copió tu configuración).

Solución. Abre el Cfx.re Portal, comprueba la clave y pégala de nuevo en una sola línea:

sv_licenseKey "cfxk_XXXXXXXXXXXXXXXXXXXX_XXXXXX"

Si la clave está en uso en otro sitio, apaga el otro servidor o genera una clave nueva. Las claves son baratas; el tiempo que pasas depurando no.

2. Puerto 30120 o 40120 ya en uso

La consola dice:

Could not bind on 0.0.0.0:30120

o el propio txAdmin se niega a abrir con un mensaje sobre que el puerto 40120 no está disponible.

Causa. Otro proceso está ocupando el puerto. Normalmente es un FXServer anterior que no cerró limpiamente, a veces un segundo servidor en la misma máquina, en ocasiones otro juego o servicio.

Solución. Encuentra y detén el proceso.

Windows:

netstat -ano | findstr :30120
taskkill /PID <pid> /F

Linux:

sudo ss -tulpn | grep 30120
sudo kill <pid>

Si de verdad necesitas dos servidores en una máquina, cambia los endpoints en el segundo server.cfg:

endpoint_add_tcp "0.0.0.0:30121"
endpoint_add_udp "0.0.0.0:30121"

y arranca el segundo txAdmin con un puerto distinto, por ejemplo +set txAdminPort 40121.

3. Dirección de bind configurada en 127.0.0.1

La consola no dice nada alarmante. El servidor arranca, txAdmin se pone en verde y nadie fuera de tu máquina puede conectarse. La conexión directa da timeout.

Causa. server.cfg tiene:

endpoint_add_tcp "127.0.0.1:30120"
endpoint_add_udp "127.0.0.1:30120"

que solo escucha en la interfaz de loopback. Algunos paneles de hosting también lo inyectan para evitar exposición pública hasta que lo configures.

Solución. Cambia ambas líneas a 0.0.0.0:30120 y asegúrate de que el puerto está abierto en tu router o permitido en el firewall del VPS (ufw allow 30120/tcp y ufw allow 30120/udp en Ubuntu).

4. Falta oxmysql o la base de datos rechaza la conexión

La consola dice:

[oxmysql] Unable to establish a connection to the database (ECONNREFUSED)!

o:

[oxmysql] Access denied for user 'root'@'localhost' (using password: YES)

Causa. El primero significa que MariaDB o MySQL no está en ejecución, o está escuchando en otro host o puerto. El segundo significa que el usuario o la contraseña de tu cadena de conexión son incorrectos. Si no ves ninguna línea [oxmysql] y los recursos del framework se quejan de que MySQL es nil, oxmysql no está en server.cfg o se arranca demasiado tarde.

Solución. Comprueba que el servicio de base de datos está levantado (systemctl status mariadb en Linux, el panel de Servicios en Windows o el panel de control de XAMPP). Inicia sesión con las mismas credenciales desde una terminal: mysql -u fivem -p. Si eso falla, el problema es el usuario, no FiveM. Después asegúrate de que ensure oxmysql está cerca del principio de server.cfg, antes del framework.

5. mysql_connection_string incorrecto

La consola dice:

[oxmysql] Unknown database 'fivem'

o un error de conexión que menciona un host que no reconoces.

Causa. La cadena de conexión tiene una errata en el nombre de la base de datos, el host o el formato. Hay dos formatos aceptados y mezclarlos rompe el parseo.

Solución. Usa uno de estos, adaptado a tus valores:

set mysql_connection_string "mysql://fivem:password@localhost/fivem?charset=utf8mb4"
set mysql_connection_string "server=localhost;uid=fivem;password=password;database=fivem;charset=utf8mb4"

Si tu contraseña contiene @, : o /, usa el segundo formato (con punto y coma) o codifica los caracteres en URL en el primero. Y pon esta línea antes de ensure oxmysql, porque el recurso la lee al arrancar.

6. Recursos arrancados en el orden incorrecto

La consola dice:

SCRIPT ERROR: @qb-garages/server/main.lua:3: attempt to index a nil value (global 'lib')

o (global 'MySQL'), o (global 'QBCore'), o Couldn't find resource ox_lib.

Causa. El script se ejecutó antes de que se cargara su dependencia. Las líneas ensure de server.cfg se ejecutan de arriba abajo, y un recurso que declara dependency 'ox_lib' en su manifiesto seguirá fallando si ox_lib simplemente nunca se arranca.

Solución. Ordena el principio de server.cfg así y deja tus propios recursos al final:

ensure oxmysql
ensure ox_lib
ensure qb-core        # o es_extended / qbx_core
ensure ox_inventory   # si se usa
# recursos del framework
# tus recursos personalizados al final

Comprueba también que el fxmanifest.lua del script tiene shared_script '@ox_lib/init.lua' cuando usa lib.; si falta esa línea da el mismo error de nil aunque el orden sea correcto.

7. sv_licenseKey en el archivo cfg equivocado

La consola dice el mismo mensaje de “license key not found” que en el error 1, pero estás seguro de que la clave es correcta.

Causa. Los despliegues de txAdmin tienen el server.cfg en txData/<perfil>/, pero muchos tutoriales ponen la clave en un segundo archivo (config.cfg, permissions.cfg) o en el server.cfg raíz de una instalación manual. txAdmin solo lee el archivo cfg configurado en “Settings > FXServer > CFG File Path”.

Solución. Abre los ajustes de txAdmin, anota la ruta exacta del cfg y pon sv_licenseKey en ese archivo. Elimina las líneas sv_licenseKey duplicadas en otros sitios; si dos archivos la definen, gana la última que se carga y rara vez es la que editaste.

8. Artefactos desactualizados

La consola dice cosas como:

This server artifact version is no longer supported

o los recursos fallan con natives que “no existen”, o los clientes son expulsados por incompatibilidad de versión.

Causa. La build de FXServer es demasiado antigua. Cfx.re retira el soporte de artefactos viejos y el cliente se actualiza solo, así que un servidor que funcionaba bien el mes pasado puede empezar a rechazar conexiones.

Solución. Descarga la última build recomendada desde la página de artefactos, apaga el servidor, sustituye la carpeta de artefactos (alpine/ y run.sh en Linux, la carpeta completa en Windows) y arranca de nuevo. txData/ está separado de los artefactos, así que tu configuración y tus recursos sobreviven. Guarda una copia de la build anterior hasta confirmar que la nueva funciona; de vez en cuando una build “latest” tiene una regresión y querrás volver a la recomendada anterior.

9. Acceso de administrador maestro de txAdmin perdido

La consola no dice nada. txAdmin abre en localhost:40120 y no puedes iniciar sesión.

Causa. Se cambió la contraseña maestra, se sustituyó el archivo txData/admins.json o el servidor lo configuró otra persona.

Solución. Apaga el servidor por completo y arranca FXServer una vez con el flag de reinicio:

FXServer.exe --reset-admin
./run.sh --reset-admin

txAdmin imprime un PIN nuevo en la consola; abre el panel web, introdúcelo y podrás recuperar la cuenta maestra. Si ese flag no está disponible en tu build, la alternativa es editar txData/admins.json directamente: apaga el servidor, sustituye el hash de contraseña de tu usuario por un hash bcrypt nuevo y arranca de nuevo. Verifica el procedimiento exacto en la documentación de txAdmin de tu versión, porque ha cambiado entre versiones.

10. Errores de permisos en Linux

La consola dice:

bash: ./run.sh: Permission denied

o FXServer arranca y después falla al escribir en txData con EACCES.

Causa. Los archivos de artefactos perdieron el bit de ejecución (habitual tras descomprimir con la herramienta equivocada o copiar pasando por Windows), o txData pertenece a root mientras el servidor corre con otro usuario.

Solución.

chmod +x run.sh alpine/opt/cfx-server/FXServer
sudo chown -R fivem:fivem /home/fivem/server

Ejecuta el servidor como el usuario fivem, no como root. Correr como root funciona hasta el día en que un script escribe donde no debe.

Cómo leer la consola en vivo de txAdmin más rápido

Unos hábitos que reducen el tiempo de depuración a la mitad:

  • Busca el primer error, no el último. Sube hasta el banner de arranque y lee hacia abajo. La primera línea roja es la causa; las siguientes son consecuencias.
  • Busca SCRIPT ERROR y Couldn't. Esas dos cadenas explican la mayoría de fallos de recursos.
  • Fíjate en el nombre del recurso entre corchetes. [ script:qb-garages ] te dice qué carpeta abrir.
  • Usa refresh y ensure <recurso> desde la consola para reiniciar un solo recurso en lugar de todo el servidor mientras pruebas.
  • Revisa txData/logs/ cuando la consola ya haya pasado lo que necesitas. El archivo de log del servidor lo guarda todo.

Nuestra skill fivem-basics incluye las cadenas de error habituales y qué significan, lo que ayuda si estás pegando la salida de consola en Cursor o Claude Code y quieres una respuesta directa.

Cómo FiveAI lo encuentra por ti

Todo lo anterior es reconocimiento de patrones: leer la consola, identificar la línea, aplicar la solución conocida. Eso es lo que hace FiveAI en tu máquina. Se conecta a txAdmin, lee la consola en vivo y los archivos de log, comprueba la conexión a la base de datos con tu mysql_connection_string real y te dice cuál de estos diez (o algo más raro) está pasando, y luego te ofrece la solución. Tú dices “el servidor no arranca desde el último reinicio” y va a mirar, en lugar de que tú te desplaces por 800 líneas de salida de arranque. Además corre en local, así que tu configuración, tus claves y tu base de datos nunca salen del servidor.

Preguntas frecuentes

¿Por qué txAdmin dice que el servidor arrancó pero nadie puede conectarse?

El proceso del servidor está en ejecución, pero no es accesible. Revisa el error 3 (dirección de bind 127.0.0.1) y el firewall o el reenvío de puertos de tu router para el puerto 30120 TCP y UDP. Conéctate directamente a 127.0.0.1:30120 desde la misma máquina para confirmar que el servidor en sí está bien.

¿Cómo restablezco la contraseña de txAdmin?

Apaga el servidor y arranca FXServer una vez con --reset-admin (ver error 9). Imprime un PIN que usas para recuperar la cuenta maestra. Si tu build no soporta el flag, edita txData/admins.json y sustituye el hash de contraseña.

¿Necesito reinstalar txAdmin después de actualizar los artefactos?

No. txAdmin viene dentro de los artefactos y se actualiza con ellos. Tu perfil vive en txData/, que conservas. Sustituye la carpeta de artefactos, arranca el servidor y txAdmin recoge el perfil existente.

Añade estas skills a Cursor, VS Code o Claude Code para que la IA conozca las APIs reales que se mencionan en este artículo.