Soulmask《灵魂面具》 专用服务器搭建教程

Soulmask(灵魂面具)是一款以原始部落文明为题材的开放世界生存沙盒游戏。玩家从一无所有的野人开始,在广袤的热带丛林中探索、狩猎、采集,逐步召集 NPC 族人建立自己的部落,研发各时代的科技,并与野兽、敌对势力和神秘的面具文明展开对抗。游戏支持多人联机,官方提供专用服务器工具,玩家可以在私有服务器上与朋友共同经营部落、开拓领地。由于游戏内有大量 AI 行为模拟、开放世界地形交互和持续的世界状态计算,服务器对内存的需求尤为突出,选择合适的配置至关重要。


服务器配置建议

Soulmask 是开放世界沙盒游戏,服务端需要持续计算世界状态、NPC AI 调度、动态生态以及玩家建筑的物理交互,内存占用在多人模式下通常超过 8GB,CPU 占用也较为明显。

配置项 最低配置 推荐配置
CPU 4 核 4 核
内存 12GB 16GB
硬盘 30GB 50GB
带宽 10Mbps 20Mbps
系统 Ubuntu 22.04 LTS(64位) Ubuntu 22.04 LTS(64位)

推荐使用 雨云服务器 rainyun-com 部署,注册填码 2026off 领 5 折。4 核 16GB 机型是 Soulmask 服务器的推荐配置,充裕的内存可以保障开放世界生存游戏的流畅运行,支持 10 人以上同时在线而不卡顿。


安装依赖

更新系统并安装必要组件:

sudo apt update && sudo apt upgrade -y

# 安装 SteamCMD 依赖
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl wget ufw libsdl2-2.0-0

# 创建专用运行用户
sudo useradd -m -s /bin/bash steam
sudo mkdir -p /home/steam/servers
sudo chown steam:steam /home/steam/servers

安装 SteamCMD:

sudo su - steam
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
./steamcmd.sh +quit

下载服务端

使用 SteamCMD 下载 Soulmask 专用服务端(App ID:3017310):

sudo su - steam
cd ~/steamcmd

./steamcmd.sh \
  +force_install_dir /home/steam/servers/soulmask \
  +login anonymous \
  +app_update 3017310 validate \
  +quit

下载完成后确认关键文件:

ls /home/steam/servers/soulmask/WS/Binaries/Linux/
# 应包含:WSServer-Linux-Shipping

