Usar cupón WELCOME para guardar 20%

€ EUR
  • $ USD
  • € EUR
  • £ GBP
  • $ AUD
  • R$ BRL
  • CHF CHF
  • ¥ yenes
Cómo ejecutar un servidor FiveM usando Docker

Ejecuta FiveM en Docker con datos persistentes y txAdmin privado

Una implementación de Docker necesita datos de servidor persistentes, exposición de puertos deliberada y un par de imagen/configuración recuperable. El ejemplo siguiente utiliza la imagen spritsail mantenida por la comunidad en un host Linux; sus rutas y variables de entorno son específicas de esa imagen, no opciones universales de FXServer.

Los ejemplos de configuración y código aquí están dirigidos a FiveM para GTA V Legacy. Enhanced tiene diferentes reglas de tiempo de ejecución y compatibilidad; consulta los cambios de Legacy a Enhanced de Cfx.re antes de aplicarlos a un servidor Enhanced.

Prepara el host

Instala Docker Engine y el plugin Compose usando las instrucciones de Docker para tu host. Utiliza primero una implementación de prueba aislada. Confirma que la arquitectura del host, los puertos disponibles y la versión de la imagen se ajustan a tu servidor previsto.

Crea un directorio privado de proyecto con los subdirectorios data/ y txData/. La imagen utiliza /config para los datos del servidor y /txData para txAdmin. Restringe el acceso a los directorios del host y las copias de seguridad, porque contendrán credenciales.

Crea compose.yaml

Guarda esto como compose.yaml en ese directorio del proyecto. Deja la configuración de la licencia a la configuración protegida de txAdmin/servidor y enlaza el puerto de administración al loopback del host.

services:
  fivem:
    image: spritsail/fivem:stable
    environment:
      NO_DEFAULT_CONFIG: "1"
      NO_LICENSE_KEY: "1"
    volumes:
      - ./data:/config
      - ./txData:/txData
    ports:
      - "30120:30120/tcp"
      - "30120:30120/udp"
      - "127.0.0.1:40120:40120/tcp"
    stdin_open: true
    tty: true
    restart: unless-stopped
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

La etiqueta stable de la imagen es mutable y sigue la definición del mantenedor de la imagen de origen. Lee la información de su versión y su código fuente antes de desplegarla; no trates la palabra «stable» como una garantía comprobada mediante pruebas. Después de probarla, sustituye la referencia de la imagen por el digest exacto que hayas registrado de la imagen descargada.

Inicia y configura txAdmin

Desde el directorio del proyecto en el host de Docker, ejecuta:

docker compose config --quiet
docker compose pull
docker compose up -d
docker compose logs --tail=100 fivem

Accede a txAdmin localmente en http://127.0.0.1:40120. Desde tu estación de trabajo, crea un túnel SSH a tu host real usando ssh -L 40120:127.0.0.1:40120 user@your-server, luego abre esa misma dirección local en tu navegador. Utiliza tu cuenta/nombre de host SSH real. No publiques PINs de configuración ni la salida del registro que contenga credenciales.

Sigue la configuración de txAdmin y elige una ubicación de server-data dentro de /config, o en otro directorio persistente montado explícitamente. Introduce la licencia de servidor válida de forma privada. Si la receta seleccionada necesita una base de datos, provisiónala por separado y mantén su puerto privado; este ejemplo de Compose no incluye una.

Verifica la red y la persistencia

Permite el punto final del jugador previsto a través de la red del host/proveedor para TCP y UDP. Comprueba el acceso desde fuera del host. Los puertos publicados por Docker interactúan con las reglas del firewall de Docker y pueden omitir las reglas de entrada UFW ordinarias; consulta la documentación del firewall de Docker en lugar de pegar un conjunto de reglas de firewall de reemplazo.

Completa una conexión de prueba, inspecciona los errores de recursos y crea un cambio de configuración inofensivo. Vuelve a crear el contenedor con docker compose up -d --force-recreate y confirma que el perfil/configuración persiste. Una respuesta HTTP de info.json es solo una verificación básica de disponibilidad, no una prueba de la salud del juego.

Haz una copia de seguridad de un conjunto consistente

Programa el mantenimiento y detén las escrituras del juego. Haz una copia de seguridad de los directorios montados, la definición de Compose, la configuración privada y cualquier base de datos externa como un conjunto de recuperación coincidente. Para datos solo de archivos mientras el servicio está detenido, se puede crear un archivo privado desde el directorio del proyecto con:

umask 077
docker compose stop fivem
tar -czf "../fivem-files-$(date -u +%Y%m%dT%H%M%SZ).tgz" compose.yaml data txData
docker compose start fivem

Verifica que la creación del archivo se haya realizado correctamente antes de reiniciar como parte de tu manual de procedimientos. Incluye archivos de configuración adicionales y la copia de seguridad de la base de datos cuando tu configuración los utilice. Un archivo de solo archivos no puede restaurar una base de datos externa. Prueba la recuperación en directorios separados y una base de datos separada.

Actualiza y recupera

Registra el digest de la imagen actualmente en ejecución y haz la copia de seguridad correspondiente antes de descargar una actualización. Prueba la imagen candidata con una copia, luego cambia la referencia de la imagen de producción durante el mantenimiento y repite las comprobaciones de conexión/persistencia.

Revertir solo la imagen puede no deshacer las migraciones de datos realizadas por los recursos. Recupera los archivos/datos coincidentes deliberadamente y ten en cuenta las escrituras desde la copia de seguridad. docker compose down detiene/elimina el servicio mientras conserva estos directorios montados; mantén esos directorios hasta que la recuperación ya no sea necesaria.

Documentación de referencia

Fuente: spritsail/fivem · Fuente: docs.docker.com · Cfx.re — txAdmin