幻兽帕鲁PalWorld相关分享

以下内容基于个人知识和网上分享,如有错误还请指正。

服务器部署教程

更新:在装了内存清理软件后,虚拟内存和物理内存建议设置为1:1(32G未测试,但是建议改为4096或者8192)

如果已经设置了32G,建议还是改一下,可以优化服务器fps。

原因是因为如果你装了内存自动清理工具,它可能会因为数据存到虚拟内存去了,导致物理内存占用不高,然后不会自动清理。然后如果你游戏里需要用到虚拟内存的数据时,因为磁盘的IO瓶颈,就会导致卡顿,所以不如设置小一点,让内存清理工具去清理。

以下是相关知识截图:

官方文件部署(windows server)

使用docker搭建(未测试,自行判断)

源码地址:GitHub - thijsvanloef/palworld-server-docker: A Docker Container to easily run a Palworld dedicated server.

使用linux(ubuntu/debian/centos,未测试)

root登录后,运行下面命令

wget -O - https://cdn-r2.czl.net/palworld/palserver-linux.sh |sh

脚本内容

#!/bin/bash

current_user=$(whoami)

sudo add-apt-repository multiverse -y
sudo dpkg --add-architecture i386 
sudo apt update -y
sudo apt-get remove needrestart -y

echo steam steam/license note '' | sudo debconf-set-selections
echo steam steam/question select "I AGREE" | sudo debconf-set-selections
sudo apt install steamcmd -y

mkdir -p $HOME/.steam/sdk64/
steamcmd +login anonymous +app_update 1007 +quit
steamcmd +login anonymous +app_update 2394010 validate +quit

cp $HOME/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so $HOME/.steam/sdk64/

cat <<EOF > pal-server-run.sh
#!/bin/bash

cd $HOME/Steam/steamapps/common/PalServer

(./PalServer.sh >> /tmp/PalServer.log &)
EOF

chmod +x pal-server-run.sh
mv pal-server-run.sh $HOME/Steam/steamapps/common/PalServer

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

[Service]
Type=forking
User=$current_user
Restart=on-failure
RestartSec=30s
MemoryMax=12G
ExecStart=$HOME/Steam/steamapps/common/PalServer/pal-server-run.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

[Install]
WantedBy=multi-user.target
EOF

sudo mv pal-server.service /usr/lib/systemd/system/
sudo systemctl enable pal-server
sudo systemctl restart pal-server

脚本解释

这个脚本是一个Bash脚本,用于在Linux系统上安装和配置Steam服务器。让我为您解释每个步骤:

  1. current_user=$(whoami):这行代码将当前用户的用户名存储在变量current_user中。

  2. sudo add-apt-repository multiverse -y:将Multiverse软件源添加到APT存储库中。

  3. sudo dpkg --add-architecture i386:将i386架构添加到系统中,以便安装32位软件。

  4. sudo apt update -y:更新APT软件包列表。

  5. sudo apt-get remove needrestart -y:从系统中移除needrestart软件包。

  6. echo steam steam/license note '' | sudo debconf-set-selections:设置steam许可证。

  7. echo steam steam/question select "I AGREE" | sudo debconf-set-selections:同意steam许可证。

  8. sudo apt install steamcmd -y:安装steamcmd软件包,用于管理Steam服务器。

  9. mkdir -p $HOME/.steam/sdk64/:在用户家目录下创建一个名为".steam/sdk64"的目录。

  10. steamcmd +login anonymous +app_update 1007 +quit:使用steamcmd登录并更新SteamCMD工具。

  11. steamcmd +login anonymous +app_update 2394010 validate +quit:使用steamcmd登录并更新Paladins服务器。

  12. cp $HOME/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so $HOME/.steam/sdk64/:将Steamworks SDK中的steamclient.so文件复制到".steam/sdk64"目录中。

  13. cat <<EOF > pal-server-run.sh:创建一个名为"pal-server-run.sh"的文件,并将以下内容写入该文件。

  14. chmod +x pal-server-run.sh:添加可执行权限给"pal-server-run.sh"文件。

  15. mv pal-server-run.sh $HOME/Steam/steamapps/common/PalServer:将"pal-server-run.sh"文件移动到PalServer目录中。

  16. cat <<EOF > pal-server.service:创建一个名为"pal-server.service"的文件,并将以下内容写入该文件。

  17. sudo mv pal-server.service /usr/lib/systemd/system/:将"pal-server.service"文件移动到systemd服务目录中。

  18. sudo systemctl enable pal-server:启用"pal-server"服务。

  19. sudo systemctl restart pal-server:重启"pal-server"服务。

这个脚本的目的是安装Steam服务器,并在系统启动时自动启动Paladins服务器。

连接到自己的服务器


