我昨天(2024-1-25)发了一个教程幻兽帕鲁1-32人专业服务器开服教程(大学生专属),教大家如何白嫖阿里云的300元大学生无门槛卷来开服务器。然后很多人有不同的疑问,这个教程我帮大家解决一下问题,
这里讲一下,就算不是用我上篇文章开服的,如果是使用Docker开服,那么我下面的方法都有借鉴的意义。并且,腾讯推出了66元幻兽帕鲁的套餐,说实话,非常划算。我本人比较喜欢钻研服务器,对国内服务器的价格其实还算是体验深刻,所以我敢说,腾讯这次的活动绝对良心。
https://curl.qcloud.com/qk1wWvTD
腾讯云幻兽帕鲁专题活动服务器购买页面
使用上面链接进入腾讯云活动界面。
4C16G新人66一个月,别说开游戏,我都想买来自用了,可惜不开放一年的。这就是腾讯云的套路之处,他卖你最多三个月,我可以肯定告诉你,这三个月他真的不赚你钱,但是3个月以后,这些配置的续费非常非常的贵。
不过这都是后话了,3个月真的够把这个游戏玩腻了,腾讯云提高自己的知名度,我们使用这些配置开服,谁用谁知道,如果购买腾讯云开服,那么不需要你选择配置,你直接购买以后就可以连接使用,腾讯云也贴心的给你写了攻略,肯定比我强,并且有很强大的售后技术支持。
不过如果大家铁了心白嫖,那么可以点我头像去看我上一个帖子,只要是大学生就可以白嫖300元的立减卷。
废话不多说,开始正题。
1、如何迁移存档
在我的经验中,我曾经面临过迁移游戏存档的需求,并采取了一种自己想出的方法。然而,我发现这个方法存在一个问题:对于单机档玩家而言,迁移后房主的存档会丢失。当你迁移完成并进入游戏时,虽然你以前玩的所有东西都在,但由于是单机档,你将重新创建一个新的角色。此外,由于没有其他玩家在你的公会中,没有人能够重新邀请你进入工会。因此,单机档这种方式不用尝试了,没有任何意义。
对于联机档的玩家,房主的个人存档会丢失,进入服务器后会重新创建角色。其他玩家的存档则保持不变,他们仍然保留着在联机时游玩的进度。,所有人的地图探索会丢失,具体来说是黑雾探索。虽然传送点仍然存在,但由于黑雾的阻挡,你无法使用传送点。因此,你需要先探索黑雾,然后才能使用传送点。虽然传送点不需要重新激活,但你必须解除黑雾才能使用它们。
我把利弊已经说完了,那么开始教程。
首先联机图的房主找到自己的存档,存档位置如下
C:\User\自己的电脑用户名\AppData(这个文件夹大概率是隐藏的,取消隐藏即可)\Local\Pal\Saved\SaveGames\你的steam号\一(个)堆大写英文数字组合文件夹名
如果这个steam号文件夹内里面有多个大写英文和数组组合文件夹,这是因为你加的联机服务器或者专业服务器的数据都在这些文件夹里面储存,一个文件夹就是一个世界。
如何筛选出自己创建的世界,而不是加入别人的世界的存档数据,首先保证你只有一个创建的世界,把其他多余的自己创建的世界删除掉,然后一个一个文件点进去查看存档数据。
下图就是一个联机存档的样式,不保证完全一样,我只能保证我的是这样的。
下图是加入别人世界的存档样式
还有一个辅助手段,你的联机存档进过多少人,也就是多少人在你的联机存档里创建过角色(必须是创建完进入游戏才算),可以通过存档文件下的Player文件夹来比对,文件里的玩家数据文件和人数对的上,基本上就没什么问题。
下图是我的联机存档,只有三个人创建过存档,所以有三个文件。
找到存档文件以后,接下来就是把这个文件夹上传到服务器,这一步又涉及到操作服务器,还是比较麻烦的。
首先,我尝试过阿里云的web版本的ssh终端工具,对上传文件夹支持好像有点问题,所以我们只能通过下载其他软件来上传文件夹到我们的云服务器。
https://www.xshell.com/zh/free-for-home-school/
进入这个网址,选择xshell和xftp。这两个都要下载!
下载以后安装,安装完,先打开xshell。xshell需要登录,任意邮箱即可。
随后我们就进入到软件内部,新建会话。这里的会话就是连接云服务器。
填写公网IP,然后点击确定。
然后点击连接
然后填写用户名,用户名为:root
然后导入密钥,选择导入的密钥以后点击确定。
下面的图片就是代表我们进入了服务器。
我们进入到了服务器内部,这时候我们的游戏服务器依旧在运行。我们先把游戏服务器停止了,按照我上一个教程的方法搭建的教程,那么我们使用下面的命令即可停止服务器。
docker rm -f palworld-server
然后点击xftp工具。
xftp也要我们登录,随便填个邮箱即可。我们就进入到了文件上传的管理页面。
首先找到我们本地电脑要迁移到云服务器的存档,然后看我图片里面服务器存档所在位置。
下面就是最重要的迁移存档环节,这个环节其实原理很简单,理解五个字:狸猫换太子
原理是什么呢?
经过我观察,如果你把你自己的存档复制过去,重启Docker以后服务器依旧会生成新的存档。然后服务器使用的依旧是新的存档,可能是这个Docker镜像的问题,也可能是官方服务器的问题,不过这都无所谓,反正在我的教程里,狸猫换太子这个方法是有效的。
到此我们就成功了,然后重新运行Docker,因为我们之前是直接删除了之前的docker容器,因此我们需要重新运行Docker命令
docker run -d \
--name palworld-server \
-p 8211:8211/udp \
-p 27015:27015/udp \
-v /root/palworld/:/palworld/ \
-e PLAYERS=16 \
-e PORT=8211 \
-e COMMUNITY=false \
--restart unless-stopped \
thijsvanloef/palworld-server-docker
至此,服务器运行成功。
写在最后的话:上面的方法是因为我自己有这方面的需求,所以我研究了一下, 最终成功迁移了存档,如果你遇到其他问题,问我是没有任何意义的,因为我也只能解决我这个问题,所以如果你通过这种方式迁移存档没有成功,那么只能自己研究研究了。如果没有这方面的技术储备,那就放弃你的旧档,看我下面的修改服务器配置,稍微修改一下,新档一天顶你前面几天的努力(别改的太离谱,会丧失游戏乐趣)
2、如何修改服务器配置
修改服务器配置和上面迁移存档未必存在同一需求,并且不涉及上传文件,所以我依旧使用阿里云的web版ssh终端工具来演示,省去大家下载xshell的步骤。
为了以防万一,我们修改配置文件前先停止服务器,命令如下:
docker rm -f palworld-server
首先,大家明确一下服务器的配置文件地址,如果按照我的教程来构建服务器,那么你的服务器配置文件如下:
/root/palworld/Pal/Saved/Config/PalWorldSettings.ini
双击打开这个文件
具体的配置对对应的关系如下
游戏难度和时间设置:
- Difficulty: 游戏难度,1(简单)、2(普通)、3(困难)。
- DayTimeSpeedRate: 白天流逝速度,范围在0.1~5之间。
- NightTimeSpeedRate: 夜晚流逝速度,范围在0.1~5之间。
经验、帕鲁和玩家设置:
- ExpRate: 经验倍率,范围在0.1~3之间。
- PalCaptureRate: 帕鲁捕捉概率倍率,范围在0.5~2之间。
- PalSpawnNumRate: 帕鲁出现数量倍率,范围在0.5~3之间。
- PalDamageRateAttack: 帕鲁攻击伤害倍率,范围在0.1~5之间。
- PalDamageRateDefense: 帕鲁承受伤害倍率,范围在0.1~5之间。
- PlayerDamageRateAttack: 玩家攻击伤害倍率,范围在0.1~5之间。
- PlayerDamageRateDefense: 玩家承受伤害倍率,范围在0.1~5之间。
玩家属性设置:
- PlayerStomachDecreaseRate: 玩家饱食度降低倍率,范围在0.1~5之间。
- PlayerStaminaDecreaseRate: 玩家耐力降低倍率,范围在0.1~5之间。
- PlayerAutoHPRegeneRate: 玩家生命值恢复倍率,范围在0.1~5之间。
- PlayerAutoHpRegeneRateInSleep: 玩家睡眠生命值恢复倍率,范围在0.1~5之间。
帕鲁属性设置:
- PalStomachDecreaseRate: 帕鲁饱食度降低倍率,范围在0.1~5之间。
- PalStaminaDecreaseRate: 帕鲁耐力降低倍率,范围在0.1~5之间。
- PalAutoHPRegeneRate: 帕鲁生命值恢复倍率,范围在0.1~5之间。
- PalAutoHpRegeneRateInSleep: 帕鲁睡眠时生命值恢复倍率,范围在0.1~5之间。
建筑和采集设置:
- BuildObjectDamageRate: 对建筑物伤害倍率,建议调低。
- BuildObjectDeteriorationDamageRate: 建筑物劣化速度倍率,建议调0。
- CollectionDropRate: 可采集物品掉落倍率,范围在0.5~3之间。
- CollectionObjectHpRate: 可采集物品生命值倍率,范围在0.5~3之间。
- CollectionObjectRespawnSpeedRate: 可采集物品刷新间隔倍率,范围在0.5~3之间。
其他设置:
- EnemyDropItemRate: 道具掉落量倍率,范围在0.5~3之间。
- DeathPenalty: 死亡惩罚设置,包括None(不掉落)、Item(只掉物品不掉装备)、ItemAndEquipment(掉物品和装备)、All(全部掉)。
- bEnablePlayerToPlayerDamage: 启用玩家对玩家伤害功能。
- bEnableFriendlyFire: 启用友方火焰伤害。
- bEnableInvaderEnemy: 启用袭击事件(野怪入侵基地)。
- bActiveUNKO: 启用UNKO(帕鲁粪便),建议False。
- bEnableAimAssistPad: 启用平板辅助瞄准。
- bEnableAimAssistKeyboard: 启用键盘辅助瞄准。
- DropItemMaxNum: 世界内掉落物品数量上限。
- DropItemMaxNum_UNKO: 帕鲁屎掉落上限,不确定。
- BaseCampMaxNum: 据点最大数。
- BaseCampWorkerMaxNum: 可分派至据点工作的帕鲁数量上限。
- DropItemAliveMaxHours: 掉落物品存在最大时长。
- bAutoResetGuildNoOnlinePlayers: 自动重置没有在线玩家的公会。
- AutoResetGuildTimeNoOnlinePlayers: 无在线玩家时自动重置生成时间。
- GuildPlayerMaxNum: 公会成员最大数量。
- PalEggDefaultHatchingTime: 帕鲁蛋默认孵化时间。(大家最关心的一个功能)
- WorkSpeedRate: 工作速率,影响流水线物品生产速度。
- bIsMultiplay: 多人游戏。
- bIsPvP: PVP是否开启。
- bCanPickupOtherGuildDeathPenaltyDrop: 可拾取其他公会的死亡掉落物。
- bEnableNonLoginPenalty: 启用不登录惩罚。
- bEnableFastTravel: 启用快速旅行。
- bIsStartLocationSelectByMap: 通过地图选择起始位置。
- bExistPlayerAfterLogout: 注销后玩家仍然存在。
- bEnableDefenseOtherGuildPlayer: 启用防御其他公会玩家功能。
- CoopPlayerMaxNum: 邀请码服务器玩家最大人数。
- ServerPlayerMaxNum: 服务器玩家最大人数。
- ServerName: 服务器名称。
- ServerDescription: 服务器简介。
- AdminPassword: 管理员密码。
- ServerPassword: 服务器密码。
- PublicPort: 服务器对外端口。
- PublicIP: 服务器IP。
- RCONEnabled: 启用RCON。
- RCONPort: RCON端口。
- Region: 地区。
- bUseAuth: 使用授权。
- BanListURL: 封禁玩家名单URL(需外网)。
根据上面的配置修改完以后,保存文件。快捷键:ctrl+s保存
然后重启服务器,命令如下:
docker run -d \
--name palworld-server \
-p 8211:8211/udp \
-p 27015:27015/udp \
-v /root/palworld/:/palworld/ \
-e PLAYERS=16 \
-e PORT=8211 \
-e COMMUNITY=false \
--restart unless-stopped \
thijsvanloef/palworld-server-docker
剩下和之前的教程没啥区别,启动完毕进游戏测试即可。
ps:根据我亲身经历,迁移的多人联机的存档可能不能修改服务器的配置文件,我通过上面这种方式多次修改都没有任何效果。这个只是我个人的经历,如果你迁移的联机存档也能修改,那么恭喜你,如果不行,我建议放弃联机存档,修改服务器配置文件可以很快追上你之前的进度。不过不建议大家改的太过于离谱,极大缩短大家游戏的体验。
3、如何更新最新版的服务端
我之前发的搭建专业服务器的教程是1.25日中午发的,下午游戏官方就推出了1.3版本。如果服务端的docker镜像不更新,那么你steam更新以后很有可能进入不了服务器,因为服务器版本过低。可能存在这种情况,并且因为这游戏非常火,频繁更新绝对是常态,所以下面我教大家如何更新最新版的服务端Docker镜像。
但是请注意,Docker镜像不是官方提供的,我用的是国外大佬提供的docker镜像,如果大佬本人鸽了,那么镜像永远不会更新。这种情况只能更换其他的Docker镜像,不过这都是后话,据我观察,我使用的这个镜像的作者很勤快。短时间内不会出现鸽的情况,大家放心使用。
其实更新镜像非常简单
首先,停止服务器的容器
docker rm -f palworld-server
然后,删除docker镜像
docker rmi thijsvanloef/palworld-server-docker:latest
然后pull最新的镜像
docker pull thijsvanloef/palworld-server-docker:latest
然后运行镜像即可
docker run -d \
--name palworld-server \
-p 8211:8211/udp \
-p 27015:27015/udp \
-v /root/palworld/:/palworld/ \
-e PLAYERS=16 \
-e PORT=8211 \
-e COMMUNITY=false \
--restart unless-stopped \
thijsvanloef/palworld-server-docker
如果这种方式依旧存在版本过低的情况,那么应该是镜像没有更新,只能等或者更换其他已经更新的镜像。
4、自动重启容器
这个找时间写一下吧,其实很简单,写一个shell脚本定时执行,然后重启docker即可。
写这个教程还是挺累人的,基本上手把手教学,希望大家点赞收藏一下,顺便充个电。大家越支持,我越努力完善教程的内容。