3天卖了500万!《幻兽帕鲁》爆火,教你用NAS搭建玩起来
系统部署
1、Docker Compose部署
在Docker Compose部署前,需要先新建文件夹和配置文件,并给予管理员权限。🔻这里以/volume1/docker/game/为例🔻新建docker-compose.yml,将以下代码复制进去,并修改自定义内容。mkdir -p /volume1/docker/game/Pal/Saved/Config/LinuxServer
chmod 777 /volume1/docker/game
touch /volume1/docker/game/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
version: '3.9' services: palworld-dedicated-server: build: . container_name: palworld-dedicated-server image: jammsen/palworld-dedicated-server:latest restart: always network_mode: bridge ports: - "8211:8211/udp" #自定义端口,不建议改 environment: - ALWAYS_UPDATE_ON_START=true #是否更新 - MAX_PLAYERS=32 #最大支持人数 - MULTITHREAD_ENABLED=true #是否开启多多线程 CPU - COMMUNITY_SERVER=true #是否开启为社区服务器,如果为 true,则服务器将显示在游戏官方的社区服务器中。 - PUBLIC_IP=10.0.0.1 #本机IP,不填则自动生成 - PUBLIC_PORT=8211 #本机端口,和上面的端口一致,不要改 - SERVER_NAME=Cherry_Cgakki #自定义服务器名字 - SERVER_DESCRIPTION=Cherry_Cgakki #自定义服务器介绍 - SERVER_PASSWORD=serverPasswordHere #公开服务器密码,官方有BUG,不起作用 - ADMIN_PASSWORD=adminPasswordHere #公开服务器管理员密码 volumes: - /volume1/docker/game:/palworld #自定义数据存档路径,游戏服务器所有数据都保存在这里
2、停止Docker并修改配置文件
🔶配置文件:
/volume1/docker/game/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
🔻参照格式如下,只要修改相应的数值即可。可以修改我们自己服务器上的所有内容,这里是官方的配置文件Palworld tech guide - Optimize game balance (palworldgame.com)🔶服务器参数与释义; This configuration file is a sample of the default server settings. ; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/LinuxServer/PalWorldSettings.ini.
[/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 Palworld Server",ServerDescription="",AdminPassword="",ServerPassword="",PublicPort=8211,PublicIP="",RCONEnabled=False,RCONPort=25575,Region="",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt")
DayTimeSpeedRate: 游戏白天时间的速率,影响游戏中白天的流逝速度。 NightTimeSpeedRate: 游戏夜晚时间的速率,影响游戏中夜晚的流逝速度。 ExpRate: 玩家经验获取的速率,影响角色升级的速度。 PalCaptureRate: 捕捉伙伴的速率,影响成功捕捉伙伴的几率。 PalSpawnNumRate: 伙伴生成数量的速率,影响伙伴在游戏中的生成数量。 PalDamageRateAttack: 伙伴攻击时的伤害速率,影响伙伴攻击力。 PalDamageRateDefense: 伙伴防御时的伤害速率,影响伙伴防御力。 PlayerDamageRateAttack: 玩家攻击时的伤害速率,影响玩家的攻击力。 PlayerDamageRateDefense: 玩家防御时的伤害速率,影响玩家的防御力。 PlayerStomachDecreaseRate: 玩家胃口减少的速率,影响玩家在游戏中的饥饿程度。 PlayerStaminaDecreaseRate: 玩家耐力减少的速率,影响玩家在游戏中的耐力消耗速度。 PlayerAutoHPRegeneRate: 玩家自动恢复生命值的速率。 PlayerAutoHpRegeneRateInSleep: 玩家在睡眠状态下自动恢复生命值的速率。 PalStomachDecreaseRate: 伙伴胃口减少的速率,影响伙伴在游戏中的饥饿程度。 PalStaminaDecreaseRate: 伙伴耐力减少的速率,影响伙伴在游戏中的耐力消耗速度。 PalAutoHPRegeneRate: 伙伴自动恢复生命值的速率。 PalAutoHpRegeneRateInSleep: 伙伴在睡眠状态下自动恢复生命值的速率。 BuildObjectDamageRate: 建筑物受到伤害的速率,影响建筑物的耐久度。 BuildObjectDeteriorationDamageRate: 建筑物老化受到的伤害速率,影响建筑物老化的速度。 CollectionDropRate: 采集物品掉落的速率,影响从采集中获得物品的几率。 CollectionObjectHpRate: 采集物品的耐久度速率,影响采集物品的耐久度。 CollectionObjectRespawnSpeedRate: 采集物品重新生成速率,影响采集物品重新生成的速度。 EnemyDropItemRate: 敌人掉落物品的速率,影响从敌人处获得物品的几率。 DeathPenalty: 死亡惩罚设置,可以是"All"表示所有物品都会掉落。 bEnablePlayerToPlayerDamage: 是否启用玩家对玩家的伤害。 bEnableFriendlyFire: 是否启用友军伤害。 bEnableInvaderEnemy: 是否启用入侵敌人。 bActiveUNKO: 是否启用UNKO活动。 bEnableAimAssistPad: 是否启用手柄瞄准辅助。 bEnableAimAssistKeyboard: 是否启用键鼠瞄准辅助。 DropItemMaxNum: 掉落物品的最大数量。 DropItemMaxNum_UNKO: UNKO活动中掉落物品的最大数量。 BaseCampMaxNum: 基地营地的最大数量。 BaseCampWorkerMaxNum: 基地营地中工作者的最大数量。 DropItemAliveMaxHours: 掉落物品存活的最大小时数。 bAutoResetGuildNoOnlinePlayers: 是否自动重置没有在线玩家的公会。 AutoResetGuildTimeNoOnlinePlayers: 没有在线玩家时自动重置公会的时间。 GuildPlayerMaxNum: 公会中玩家的最大数量。 PalEggDefaultHatchingTime: 伙伴蛋默认孵化时间。 WorkSpeedRate: 工作速率,影响游戏中各种工作的速度。 bIsMultiplay: 是否启用多人游戏。 bIsPvP: 是否启用玩家间对战。 bCanPickupOtherGuildDeathPenaltyDrop: 是否可以捡起其他公会玩家死亡惩罚的物品。 bEnableNonLoginPenalty: 是否启用非登录惩罚。 bEnableFastTravel: 是否启用快速旅行。 bIsStartLocationSelectByMap: 是否通过地图选择起始位置。 bExistPlayerAfterLogout: 玩家登出后是否存在于游戏中。 bEnableDefenseOtherGuildPlayer: 是否启用对其他公会玩家的防御。 CoopPlayerMaxNum: 合作玩家的最大数量。 ServerPlayerMaxNum: 服务器中玩家的最大数量。
3、重启Docker等待更新
🔻看到以下代码就说明全部部署,服务器已经上线了。系统使用
1、连接服务器
进入游戏后,选择加入多人游戏 (专用服务器),在最下方输入服务器的ip:port即可进入游戏。2、负载情况
很多朋友会关心用NAS部署的负载情况如何,本次搭建使用的是自建的unraid,具体配置可以看图片,游戏服务端CPU占用大概3%左右。🔻CPU:志强Sliver 4210R;内存:32Gb。如果使用920+的话,因为线程比较少,内存分配估计得高一点,大概2-4G的样子。3、游戏画面
写在最后其实,不光是幻兽帕鲁,NAS还能部署成为很多在线游戏的服务端,比如我的世界、wow、梦幻西游等。但是同样的,因为NAS一开始设计的和服务器并不同。散热、线程数、CPU性能都会有些不同,所以可以小小尝试一下,控制服务器游玩人数即可。本项目采用Docker部署,任意NAS、服务器都可以部署安装。
当然,如果你对于利用NAS搭建社区服务器也有很多心得,欢迎在评论区与大家讨论。也可点击“阅读原文”了解更多内容!