Private servers are set up by individuals and support multiplayer online gaming on unofficial servers. You can opt to use the services of a private server provider for easier creation of private servers. The link for server rental is as follows:
ClawCloud:https://claw.cloud/store/soulmask
G-portal:https://www.g-portal.com/soulmask
Server Operating Environment:
- The server operates on Linux(Server)/Windows(Server) operating systems.
- A single server can run multiple game instances.
- 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.
- The game uses the Steam platform, requiring the server to install the steamcmd tool.
- Windows servers require the installation of the telnet tool.
- Each game server process needs to open two UDP ports (default are 8777 and 27015, which can be modified through game command line parameters).
Server Startup Tutorial
1,Create a new folder in the server for SteamCMD.
2.Download SteamCMD for Windows
3.Extract the files in the zip to a folder in the root directory of your C drive,:

4.Search for cmd in Window and run Command Prompt
5.To open the steamcmd installation path on the command line, for example, enter the following command:cd C:\steamcmd

6.Use the following command to download the dedicated server:

steamcmd +login anonymous +app_update 3017310 validate +quit
Wait for a period of time, the server can be installed, the prompt success indicates that the download is successful.

Starting the server (taking Windows as an example)
Open StartServer.bat to run the server, the path is: C:\steamcmd\steamapps\common\Soulmask Dedicated Server For Windows\StartServer.bat

