Files
docker-compose-cookbooks/runescape-dragonwilds/README.md
T
2026-10-03 02:46:33 +00:00

82 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# runescape-dragonwilds
## Overview
Dedicated server for RuneScape: DragonWilds, run via SteamCMD. Server files are downloaded/updated on start and saves persist to a host volume.
## Project Details
- **Project Repository:** [indifferentbroccoli/runescape-dragonwilds-server-docker](https://github.com/indifferentbroccoli/runescape-dragonwilds-server-docker)
- **Container Image:** [Docker Hub](https://hub.docker.com/r/indifferentbroccoli/runescape-dragonwilds-server-docker)
- **Compose Example:** [Compose](https://github.com/indifferentbroccoli/runescape-dragonwilds-server-docker#docker-compose)
- **Reverse Proxy Port:** none — game traffic is UDP `7777` (game) and `8888` (beacon), not proxied through NPM
## Getting Started
1. Copy `sample.env` to `.env` and set `RSDW_OWNER_ID` (your Player ID, found in the game's Settings) and `RSDW_ADMIN_PASSWORD`
2. Forward UDP `7777` and `8888` on your router/firewall to the Docker host
3. Start the container: `docker compose up -d`
4. Watch the first start (it downloads the server files): `docker compose logs -f`
5. In game, find the server by `RSDW_SERVER_NAME` and use `RSDW_ADMIN_PASSWORD` for Server Management
## Environment Variable Notes
RSDW_OWNER_ID – REQUIRED. Your RuneScape: DragonWilds Player ID (in-game Settings)
RSDW_ADMIN_PASSWORD – REQUIRED. Server Management password, default: ChangeThisPassword
RSDW_WORLD_PASSWORD – optional join password; empty = public
RSDW_SERVER_NAME – server display name, default: DragonWildsServer
RSDW_WORLD_NAME – world created on first start, default: MyWorld
RSDW_MAX_PLAYERS – default: 6
RSDW_PORT – game UDP port, default: 7777 (also sets DEFAULT_PORT in the container)
RSDW_BEACON_PORT – world settings beacon UDP port, default: 8888 (also sets BEACON_PORT)
RSDW_UPDATE_ON_START – set false to skip SteamCMD download/validation on start
RSDW_PUID / RSDW_PGID – owner of the server files, default: 1000
## Volume Notes
/home/steam/server-files – host path /data/runescape-dragonwilds/server-files (server binaries, saves, config)
Back up the saves inside this directory; the server binaries can be re-downloaded.
## Network Notes
Requires proxy network (declared for convention only — players connect directly over UDP, not through NPM).
## Docker Run
```bash
docker run -d \
--name runescape-dragonwilds \
--restart unless-stopped \
--stop-timeout 30 \
-p 7777:7777/udp \
-p 8888:8888/udp \
-e OWNER_ID=YourPlayerId \
-e ADMIN_PASSWORD=ChangeThisPassword \
-v /data/runescape-dragonwilds/server-files:/home/steam/server-files \
indifferentbroccoli/runescape-dragonwilds-server-docker:latest
```
See compose.yaml for the full set of environment variables.
## Additional Notes / Gotchas
- Host and container ports **must match** — mismatched ports cause join failures. The compose file uses the same var for both sides; don't remap one without the other.
- The beacon port (8888) is required for creating/editing worlds.
- The server won't show up without working port forwarding and a valid `OWNER_ID`/`ADMIN_PASSWORD`.
- RAM: about 2 GB + 1 GB per player (8 GB for a full 6-player server).
- `stop_grace_period: 30s` gives the server time to save on shutdown.
- Crossplay (PC, PS5, Xbox Series X|S, Switch 2) is supported since 1.0. The image doesn't set `PlatformPolicy` in `DedicatedServer.ini`, so the game default (`Crossplay`) applies. It rewrites that file on every start, so a manual `PlatformPolicy=` edit to lock the server to one platform won't survive a restart.
- Clients must be on the same game version as the server — keep `RSDW_UPDATE_ON_START=true` and restart after game patches. There is no cross-save: character progress doesn't carry between platforms.
## Dockhand Stack, Deploy from Git
Cookbooks Repository
stackname: runescape-dragonwilds
Compose file path: runescape-dragonwilds/compose.yaml
Additional env file (optional): runescape-dragonwilds/sample.env
Then "Load" runescape-dragonwilds/sample.env into the Environmental variables in dockhand
Create the Stack