Sign inSign up

ludix0/runescape

By ludix0

•Updated 7 days ago

Dockerized dedicated server for RuneScape: Dragonwilds, auto-updated via SteamCMD.

Image
0

612

ludix0/runescape repository overview

⁠RuneScape: Dragonwilds — Dedicated Server (Docker)

🇬🇧 English⁠ | 🇫🇷 Français⁠


⁠English

Docker container to host a RuneScape: Dragonwilds dedicated server (SteamCMD App ID 4019830). The server auto-updates via SteamCMD (anonymous login, no Steam account needed) and keeps your saves in a separate volume from the rest of the server files.

⁠Requirements
  • Docker (and Docker Compose)
  • Your Dragonwilds Player ID: visible in-game under Settings, bottom of the page. The server refuses to start without it (OWNER_ID).

Uses the pre-built image directly, no source code needed.

  1. Create a folder for your server:

    mkdir -p ~/dragonwilds && cd ~/dragonwilds
    
  2. Create a docker-compose.yml file with the following content:

    services:
      dragonwilds:
        image: ludix0/dragonwilds:latest
        container_name: dragonwilds
        restart: unless-stopped
        volumes:
          - ./data/filesServer:/home/steam/dragonwilds_server
          - ./data/saves:/home/steam/dragonwilds_saves
          - ./data/steamcmd:/home/steam/steamcmd
        environment:
          - PUID=1000
          - PGID=1000
          - UPDATE_ON_START=true
          - SERVER_NAME=MyServer
          - SERVER_PASSWORD=
          - ADMIN_PASSWORD=
          - OWNER_ID=YOUR_PLAYER_ID_HERE
          - WORLD_NAME=MyWorld
          - SAVE_DIR=/home/steam/dragonwilds_saves
        ports:
          - "7777:7777/udp"
          - "27015:27015/udp"
    
  3. Replace OWNER_ID with your Player ID, and adjust PUID/PGID if needed (get them with id -u and id -g on your host, so files created in the volumes belong to you).

  4. Start the server:

    docker compose up -d
    
  5. Follow the logs to watch the initial download progress (can take several minutes on first start):

    docker compose logs -f
    

To update later, just restart the container (docker compose restart) with UPDATE_ON_START=true: the update runs automatically on startup.

⁠Method 2 — Build from source (GitHub)

Rebuilds the image yourself from the Dockerfile, useful if you want to customize the container's behavior.

  1. Clone the repository:

    git clone <YOUR-GITHUB-REPO-URL>
    cd runescape
    
  2. Create a .env file from the provided example (.env.back) and set at least OWNER_ID:

    cp .env.back .env
    

    Then edit .env to set:

    • OWNER_ID (required — your Dragonwilds Player ID)
    • PUID / PGID (via id -u / id -g)
    • SERVER_PASSWORD, ADMIN_PASSWORD (optional)
    • HOST_GAME_PORT, HOST_QUERY_PORT if you host multiple game servers on the same machine and need to avoid port conflicts
  3. Build and start the container:

    docker compose build
    docker compose up -d
    
⁠Environment variables
VariableRequiredDescription
OWNER_IDYesYour Dragonwilds Player ID. The server refuses to start if empty.
PUID / PGIDNo (default 1000)System UID/GID used inside the container, for volume permissions.
UPDATE_ON_STARTNo (default true)true to update the server on every start, false to skip updating.
SERVER_NAMENoDisplayed server name.
WORLD_NAMENoName of the world/save created on first start.
SERVER_PASSWORDNoPlayer password (empty = open access).
ADMIN_PASSWORDNoPassword for in-game admin access (empty = disabled).
SAVE_DIRNoInternal save folder path (only change if you know why).
⁠Volumes
VolumeContent
/home/steam/dragonwilds_serverServer files installed by SteamCMD (recreatable).
/home/steam/dragonwilds_savesWorld saves — keep this safe, it's the only irreplaceable data.
/home/steam/steamcmdSteamCMD cache, avoids re-downloading the tool on every container recreation.
⁠Ports
PortProtocolUsage
7777UDPGame port — forward it on your router for internet access.
27015UDPSteam query port (server browser listing).

⁠Français

Conteneur Docker pour héberger un serveur dédié RuneScape: Dragonwilds (SteamCMD App ID 4019830). Le serveur se met à jour automatiquement via SteamCMD (connexion anonyme, aucun compte Steam nécessaire) et conserve vos sauvegardes dans un volume indépendant du reste des fichiers du serveur.

