openRA Server Docker container
Beschreibung:
Drei OpenRA-Server in Docker für Red Alert, Command & Conquer und Dune 2000.
Schnellstart
openra.envanpassen (Servername, Passwort, etc.)- 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