Guide

Dedicated servers

Configure the first match

Both Docker and Windows use autoexec.cfg beside eldorado.exe for startup commands. Create it with the following settings for an online multiplayer lobby running Guardian and Slayer, without mods or voting. If the file already exists, update its settings rather than appending conflicting commands.

Server.ShouldAnnounce 0
Server.Mode 3
Server.LobbyType 2
Server.Mod none
Voting.SystemType 0
Game.Map guardian
Game.GameType Slayer
Game.Start

This keeps the server unlisted and preserves the password set in its preferences. For a private game, keep a join password. Once players can connect, change Server.ShouldAnnounce to 1 in both preferences and this file if you want a public listing.

Run a dedicated server on Linux with Docker

The community Docker image uses Wine and Xvfb; no desktop session or Windows host is required. Install Docker Engine with the Compose plugin on an x86-64 Linux host. Supply your own complete ElDewrito game files from installation; the image does not contain or download the game.

Use domistyle/eldewrito:v0.7.1-c1.3 with ElDewrito 0.7.1 on an x86-64 host. This versioned image keeps the container matched to the game release. Leave its startup checksum check enabled; if it reports a mismatch, restore the stock 0.7.1 game files before retrying.

Prepare the game directory

  1. Put the complete 0.7.1 installation in /opt/eldewrito, with eldorado.exe directly inside that directory, not inside another nested installation folder. Use a dedicated copy, not your playing installation. Back up its configuration and custom content before the container starts.
  2. Keep the release's data/dewrito.json. Create data, data/server, and logs if absent. In data/dewrito_prefs.cfg, set the following values while the server is stopped, preserving unrelated settings. Replace both example passwords before publishing the ports; the join password and RCON password should be different.
Server.Name "My ElDewrito Server"
Server.MaxPlayers 16
Server.Password "replace-with-private-join-password"
Server.RconPassword "replace-with-separate-admin-password"
Server.GamePort 11774
Server.Port 11775
Game.RconPort 11776
Server.SignalServerPort 11777
Server.ShouldAnnounce 0
Server.FileServerEnabled 0
UPnP.Enabled 0
  1. Create /opt/eldewrito/autoexec.cfg using the shared startup configuration.

  2. Save the two-map JSON from Add a small voting rotation as /opt/eldewrito/data/server/voting.json, but leave Voting.SystemType 0 for the first match. Supplying preferences, voting JSON, and data/dewrito.json prevents the entrypoint from filling those missing files with its bundled defaults, which include public announcement settings and an older server-directory list.

The important layout is:

/opt/eldewrito/
  eldorado.exe
  mtndew.dll
  autoexec.cfg
  maps/
  data/
    dewrito.json
    dewrito_prefs.cfg
    server/
      voting.json
    map_variants/
    game_variants/
  mods/
  logs/

The bind mount below makes this complete game directory available at /game inside the container. Keep voting configuration at data/server/voting.json; preferences belong at data/dewrito_prefs.cfg.

Start and manage the container

Save this as compose.yaml in a separate working directory, then run the commands beneath it from that directory. This adapts the upstream Compose example: it pins the release, publishes only the player-connection ports, and keeps all persistent files in the supplied game directory.

services:
  eldewrito:
    image: domistyle/eldewrito:v0.7.1-c1.3
    restart: unless-stopped
    ports:
      - "11774:11774/udp"
      - "11775:11775/tcp"
    volumes:
      - /opt/eldewrito:/game
    cap_add:
      - SYS_PTRACE
docker compose pull
docker compose up -d
docker compose ps
docker compose logs --tail=100 -f

SYS_PTRACE is required by this image. The container defaults to running the game with UID/GID 1000 and recursively changes ownership and permissions in the mounted game directory at startup. Use a dedicated directory; do not mount your home directory. If your server files need a different owner, the image supports PUID and PGID in the range 1000–60000. Do not set SKIP_CHOWN unless you have already arranged the required permissions.

The single bind mount keeps configuration, mods and logs in your game directory, directly accessible from the host. There is no need to add separate named volumes over those folders.

Check http://HOST:11775 for the information listener, then have a player join and spawn using Server.Connect HOST:11775. Follow the connection checks, including a map change. The HTTP response alone does not prove that gameplay UDP works. Ctrl+C exits the log viewer without stopping the server.

To change configuration, playlists, or game files, stop the service first:

docker compose stop

Edit the files under /opt/eldewrito, then start it again with docker compose up -d. Update the game files and image as a matching pair; pulling an image does not update the mounted game installation. After successful private testing, change Server.ShouldAnnounce 0 to Server.ShouldAnnounce 1 in both preferences and autoexec.cfg to advertise publicly. Remove the join password only if you want an open server.

If you need voice, add "11777:11777/tcp" to ports and the corresponding firewall/router rule. For RCON, keep TCP 11776 unpublished unless needed; for an SSH tunnel or host-local administration, add only "127.0.0.1:11776:11776/tcp", retain a strong Server.RconPassword, and recreate the service with docker compose up -d. Do not copy the upstream example's public RCON mapping.

Run a minimal dedicated server on Windows

Windows is the native alternative to the Docker/Wine route. Use a separate game installation for your server; the included dedicated_server.bat launches eldorado.exe in dedicated mode and watches it for restarts.

Run only one game instance on this PC while using the script. Its restart logic can close other eldorado.exe processes, including a playing client or another server. Stop the script before intentionally closing or updating the server so it does not restart it.

  1. Back up that installation's data\dewrito_prefs.cfg, data\server, and any existing autoexec.cfg. Do not replace your playing installation's startup file or personal settings with a server template.

  2. Configure the server name, player limit, and join password using Host Settings, then use Close and exit the game. Keep the browser announcement disabled during initial setup. Settings are stored in data\dewrito_prefs.cfg; preserve unrelated entries if you edit that file while the game is closed.

  3. Create autoexec.cfg beside eldorado.exe using the shared startup configuration.

  4. Open Command Prompt with its working directory set to this installation. Run dedicated_server.bat from that directory. Its relative executable, configuration, and log paths depend on the working directory.

  5. The script launches the game with these arguments:

eldorado.exe -launcher -dedicated -window -height 200 -width 200 -minimized
  1. Inspect the server's startup output and logs, then join from another PC on the LAN. Confirm that Guardian and Slayer loaded and that you can spawn. If the server remains in a lobby or reports a command/content error, inspect the exact error instead of opening more ports.
  2. After the LAN test, arrange the external connection test. To advertise a public server, enable Display Server in Browser and remove or change Server.ShouldAnnounce 0 in autoexec.cfg. Leaving that command unchanged hides the announcement again at restart.

Once the server works, add Playlists and voting. See Server administration for RCON, logs, backups and multiple instances.