Sign inSign up

ludix0/solace_crafting

By ludix0

‱Updated 7 days ago

Dockerized dedicated server for Solace Crafting, auto-updated via SteamCMD.

Image
0

1.8K

ludix0/solace_crafting repository overview

⁠Solace Crafting — Dedicated Server (Docker)

🇬🇧 English⁠ | đŸ‡«đŸ‡· Français⁠


⁠English

Docker container to host a Solace Crafting dedicated server (SteamCMD App ID 1086950). The server binary and dependencies are downloaded automatically via SteamCMD, running as an unprivileged user (steam, with configurable UID/GID).

  • Docker Hub image: ludix0/solace_crafting⁠
  • Ports used: 27015/tcp (game port), 27016/udp (Steam query port), 5055/tcp (additional port)
⁠Requirements
  • Docker + Docker Compose
  • A few GB of free disk space for SteamCMD and the game server files
  • If the server must be reachable from the internet, forward the ports below on your router (this game server is intended for the "Jeux vidĂ©o" network in an isolated homelab setup)
mkdir -p ~/solace_crafting && cd ~/solace_crafting

Create a docker-compose.yml:

services:
  solace-server:
    image: ludix0/solace_crafting:latest
    container_name: solace_crafting
    restart: unless-stopped
    ports:
      - "7777:27015/tcp"
      - "27016:27016/udp"
      - "7775:5055/tcp"
    environment:
      - TZ=Europe/Paris
      - PUID=1000
      - PGID=1000
      - UPDATE_ON_START=true
      - SERVER_NAME=My-Solace-Server
      - DESCRIPTION=My dedicated server.
      - SERVER_PORT=27015
      - STEAMQUERYPORT=27016
      - PASSWORD=
      - MAX_PLAYERS=10
      - ALLOWADMIN=false
      - ADMINPASSWORD=
      - WORLD_NAME=Gaia
    volumes:
      - ./volumes/filesServer:/home/steam/solace_server
      - ./volumes/steamcmd:/home/steam/steamcmd
      - "./volumes/config_files:/home/steam/.config/unity3d/Big Kitty Games/Solace Crafting"
docker compose up -d
docker compose logs -f
⁠Method 2 — Build from source (GitHub)
git clone https://github.com/Ludix0/solace_crafting.git
cd solace_crafting
ln -sf /path/to/your/secrets.env .env   # or create a .env with the variables below
docker build -t ludix0/solace_crafting:latest .
docker compose up -d
⁠Environment variables
VariableRequiredDescription
PUIDNo (default 1000)UID the steam user runs as inside the container
PGIDNo (default 1000)GID the steam user runs as inside the container
SERVER_NAMENo (default MonServeurSolace)Server name shown in the server browser
DESCRIPTIONNoServer description shown in servercfg.dat
WORLD_NAMENo (default World1)Name of the world save to use (worldSaveToUse)
SERVER_PORTNo (default 27015)Game port used by the server
STEAMQUERYPORTNoSteam query port; should match the exposed/mapped UDP port
PASSWORDNo (default empty = public server)Server join password; if set, the server is marked private
MAX_PLAYERSNo (default 10)Maximum number of concurrent players
ALLOWADMINNoEnables the admin password (true/false)
ADMINPASSWORDNoAdmin password, used only if ALLOWADMIN=true
UPDATE_ON_STARTNoIf true, SteamCMD updates/validates the server on every container start; otherwise it only installs on first run (when the server binary is missing)
TZNoContainer timezone
⁠Volumes
VolumeContent
/home/steam/solace_serverGame server binaries and files, downloaded/updated by SteamCMD (App ID 1086950)
/home/steam/steamcmdSteamCMD installation
/home/steam/.config/unity3d/Big Kitty Games/Solace CraftingUnity server config folder, including the generated servercfg.dat and world saves
⁠Ports
PortProtocolUsage
27015TCPMain game port (SERVER_PORT)
27016UDPSteam query port (STEAMQUERYPORT)
5055TCPAdditional port mapped by the container (not further documented in the source files)

⁠Français

Conteneur Docker pour héberger un serveur dédié Solace Crafting (SteamCMD App ID 1086950). Le binaire du serveur et ses dépendances sont téléchargés automatiquement via SteamCMD, en s'exécutant avec un utilisateur non privilégié (steam, avec UID/GID configurables).

  • Image Docker Hub : ludix0/solace_crafting⁠
  • Ports utilisĂ©s : 27015/tcp (port de jeu), 27016/udp (port de requĂȘte Steam), 5055/tcp (port additionnel)
