BR-HostingBR-HostingBR-Hosting
Inhalte
Kontakt
Impressum·Datenschutz·Inhalte·Kontakt·
© 2026 Tobias Brunnauerv0.6.3

Inhaltsverzeichnis

      • Windrose Dedicated Server in Docker
      • Palworld Dedicated Server in Docker
Zurück zu Dokumentationen
Dokumentationen/ Gameserver

Windrose Dedicated Server in Docker

Dockerized Windrose Dedicated Server. Windows-Server headless über Wine. Vollautomatisches Setup, Update und Konfiguration über Environment Variables. Einfach pullen und starten.

Veröffentlicht am 3. Mai 2026·4 Min. Lesezeit
dockerlinuxservergameserverwindowswine

Windrose ist ein Windows-only Dedicated Server -- es gibt keine native Linux-Version. Trotzdem läuft er dank Wine problemlos in Docker. Headless, ohne GUI, automatisch.

Das Ganze basiert auf meinem Steam Game Server Framework. Hier findest du alles was du brauchst um deinen eigenen Windrose Server aufzusetzen.


Quick Start

Erstell dir einen Ordner und leg eine docker-compose.yml an:

mkdir windrose-server && cd windrose-server
services:windrose:
    # Docker Hub:
    image: rndmjoker/gameserver-steam-windrose:latest
    # Alternativ von GitHub Container Registry:
    # image: ghcr.io/rndmjoker/gameserver-steam-windrose:latest
    container_name: windrose-server
    restart: unless-stopped
    network_mode: host
    security_opt:
      - seccomp=unconfined
    mem_limit: 8g
    volumes:
      - serverdata:/home/steam/serverdata
      - serverconfig:/home/steam/serverconfig
    environment:
      - AUTOBACKUP=true
      - GAME_PORT=7777
      - GAME_ARGS=-log -nullrhi
      - MaxPlayerCount=4
      - UserSelectedRegion=EU
      - UseDirectConnection=true
      - DirectConnectionServerPort=7777
      - WorldName=The Archipelago
      - WorldPresetType=Medium

volumes:serverdata:serverconfig:
docker compose up -d
docker compose logs -f

Der erste Start dauert etwas länger -- SteamCMD lädt den Server runter (~3 GB), danach wird das Wine Prefix initialisiert (Mono/Gecko). Ab dem zweiten Start geht das deutlich schneller.

Alternativ mit docker run

docker run -d \
  --name windrose-server \
  --restart unless-stopped \
  --network host \
  --security-opt seccomp=unconfined \
  --memory 8g \
  -e AUTOBACKUP=true \
  -e GAME_PORT=7777 \
  -e GAME_ARGS="-log -nullrhi" \
  -e MaxPlayerCount=4 \
  -e UserSelectedRegion=EU \
  -e UseDirectConnection=true \
  -e DirectConnectionServerPort=7777 \
  -e WorldName="The Archipelago" \
  -e WorldPresetType=Medium \
  -v serverdata:/home/steam/serverdata \
  -v serverconfig:/home/steam/serverconfig \
  rndmjoker/gameserver-steam-windrose:latest

Technische Details

Eigenschaft Wert
Steam App ID 4129620
Plattform Windows (über Wine 11.0)
Standard-Port 7777/udp + 7777/tcp
RAM-Empfehlung 8 GB
Server-Binary R5/Binaries/Win64/WindroseServer-Win64-Shipping.exe
Startargumente -log -nullrhi (headless, ohne Rendering)

Warum -nullrhi?

Windrose basiert auf Unreal Engine 5. Ohne -nullrhi versucht der Server ein Rendering-Interface zu starten -- das schlägt in einer headless Docker-Umgebung fehl. -nullrhi schaltet das ab, -log schreibt die Ausgabe in die Konsole.


Netzwerk

Der Server läuft im Host Network Mode.

Port Protokoll Beschreibung
7777 UDP + TCP Game Port (Spieler-Verbindungen)

Wenn du eine externe Firewall hast, musst du Port 7777 dort für UDP und TCP freischalten.

Direct Connection

Windrose unterstützt zwei Verbindungsarten: Einladungscodes und Direct Connection über IP. Für einen Dedicated Server solltest du Direct Connection aktivieren:

- UseDirectConnection=true- DirectConnectionServerAddress=0.0.0.0- DirectConnectionServerPort=7777- DirectConnectionProxyAddress=0.0.0.0

Spieler verbinden sich dann direkt über deine Server-IP und Port 7777.


Konfiguration

Der komplette Server wird über Environment Variables konfiguriert. Du musst keine Config-Dateien bearbeiten -- alles was du ändern willst, packst du einfach als -e VARIABLE=wert in dein docker run oder in die environment:-Sektion deiner docker-compose.yml. Die Konfigurationsdatei (ServerDescription.json) wird daraus bei jedem Container-Start automatisch generiert.

Im Quick Start oben siehst du ein Minimalbeispiel. Die fertige docker-compose.yml und die .env.example mit allen Parametern findest du im GitHub Repo.

Hier alle verfügbaren Settings:

Server-Grundlagen

