Dockerized dedicated server for Soulmask, auto-updated via SteamCMD.
311
Docker container to host a Soulmask dedicated server (SteamCMD App ID 3017300, Linux dedicated server build). The server binary and dependencies are downloaded automatically via SteamCMD, running as an unprivileged steam user.
ludix0/soulmask8777/udp (game), 27015/udp (server browser query), 19000/tcp (RCON, optional)8777/udp and 27015/udp forwarded on your router if you want the server reachable from the internetmkdir -p ~/soulmask && cd ~/soulmask
Create a docker-compose.yml:
services:
soulmask:
image: ludix0/soulmask:latest
container_name: soulmask
restart: unless-stopped
volumes:
- ./filesServer:/home/steam/soulmask_server
- ./saves:/home/steam/soulmask_server/WS/Saved
- ./steamcmd:/home/steam/steamcmd
environment:
- TZ=Europe/Paris
- PUID=1000
- PGID=1000
- UPDATE_ON_START=true
- STEAM_USER=
- STEAM_PASSWORD=
- SERVER_NAME=My Soulmask Server
- LEVEL_NAME=Level01_Main
- SERVER_PASSWORD=
- ADMIN_PASSWORD=changeMe
- MAX_PLAYERS=20
- GONGHUI_MAX_MEMBER=50
- PVP_MODE=false
- SAVING_INTERVAL=600
- BACKUP_INTERVAL=900
- INIT_BACKUP=false
- GAME_PORT=8777
- QUERY_PORT=27015
- ECHO_PORT=18888
- MULTIHOME=0.0.0.0
- RCON_PASSWORD=
- RCON_PORT=19000
- MOD_IDS=
ports:
- "8777:8777/udp"
- "27015:27015/udp"
- "19000:19000/tcp"
docker compose up -d
docker compose logs -f
git clone https://github.com/ludix0/soulmask.git
cd soulmask
ln -sf /path/to/your/secrets.env .env # or create a .env with the variables below
docker build -t ludix0/soulmask:latest .
docker compose up -d
| Variable | Required | Description |
|---|---|---|
TZ, PUID, PGID | No | Timezone and host user/group to run the container as |
UPDATE_ON_START | No | true/false — update the server via SteamCMD on every restart |
STEAM_USER / STEAM_PASSWORD | No | Leave empty for anonymous SteamCMD login (default, works for this game) |
SERVER_NAME | No | Name shown in the server browser |
LEVEL_NAME | No | Level01_Main (Cloud Mist Forest) or DLC_Level01_Main (Shifting Sands) |
SERVER_PASSWORD | No | Join password — leave empty for a public server |
ADMIN_PASSWORD | Yes | GM/admin password, required to use admin commands in-game |
MAX_PLAYERS | No | Player slot limit (max 70) |
GONGHUI_MAX_MEMBER | No | Max members per tribe/guild |
PVP_MODE | No | true for PvP, false for PvE |
SAVING_INTERVAL | No | In-memory save interval, seconds |
BACKUP_INTERVAL | No | Full disk backup interval, seconds |
INIT_BACKUP | No | Force a backup on every container start |
GAME_PORT / QUERY_PORT | No | Official fixed ports (8777/27015) — change only if you know why |
ECHO_PORT | No | Telnet console port — kept internal-only, no built-in authentication |
MULTIHOME | No | Bind address, usually 0.0.0.0 |
RCON_PASSWORD / RCON_PORT | No | RCON is only started if a password is set |
MOD_IDS | No | Comma-separated Steam Workshop mod IDs, e.g. 123456,789012 |
| Volume | Content |
|---|---|
/home/steam/soulmask_server | Server binaries (installed by SteamCMD) |
/home/steam/soulmask_server/WS/Saved | World saves, backups, and config (Engine.ini, etc.) |
/home/steam/steamcmd | Shared SteamCMD installation, avoids re-downloading on rebuild |
| Port | Protocol | Usage |
|---|---|---|
| 8777 | UDP | Game traffic |
| 27015 | UDP | Steam server browser query |
| 19000 | TCP | RCON (optional, only if RCON_PASSWORD is set) |
| 18888 | TCP | Telnet admin console — not published, localhost-only by design |
Conteneur Docker pour héberger un serveur dédié Soulmask (App ID SteamCMD 3017300, build serveur dédié Linux). Les fichiers et dépendances du serveur sont téléchargés automatiquement via SteamCMD, en exécutant le serveur avec un utilisateur steam non privilégié.
ludix0/soulmask8777/udp (jeu), 27015/udp (requête liste de serveurs), 19000/tcp (RCON, optionnel)8777/udp et 27015/udp redirigés sur votre routeur si le serveur doit être accessible depuis internetmkdir -p ~/soulmask && cd ~/soulmask
Créer un docker-compose.yml :
services:
soulmask:
image: ludix0/soulmask:latest
container_name: soulmask
restart: unless-stopped
volumes:
- ./filesServer:/home/steam/soulmask_server
- ./saves:/home/steam/soulmask_server/WS/Saved
- ./steamcmd:/home/steam/steamcmd
environment:
- TZ=Europe/Paris
- PUID=1000
- PGID=1000
- UPDATE_ON_START=true
- STEAM_USER=
- STEAM_PASSWORD=
- SERVER_NAME=Mon Serveur Soulmask
- LEVEL_NAME=Level01_Main
- SERVER_PASSWORD=
- ADMIN_PASSWORD=aChanger
- MAX_PLAYERS=20
- GONGHUI_MAX_MEMBER=50
- PVP_MODE=false
- SAVING_INTERVAL=600
- BACKUP_INTERVAL=900
- INIT_BACKUP=false
- GAME_PORT=8777
- QUERY_PORT=27015
- ECHO_PORT=18888
- MULTIHOME=0.0.0.0
- RCON_PASSWORD=
- RCON_PORT=19000
- MOD_IDS=
ports:
- "8777:8777/udp"
- "27015:27015/udp"
- "19000:19000/tcp"
docker compose up -d
docker compose logs -f
git clone https://github.com/ludix0/soulmask.git
cd soulmask
ln -sf /chemin/vers/votre/secrets.env .env # ou créer un .env avec les variables ci-dessous
docker build -t ludix0/soulmask:latest .
docker compose up -d
| Variable | Obligatoire | Description |
|---|---|---|
TZ, PUID, PGID | Non | Fuseau horaire et utilisateur/groupe hôte pour le conteneur |
UPDATE_ON_START | Non | true/false — met à jour le serveur via SteamCMD à chaque redémarrage |
STEAM_USER / STEAM_PASSWORD | Non | Laisser vide pour une connexion SteamCMD anonyme (par défaut, fonctionne pour ce jeu) |
SERVER_NAME | Non | Nom affiché dans la liste des serveurs |
LEVEL_NAME | Non | Level01_Main (Cloud Mist Forest) ou DLC_Level01_Main (Shifting Sands) |
SERVER_PASSWORD | Non | Mot de passe de connexion — laisser vide pour un serveur public |
ADMIN_PASSWORD | Oui | Mot de passe GM/admin, requis pour les commandes admin en jeu |
MAX_PLAYERS | Non | Nombre maximum de joueurs (70 max) |
GONGHUI_MAX_MEMBER | Non | Nombre maximum de membres par tribu/guilde |
PVP_MODE | Non | true pour PvP, false pour PvE |
SAVING_INTERVAL | Non | Intervalle de sauvegarde mémoire, en secondes |
BACKUP_INTERVAL | Non | Intervalle de backup complet sur disque, en secondes |
INIT_BACKUP | Non | Force un backup à chaque démarrage du conteneur |
GAME_PORT / QUERY_PORT | Non | Ports officiels fixes (8777/27015) — ne changer qu'en connaissance de cause |
ECHO_PORT | Non | Port console Telnet — gardé interne uniquement, sans authentification native |
MULTIHOME | Non | Adresse d'écoute, généralement 0.0.0.0 |
RCON_PASSWORD / RCON_PORT | Non | Le RCON n'est démarré que si un mot de passe est défini |
MOD_IDS | Non | IDs Steam Workshop séparés par des virgules, ex : 123456,789012 |
| Volume | Contenu |
|---|---|
/home/steam/soulmask_server | Binaires du serveur (installés par SteamCMD) |
/home/steam/soulmask_server/WS/Saved | Sauvegardes du monde, backups et configuration (Engine.ini, etc.) |
/home/steam/steamcmd | Installation SteamCMD partagée, évite un nouveau téléchargement à chaque rebuild |
| Port | Protocole | Usage |
|---|---|---|
| 8777 | UDP | Trafic de jeu |
| 27015 | UDP | Requête liste de serveurs Steam |
| 19000 | TCP | RCON (optionnel, uniquement si RCON_PASSWORD est défini) |
| 18888 | TCP | Console admin Telnet — non publiée, volontairement accessible en local uniquement |
Content type
Image
Digest
sha256:e0936c965…
Size
136.1 MB
Last updated
7 days ago
docker pull ludix0/soulmask