iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Prefer not to run the server on your own PC? Godlike.Host offers hosted Soulmask servers with free DDoS protection and up to three free backups a day.
The reliable way to run a persistent Soulmask server on Linux is to install the dedicated-server depot with SteamCMD, launch it under a non-root account, allow one game UDP port and one query UDP port, keep WS/Saved on durable storage, and supervise the process with systemd. Start without mods, verify local connectivity, then expose the server to the internet only after the baseline installation works.
This guide uses the commonly documented Linux app ID 3017300, game port 8777/UDP, and query port 27015/UDP. SteamCMD output is authoritative: depot IDs and delivered filenames can change, so confirm what your installation actually downloads before creating the service.
Free tools Windows power users keep installed
One-click scans. No signup required.
What the Linux server needs
Soulmask’s Steam listing specifies a 64-bit operating system, at least 16 GB of RAM, 24 GB recommended, and 25 GB of available storage. It also prefers an SSD. Those are the game’s published requirements, not a promise that every dedicated-server workload, player count, mod, or backup job will fit inside them. Leave additional disk space for logs, saved worlds, updates, and backups.
| Resource | Published baseline | How to interpret it for a server |
|---|---|---|
| Operating system | 64-bit | Use a 64-bit Linux distribution and 64-bit userspace libraries. |
| Memory | 16 GB minimum; 24 GB recommended | Treat 24 GB as a more comfortable starting point, especially when the machine also runs SteamCMD, monitoring, backups, or other services. |
| Storage | 25 GB available | Reserve more than this for updates, world saves, logs, and backup generations. |
| Drive type | SSD preferred | An SSD reduces startup and save latency compared with a mechanical disk. |
Use a machine with a stable private address on your LAN. For a public server, it also needs a public IPv4 or IPv6 path, inbound UDP support, and a router or firewall you can administer. A home server can work, but power loss, changing private addresses, carrier-grade NAT, and ISP restrictions make a Linux VPS or managed game-server service easier for many operators. Compare those options by monthly cost, CPU and RAM headroom, SSD storage, public-address and UDP support, backup controls, restart tooling, mod support, and how much firewall and port work you must perform; verify current provider prices and limits directly before committing.
#1 Best Overall
- Ideal for high speed, low power storage
- Gen 4x4 NVMe PCle performance
- Up to 6,000MB/s read, 4,000MB/s write
- Includes Acronis cloning software
- 5-year limited warranty
Choose a consistent network design
A Soulmask installation has two distinct UDP flows. The game port carries gameplay traffic; the query port lets server browsers and tools discover the instance. A commonly documented pair is game UDP 8777 and query UDP 27015. Some container examples use 27050 and 27051 instead. Either design can work, but do not mix values between launch arguments, host-firewall rules, router forwarding, and any container or hosting panel.
| Function | Example value | Protocol | Where it must match |
|---|---|---|---|
| Game traffic | 8777 |
UDP | Launcher -Port, Linux firewall, router forwarding, and any provider firewall |
| Server browser query | 27015 |
UDP | Launcher -QueryPort, Linux firewall, router forwarding, and any provider firewall |
If another service already uses either port, select unused ports above 1024 and document them. The important property is consistency, not these particular numbers. Query traffic is not a TCP rule; opening only TCP will leave the server invisible.
Install the server under a dedicated Linux account
Create an unprivileged account and directory
Do not run the game process as root. Create a service account such as steam, then place SteamCMD and the server below a directory such as /opt/soulmask. The account must own the installation and its save tree.
sudo useradd --create-home --shell /bin/bash steam
sudo mkdir -p /opt/soulmask
sudo chown -R steam:steam /opt/soulmask
sudo -iu steam
The exact account-management command varies by distribution. The required outcome is an account with no unnecessary administrative privileges and write access to the server directory. Keep operating-system configuration, firewall administration, and package installation in your administrator account; run SteamCMD and Soulmask as steam.
Install SteamCMD
Install SteamCMD using your distribution’s supported package or the official SteamCMD distribution for that Linux release. Ensure the command is available to the steam account, and install any 32-bit compatibility libraries your distribution requires for SteamCMD. If SteamCMD starts but reports a missing shared library, resolve that dependency before troubleshooting Soulmask itself.
Download the Linux depot
From the service account, use a dedicated install directory and the Linux app ID commonly listed for Soulmask:
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorssteamcmd +login anonymous +force_install_dir /opt/soulmask +app_update 3017300 validate +quit
Watch the complete output. It should show a successful update and validation, not merely a command prompt returning. Confirm that the downloaded files are Linux server files and that the output identifies the expected depot. Documentation and prebuilt host images can lag behind depot changes; if SteamCMD rejects 3017300, check the current Soulmask dedicated-server listing and use the currently published Linux ID rather than repeatedly changing launch flags.
Rank #2
- This product has been replaced by our latest generation. Please search for the SANDISK Optimus GX 7100 NVMe SSD
- HIGH-OCTANE GAMING. Experience speeds up to 7,250MB/s read and 6,900MB/s write (1-2TB models), with up to 35% faster performance than previous generation.
- PURPOSE-BUILT. Designed for serious on-the-go gamers, with a PCIe Gen4 interface and SANDISK’s next generation TLC 3D NAND.
- MORE TIME TO CLEAR THAT CHECKPOINT. Built with laptops and handheld gaming devices in mind, with up to 100% more power efficiency over the previous generation.
- DO MORE WITH DASHBOARD. Ensure your drive is optimized for prime performance with the downloadable WD_BLACK Dashboard (Windows only).
Inspect and prepare the delivered files
List the installation before writing a service. Look for a Linux launcher such as StartServer.sh or a binary such as WSServer-Linux-Shipping. The name can differ between depot revisions, so use the file that actually arrived.
cd /opt/soulmask
find . -maxdepth 3 -type f ( -name 'StartServer.sh' -o -name 'WSServer-Linux-Shipping' ) -print
chmod +x ./StartServer.sh
Run chmod only on a file that exists; if the depot supplies a binary instead of a script, make that binary executable. Keep the first configuration intentionally small: a short server name, a modest player limit, and strong, temporary passwords while you test.
Configure the launch arguments
Soulmask accepts common command-line options for identity, capacity, access control, game mode, and networking. Keep the values in one launcher script so a systemd unit and manual maintenance use the same configuration.
| Argument | Purpose | Example |
|---|---|---|
-SteamServerName |
Name displayed to players | -SteamServerName="North Ridge Linux" |
-MaxPlayers |
Player limit | -MaxPlayers=20 or -MaxPlayers=50 |
-PSW |
Join password | -PSW="use-a-long-join-password" |
-adminpsw |
Administrator password | -adminpsw="use-a-different-admin-password" |
-pve / -pvp |
World combat mode | Choose one mode, not both. |
-Port |
Gameplay UDP port | -Port=8777 |
-QueryPort |
Browser-query UDP port | -QueryPort=27015 |
-EchoPort |
Optional deployment-specific echo service | Use only when your deployment documentation requires it. |
| RCON options | Optional remote administration | Enable only with settings supported by your installed server build and protect the credentials. |
Create a launcher with restrictive permissions so passwords are not readable by ordinary users:
#!/usr/bin/env bash
set -euo pipefail
cd /opt/soulmask
exec ./StartServer.sh
-SteamServerName="North Ridge Linux"
-MaxPlayers=20
-PSW="replace-with-a-long-join-password"
-adminpsw="replace-with-a-separate-admin-password"
-pve
-Port=8777
-QueryPort=27015
Save it as /opt/soulmask/start-soulmask.sh, make it executable, and limit access:
chmod 700 /opt/soulmask/start-soulmask.sh
If your depot contains WSServer-Linux-Shipping rather than StartServer.sh, replace the executable in the exec line. Do not add gameplay overrides or mods until this plain launch succeeds.
Start locally before exposing the server
Run the launcher in the foreground for the first test:
Rank #3
- Solid state performance with up to 800MB/s read speeds in a portable drive. (Based on internal testing; performance may be lower depending on host device, interface, usage conditions and other factors. 1MB=1,000,000 bytes.)
- Back up your content and memories on a storage solution that fits seamlessly into your mobile lifestyle.
- Take it with you on your adventures—up to two-meter drop protection means this durable drive can take a beating. (Based on internal testing.)
- Secure it to your belt loop or backpack for extra peace of mind thanks to the tough rubber hook.
- From Sandisk, a brand professional photographers trust to take on assignments.
/opt/soulmask/start-soulmask.sh
Read the startup output rather than assuming a returned shell prompt means success. A healthy baseline should remain running, bind the selected ports, create or update the WS tree, and finish registration without an immediate fatal error. Stop it gracefully with the server’s supported stop method or an orderly interrupt; an abrupt kill can leave the world database in an unsafe state.
From a second machine on the same LAN, search for the server or connect using the LAN address and configured port. A local test separates game configuration and executable problems from router and public-DNS problems. Keep the initial player limit low and use strong temporary credentials; change credentials before inviting players.
Protect saves and configuration
The persistent state lives below WS/Saved. Linux configuration files are under WS/Saved/Config/LinuxServer. Keep that tree on the real host filesystem or a deliberately persistent volume, not an ephemeral container layer.
sudo chown -R steam:steam /opt/soulmask/WS/Saved
sudo find /opt/soulmask/WS/Saved -type d -exec chmod 750 {} ;
Ownership is as important as the path. If systemd runs as steam but a previous root-run test created root-owned files, the server may start while failing to write a world or configuration. Stop the process cleanly, correct ownership, and verify that the service account can create a test file before deleting it.
Recommended Free Tools
Back up WS/Saved before changing gameplay settings, updating the depot, or installing mods. Include the world database and the LinuxServer configuration. Keep at least one backup outside the live installation so disk corruption or an accidental update cannot destroy every copy.
Run Soulmask automatically with systemd
Once foreground startup and a LAN connection work, create a system service. This example assumes the launcher is at /opt/soulmask/start-soulmask.sh and the account is steam.
[Unit]
Description=Soulmask dedicated server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=steam
Group=steam
WorkingDirectory=/opt/soulmask
ExecStart=/opt/soulmask/start-soulmask.sh
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
TimeoutStopSec=120
[Install]
WantedBy=multi-user.target
Save it as /etc/systemd/system/soulmask.service, then load and enable it:
Rank #4
- HUGE SPEED BOOST: Get random read/write speeds that are 40%/55% faster than 980 PRO; Experience up to 1400K/1550K IOPS, while sequential read/write speeds up to 7,450/6,900 MB/s reach near the max performance of PCIe 4.0*
- BREAKTHROUGH POWER EFFICIENCY: Use less power and get more performance; Enjoy up to 50% improved performance per watt over 980 PRO, plus optimal power efficiency with max PCIe 4.0 performance**
- SMART THERMAL CONTROL: Samsung's own nickel-coated controller delivers effective thermal control; With its slim size, 990 PRO is a perfect fit for desktops and laptops that meet the PCI-SIG D8 standard***
- THE CHAMPION MAKER: Up to 65% improvement in random performance enables faster loads for an ultimate gaming experience on PS5 and DirectStorage PC games****
- SAMSUNG MAGICIAN SOFTWARE: Get the most out of your SSD with Samsung Magician's advanced yet intuitive optimization tools; Monitor drive health, protect valuable data, and receive important updates for your 990 PRO
sudo systemctl daemon-reload
sudo systemctl enable --now soulmask
sudo systemctl status soulmask
journalctl -u soulmask -f
Restart=on-failure handles crashes and many transient failures; it does not fix a bad argument or missing library, so inspect the journal when a restart loop occurs. Keep WorkingDirectory pointed at the directory containing WS. Before maintenance, stop the unit and wait for a clean shutdown:
sudo systemctl stop soulmask
After an update or configuration change, start it again and inspect the first minutes of logs. A service that is enabled but points to a temporary path will appear healthy until the next reboot or container replacement, so verify the path and save location deliberately.
Open the host firewall and router
Host firewall
Allow both selected ports as UDP. For a host using UFW and the common pair:
sudo ufw allow 8777/udp
sudo ufw allow 27015/udp
sudo ufw status
Translate the same rules to firewalld, nftables, or your distribution’s firewall manager if UFW is not installed. Do not open TCP in place of UDP, and do not allow unrelated ports just because the server is running.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Router forwarding for an internet server
Give the Linux host a stable private address, then forward UDP 8777 and UDP 27015 from the router’s public interface to that address. The external and internal values can differ only if you also account for the translation in your documentation and client instructions; using the same values end to end is simpler.
Test from a separate network, such as a phone hotspot. Testing from inside the same LAN can fail on routers without NAT loopback even when the public path is correctly configured. If your provider uses carrier-grade NAT, ordinary port forwarding may be impossible; use a host with a public address or a managed service instead. For a LAN-only server, leave router forwarding disabled and share only the private address.
Add gameplay settings and mods only after the baseline works
After an unmodified server starts and players can connect, tune gameplay settings such as GameXishu.json or the supplied gameplay templates. Make one change at a time and retain a rollback copy of WS/Saved. A bad override is easier to identify when it is the only change since the last known-good backup.
Best Value
- High-Efficiency Performance: The SSD 1TB SATA adopts 3D NAND flash memory, which achieves a read speed of up to 560MB/s and a write speed of up to 510MB/s. Get a faster data transfer experience and improve your work efficiency.
- Upgrate Your Computer: The SATA 1TB SSD achieved faster app load and response times, and faster boot-up and shut-down, compared to HDDs. The internal SSD adopts advanced SLC Cache Technology, which improves overall computer performance.
- Reliability and Stability: The 2.5 SSD 1TB supports garbage collection, advanced wear-leveling technology, RAID, ECC, TRIM, and S.M.A.R.T, which makes the SATA SSD more reliable and stable. With the characteristics of shockproof, the SSD hard drive can keep your data safe, without worry even if your computer drops.
- Wide Compatibility: The 2.5'' SSD built-in SATA III 6Gb/S interfaces, witch backwards compatible with SATA II and SATA interfaces. The Internal SATA SSD is compatible with Windows, Linux, and Mac OS, and compatible with laptops, desktops, and all-in-one computers.
- 3-Year Service: Our SSDs come with a 3 years after-sales service and lifetime technical support. If you have any questions, please contact us and we will sincerely and professionally solve the problem for you.
Soulmask supports Steam Workshop content and Modkits. Add mods incrementally after the clean server is stable. Record the load order and versions, back up the world first, and test with an administrator account before inviting the whole player group. A client and server that do not have compatible content can produce version or connection errors; remove the newest mod first when diagnosing a newly broken start.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchTroubleshoot common failures
The server does not appear in the browser
- Confirm the process is still running and that it is configured for the intended
-Portand-QueryPort. - Check that both ports are listening or otherwise permitted by the host firewall as UDP.
- Verify router forwarding targets the host’s current private IP, not an old DHCP lease.
- Check the provider or cloud firewall in addition to the Linux firewall.
- Test from outside the LAN; an internal test can be misleading when NAT loopback is unavailable.
- Make sure the query rule is UDP. A TCP-only rule will not publish the server.
The process exits immediately
- Run the launcher in the foreground and read the first error, not just the final shutdown line.
- Confirm the selected file is executable and is the Linux file delivered by SteamCMD.
- Check missing shared-library messages and install the required distribution dependencies.
- Verify
WorkingDirectorycontains the expectedWSfiles. - Run once as the intended
steamaccount to expose permission differences hidden by a root test. - Remove new mods and gameplay overrides, then retry the unmodified baseline.
The world does not save
- Stop the service cleanly before inspecting files.
- Check that
steamownsWS/Savedand has write permission throughout the tree. - Confirm the service points to the permanent installation rather than a temporary container volume.
- Check available disk space and back up the world database before further repair.
Players receive a version error
Update the server depot and clients together, then run SteamCMD validation before changing launch arguments. A configuration edit cannot repair a client/server build mismatch. Re-test with the server unmodified before restoring Workshop content.
The service repeatedly restarts
Use journalctl -u soulmask -f while starting it manually. If the same argument, permission, or library error appears on every cycle, stop the unit, correct that root cause, and start it once in the foreground. Repeated automatic restarts can obscure the first meaningful error and make a damaged save harder to diagnose.
Safe update and maintenance routine
- Announce maintenance and stop the service with
sudo systemctl stop soulmask. - Wait for the process to exit and copy
WS/Savedto a dated backup location. - Run SteamCMD with
+app_update 3017300 validateas thesteamaccount, watching for the current depot and validation result. - Inspect the delivered files if the launcher or binary changed, and restore executable permissions where needed.
- Start in the foreground once, check logs, and connect from a test client.
- Start the systemd unit and monitor its journal before returning the server to players.
If the update changes the app ID or file layout, do not guess. Confirm the current dedicated-server listing and adapt the launcher only after SteamCMD has delivered a known-good Linux build.
Native Linux, VPS, or managed hosting?
| Option | Advantages | Responsibilities and risks |
|---|---|---|
| Home or office Linux host | Direct control, existing hardware, and no separate hosting fee | You manage power, backups, public addressing, router forwarding, firewall rules, and uptime. |
| Linux VPS | Usually provides a public address, datacenter connectivity, and independent power | You still manage the operating system, updates, SteamCMD, saves, firewall, and capacity; verify UDP support and resource limits. |
| Managed game hosting | Control panels, restart tools, and port management reduce administration | Mod support, backup retention, storage, player capacity, and current pricing vary; verify each item with the provider. |
The software procedure remains the same in principle: persistent WS/Saved, a non-root process, matching UDP rules, and supervised restarts. Choose the platform based on which operational tasks you can reliably perform, not only on advertised CPU or RAM figures.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Operational checklist
- 64-bit Linux host with at least the published 16 GB RAM minimum; 24 GB is the recommended baseline.
- More than 25 GB of free SSD-backed storage for the installation, saves, logs, updates, and backups.
- Dedicated non-root service account and a stable installation path.
- SteamCMD successfully installs and validates the current Linux depot.
- Launcher uses one documented game UDP port and one documented query UDP port.
WS/Savedis persistent, writable by the service account, and backed up.- Foreground startup and a LAN connection succeed before public exposure.
- systemd starts the server after reboot and restarts it after a failure.
- Host firewall, router forwarding, and any provider firewall use the same UDP values.
- Mods and gameplay overrides are introduced only after the clean server is known to work.
Frequently Asked Questions
What should I do if SteamCMD no longer accepts app ID 3017300?
Do not substitute the Windows ID or keep changing launch arguments. Check the current Soulmask dedicated-server listing, identify the current Linux depot ID, and confirm the new files and validation result in SteamCMD output before updating your service.
Can I run the server without forwarding ports?
Yes, for a LAN-only server. Keep router forwarding disabled and have players connect over the private network. Internet players require a reachable public address and matching UDP forwarding.
Where should I restore a backup after a failed update?
Stop the service, preserve the failed directory for diagnosis, and restore the backup into the live installation’s WS/Saved tree with ownership set back to the steam account before restarting.
Should I install Workshop mods before creating the systemd service?
No. First prove that the unmodified server starts, saves, and accepts a client. Then add one mod or setting change at a time with a rollback copy.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

