Sign inSign up

ludix0/soulmask

By ludix0

•Updated 7 days ago

Dockerized dedicated server for Soulmask, auto-updated via SteamCMD.

Image
0

311

ludix0/soulmask repository overview

⁠Soulmask — Dedicated Server (Docker)

🇬🇧 English⁠ | 🇫🇷 Français⁠


⁠English

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.

  • Docker Hub image: ludix0/soulmask⁠
  • Ports used: 8777/udp (game), 27015/udp (server browser query), 19000/tcp (RCON, optional)
⁠Requirements
  • Docker + Docker Compose
  • ~10 GB free disk space for the server files
  • Ports 8777/udp and 27015/udp forwarded on your router if you want the server reachable from the internet
mkdir -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
⁠Method 2 — Build from source (GitHub)
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
⁠Environment variables
VariableRequiredDescription
TZ, PUID, PGIDNoTimezone and host user/group to run the container as
UPDATE_ON_STARTNotrue/false — update the server via SteamCMD on every restart
STEAM_USER / STEAM_PASSWORDNoLeave empty for anonymous SteamCMD login (default, works for this game)
SERVER_NAMENoName shown in the server browser
LEVEL_NAMENoLevel01_Main (Cloud Mist Forest) or DLC_Level01_Main (Shifting Sands)
SERVER_PASSWORDNoJoin password — leave empty for a public server
ADMIN_PASSWORDYesGM/admin password, required to use admin commands in-game
MAX_PLAYERSNoPlayer slot limit (max 70)
GONGHUI_MAX_MEMBERNoMax members per tribe/guild
PVP_MODENotrue for PvP, false for PvE
SAVING_INTERVALNoIn-memory save interval, seconds
BACKUP_INTERVALNoFull disk backup interval, seconds
INIT_BACKUPNoForce a backup on every container start
GAME_PORT / QUERY_PORTNoOfficial fixed ports (8777/27015) — change only if you know why
ECHO_PORTNoTelnet console port — kept internal-only, no built-in authentication
MULTIHOMENoBind address, usually 0.0.0.0
RCON_PASSWORD / RCON_PORTNoRCON is only started if a password is set
MOD_IDSNoComma-separated Steam Workshop mod IDs, e.g. 123456,789012
⁠Volumes
VolumeContent
/home/steam/soulmask_serverServer binaries (installed by SteamCMD)
/home/steam/soulmask_server/WS/SavedWorld saves, backups, and config (Engine.ini, etc.)
/home/steam/steamcmdShared SteamCMD installation, avoids re-downloading on rebuild
⁠Ports
PortProtocolUsage
8777UDPGame traffic
27015UDPSteam server browser query
19000TCPRCON (optional, only if RCON_PASSWORD is set)
18888TCPTelnet admin console — not published, localhost-only by design

⁠Français

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é.

  • Image Docker Hub : ludix0/soulmask⁠
  • Ports utilisés : 8777/udp (jeu), 27015/udp (requête liste de serveurs), 19000/tcp (RCON, optionnel)
⁠Prérequis
  • Docker + Docker Compose
  • ~10 Go d'espace disque libre pour les fichiers du serveur
  • Ports 8777/udp et 27015/udp redirigés sur votre routeur si le serveur doit être accessible depuis internet
⁠Méthode 1 — Installation rapide depuis Docker Hub (recommandé)
mkdir -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
⁠Méthode 2 — Build depuis les sources (GitHub)
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
⁠Variables d'environnement
VariableObligatoireDescription
TZ, PUID, PGIDNonFuseau horaire et utilisateur/groupe hôte pour le conteneur
UPDATE_ON_STARTNontrue/false — met à jour le serveur via SteamCMD à chaque redémarrage
STEAM_USER / STEAM_PASSWORDNonLaisser vide pour une connexion SteamCMD anonyme (par défaut, fonctionne pour ce jeu)
SERVER_NAMENonNom affiché dans la liste des serveurs
LEVEL_NAMENonLevel01_Main (Cloud Mist Forest) ou DLC_Level01_Main (Shifting Sands)
SERVER_PASSWORDNonMot de passe de connexion — laisser vide pour un serveur public
ADMIN_PASSWORDOuiMot de passe GM/admin, requis pour les commandes admin en jeu
MAX_PLAYERSNonNombre maximum de joueurs (70 max)
GONGHUI_MAX_MEMBERNonNombre maximum de membres par tribu/guilde
PVP_MODENontrue pour PvP, false pour PvE
SAVING_INTERVALNonIntervalle de sauvegarde mémoire, en secondes
BACKUP_INTERVALNonIntervalle de backup complet sur disque, en secondes
INIT_BACKUPNonForce un backup à chaque démarrage du conteneur
GAME_PORT / QUERY_PORTNonPorts officiels fixes (8777/27015) — ne changer qu'en connaissance de cause
ECHO_PORTNonPort console Telnet — gardé interne uniquement, sans authentification native
MULTIHOMENonAdresse d'écoute, généralement 0.0.0.0
RCON_PASSWORD / RCON_PORTNonLe RCON n'est démarré que si un mot de passe est défini
MOD_IDSNonIDs Steam Workshop séparés par des virgules, ex : 123456,789012
⁠Volumes
VolumeContenu
/home/steam/soulmask_serverBinaires du serveur (installés par SteamCMD)
/home/steam/soulmask_server/WS/SavedSauvegardes du monde, backups et configuration (Engine.ini, etc.)
/home/steam/steamcmdInstallation SteamCMD partagée, évite un nouveau téléchargement à chaque rebuild
⁠Ports
PortProtocoleUsage
8777UDPTrafic de jeu
27015UDPRequête liste de serveurs Steam
19000TCPRCON (optionnel, uniquement si RCON_PASSWORD est défini)
18888TCPConsole admin Telnet — non publiée, volontairement accessible en local uniquement

Tag summary

Content type

Image

Digest

sha256:e0936c965…

Size

136.1 MB

Last updated

7 days ago

docker pull ludix0/soulmask