# 添加执行权限
chmod +x /home/steam/servers/soulmask/WS/Binaries/Linux/WSServer-Linux-Shipping
chmod +x /home/steam/servers/soulmask/WS/Binaries/Linux/*.sh 2>/dev/null || true

配置文件

Game.ini

主游戏配置文件,控制服务器基本行为:

mkdir -p /home/steam/servers/soulmask/WS/Saved/Config/LinuxServer/
nano /home/steam/servers/soulmask/WS/Saved/Config/LinuxServer/Game.ini
[/Script/WS.WGameMode]
# 服务器管理员密码(管理员登录游戏后使用)
AdminPassword=your_admin_password_here

# 最大玩家数
MaxPlayers=10

# 是否允许 PvP
bPvPEnabled=False

# 自动保存间隔(秒,默认 300 = 5 分钟)
AutoSaveInterval=300

# 玩家死亡掉落物品(True = 掉落,False = 不掉落)
bDeathDropItems=False

# 白天/夜晚倍速(1.0 = 正常)
DayTimeSpeed=1.0
NightTimeSpeed=1.0

# 玩家离线后 NPC 族人是否继续工作
bOfflineWorkers=True

Engine.ini

引擎级配置,可以调整网络和性能参数:

nano /home/steam/servers/soulmask/WS/Saved/Config/LinuxServer/Engine.ini
[URL]
# 游戏监听端口
Port=7777

[/Script/OnlineSubsystemUtils.IpNetDriver]
# 网络连接超时时间(秒)
ConnectionTimeout=80.0
InitialConnectTimeout=120.0

# 最大带宽(bps)
MaxClientRate=15000
MaxInternetClientRate=15000

启动服务

创建启动脚本:

nano /home/steam/servers/soulmask/start.sh
#!/bin/bash

SERVER_DIR="/home/steam/servers/soulmask"
LOG_DIR="$SERVER_DIR/logs"
mkdir -p "$LOG_DIR"

SERVER_NAME="我的 Soulmask 服务器"
MAX_PLAYERS=10
GAME_PORT=7777
QUERY_PORT=27015
ADMIN_PASSWORD="your_admin_password"

cd "$SERVER_DIR"

./WS/Binaries/Linux/WSServer-Linux-Shipping \
  WS \
  -server \
  -log \
  -MultiHome=0.0.0.0 \
  -EpicApp=WS \
  -ServerName="$SERVER_NAME" \
  -MaxPlayers=$MAX_PLAYERS \
  -AdminPassword=$ADMIN_PASSWORD \
  -port=$GAME_PORT \
  -QueryPort=$QUERY_PORT \
  2>&1 | tee "$LOG_DIR/server-$(date +%Y%m%d-%H%M%S).log"
chmod +x /home/steam/servers/soulmask/start.sh

测试启动:

sudo su - steam
/home/steam/servers/soulmask/start.sh
# 出现服务器就绪信息后 Ctrl+C 停止测试

配置 systemd 服务

exit  # 退出 steam 用户

sudo nano /etc/systemd/system/soulmask.service
[Unit]
Description=Soulmask Dedicated Game Server
After=network.target
Wants=network-online.target

[Service]
Type=simple
User=steam
Group=steam
WorkingDirectory=/home/steam/servers/soulmask

ExecStart=/home/steam/servers/soulmask/WS/Binaries/Linux/WSServer-Linux-Shipping \
    WS \
    -server \
    -log \
    -MultiHome=0.0.0.0 \
    -EpicApp=WS \
    -ServerName="我的 Soulmask 服务器" \
    -MaxPlayers=10 \
    -AdminPassword=your_admin_password \
    -port=7777 \
    -QueryPort=27015

# 崩溃后 20 秒自动重启(开放世界服务器重启较慢)
Restart=on-failure
RestartSec=20

StandardOutput=journal
StandardError=journal
SyslogIdentifier=soulmask

# 内存限制
MemoryMax=15G

[Install]
WantedBy=multi-user.target

启用并启动:

sudo systemctl daemon-reload
sudo systemctl enable soulmask
sudo systemctl start soulmask

# 检查状态
sudo systemctl status soulmask

# 查看启动日志(开放世界服务器加载较慢,耐心等待)
sudo journalctl -u soulmask -f

防火墙配置

Soulmask 使用 7777 UDP(游戏通信)和 27015 UDP(Steam 查询):

# 允许 SSH
sudo ufw allow ssh

# 开放游戏端口
sudo ufw allow 7777/udp comment "Soulmask Game Port"

# 开放 Steam 查询端口
sudo ufw allow 27015/udp comment "Soulmask Steam Query"

# 启用防火墙
sudo ufw enable

# 查看规则
sudo ufw status verbose

预期输出:

Status: active
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
7777/udp                   ALLOW IN    Anywhere
27015/udp                  ALLOW IN    Anywhere

管理命令

客户端连接步骤

  1. 在 Steam 启动 Soulmask 客户端
  2. 选择 多人游戏直接连接
  3. 输入服务器地址:你的IP:7777
  4. 服务器加载完成后即可进入游戏

游戏内管理员命令

在游戏内聊天框输入以下命令(需要先使用管理员密码验证身份):

命令 说明
gm login <管理员密码> 以管理员身份登录
gm kick <玩家名> 踢出指定玩家
gm ban <玩家名> 封禁指定玩家
gm giveitem <物品ID> <数量> 给予物品
gm settime <小时> 设置游戏内时间
gm teleport <x> <y> <z> 传送到指定坐标

存档位置与备份

# 存档目录
ls /home/steam/servers/soulmask/WS/Saved/SaveGames/

# 手动备份存档(停服后执行以确保数据完整)
sudo systemctl stop soulmask
tar -czf /home/steam/backups/soulmask-$(date +%Y%m%d-%H%M%S).tar.gz \
  /home/steam/servers/soulmask/WS/Saved/SaveGames/
sudo systemctl start soulmask

# 定时自动备份(每 6 小时)
(crontab -l 2>/dev/null; echo "0 */6 * * * tar -czf /home/steam/backups/soulmask-\$(date +\%Y\%m\%d-\%H\%M\%S).tar.gz /home/steam/servers/soulmask/WS/Saved/SaveGames/") | crontab -

服务端更新

# 停止服务
sudo systemctl stop soulmask

# 更新服务端
sudo -u steam /home/steam/steamcmd/steamcmd.sh \
  +force_install_dir /home/steam/servers/soulmask \
  +login anonymous \
  +app_update 3017310 validate \
  +quit

# 启动服务
sudo systemctl start soulmask

总结

Soulmask 专用服务器的核心挑战在于其较高的内存需求——开放世界的持续模拟使得 4 核 16GB 机型成为稳定运行的基本保障。通过 SteamCMD 下载官方 Linux 服务端、配置 Game.ini 和启动参数,整个搭建流程并不复杂。systemd 服务配合定时存档备份,可以确保长期稳定运营,数据安全有保障。

如果你还没有合适的服务器,可考虑选择 雨云服务器rainyun4 核 16GB 机型是 Soulmask 服务器的最优解,高内存配置让开放世界的生存冒险流畅无阻,和你的部落伙伴一起在这片丛林大陆上书写属于你们的原始文明史诗!

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