Skip to content

Soulmask

Escaping a deadly sacrificial ritual, you find an ancient mystical mask on your journey. This mask holds potent knowledge, changing the world you knew. Face the harsh challenges of nature, survive, rally followers, and build your own tribe. Explore and unveil the truths behind the enigmatic mask.

Report an issue
updated
variables
17
images
1
author
josdekurk@gmail.com
sha256
15503f2b5df8

Readme

Soulmask

Game Description

Escaping a deadly sacrificial ritual, you find an ancient mystical mask on your journey. This mask holds potent knowledge, changing the world you knew. Face the harsh challenges of nature, survive, rally followers, and build your own tribe. Explore and unveil the truths behind the enigmatic mask.

Useful links

Steam: https://store.steampowered.com/app/2646460/Soulmask/

Author & Contributers

Name Github Profile Buy me a Coffee
QuintenQVD0 https://github.com/QuintenQVD0 ko-fi

Server Ports

Soulmask requires up to 4 ports. You can choose every port you want.

Port default
Game 7777
Query 27015
EchoPort 18888
ClusterPort 2000

Important Server Files Locations

File Path
World Save WS\Saved\Worlds\Dedicated(selectedmap)\world.db
Server Config WS\Saved\Config\LinuxServer\
Gameplay Settings WS\Saved\Gameplaysettings\GameXishu.json
Server Logs WS\Saved\Logs
Backups WS\Saved\Worlds\Dedicated(selectedmap\backup

Special Note

  • A single game process requires at least 16GB of memory and 2-4 CPU cores.
  • Bandwidth requirements: Each game server's inbound/outbound bandwidth is about 100kbps/player.
  • The game package size is about 1-2GB, requiring about 20GB of free disk space for operation.
  • Cluster Port : The TCP broadcast port that client server will connect to. The presence of this parameter designates the server as a main server for a cluster. This port should not be open to the public, but needs to be accessible to servers within the cluster. Any server with access to the port can register as a client server.

Mods

  • When you want to join your modded server, activate the mods ingame in the Main menu before joining your server.
  • When adding mods , be sure there are no spaces as example: MODID1,MODID2,MODID3

Extra Info

Extra info can be found on saraserenity.net

Startup command

/home/container/WS/Binaries/Linux/WSServer-Linux-Shipping WS {{MAP}} -log -server -UTF8Output -serverid={{SERVER_ID}} -mainserverport={{CLUSTER_MAIN_PORT}} -clientserverconnect={{CLUSTER_MAIN_IP}}:{{CLUSTER_MAIN_PORT}} -SteamServerName="{{SERVER_NAME}}" -saving={{SAVE_TIME}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -EchoPort={{ECHO_PORT}} -forcepassthrough -adminpsw={{ADMIN_PASSWORD}} -PSW={{SERVER_PASSWORD}} -MaxPlayers={{MAX_PLAYERS}} -gamedistindex={{region}} -backup={{BACKUP_TIME}} -MULTIHOME=0.0.0.0 -mod=\"{{MOD_ID}}\"

The parts in blue are filled in by the panel when the server starts, from the variables below.

Docker image

  • SteamCMD ghcr.io/ptero-eggs/steamcmd:debian

2 contributors

Variables

17 settings

  • App ID

    env
    SRCDS_APPID
    default
    3017300
    rules
    required|string|in:3017300
  • Auto Update

    Auto update the server on start

    env
    AUTO_UPDATE
    default
    1
    rules
    required|boolean
    • viewable
    • editable
  • Server Name

    Specifies the name of the game instance displayed in the server list

    env
    SERVER_NAME
    default
    Soulmask Server
    rules
    required|string|max:85
    • viewable
    • editable
  • Map Players

    Specifies the maximum number of players the game instance can support.

    env
    MAX_PLAYERS
    default
    60
    rules
    required|numeric|between:1,70
    • viewable
    • editable
  • Backup Interval

    Specifies the interval for writing the game database to disk (unit: seconds).

    env
    BACKUP_TIME
    default
    960
    rules
    required|numeric
    • viewable
    • editable
  • Save Time Interval

    Specifies the interval for writing game objects to the database (unit: seconds).

    env
    SAVE_TIME
    default
    600
    rules
    required|numeric
    • viewable
    • editable
  • Query Port

    Specifies the Steam query port, UDP, needs to be open to the public.

    env
    QUERY_PORT
    default
    27015
    rules
    required|numeric|between:1024,65536
    • viewable
  • Echo Port

    Maintenance port, used for local telnet server maintenance, TCP, does not need to be open.

    env
    ECHO_PORT
    default
    18888
    rules
    required|numeric|between:1024,65536
    • viewable
  • Server Password

    Server password, private servers can specify a password, players must enter the password to enter the server.

    env
    SERVER_PASSWORD
    default
    none
    rules
    nullable|string|max:32
    • viewable
    • editable
  • Admin Password

    GM activation password.Open GM Panel (gm key [password])

    env
    ADMIN_PASSWORD
    default
    none
    rules
    nullable|string|max:32
    • viewable
    • editable
  • Mods

    Specifies the order and which mods are loaded. ModIDs need to be comma-separated such as: ModID1,ModID2,ModID3

    env
    MOD_ID
    default
    none
    rules
    nullable|regex:/^[0-9,]+$/
    • viewable
    • editable
  • Region

    0: Test (events allowed any time) 1= Asia 2=North America 3=Europe 4=Mainland China 5=South America 6=Oceania 7=Africa

    env
    region
    default
    0
    rules
    required|digits:1
    • viewable
    • editable
  • Map

    Which map to load . Level01_Main = Cloud Mist Forest (default) DLC_Level01_Main = Shifting Sands

    env
    MAP
    default
    Level01_Main
    rules
    required|in:Level01_Main,DLC_Level01_Main
    • viewable
    • editable
  • Server ID

    Server ID is unique for every server you want connect. !! If this value is changed after starting server, all save data is reset !!

    env
    SERVER_ID
    default
    1
    rules
    required|numeric
    • viewable
    • editable
  • Cluster Server Port

    The TCP broadcast port that client server will connect to. The presence of this parameter designates the server as a main server for a cluster. This port should not be open to the public, but needs to be accessible to servers within the cluster. Any server with access to the port can register as a client server.

    env
    CLUSTER_MAIN_PORT
    default
    2000
    rules
    required|integer|between:1,65535
    • viewable
    • editable
  • Main Server Address

    The IP of the main server to connect to. The presence of the parameter designates the server as a client server in a cluster. 127.0.0.1 = Standalone Mode/Main Server

    env
    CLUSTER_MAIN_IP
    default
    127.0.0.1
    rules
    nullable
    • viewable
    • editable
  • Enable Character Transfers

    Enable Character Transfers

    env
    ENABLE_CROSS_SERVER
    default
    0
    rules
    required|boolean
    • viewable
    • editable
Installation script 60 lines container ghcr.io/ptero-eggs/installers:debian entrypoint bash show
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
# Image to install with is 'ghcr.io/ptero-eggs/installers:debian'


# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.
#apt -y update
#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates

## just in case someone removed the defaults.
if [[ "${STEAM_USER}" == "" ]] || [[ "${STEAM_PASS}" == "" ]]; then
    echo -e "steam user is not set.\n"
    echo -e "Using anonymous user.\n"
    STEAM_USER=anonymous
    STEAM_PASS=""
    STEAM_AUTH=""
else
    echo -e "user set to ${STEAM_USER}"
fi

## download and install steamcmd
cd /tmp
mkdir -p /mnt/server/steamcmd
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing
cd /mnt/server/steamcmd

# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt
export HOME=/mnt/server

## install game using steamcmd
./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} +app_update 1007 $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6

## set up 32 bit libraries
mkdir -p /mnt/server/.steam/sdk32
cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so

## set up 64 bit libraries
mkdir -p /mnt/server/.steam/sdk64
cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so

## add below your custom commands if needed
## Maybe this path is just needed?
mkdir -p /mnt/server/WS/Saved/Config/LinuxServer
#Create settings file for first time startup .
mkdir -p /mnt/server/WS/Saved/GameplaySettings

if [ "${ENABLE_CROSS_SERVER}" = "1" ]; then
    echo '{"0":{"KaiQiKuaFu":1},"1":{"KaiQiKuaFu":1},"2":{"KaiQiKuaFu":1}}' > /mnt/server/WS/Saved/GameplaySettings/GameXishu.json
fi

## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"