1. 安装 steamcmd

SteamCMD 是 Valve 提供的一个命令行版本的 Steam 客户端工具,主要用于服务器管理员在无图形界面的环境下(如服务器)安装、更新和管理 Steam 平台上的游戏服务器。它支持 Linux、Windows 和 macOS 操作系统。

apt update
apt install software-properties-common
apt-add-repository non-free
dpkg --add-architecture i386
apt update
apt install steamcmd

:::note[Debian12 请注意!]
要在 Debian 中安装 SteamCMD,您需要添加非自由(non-free)软件仓库,并且必须启用 x86 架包。在 Debian 12(代号 Bookworm)中,apt-add-repository 命令不再工作,因此你需要创建一个变通方法(详情参见:https://stackoverflow.com/questions/76688863/apt-add-repository-doesnt-work-on-debian-12)。使用 sudo 进行操作以获得必要的权限。

在 Debian 12 中,由于 apt-add-repository 命令的移除,你需要手动编辑 /etc/apt/sources.list 文件来添加新的仓库。以下是你可以按照的步骤:

  1. 打开终端。

  2. 使用 sudo 编辑 /etc/apt/sources.list 文件。例如,使用 nano 编辑器:

    sudo nano /etc/apt/sources.list
    
  3. 在文件末尾添加以下行来添加 Valve 的官方仓库:

    注意,这里使用了 amd64 架构,如果你的系统是 i386,则应使用 i386 替换 amd64。

    deb [arch=amd64] http://repo.steampowered.com/steam debian main
    
  4. 保存并关闭文件。

  5. 更新你的包列表:

    sudo apt update
    
  6. 现在,你可以安装 SteamCMD 了:

    sudo apt install steamcmd
    

    确保在进行上述操作时你已经启用了 non-free 和 contrib 部分的仓库,这通常在 /etc/apt/sources.list 文件中的默认 Debian 行被注释掉的部分。

    如果 /etc/apt/sources.list 文件中没有包含这些部分,请取消注释它们或者手动添加如下行:

    deb http://deb.debian.org/debian bookworm main contrib non-free
    deb-src http://deb.debian.org/debian bookworm main contrib non-free
    

    之后,再运行 apt updateapt install steamcmd 命令。

:::

2. 安装幻兽帕鲁服务器

#进入steamcmd、不能用root用户启动
steamcmd
# 登录匿名帐号
login anonymous
# 下载/更新
app_update 1007 validate
app_update 2394010 validate
# 退出steamcmd
quit

3. 添加为系统服务

cat <<EOF > pal.service
[Unit]
Description=Palworld

[Service]
Type=simple
User=zzh
Restart=on-failure
RestartSec=30s
ExecStart=/home/zzh/.steam/SteamApps/common/PalServer/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

[Install]
WantedBy=multi-user.target
EOF
sudo mv pal.service /usr/lib/systemd/system/
#如果提示没有权限,先root安装sudo,
#然后
nano /etc/sudoers,
#添加
zzh   ALL=(ALL:ALL) ALL
sudo cp /home/zzh/.steam/Steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so /home/zzh/.steam/sdk64/
sudo systemctl daemon-reload
sudo systemctl enable pal
sudo systemctl restart pal