⁠Prérequis
  • Docker (et Docker Compose)
  • Votre Player ID Dragonwilds : visible en jeu dans Paramètres, en bas de la page. Le serveur refuse de démarrer sans cette valeur (OWNER_ID).
⁠Méthode 1 — Installation rapide depuis Docker Hub (recommandée)

Cette méthode utilise directement l'image déjà construite, sans avoir besoin du code source.

  1. Créez un dossier pour votre serveur :

    mkdir -p ~/dragonwilds && cd ~/dragonwilds
    
  2. Créez un fichier docker-compose.yml avec le contenu suivant :

    services:
      dragonwilds:
        image: ludix0/dragonwilds:latest
        container_name: dragonwilds
        restart: unless-stopped
        volumes:
          - ./data/filesServer:/home/steam/dragonwilds_server
          - ./data/saves:/home/steam/dragonwilds_saves
          - ./data/steamcmd:/home/steam/steamcmd
        environment:
          - PUID=1000
          - PGID=1000
          - UPDATE_ON_START=true
          - SERVER_NAME=MonServeur_FR
          - SERVER_PASSWORD=
          - ADMIN_PASSWORD=
          - OWNER_ID=VOTRE_PLAYER_ID_ICI
          - WORLD_NAME=MonMonde
          - SAVE_DIR=/home/steam/dragonwilds_saves
        ports:
          - "7777:7777/udp"
          - "27015:27015/udp"
    
  3. Remplacez OWNER_ID par votre Player ID, et ajustez PUID/PGID si besoin (récupérables avec les commandes id -u et id -g sur votre machine hôte, pour que les fichiers créés dans les volumes vous appartiennent).

  4. Démarrez le serveur :

    docker compose up -d
    
  5. Suivez les logs pour voir la progression du téléchargement du serveur (peut prendre plusieurs minutes au premier démarrage) :

    docker compose logs -f
    

Pour mettre à jour le serveur plus tard, il suffit de relancer le conteneur (docker compose restart) avec UPDATE_ON_START=true : la mise à jour se fait automatiquement au démarrage.

⁠Méthode 2 — Construction depuis les sources (GitHub)

Cette méthode reconstruit l'image vous-même à partir du Dockerfile, utile si vous voulez modifier le comportement du conteneur.

  1. Clonez le dépôt :

    git clone <URL-DE-VOTRE-DEPOT-GITHUB>
    cd runescape
    
  2. Créez un fichier .env à partir de l'exemple fourni (.env.back) et renseignez au minimum OWNER_ID :

    cp .env.back .env
    

    Puis éditez .env pour définir :

    • OWNER_ID (obligatoire — votre Player ID Dragonwilds)
    • PUID / PGID (via id -u / id -g)
    • SERVER_PASSWORD, ADMIN_PASSWORD (optionnels)
    • HOST_GAME_PORT, HOST_QUERY_PORT si vous hébergez plusieurs serveurs de jeu sur la même machine et devez éviter les conflits de ports
  3. Construisez et démarrez le conteneur :

    docker compose build
    docker compose up -d
    
⁠Variables d'environnement
VariableObligatoireDescription
OWNER_IDOuiVotre Player ID Dragonwilds. Le serveur refuse de démarrer si vide.
PUID / PGIDNon (défaut 1000)UID/GID système utilisés dans le conteneur, pour les permissions sur les volumes.
UPDATE_ON_STARTNon (défaut true)true pour mettre à jour le serveur à chaque démarrage, false pour sauter la mise à jour.
SERVER_NAMENonNom affiché du serveur.
WORLD_NAMENonNom du monde/de la sauvegarde créée au premier démarrage.
SERVER_PASSWORDNonMot de passe joueurs (vide = accès libre).
ADMIN_PASSWORDNonMot de passe pour l'accès admin en jeu (vide = désactivé).
SAVE_DIRNonChemin interne du dossier de sauvegarde (à ne modifier que si vous savez pourquoi).
⁠Volumes
VolumeContenu
/home/steam/dragonwilds_serverFichiers du serveur installés par SteamCMD (recréables).
/home/steam/dragonwilds_savesSauvegardes du monde — à conserver précieusement, c'est la seule donnée irremplaçable.
/home/steam/steamcmdCache SteamCMD, évite de retélécharger l'outil à chaque recréation du conteneur.
⁠Ports
PortProtocoleUsage
7777UDPPort de jeu — à ouvrir/rediriger sur votre routeur pour un accès depuis internet.
27015UDPPort de requête Steam (affichage du serveur dans le navigateur de serveurs).

Tag summary

Content type

Image

Digest

sha256:dfe47c59a…

Size

136.1 MB

Last updated

7 days ago

docker pull ludix0/runescape