服务端更新

  1. 打开steamcmd.exe

  2. 输入login anonymous

  3. 然后输入app_update 2394010 validate

  4. 运行PalServer.exe即可

更新脚本

文件名:Update.bat

  1. 把这个文件放到steamcmd.exe同级目录

  2. 运行即可

  3. 如果是乱码,请用记事本打开,另存为ANSI格式,覆盖保存后运行

服务端维护工具

推荐的工具:

统一管理 + 内存自动清理

需要注意memreduct工具的自动清理阈值,不能低于统一管理里面设置的自动重启门槛,建议直接关闭统一管理里的内存重启,参考幻兽帕鲁PalWorld相关分享

统一管理工具(墙裂推荐)

占用资源少,功能丰富,外部网页管理(可开放端口管理,手机也能进行各种操作,再也不怕睡了被朋友打电话吵醒去开电脑了,虽然还是会醒哈哈哈)

示意图

文件

我的仓库:GitHub - woodchen-ink/palworld-go: Pal World all-in-one webui for pc and mobile devices.

原仓库:GitHub - Hoshinonyaruko/palworld-go: Pal World all-in-one webui for pc and mobile devices.

支持linux,darwin,支持x85和arm,其余版本请到https://github.com/woodchen-ink/palworld-go/releases下载

更新日志会发在qq频道里

需要先设置管理员登录密码,即PalWorldSettings.ini内的AdminPassword

需要开启RCON功能

使用方法

  1. 把这个exe文件,放到你的PalServer目录

  1. 双击运行即可

  2. 如果你并未修改配置,默认登录地址为 http://127.0.0.1:8000(服务器内浏览器),http://你的IP:8000(服务器外环境,需要在阿里云/腾讯云控制台开放8000端口)

  3. 登录账号为 服务器名称 ,登录密码为 管理员密码

补充说明

  1. 如果你需要修改网页端口,在第一次运行后,在当前目录会生成config.json,修改里面的端口,重新运行即可

  1. 备份的目录是当前目录的backup目录,你可以自定义目录,但必须在当前目录(PalServer)下

  1. 服务器指令使用方法:1. 选中命令 2.填写命令 3. 回车运行

  1. 服务端启动参数,可自定义添加
参数 含义
EpicApp=PalServer 开启社区服
-publicip=你的IP 手动设置服务器IP(非社区服没有作用)
-publicport=8211 手动设置服务器端口(非社区服没有作用,并且官方bug当前没有作用)
-players=32 服务器允许人数,覆盖ini参数
-useperfthreads

-NoAsyncLoadingThread

-UseMultithreadForDS|服务器线程优化,已内置,不需要重复添加|

内存自动清理(推荐)

可以无感清理内存占用问题,不会让玩家掉线,非常好用。

github仓库里代码有安装版和便携版,便携版需要直接以管理员权限运行。

取消勾选确认,然后可以勾选开机自动启动

阈值建议这样设置

群主付费客户可使用新脚本,备份+检测重启(意外关闭时自动重启)+自动删除过多存档(避免存档太多占用空间)+设置为社区服务器


自动重启和备份脚本

示意图

文件

palworld.bat (993 字节)

使用方法

  1. 下载这个文件,放到桌面

  2. 打开文件,修改里面的目录和重启时间设置(如果你按照我的教程安装的,那应该不用动)

  3. 关闭正在运行的PalServer进程,运行这个bat文件,他会自动启动PalServer服务,后面会自动备份到桌面和重启服务


可视化修改自建服务器配置

示意图

文件

服务器设置可视化.zip (24.5 KB)

使用方法

  1. 把文件下载,放在服务器解压,打开exe文件

  2. 选择配置文件目录,如图所示

  1. 修改配置,然后点击 保存文件,重启服务

PalServer守护进程(根据内存占用重启)

示意图

文件

命令行版本

暂时无法在飞书文档外展示此内容

UI版本(不推荐,本身占内存)

暂时无法在飞书文档外展示此内容

