搭服务器
1.安装SteamCMD和依赖项
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd
注意:幻兽帕鲁里面的服务器启动脚本不能用root账户启动,所以得创非root账户的用户,不然启动不了
2.安装Manually
sudo apt-get install lib32gcc-s1
新建文件夹,下载并解压SteamCMD
mkdir ~/Steam && cd ~/Steam
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
3.下载服务器
运行steamcmd
./steamcmd.sh
下载服务器:
匿名模式登陆:
login anonymous
(显示OK后就登陆成功了)
下载服务器
app_update 2394010 validate
还需要下载一个服务器依赖的包
app_update 1007
下载可能有点慢,多等等
退出SteamCMD
quit
建立库链接:
新建.steam文件夹
mkdir ~/.steam
新建sdk64文件夹
mkdir ~/.steam/sdk64
cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/
4.配置运行服务器
进入服务器文件夹:
cd ~/Steam/steamapps/common/PalServer
调整配置文件:
默认配置文件是
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=None,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.000000,ExpRate=1.000000,PalCaptureRate=1.000000,PalSpawnNumRate=1.000000,PalDamageRateAttack=1.000000,PalDamageRateDefense=1.000000,PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,PlayerStomachDecreaceRate=1.000000,PlayerStaminaDecreaceRate=1.000000,PlayerAutoHPRegeneRate=1.000000,PlayerAutoHpRegeneRateInSleep=1.000000,PalStomachDecreaceRate=1.000000,PalStaminaDecreaceRate=1.000000,PalAutoHPRegeneRate=1.000000,PalAutoHpRegeneRateInSleep=1.000000,BuildObjectDamageRate=1.000000,BuildObjectDeteriorationDamageRate=1.000000,CollectionDropRate=1.000000,CollectionObjectHpRate=1.000000,CollectionObjectRespawnSpeedRate=1.000000,EnemyDropItemRate=1.000000,DeathPenalty=All,bEnablePlayerToPlayerDamage=False,bEnableFriendlyFire=False,bEnableInvaderEnemy=True,bActiveUNKO=False,bEnableAimAssistPad=True,bEnableAimAssistKeyboard=False,DropItemMaxNum=3000,DropItemMaxNum_UNKO=100,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,DropItemAliveMaxHours=1.000000,bAutoResetGuildNoOnlinePlayers=False,AutoResetGuildTimeNoOnlinePlayers=72.000000,GuildPlayerMaxNum=20,PalEggDefaultHatchingTime=72.000000,WorkSpeedRate=1.000000,bIsMultiplay=False,bIsPvP=False,bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bIsStartLocationSelectByMap=True,bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,CoopPlayerMaxNum=4,ServerPlayerMaxNum=32,ServerName="Default",ServerDescription="",AdminPassword="",ServerPassword="",PublicPort=8211,PublicIP="106.54.52.31",RCONEnabled=False,RCONPort=25575,Region="China",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt")
把这段内容,修改最后几项的
ServerName服务器名
AdminPassword管理员密码
ServerPassword服务器密码
PublicIP 服务器IP
这几项修改后复制粘贴到下列文件中
Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
注意要把值写在引号里,比如服务器密码:ServerPassword=""改成ServerPassword="123456"
如果想让自己的服务器能在社群服务器中被搜索到,可以在括号里加上
EpicApp=PalServer
简单的办法是复制好内容后,输入指令
vim ~/Steam/steamapps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
然后把内容粘贴到新弹出来的框里
按ESC,输入 :wq 后按回车(注意要英文输入法,冒号也要打)
运行服务器
./PalServer.sh
接下來如果你想把 PalServer 掛載成 systemd 可以使用以下教學
第一步: 創建 palserver.service
$ sudo vim /etc/systemd/system/palserver.service
添加以下內容
```
[Unit]
Description=Palworld Server
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target
[Service]
WorkingDirectory=/home/ecs-user/Steam/steamapps/common/PalServer
ExecStart=/bin/bash -c "/home/ecs-user/Steam/steamapps/common/PalServer/PalServer.sh -port=8211 -players=16 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS"
LimitNOFILE=100000
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s INT $MAINPID
Restart=always
RestartSec=10
User=ecs-user
Group=ecs-user
[Install]
WantedBy=multi-user.target
```
路徑依照你的路徑去修改
PalServer.sh 後面的參數目前只給三個可用 (port, players, 多線程運行) (參考官方文檔)
第二步: 重新加载Systemd配置
$ sudo systemctl daemon-reload
// 啟動開機自啟動
$ sudo systemctl enable palserver
// 啟動 palserver
$ sudo systemctl start palserver
// 停止 palserver
$ sudo systemctl stop palserver
// 重新啟動 palserver
$ sudo systemctl restart palserver
// 查看 palserver 狀態
$ sudo systemctl status palserver
// 查看 palserver 日誌
$ sudo journalctl -u palworld.service
迁服
大概了解了一下,有几种迁服情况:
1.比如在自己本地创建的档迁到Linux/Win云服务器
2.Linux/Win云服务器迁到另外一个Linux/Win云服务器
3.Linux/Win云服务器迁到本地
1.在自己本地创建的档迁到Linux/Win云服务器,那么数据会存在自己电脑本地的steam云存储目录下。需要找到saved文件夹,他是存储档数据的文件,里面有每个人的角色数据,
应该是由steamid+操作系统id+玩家gid组成的唯一ID做的key。看了下脚本的大概原理,sav文件转成json文件,十六进制反解成十进制,把这个唯一ID都替换修改了再转回sav文件。
saved/0/文件夹里面是存储的是以服务器ID开头的文件夹,需要在配置文件里面替换这个服务器ID,能让游戏读到配置。这个服务器ID应该跟配置路径有关。所以当Linux迁到Linux
的时候直接改配置路径就好了,然而在1这种情况下,需要挨个替换json文件里面的key,要用脚本去导做替换逻辑。参考视频 https://b23.tv/jbugfST
2.根据1所述直接替换,但是需要一个坑,我用腾讯云的服务器换到阿里云,这样做是会报错的。不知道是不是ubuntu版本问题,腾讯云ubuntu版本22.04,阿里云ubuntu版本22.04.03,
导致我用这个办法失败了,后面转成新的一个腾讯云,是OK的。最后还是没定位到问题
3.同1的反解,猜测。
标签:False,sudo,迁服,幻兽,palserver,服务器,PalServer,帕鲁,1.000000 From: https://www.cnblogs.com/twh233/p/18008539