仓库源文站点原文


title: 幻兽帕鲁服务器搭建 slug: PalworldServer date: 2024-01-23 23:50:00+0800 image: palworld.png categories:

- techStudy

tags:

- computer
- steam
- game
- computernetworksecurity

weight: 1 # You can add weight to some posts to override the default sorting (date descending)

comments: true

license: flase

math: true

toc: true

style:

keywords:

readingTime:


前言

幻兽帕鲁(Palworld)是一个抓宝可梦打黑工的开放世界冒险游戏,我想实现24h不间断的服务器以供朋友们随时上号可以继续建设共同的世界,不必等待房主上号。

这需要利用游戏提供的幻兽帕鲁私有服务器(Palworld Dedicated Server)工具实现。

环境

CPU RAM Network
4核 16G UDP端口8211 端口转发

参考

服务器搭建操作

windows 11

安装官方开服软件

购买游戏后,在steam库中的工具中找到Palworld Dedicated Server并下载安装。

win_download

配置开服软件

打开安装好的开服软件,选择Play Palworld Dedicated Server启动

win_server_1

steamCMD-Windows

官网下载后,新建文件夹steamCMD作为安装目录,解压到该目录下并运行。

win_server_2

force_install_dir D:\steamCMD\palworld
# 匿名登陆

login anonymous

# 或者使用账号密码登陆

login username 
# 输入密码

app_update <app_id> [-beta <betaname>] [-betapassword <password>] [validate]

# app_id 为游戏的id,beta为测试版本,有的beta版本有密码,validate为验证文件完整性

# 以幻兽帕鲁为例
# app_update 2394010 validate

steamcmd中下载幻兽帕鲁

# steamcmd
login anonymous
app_update 2394010 validate
quit

配置开服软件

# windows命令行
cd D:\steamCMD\steamapps\common\PalServer
PalServer.exe

steamCMD-Ubuntu


# 作为root用户,创建steam用户:

sudo useradd -m steam
sudo passwd steam

# 进入其主文件夹:

sudo -u steam -s
cd /home/steam

# 如果无权限sudo
# 切到root用户,修改/etc/sudoers文件,添加一行:
# steam   ALL=(ALL:ALL) ALL

# 下载steamcmd:

sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update
sudo apt install steamcmd
mkdir -p ~/.steam/sdk64/
steamcmd +login anonymous +app_update 1007 +quit
cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/

之后就好了,不用管报错。

steamCMD-Docker

# wsl

# 下载并启动镜像
docker run -di --name=steamcmd cm2network/steamcmd 

docker exec -it steamcmd /bin/bash

# steamcmd.sh 位于 /home/steam/steamcmd

服务器存档及转移问题

存档

[steamcmd的steamapps路径]\common\PalServer\Pal\Saved\SaveGames\0\[存档名]

D:\steamCMD\steamapps\common\PalServer\Pal\Saved\SaveGames\0\1865165198165165091

存档结构

.
├── Level.sav                  #地图数据
├── LevelMeta.sav
└── Players
    ├── 8HIHSUBI0000000000.sav #玩家数据(steam游戏id)
    └── 88UKBUE30000000000.sav

配置文件

服务器转移

游戏优化

内存优化

有个大佬做了程序,仓库有教程

PalworldServerAutoRestart

使用流程大概就是下载exe,放在PalServer目录下,启动一下,会出现个config.json,跟着教程改一下,打开没问题,开着这个再开着游戏就ok了

memreduct是一个内存优化工具,可以在windows下使用。

下载后,打开,按照默认设置,选择到80%或者自定义的值就清理。去掉清理提示。

存档自动备份

由于游戏不是很稳定,加上服务器不稳定,存档迁移等原因,最好定期备份存档。

我自己写了个每分钟备份一次存档,保留最新100次存档的小程序,后续还会继续优化。

目前只保证在winodws上的steamcmd运行的PalServer存档备份(我只测试了这个嘿嘿)。

下载地址:backupPal