前言

  • 早就想记录一下,但是一直忙着当人形帕鲁肝游戏呢,就没写,哈哈
  • 这游戏我也玩的差不多了,而且好像都快过气了,虽然但是,还是记录一下吧,万一这游戏更新之后又回春了呢?

操练

Windows

下载 SteamCMD

  1. 创建一个为 SteamCMD 准备的文件夹。

    例如

    1
    C:\steamcmd
  2. 下载适用于 Windows 系统的 SteamCMD:https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip

  3. 提取 zip 中的文件至文件夹。

安装幻兽帕鲁

打开一个命令行窗口启动 SteamCMD

1
2
3
cd C:\steamcmd

steamcmd +login anonymous +app_update 2394010 validate +quit

启动幻兽帕鲁

  1. 前往下载目录

    1
    C:\steamcmd\steamapps\common\PalServer
  2. 双击 PalServer.exe 启动服务

Linux

SteamCMD

新建非 root 账号
  1. 以新建一个名为 debian 的账号为例

    1
    sudo adduser debian

    执行命令后,根据提示操作即可。请务必设置一个用户密码(别忘记设置密码时你时看不到 ****** 的)。之后系统会询问你一些用户的附加信息,这些就可以无视,一路回车即可。image-20240123045611791

  2. debian 拉入 sudo 名单里,让它获得暂时拥有 root 的权利的能力

    1
    visudo

    User Privilege Specification 下加入一行 debian ALL=(ALL) NOPASSWD: ALL 即可。image-20240123050155525

    此处特别说明的是 NOPASSWD 这个设置,它的意思是 debian 用户临时使用 root 权限时,不用额外输入密码。这与一般的安全建议相反。之所以如此推荐,是因为很多人不顾危险坚持使用 root 账号就是因为用 root 时不用重复输入密码、觉得轻松。“两害相权取其轻”,我认为【直接用 root 用户的风险】大于【使用 sudo 时不用输密码的风险】,所以做了以上的建议。

    如果你希望遵守传统习惯、每次使用 sudo 时需要输入密码,那么这一行改成 vpsadmin ALL=(ALL:ALL) ALL 即可。

  3. 切换到 debian 账号

    1
    2
    sudo -u debian -s
    cd /home/steam

    进入home目录

    1
    cd ~
安装 SteamCMD
1
2
3
sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update

sudo apt install steamcmd

本文以 Ubuntu 22.04 为例,其他发行版请查看 SteamCMD 官方安装指南

如果你有任何安装上的问题,大概率是依赖的原因,请自查

安装幻兽帕鲁
1
steamcmd +login anonymous +app_update 2394010 validate +quit
启动幻兽帕鲁

切换到幻兽帕鲁的目录,执行(目录一般在 ~/.local/ 这个文件夹里面)

1
./PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

PS:启动报错的解决办法:

  • 报错:

    1
    .steam/sdk64/steamclient.so: cannot open shared object file: No such file or directory
  • 解决办法:

    1
    2
    3
    4
    mkdir -p ~/.steam/sdk64/
    steamcmd +login anonymous +app_update 1007 +quit

    cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/
  • 正常启动:

    1
    2
    3
    4
    5
    6
    7
    8
    $ ./PalServer.sh
    Shutdown handler: initalize.
    Increasing per-process limit of core file size to infinity.
    dlopen failed trying to load:
    steamclient.so
    with error:
    steamclient.so: cannot open shared object file: No such file or directory
    [S_API] SteamAPI_Init(): Loaded '/home/debian/.steam/sdk64/steamclient.so' OK. (First tried local 'steamclient.so')

Docker

网上流行的一键管理脚本
简要搭建方法
  • 境外机运行一键脚本:

    1
    curl -o palinstall.sh https://raw.githubusercontent.com/miaowmint/palworld/main/install.sh && chmod +x palinstall.sh && bash palinstall.sh
  • 如果是境内机访问不了 github ,可以使用我托管的一键脚本

    1
    curl -o palinstall.sh https://blog.iloli.love/install.sh && chmod +x palinstall.sh && bash palinstall.sh`

PS:第一次运行需要使用一键安装脚本,后续可以直接输入 palworld 进行管理

脚本使用的是脚本作者自己构建的镜像,如果不需要其他功能只是简单开服的话也可以直接运行 docker run -dit --name steamcmd --net host miaowmint/palworld 不需要运行其它任何命令就可以连接服务器了

