最近这游戏挺火,很多人想跟朋友联机,如果有专用服务器,就不需要房主一直开着电脑,稳定性也好得多。
本人服务器:game.moeuu.cn:8211

参考文章:

https://www.fate.vip/index.php/archives/Palworld-Server.html

https://github.com/Hoshinonyaruko/palworld-go

https://www.51yuanmawu.com/34349/dyym/

其它交叉内容较多不枚举

注意

本文在centos下进行

破游戏非常吃内存且优化极差,内存低于8G不建议开服

且玩家退出不会自动释放内存,需要定时重启

测试版较不稳定,有概率发生坏档现象,建议定时备份

安装服务端

  1. 创建一个steam用户,并设置密码

    useradd -m steam
    passwd steam
    
  2. 赋予新用户权限

    usermod -G root steam
    
  3. 进入用户目录

    sudo -u steam -s 
    cd /home/steam
    
  4. 安装steamcmd需要的依赖

    yum install glibc libstdc++ -y
    yum install glibc.i686 libstdc++.i686 -y
    yum install  screen -y
    
  5. 切换到steam用户

    su - steam
    
  6. 创建steamcmd的目录并进入

    mkdir Steam && cd Steam
    
  7. 下载解压steamcmd

    curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
    
  8. 运行steamcmd服务

    ./steamcmd.sh
    
  9. 匿名登录steamcmd

    login anonymous
    

    PS:需要看到出现三次OK才算成功,如果出现Retrying,按ctrl+c退出 重新运行SteamCMD继续登陆,直到出现OK为止!

  10. 下载幻兽帕鲁服务端及其依赖,后续更新也是同样的命令

    app_update 2394010
    app_update 1007
    

    完成之后输入quit(貌似是exit)退出steamcmd

  11. 建立库链接,新建.steam文件夹及SDK64文件夹

    mkdir /home/steam/.steam
    mkdir /home/steam/.steam/sdk64
    cp -r /home/steam/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so /home/steam/.steam/sdk64
    
  12. 启动游戏

    screen -r pal
    cd /home/steam/Steam/steamapps/common/PalServer
    ./PalServer.sh
    

    后续断开ssh之后,输入screen -r即可再次进入会话

服务端配置

服主需要在前面创建的Steam目录下的steamapps/common/PalServer/Pal/Saved/Config/LinuxServer目录下找到PalWorldSettings.ini配置相应参数,建议是至少设置一个AdminPassword,这样你的账号才能获取超级管理员权限

一些常用命令(游戏内输入):

/AdminPassword {AdminPassword}
登录获取管理权限。

/Shutdown {Seconds} {MessageText}
服务器关闭后的秒数将通知您的 MessageText。

/DoExit
强制停止服务器。

/Broadcast {MessageText}
向服务器中的所有玩家发送消息。

/KickPlayer {SteamID}
将玩家从服务器中踢出。

/BanPlayer {SteamID}
从服务器禁止玩家。

/TeleportToPlayer {SteamID}
传送到目标玩家的当前位置。

/TeleportToMe {SteamID}
目标玩家传送到您当前的位置。

/ShowPlayers
显示所有已连接玩家的信息。

/Info
显示服务器信息。

/Save
保存世界数据。

更多参数可以参考这里

服务器优化(可选)

前面说到了服务端十分的吃资源,非常容易导致服务器boom进一步导致存档丢失

所以目前暂时通过自动备份+定时重启的方式运行

定时备份

可以参考https://blog.csdn.net/Mo_Tao/article/details/135841431

推荐用1panel创建定时备份任务,简单快捷,只需备份前面说到的Steam文件夹下steamapps/common/PalServer/Pal下面的Saved文件夹即可,恢复备份时需要保证Saved下面SaveGames/0下的文件夹的随机ID一直致(暂时是这样),并且依旧可能出现存档问题,期待官方优化

定时重启

同样可以在1panel下的进程守护创建,只需要一个擅长思考的大脑和一双爱动的手

通过手动执行sh文件启动的服务叫PalServer-Linux,可以通过top等命令配合grep的强大能力来实现kill掉进程,然后重新启动即可。或者注册到systemctl吧啦吧啦

强烈推荐的工具

项目地址:https://github.com/Hoshinonyaruko/palworld-go

git:[@github/Hoshinonyaruko/https://github.com/Hoshinonyaruko/palworld-go]

工具功能相当丰富,项目进度也相当快速,懒得写在这里了,官方群号:587997911

食用方法

在GitHub仓库下载对应操作系统和内核架构的版本,丢到跟PalServer同级目录下并 chmod o+x一下

./{文件名} 即可启动,需要放行52000端口,然后访问ip:52000访问webui

列举一部分功能

  • 可自定义全服广播通知
  • 内存占用高时自动清理并将资源转移到虚拟内存降低压力
  • 自动检测内存,超出预设百分比即重启服务端
  • 服务器即将重启时全服通知(可自定义内容)
  • 自动定时备份Saved文件夹到指定目录

webui使用

  1. 打开~/steamapps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini配置文件
  2. 修改RCONEnabled=False,把False改为True启用Rcon,修改AdminPassword=""在""中设置你的管理员密码
  3. 首次启动程序会重置配置文件,按Ctrl+c退出程序,然后编辑多出来的json文件,详情见GitHub主页链接
  4. 必须修改 adminPassword 字段为前面设置的管理员密码,然后使用服务器名作为用户名,刚刚设置的密码为密码登录,登录成功后就可以快捷的管理各种数值了,不用手动编辑配置文件

应用程序不依赖于原本的程序,所以在关服的情况下也可以进行web操作,非常的方便,还能远程开关服务器,所以也可以将程序注册为系统服务防止掉线