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.

egg-soulmask.json

updated

Ports

Add an allocation on the node for each port.

  • Game 7777
  • Query 27015
  • EchoPort 18888
  • ClusterPort 2000

Install

Installer image
ghcr.io/ptero-eggs/installers:debian
Steam app
3017300
Steam login
not required
Install script
60 lines

Image

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

Startup

The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.

17 variables

Startup command

/home/container/WS/Binaries/Linux/WSServer-Linux-Shipping WS Level01_Main -log -server -UTF8Output -serverid=1 -mainserverport=2000 -clientserverconnect=127.0.0.1:2000 -SteamServerName="Soulmask Server" -saving=600 -Port=7777 -QueryPort=27015 -EchoPort=18888 -forcepassthrough -adminpsw={{ADMIN_PASSWORD}} -PSW={{SERVER_PASSWORD}} -MaxPlayers=60 -gamedistindex=0 -backup=960 -MULTIHOME=0.0.0.0 -mod=\"{{MOD_ID}}\"

Dotted values come from the server settings. These values are examples.

  • SRCDS_APPIDUsers cannot see

    required|string|in:3017300

  • Auto update the server on start

    AUTO_UPDATEUsers can edit

    required|boolean

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

    SERVER_NAMEUsers can edit

    required|string|max:85

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

    MAX_PLAYERSUsers can edit

    required|numeric|between:1,70

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

    BACKUP_TIMEUsers can edit

    required|numeric

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

    SAVE_TIMEUsers can edit

    required|numeric

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

    QUERY_PORTUsers can see

    required|numeric|between:1024,65536

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

    ECHO_PORTUsers can see

    required|numeric|between:1024,65536

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

    SERVER_PASSWORDUsers can edit

    nullable|string|max:32

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

    ADMIN_PASSWORDUsers can edit

    nullable|string|max:32

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

    MOD_IDUsers can edit

    nullable|regex:/^[0-9,]+$/

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

    regionUsers can edit

    required|digits:1

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

    MAPUsers can edit

    required|in:Level01_Main,DLC_Level01_Main

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

    SERVER_IDUsers can edit

    required|numeric

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

    CLUSTER_MAIN_PORTUsers can edit

    required|integer|between:1,65535

  • 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

    CLUSTER_MAIN_IPUsers can edit

    nullable

  • Enable Character Transfers

    ENABLE_CROSS_SERVERUsers can edit

    required|boolean

Wings

Stop command
^C (SIGINT)
Running when the console shows
Create Dungeon Successed

Files Wings edits

Wings sets these values in these files before each start.

./WS/Saved/GameplaySettings/GameXishu.json json

0.KaiQiKuaFu
{{server.build.env.ENABLE_CROSS_SERVER}}
1.KaiQiKuaFu
{{server.build.env.ENABLE_CROSS_SERVER}}
2.KaiQiKuaFu
{{server.build.env.ENABLE_CROSS_SERVER}}

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

Changes

  1. Egg Update : SoulMask (#571)

    · brainshead · 84deb6a

  2. Soulmask - Added Mod Option (#166)

    · brainshead · 45a7ccb

  3. Add steamcmd based eggs

    · Daniel Barton · 60ef9fb

All changes on GitHub

Problem with this egg?

Open an issue on GitHub. Include your Panel and Wings versions.

Install script 60 lines bash in ghcr.io/ptero-eggs/installers:debian 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 "-----------------------------------------"