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.
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 |
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
- Egg Update : SoulMask (#571)
· brainshead · 84deb6a
- Soulmask - Added Mod Option (#166)
· brainshead · 45a7ccb
- Add steamcmd based eggs
· Daniel Barton · 60ef9fb
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 Hide
#!/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 "-----------------------------------------"