使用方法

  1. 需要有 Nodejs 环境(下载地址: ~~https://nodejs.org/dist/v20.11.0/node-v20.11.0-x64.msi~~

  2. 服务端配置文件,启用RCON,设置密码

  3. 修改index.tx中的配置信息(如果使用我的教程搭建,应该只需要修改密码即可)

  4. 运行 npm install , npm run build , npm start

  5. 存档会保存到守护进程目录的 /dist/backup 中。

处理逻辑


服务器管理员可视化管理-社区服可试

仓库:GitHub - ddakebono/PalworldRcon: Simple WPF/.net 7 Rcon tool for Palworld Dedicated Servers

可以很方便的发送全部通知(貌似中文不行),踢人,ban人,关机

  1. 安装.net运行库

暂时无法在飞书文档外展示此内容

  1. 运行这个程序

暂时无法在飞书文档外展示此内容

  1. 配置连接

Setting → 填写参数 → test → save,然后点击那个大的返回号关闭

  1. 然后选中人操作就可以了,KICK是踢人,BAN是拉黑

安装+调整设置+添加启动参数面板

仓库:GitHub - TianYu-00/PalworldServerManager: PalworldServerManager - Simple server creating and managing tool.

个人感觉用处不大,可以期待下后面更新

示意图

文件

暂时无法在飞书文档外展示此内容

使用方法

  1. 如果你还没安装,那么解压后,把里面的exe和zh-hans文件夹拖到你想要安装steamcmd的位置,安装即可;

  2. 如果你已经装了,需要把文件放在steamcmd.exe同级文件夹

管理员命令

启用:在服务端配置文件里,设置AdminPassword

使用:在游戏内,按Enter键,输入命令

commands 命令

If you want to use there commands. You need to setting AdminPassword and get permission for administration with /AdminPassword command.

如果要使用这里的命令。您需要设置 AdminPassword 并使用 /AdminPassword 命令获取管理权限

提示:SteamID,是通过/ShowPlayers来显示

td {white-space:nowrap;border:1px solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}

/Shutdown {Seconds} {MessageText} The server is shut down after the number of Seconds Will be notified of your MessageText.
服务器在秒数后关闭 将收到您的 MessageText 的通知。
/DoExit Force stop the server. 强制停止服务器。
/Broadcast {MessageText} Send message to all player in the server.
向服务器中的所有玩家发送消息。
/KickPlayer {SteamID} Kick player from the server.
将玩家从服务器上踢出。
/BanPlayer {SteamID} BAN player from the server.
从服务器禁止播放器。
/TeleportToPlayer {SteamID} Teleport to current location of target player.
传送到目标玩家的当前位置。
/TeleportToMe {SteamID} Target player teleport to your current location
目标玩家传送到您当前的位置
/ShowPlayers Show information on all connected players.
显示所有已连接玩家的信息。
/Info Show server information. 显示服务器信息。
/Save Save the world data. 保存游戏数据。

About SteamID 关于SteamID

You can copy SteamID if you have administrative permission.

To copy, right-click twice on the player list.

如果您拥有管理权限,则可以复制 SteamID。

要复制,请在播放器列表上单击鼠标右键两次。

How to Unban player. 如何解禁玩家。

At this time, it is not possible to command the unban.

However, can be unbaned by editing the file directly.

The file is located in steamapps/common/PalServer/Pal/Saved/SaveGames/banlist.txt in the Steam game library folder.

Deleting the SteamID of the player you wish to unban from this file.

After editing a file, it takes about 2 minutes for it to be afected.

目前版本,无法通过命令解禁。

但是,可以通过直接编辑文件来解禁。

该文件位于 Steam 游戏库文件夹中的 steamapps/common/PalServer/Pal/Saved/SaveGames/banlist.txt 中。

从此文件中删除要解禁的玩家的 SteamID。

编辑文件后,大约需要 2 分钟才能受到影响。

怎么ban/踢人

  1. 先获取管理员权限: /AdminPassword {你的密码}

  2. 然后获取已登录用户信息: /ShowPlayers

  1. 然后按ESC键,找到你要踢的那个人,单击鼠标右键两次复制steamid(最长的那个数字)

  1. 踢人: Enter,输入 /KickPlayer {SteamID}

小技巧:这里无法使用Ctrl+V,但是可以使用Win+V,然后键盘的上下键选中自己复制的文字,按Enter输入复制的steamid

  1. ban人(禁止进入服务器): Enter,输入 /BanPlayer {SteamID}

【现在就我一个人,就不示范了,刚才踢人已经把我自己踢了。。。】


VC运行库安装程序下载:

https://aka.ms/vs/17/release/vc_redist.x64.exe


官方文档:

https://tech.palworldgame.com/dedicated-server-guide


连接时怎么输入密码

添加社区服启动参数

  1. 创建一个快捷方式到桌面

  1. 右键属性,选择快捷方式

  1. 在目标最后面添加参数 EpicApp=PalServer -publicip=你的IP -publicport=8211 -port=8211 -players=32 -log -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

  1. 应用,然后确定,重新运行即可

配种查询工具


文件下载

鼠标移动上去,然后点击这个下载


广告

  1. 代部署,有服务器¥50一次,无服务器¥100一次(自费购买腾讯云服务器)

  2. 维护¥20一次,例如修改配置,部署维护工具,恢复备份,后续更新服务端等等

  3. 部署内网穿透,使用我的穿透工具,按流量计费,¥3元/G,最低购买5G流量,用完可续费或者停止使用,基于我的上海服务器转发,带宽100M,代部署(体验效果不佳1天内可全额退款)