Variable Standard Beschreibung
ServerName My Windrose Server Servername
MaxPlayerCount 4 Maximale Spielerzahl
Password (leer) Passwort zum Beitreten
UserSelectedRegion EU Region des Servers
GAME_PORT 7777 Game Port
GAME_ARGS -log -nullrhi Startargumente
AUTOBACKUP true Automatisches Backup der Saves bei jedem Container-Start (letzte 5)

Direct Connection

Variable Standard Beschreibung
UseDirectConnection true Direct Connect aktivieren
DirectConnectionServerAddress 0.0.0.0 Bind-Adresse
DirectConnectionServerPort 7777 Verbindungsport
DirectConnectionProxyAddress 0.0.0.0 Proxy-Adresse

Welt-Einstellungen

Variable Standard Beschreibung
WorldName The Archipelago Name der Welt
WorldPresetType Medium Voreinstellung (Easy, Medium, Hard)

Schwierigkeit

Variable Standard Beschreibung
MobHealthMultiplier 1.0 Gegner-Lebenspunkte
MobDamageMultiplier 1.0 Gegner-Schaden
ShipsHealthMultiplier 1.0 Schiffs-Lebenspunkte
ShipsDamageMultiplier 1.0 Schiffs-Schaden
BoardingDifficultyMultiplier 1.0 Enterungsschwierigkeit
CoopStatsCorrectionModifier 1.0 Coop-Stat-Korrektur
CoopShipStatsCorrectionModifier 0.0 Coop-Schiff-Korrektur
CombatDifficulty Normal Kampfschwierigkeit (Easy, Normal, Hard)
SharedQuests true Geteilte Quests
EasyExplore false Vereinfachte Erkundung

Selbst bauen

git clone https://github.com/RndmJoker/gameserver-steam-windrose.git steam-windrose
cd steam-windrose
cp .env.example .env
nano .env
docker compose up -d --build

Server verwalten

Logs anschauen

docker compose logs -f

Neustart

docker compose restart

Server stoppen

docker compose down

Schneller Neustart (Update überspringen)

- SKIP_STEAM_UPDATE=true

Volumes und Backups

Alle Serverdaten werden in Docker-Volumes gespeichert und bleiben bei Neustarts und Rebuilds erhalten.

Volume Container-Pfad Inhalt
serverdata /home/steam/serverdata Spieldateien, Saves, Logs, Backups
serverconfig /home/steam/serverconfig Config-Templates

Wichtige Verzeichnisse in serverdata

Pfad Inhalt
R5/ServerDescription.json Server-Konfiguration (Name, Passwort, Invite-Code)
R5/Saved/SaveProfiles/Default/RocksDB_v2/ Welt-Saves (RocksDB-Datenbank)
R5/Saved/SaveProfiles/Default/RocksDB_v2_Backups/ Spielinterne automatische Backups
R5/Saved/Logs/ UE5-Game-Logs (R5.log)
backups/ Docker-Auto-Backup-Snapshots (mit Zeitstempel)

Automatisches Backup

Der Container erstellt bei jedem Start automatisch ein Backup der Welt-Saves, wenn AUTOBACKUP=true (Standard).
Backups sind mit Zeitstempel versehen und die letzten 5 werden aufbewahrt. Aeltere werden automatisch geloescht.

Bind-Mount fuer direkten Host-Zugriff

Fuer direkten Zugriff auf Saves, Logs oder Backups auf dem Host:
volumes:
- serverdata:/home/steam/serverdata
- serverconfig:/home/steam/serverconfig
- ./saves:/home/steam/serverdata/R5/Saved/SaveProfiles
- ./logs:/home/steam/serverdata/R5/Saved/Logs
- ./backups:/home/steam/serverdata/backups

Manuelles Backup

docker cp windrose-server:/home/steam/serverdata/R5/Saved ./windrose-backup-$(date +%Y%m%d)

Troubleshooting

Server startet nicht

Prüf die Logs:

docker logs windrose-server 2>&1 | tail -50

Häufige Ursachen:

  • Nicht genug RAM -- mindestens 8 GB

  • Wine Prefix nicht initialisiert -- beim ersten Start ist das normal, einfach warten

"fixme:" Meldungen in den Logs

Das sind Wine-Debug-Meldungen und völlig normal. Die können ignoriert werden. Die relevanten Meldungen kommen vom Framework selbst und sind mit Zeitstempeln markiert.

Spieler können nicht beitreten

  1. Server läuft? docker ps | grep windrose

  2. Port offen? ss -tulnp | grep 7777

  3. Direct Connection aktiviert? UseDirectConnection=true

  4. Firewall? Port 7777 muss für UDP und TCP offen sein

Server-Config wird nicht angewendet

Die ServerDescription.json wird bei jedem Start aus deinen Environment Variables neu generiert. Wenn du Settings änderst, einfach den Container neu starten:

docker compose restart

Links

  • GitHub: github.com/RndmJoker/gameserver-steam-windrose

  • Docker Hub: hub.docker.com/r/rndmjoker/gameserver-steam-windrose

  • Offizielle Windrose Doku: playwindrose.com/dedicated-server-guide

  • Framework: Steam Game Server Framework

Wenn du Fragen hast oder Hilfe brauchst, schreib mir über das Kontaktformular.

Zurück zu Dokumentationen