Direkt zum Hauptinhalt

openRA Server Docker container

Beschreibung:

Drei OpenRA-Server in Docker für Red Alert, Command & Conquer und Dune 2000.

Schnellstart

  1. openra.env anpassen (Servername, Passwort, etc.)
  2. Server starten:
    docker compose up -d
    

Ports

Spiel Port
Red Alert 1234
Command & Conquer 1235
Dune 2000 1236

Alle Ports müssen in der Firewall für TCP und UDP freigegeben sein.

Konfiguration

Alle Einstellungen in openra.env:

Variable Beschreibung Default
OPENRA_SERVER_NAME Name in der Serverliste HackerSoft OpenRA
OPENRA_PASSWORD Serverpasswort (leer = öffentlich) -
OPENRA_MAX_PLAYERS Max. Spieler pro Server 8
OPENRA_SINGLEPLAYER Alleine gegen Bots spielen False
OPENRA_PORT_RA Port für Red Alert 1234
OPENRA_PORT_CNC Port für C&C 1235
OPENRA_PORT_D2K Port für Dune 2000 1236

Befehle

# Starten
docker compose up -d

# Stoppen
docker compose down

# Logs anzeigen
docker compose logs -f

# Einzelnen Server neustarten
docker compose restart openra-ra

Einzelne Spiele deaktivieren

In docker-compose.yml den entsprechenden Service auskommentieren oder löschen.

Die Dateien:

docker-compose.yml

nano /root/openra-server/docker-compose.yml

Inhalt:

services:
  openra-ra:
    image: ghcr.io/dkruyt/openra:latest
    container_name: openra-red-alert
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - "${OPENRA_PORT_RA:-1234}:1234/tcp"
      - "${OPENRA_PORT_RA:-1234}:1234/udp"
    environment:
      - Name=${OPENRA_SERVER_NAME:-HackerSoft OpenRA} - Red Alert
      - Mod=ra
      - ListenPort=1234
      - ExternalPort=${OPENRA_PORT_RA:-1234}
      - Password=${OPENRA_PASSWORD:-}
      - AdvertiseOnline=${OPENRA_ADVERTISE:-True}
      - EnableSingleplayer=${OPENRA_SINGLEPLAYER:-False}
      - RequireAuthentication=${OPENRA_REQUIRE_AUTH:-False}
      - RecordReplays=${OPENRA_RECORD_REPLAYS:-False}
    volumes:
      - ./openra-ra-data:/home/openra/.openra

  openra-cnc:
    image: ghcr.io/dkruyt/openra:latest
    container_name: openra-command-conquer
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - "${OPENRA_PORT_CNC:-1235}:1234/tcp"
      - "${OPENRA_PORT_CNC:-1235}:1234/udp"
    environment:
      - Name=${OPENRA_SERVER_NAME:-HackerSoft OpenRA} - C&C
      - Mod=cnc
      - ListenPort=1234
      - ExternalPort=${OPENRA_PORT_CNC:-1235}
      - Password=${OPENRA_PASSWORD:-}
      - AdvertiseOnline=${OPENRA_ADVERTISE:-True}
      - EnableSingleplayer=${OPENRA_SINGLEPLAYER:-False}
      - RequireAuthentication=${OPENRA_REQUIRE_AUTH:-False}
      - RecordReplays=${OPENRA_RECORD_REPLAYS:-False}
    volumes:
      - ./openra-cnc-data:/home/openra/.openra

  openra-d2k:
    image: ghcr.io/dkruyt/openra:latest
    container_name: openra-dune2000
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - "${OPENRA_PORT_D2K:-1236}:1234/tcp"
      - "${OPENRA_PORT_D2K:-1236}:1234/udp"
    environment:
      - Name=${OPENRA_SERVER_NAME:-HackerSoft OpenRA} - Dune 2000
      - Mod=d2k
      - ListenPort=1234
      - ExternalPort=${OPENRA_PORT_D2K:-1236}
      - Password=${OPENRA_PASSWORD:-}
      - AdvertiseOnline=${OPENRA_ADVERTISE:-True}
      - EnableSingleplayer=${OPENRA_SINGLEPLAYER:-False}
      - RequireAuthentication=${OPENRA_REQUIRE_AUTH:-False}
      - RecordReplays=${OPENRA_RECORD_REPLAYS:-False}
    volumes:
      - ./openra-d2k-data:/home/openra/.openra

die .env Datei:

nano /root/openra-server/.env

Inhalt eigene Werte natürlich anpassen:

# OpenRA Server Konfiguration
# ============================

# Basis-Name des Servers (Spielname wird automatisch angehängt)
OPENRA_SERVER_NAME=HackerSoft OpenRA

# Passwort für alle Server (leer = öffentlich)
OPENRA_PASSWORD=

# Server in öffentlicher Liste anzeigen
OPENRA_ADVERTISE=True

# Singleplayer erlauben (alleine gegen Bots spielen)
OPENRA_SINGLEPLAYER=False

# Authentifizierung erforderlich (OpenRA-Account)
OPENRA_REQUIRE_AUTH=False

# Replays aufzeichnen
OPENRA_RECORD_REPLAYS=False

# Ports (TCP + UDP müssen offen sein)
OPENRA_PORT_RA=1234
OPENRA_PORT_CNC=1235
OPENRA_PORT_D2K=1236

nun noch Rechte anpassen

cd /root/openra-server
chmod 777 -R openra-*data 

Jetzt  container starten:

docker-compose up -d