⁠Prérequis
  • Docker + Docker Compose
  • Quelques Go d'espace disque libre pour SteamCMD et les fichiers du serveur
  • Si le serveur doit ĂȘtre accessible depuis internet, rediriger les ports ci-dessous sur le routeur (ce serveur de jeu est destinĂ© au rĂ©seau « Jeux vidĂ©o » dans une configuration homelab isolĂ©e)
⁠MĂ©thode 1 — Installation rapide depuis Docker Hub (recommandĂ©e)
mkdir -p ~/solace_crafting && cd ~/solace_crafting

Créer un fichier docker-compose.yml :

services:
  solace-server:
    image: ludix0/solace_crafting:latest
    container_name: solace_crafting
    restart: unless-stopped
    ports:
      - "7777:27015/tcp"
      - "27016:27016/udp"
      - "7775:5055/tcp"
    environment:
      - TZ=Europe/Paris
      - PUID=1000
      - PGID=1000
      - UPDATE_ON_START=true
      - SERVER_NAME=Mon-Serveur-Solace
      - DESCRIPTION=Mon serveur dédié.
      - SERVER_PORT=27015
      - STEAMQUERYPORT=27016
      - PASSWORD=
      - MAX_PLAYERS=10
      - ALLOWADMIN=false
      - ADMINPASSWORD=
      - WORLD_NAME=Gaia
    volumes:
      - ./volumes/filesServer:/home/steam/solace_server
      - ./volumes/steamcmd:/home/steam/steamcmd
      - "./volumes/config_files:/home/steam/.config/unity3d/Big Kitty Games/Solace Crafting"
docker compose up -d
docker compose logs -f
⁠MĂ©thode 2 — Build depuis les sources (GitHub)
git clone https://github.com/Ludix0/solace_crafting.git
cd solace_crafting
ln -sf /chemin/vers/vos/secrets.env .env   # ou créer un .env avec les variables ci-dessous
docker build -t ludix0/solace_crafting:latest .
docker compose up -d
⁠Variables d'environnement
VariableRequiseDescription
PUIDNon (défaut 1000)UID avec lequel l'utilisateur steam s'exécute dans le conteneur
PGIDNon (défaut 1000)GID avec lequel l'utilisateur steam s'exécute dans le conteneur
SERVER_NAMENon (défaut MonServeurSolace)Nom du serveur affiché dans la liste des serveurs
DESCRIPTIONNonDescription du serveur, écrite dans servercfg.dat
WORLD_NAMENon (défaut World1)Nom de la sauvegarde de monde à utiliser (worldSaveToUse)
SERVER_PORTNon (défaut 27015)Port de jeu utilisé par le serveur
STEAMQUERYPORTNonPort de requĂȘte Steam ; doit correspondre au port UDP exposĂ©/mappĂ©
PASSWORDNon (défaut vide = serveur public)Mot de passe de connexion ; s'il est défini, le serveur est marqué privé
MAX_PLAYERSNon (défaut 10)Nombre maximum de joueurs simultanés
ALLOWADMINNonActive le mot de passe administrateur (true/false)
ADMINPASSWORDNonMot de passe administrateur, utilisé uniquement si ALLOWADMIN=true
UPDATE_ON_STARTNonSi true, SteamCMD met à jour/valide le serveur à chaque démarrage du conteneur ; sinon l'installation ne se fait qu'au premier démarrage (si le binaire du serveur est absent)
TZNonFuseau horaire du conteneur
⁠Volumes
VolumeContenu
/home/steam/solace_serverBinaires et fichiers du serveur de jeu, téléchargés/mis à jour par SteamCMD (App ID 1086950)
/home/steam/steamcmdInstallation de SteamCMD
/home/steam/.config/unity3d/Big Kitty Games/Solace CraftingDossier de configuration Unity du serveur, incluant le fichier servercfg.dat généré et les sauvegardes de monde
⁠Ports
PortProtocoleUsage
27015TCPPort de jeu principal (SERVER_PORT)
27016UDPPort de requĂȘte Steam (STEAMQUERYPORT)
5055TCPPort additionnel mappé par le conteneur (non documenté davantage dans les fichiers sources)

Tag summary

Content type

Image

Digest

sha256:69c2a06a9


Size

195 MB

Last updated

7 days ago

docker pull ludix0/solace_crafting