如果想要自行构建镜像可以使用 main 分支里的 Dockerfile

详细使用说明
  1. 运行一键脚本https://cdn.sa.net/2024/01/25/8QAIr6X1fPROMsN.png

    输入 1 安装幻兽帕鲁服务端https://cdn.sa.net/2024/01/25/8TZ9EBjwsO2DU1S.png

    安装成功,此时已经可以连接了(正常需要拉取镜像,约2.9G,这里已经拉取)https://cdn.sa.net/2024/01/25/bEIX2lyRJhSp4cr.png

  2. 修改服务端配置(后续全部为可选步骤,不配置不影响游玩)

    运行命令 palworldhttps://cdn.sa.net/2024/01/25/TfiS2NGvnpBxZMk.png

    接下来输入 4 修改服务端配置,https://cdn.sa.net/2024/01/25/1iJrt4WmxgpKvwf.png

    此时不要乱输入,先前往 https://www.xuehaiwu.com/Pal/ 进行可视化配置,配置完成后点击页面最下方的 生成配置文件复制如图框选区域的 数字https://cdn.sa.net/2024/01/25/7PVUzd2mN9HnY4L.png

    将这串数字直接粘贴到 shellhttps://cdn.sa.net/2024/01/25/cOA9Q3myF7LUxoC.png

    回车,服务端配置修改就完成了https://cdn.sa.net/2024/01/25/BQpYhUHtMLODca2.png

  3. 导入幻兽帕鲁存档及配置

    如果你在其他的服务器有存档,想要导入的话,就可以使用这个功能(仅验证了 linux 开服的存档,windows 的和单人存档不保证有效)

    运行命令 palworld,输入数字 8 ,开始导入幻兽帕鲁存档及配置https://cdn.sa.net/2024/01/25/DtvxX8HcuWhTfjZ.png

    如果你运行过此脚本的导出功能,并且没有删除备份的话,直接回车即可
    如果不是此脚本导出的话,Docker运行的请将容器内 /home/steam/Steam/steamapps/common/PalServer/Pal/ 下的 Saved 文件夹导出放置在 /data/palworld/ 下,然后回车
    至于其他方法搭建的服务端的 Saved 文件夹在哪,(我不知道)https://cdn.sa.net/2024/01/25/GM8u7oaTXgcyPhF.png

  4. 导出幻兽帕鲁存档及配置

    运行命令 palworld,输入数字 9,https://cdn.sa.net/2024/01/25/GEk7ptTIAxWQ69O.png

    不到一秒钟就导出完成了,导出的存档文件夹为位于/data/palworld/下的Saved 文件夹https://cdn.sa.net/2024/01/25/mEkXS9VPK6uYcTj.png

国内普通镜像
安装 Docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 安装 Dokcer
curl -sSL https://get.daocloud.io/docker | sh

# 查看 docker 版本
docker -v

# 设置开机自动启动
systemctl enable docker

# 开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘
cat > /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true
}
EOF

# 重启 Docker 服务
systemctl restart docker
安装幻兽帕鲁
  • 使用例子:

    1
    2
    3
    4
    5
    6
    7
    8
    cd ~
    mkdir -p pal

    sudo docker run --pull=always -d --name=pal \
    -v ~/pal:/home/steam/Steam/steamapps/common/PalServer/Pal/Saved \
    -p 8211:8211/udp \
    --restart=always \
    registry.cn-beijing.aliyuncs.com/zero-tools/pal-docker:latest
  • 使用注意:

    1. 例子中会把 ~/pal 映射到文件夹 /home/steam/Steam/steamapps/common/PalServer/Pal/Saved,相关存档、配置文件都会在这里,有需要自行修改
    2. 映射端口需要指定 udp,可以自己改成自己需要的端口

后记

  • 更新的话跟安装的步骤是一样的,容器就进容器里面执行,例如:

    1
    2
    3
    4
    5
    sudo docker exec -it pal /bin/bash

    cd ~/steamcmd

    ./steamcmd.sh +login anonymous +app_update 2394010 validate +quit
  • 更改配置的话,我推荐更改 WorldOption.sav,使用 PalWorldSettings.ini 有的配置不一定生效。推荐的配置生成器:https://pal-conf.bluefissure.com/,直接丢在 ~/Steam/steamapps/common/PalServer/Pal/Saved/0/你的存档代码/ 下就行了(Docker 也一样,这是容器内部的路径)

  • 一些社区写的 wiki,打算好好玩的话可以去看看