Shutting down the server (taking Windows as an example)
1.Start the telnet tool to connect to the server.
- In Windows, search for cmd and run the Command Prompt. Then enter:
telnet 127.0.0.1 18888
2.Shutting down the server
- Enter the following command:
quit 180
Please do not directly close the server window, as this may lead to data rollback.
Customized server settings:
1.First, you can make a copy of StartServer.bat to edit and customize the file.
2.Edit StartServer - copy.bat
Delete the original file content and replace it with:
call StartServer.bat
Then add the parameters you need to customize at the end of the line, with spaces separating each parameter.
3.Commonly used parameters:
Setting the server name: -SteamServerName=\"your server name\"
Setting the max players on the server: -MaxPlayers=50
Server password: -PSW=\"yourpassword\"
Enable GM access password: -adminpsw=\"yourGMpassword\"
Setting to PVP mode: -pvp
Setting to PVE mode: -pve
At the end, what StartServer - copy.bat might look like:
call StartServer.bat -SteamServerName=\"your server name\" -MaxPlayers=50 -PSW=\"yourpassword\" -adminpsw=\"yourGMpassword\" -pve
Run StartServer - copy.bat and the Server will start with your new settings.
Save path:
Windows save path: WindowsServer/WS/Saved
Linux save path: LinuxServer/WS/Saved
Advanced - Common Startup Parameters
The first parameter specifies the game level name, currently there is only one: Level01_Main.
Parameters | |
---|---|
-server | No change needed. |
-log | Turns on game console output. |
-SteamServerName | Specifies the name of the game instance displayed in the server list, string type. |
-MaxPlayers | Specifies the maximum number of players the game instance can support. |
-backup | Specifies the interval for writing the game database to disk (unit: seconds). |
-saving | Specifies the interval for writing game objects to the database (unit: seconds). |
-MULTIHOME | Specifies the local listening address. Use 0.0.0.0 or the local network card address. |
-Port | Specifies the game port, UDP, needs to be open to the public. |
-QueryPort | Specifies the Steam query port, UDP, needs to be open to the public. |
-EchoPort | Maintenance port, used for local telnet server maintenance, TCP, does not need to be open. |
-initbackup | Backs up game saves when the game starts. |
-backupinterval | Specifies how often (minutes) to automatically back up the world save. |
-forcepassthrough | Must be specified. |
-PSW | Server password, private servers can specify a password, players must enter the password to enter the server. |
-adminpsw | GM activation password.Open GM Panel (gm key [password]) |
Advanced - Launch Related:
Refer to the documentation for installing Windows with SteamCMD
Refer to the documentation for installing Linux with SteamCMD
Command for Download Dedicated Server
Windows with SteamCMD
steamcmd +login anonymous +app_update 3017310 validate +quit
Linux with SteamCMD
steamcmd +login anonymous +app_update 3017300 validate +quit
Note: Each game instance requires a separate sh/bat launch. Perform some configurations in the batch file, such as:
./StartServer.sh -SteamServerName='your server name' -MaxPlayers=50 -PSW='yourpassword' -adminpsw='yourGMpassword' -pve -Port=8777 -QueryPort=27015 -EchoPort=18888
Advanced - Server-Related Configuration Files:
Engine.ini
Path: WS\Saved\Config\WindowsServer\Engine.ini
on Windows, WS/Saved/Config/LinuxServer/Engine.ini
on Linux.
[URL]
Port=8777
[OnlineSubsystemSteam]
GameServerQueryPort=27015
[Dedicated.Settings]
SteamServerName=UNNAMED_SERVER
MaxPlayers=20
pvp=False
backup=900
saving=600
FAQ
I have followed the instructions to install Soulmask Let Loose dedicated server, but the launch failed.
- The Soulmask server is designed to support only the Steam platform; therefore, the Steam-related settings must be correctly initialized during the server startup process.
How can one determine if the server has successfully completed the Steam initialization?
- Check the server startup log file located in the server installation directory: /WS/Saved/Logs/WS.log
- Starting from around line 126, there will be the following output (indicating successful initialization):
LogOnline: STEAM: [AppId: 2646460] Game Server API initialized 1
LogOnline: STEAM: Initializing SteamNetworking Layer
LogOnline: STEAM: Missing P2PCleanupTimeout key in OnlineSubsystemSteam of DefaultEngine.ini, using default
LogOnline: STEAM: AUTH: Steam Auth Enabled
- The output for a failed initialization may be as follows:
LogOnline: OSS: Creating online subsystem instance for: steam
LogSteamShared: Warning: Steam Dedicated Server API failed to initialize.
LogOnline: STEAM: [AppId: 0] Game Server API initialized 0
LogOnline: Warning: STEAM: Failed to initialize Steam, this could be due to a Steam server and client running on the same machine. Try running with -NOSTEAM on the cmdline to disable.
The common reasons for initialization failure are as follows:
- Missing steam_appid.txt file located at WS/Binaries/Win64/steam_appid.txt (It's a text file with only a single line of digits, specifically: 2646460)
- The ports specified by -Port or -QueryPort are unavailable.
How do I find out what my server's invitation code is?
- The server's invitation code is a Base36 encoded GUID, 25 characters in length. A unique invitation code is automatically generated by the game server upon its first run. (Clients can use this invitation code to find the server in the server list.)
- During the server startup process, the invitation code will be printed to the Console and Log file. You can find the invitation code by checking the server log file (WS/Saved/Logs/WS.log). The relevant content will look as follows:
[2024.06.01-16.25.53:517][ 0]logStoreGamemode: Display: [SERVER UNIQUE ID:] 6U1WE0O933CC7H4RFBSQ8ND47.
- 6U1WE0O933CC7H4RFBSQ8ND47 is the unique invitation code for the server.
The server has started, but it is not visible in the server list. This situation usually occurs if the game port (specified by -Port, or default 8777) and the query port (specified by -QueryPort, or default 27015) are not accessible.
- Check the computer's firewall to see if it has allowed network permissions for the server program WSServer.exe.
- Check if the computer's firewall is blocking access to ports 8777/27015.
- If the computer is connected to the internet through a router, also check if NAT mapping has been done for ports 8777 and 27015.
How should I become a game administrator?
- Activate the console from the client by pressing ~.
- Enter
gm key [administrator password]
(specified by-adminpsw
) and press enter. This will open the GM control panel. - After opening the GM panel, enter the administrator password and click to become an administrator.
How do I ban players on the server?
- How to ban players on the private server?
- Execute the GM command: AddServerPermissionList 1 steamID(e.g. 76561************) How to unblock players on the private server?
- Execute the GM command: RemoveServerPermissionList 1 steamID(e.g. 76561************)
- How to mute players on the private server?
- Execute the GM command: AddServerPermissionList 4 steamID(e.g. 76561************)
- How to unmute players on the private server?
- Execute the GM command: RemoveServerPermissionList 4 steamID(e.g. 76561************)
How to unban a player
How to unban a player
- Execute the GM command:
RemoveServerPermissionList 1 steamID
How to save the game
How to save the game
- To save the world archive while the server is running, execute the GM command:
gm BaoCun
How to Use the Maintenance Port? The maintenance port is a simple way to maintain the server, specified through the command line parameter: -EchoPort
. During server operation, use a Telnet tool to connect to the maintenance port as follows:
How to Use the Maintenance Port? The maintenance port is a simple way to maintain the server, specified through the command line parameter: -EchoPort
. During server operation, use a Telnet tool to connect to the maintenance port as follows:
- Execute the Windows run command:
telnet 127.0.0.1 18888
- Upon entering the telnet interface, type
help
to view the available maintenance commands for the server. - To shut down the server after 30 seconds, enter:
quit 30
- To save, enter:
saveworld 1
Common GM Command:
Command Name | Command Code | Description |
Open GM Panel | gm key [password] | Effective for server owner only |
Quick Teleport | N/A | Open the map (M), hold left Crrl + Right Click directly on the target location |
Teleport | gm go [position_x] [position_y] [position_z] | XYZ represents specific coordinates. Press M to open the map, then press F to display coordinates |
Add Experience | gm add_exp [value] | Effective for server owner only |
Add Mask Experience | gm add_mask_exp [value] | Effective for server owner only |
Add Hunting Experience | gm add_hunting_exp [value] | |
Free Camera | N/A | Press "/" to Enter free camera mode |
Follow Player View | gm follow_player_view 1 | After activating the command, choose a player to follow their view. Press M to enter free camera mode, press M again to return to that player’s view |
Disable Follow Player View | gm follow_player_view 0 | Stops following player's view. If your view does not return to your own after disabling this effect, double-tap the [/] key |
Unlock All Map Information | gm show_map | Effective for server owner only |
Unlock All Tech Tree | gm unlock_techs | Effective for server owner only |
View Server Status Information | Debuginfo 1 | Displays server frame rate, number of online players, etc. |
Hide Server Status Information | Debuginfo 0 | Stops displaying server frame rate, number of online players, etc. |
Refresh Vegetation in Range | gm refresh_vegetation_in_range [value] | Centered on server owner, [value] is the radius of the circle, 100 = 1 meter, maximum value 35,000 |
Destroy Vegetation in Range | gm destroy_vegetation_in_range [value] | Centered on server owner, [value] is the radius of the circle, 100 = 1 meter, maximum value 35,000 |
Force Join Targeted Tribe | gm join_target_tribe | N/A |
Force Join Specified Tribe | gm join_tribe [index] | Press J to open the tribe list and see the position of the tribe you want to join. Enter the corresponding [index] number; the tribe in the first position is counted as 0. If the tribe you want to join is in the third position, please enter 2. |
Gain Chief Permissions for Current Tribe | gm take_over_target_tribe | Take over the tribe of the player targeted by the mouse crosshair |
Delete Tribe Sorted at index-1 | gm DeleteGuild <Index> | N/A |
Destroy Buildings Within Radius | gm CuiHuiViewGongHuiJianZhuByRadius <Radius> | Centered on server owner, [Radius] is the radius of the circle, 1 = 1 meter, maximum value 400 |
Manual Save | gm BaoCun | Manually Save Server Data |
Reset Skills | gm reset_abilities | Effective for server owner only |
Quick Recruit NPC (aim at target) | gm recruit | Recruits the barbarian targeted by the crosshair |
Clear All NPCs | gm clear_all_npcs | Clear All NPCs on the server |
Show Own Information, Quality, Proficiency, Talents, etc. | gm ShowInfo 1 | Shows the server owner's own information |
Show Character Information, Quality, Proficiency, Talents, etc. | gm ShowInfo 0 | Shows information of the character targeted by the crosshair |
Set All Proficiency Levels | gm set_all_pros_level [value] | Effective for server owner only |
Repair Mask Nodes | gm unlock_nodes | Effective for server owner only |
Show Invasion Heat Information Chart | gm show_fever | Displays the fever at the server owner's location |
Clear All Barbarian Invasion Heat | gm clear_fever | Clears the fever at the server owner's location |
Increase Barbarian Invasion Heat at Current Location | gm add_fever [value] | Increases the fever at the server owner's location, maximum value 8,000,000 |
View Current Location | GPS | Effective for server owner only |
Enable Invisibility | gm SetAttr YinShen 1 | Enter Invisibility Mode, can be detected by [Q] |
Disable Invisibility | gm SetAttr YinShen 0 | N/A |