5分钟搭建PalWorld(幻兽帕鲁)游戏服务器教程

2024年1月24日 发表评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解

通过本文仅需5分钟搭建自己的PalWorld(幻兽帕鲁)游戏服务器。建议搭建幻兽帕鲁选择腾讯云轻量应用服务器4核16G14M带宽,Ubuntu/Debian系统

如何收费?腾讯云幻兽帕鲁服务器活动入口:2bcd.com/go/xinke/ 轻量应用服务器4核16G14M优惠价格3个月277.2元,一年1584元。

5分钟搭建PalWorld(幻兽帕鲁)游戏服务器教程

活动地址2bcd.com/go/xinke/ 进入页面后在【新品专区】就可看到。

一、准备工作

1.服务器要求

CPU

4核(推荐)

内存

16GB 建议使用 32GB 以上才能稳定运行。用8GB启动服务器是可以的,但是玩得越久,服务器就会因为内存不足而崩溃。

网络

UDP 端口 8211(默认)

作者使用的是腾讯云轻量应用服务器4C8G配置,系统镜像为CentOS7.6

2.(可选)使用OpenVPN保护服务器仅被可信用户连接

首先在轻量应用服务器控制台防火墙中放通tcp1194

服务端配置:
sudo yum install epel-release
sudo yum install -y openvpn easy-rsa
sudo mkdir /etc/openvpn/easy-rsa
sudo mkdir /etc/openvpn/ccd
sudo cp -ai /usr/share/easy-rsa/3/* /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass
sudo ./easyrsa build-server-full server nopass
sudo ./easyrsa gen-dh
sudo cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/
sudo cp /etc/openvpn/easy-rsa/pki/issued/server.crt /etc/openvpn/
sudo cp /etc/openvpn/easy-rsa/pki/private/server.key /etc/openvpn/
sudo cp /etc/openvpn/easy-rsa/pki/dh.pem /etc/openvpn/

创建配置文件

vim /etc/openvpn/server.conf
port 1194                                    #端口
proto tcp                                    #协议
dev tun                                      #采用路由隧道模式
ca ca.crt                  #ca证书的位置
cert server.crt     #服务端公钥的位置
key server.key     #服务端私钥的位置
dh dh.pem                  #证书校验算法  
server 10.8.0.0 255.255.255.0                #给客户端分配的地址池

ifconfig-pool-persist ipp.txt                #地址池记录文件位置,未来让openvpn客户端固定ip地址使用的
keepalive 10 120                             #存活时间,10秒ping一次,120秒如果未收到响应则视为短线
max-clients 100                              #最多允许100个客户端连接
status openvpn-status.log                    #日志位置,记录openvpn状态
log /var/log/openvpn.log                     #openvpn日志记录位置
verb 3                                       #openvpn版本
client-to-client                             #允许客户端与客户端之间通信
persist-key                                  #通过keepalive检测超时后,重新启动VPN,不重新读取
persist-tun                                  #检测超时后,重新启动VPN,一直保持tun是linkup的,否则网络会先linkdown然后再linkup
duplicate-cn                                 #客户端密钥(证书和私钥)是否可以重复
comp-lzo                                     #启动lzo数据压缩格式
client-config-dir /etc/openvpn/ccd               #配置客户端配置文件目录

启动服务端

sudo systemctl start openvpn@server
设置开机自启
sudo systemctl enable openvpn@server

服务端配置完成

客户端配置
(1)下载Windows客户端

官方地址https://openvpn.net/client/client-connect-vpn-for-windows/

(2)服务端生成客户端的证书
cd /etc/openvpn/easy-rsa

./easyrsa build-client-full client_name pwd

之后将ca.crt client_name.crt client_name.key都下载下来

文件位置

ca.crt >> /etc/openvpn/easy-rsa/pki

client_name.crt >> /etc/openvpn/easy-rsa/pki/issued

client_name.key >> /etc/openvpn/easy-rsa/pki/private

(3)重启 <服务端>
sudo systemctl restart openvpn@server
(4)创建配置文件client_name.ovpn
client
dev tun
proto tcp
remote 服务端ip 1194
resolv-retry infinite
nobind
ca ca.crt
cert client_name.crt
key client_name.key
verb 3
persist-key
comp-lzo

将ca.crt client_name.crt client_name.key与client_name.ovpn放置在同一个文件夹中

双击文件即可链接

二、安装PalServer

1.安装所需库

yum install glibc.i686 libstdc++.i686

2.创建用户

sudo useradd -m steam 
sudo passwd steam

sudo -u steam -s 
cd /home/steam

3.下载steamcmd

mkdir ~/Steam && cd ~/Steam

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

4.下载PalServer

官方教程地址https://tech.palworldgame.com/dedicated-server-guide#linux

./steamcmd.sh +login anonymous +app_update 2394010 validate +quit

下载完成后 进入到游戏目录中 尝试运行

cd steamapps/common/PalServer
./PalServer.sh

如果出现报错

.steam/sdk64/steamclient.so: cannot open shared object file: No such file or directory

则回到steamcmd目录

cd /home/steam/Steam
mkdir -p ~/.steam/sdk64/
./steamcmd.sh +login anonymous +app_update 1007 +quit
cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/

然后重新尝试运行即可

cd steamapps/common/PalServer
./PalServer.sh

运行后若出现下面的报错为正常情况

sh: xdg-user-dir: command not found
dlopen failed trying to load:
steamclient.so
with error:
steamclient.so: cannot open shared object file: No such file or directory
[S_API] SteamAPI_Init(): Loaded '/home/steam/.steam/sdk64/steamclient.so' OK.  (First tried local 'steamclient.so')
CAppInfoCacheReadFromDiskThread took 1 milliseconds to initialize
Setting breakpad minidump AppID = 2394010
[S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.

5.编辑配置文件

默认配置文件位置/home/steam/Steam/steamapps/common/PalServer/DefaultPalWorldSettings.ini

cp /home/steam/Steam/steamapps/common/PalServer/DefaultPalWorldSettings.ini 
/home/steam/Steam/steamapps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini


vim /home/steam/Steam/steamapps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

配置文件参数(使用OpenVPN,无需填写PublicIP):

Difficulty

英文

机翻

DayTimeSpeedRate

Day time speed

白天速度

NightTimeSpeedRate

Night time speed

夜间速度

ExpRate

EXP rate

经验率

PalCaptureRate

Pal capture rate

好友捕获率

PalSpawnNumRate

Pal appearance rate

Pal出现率

PalDamageRateAttack

Damage from pals multipiler

好友倍增器造成的伤害

PalDamageRateDefense

Damage to pals multipiler

对好友倍增器造成伤害

PlayerDamageRateAttack

Damage from player multipiler

玩家倍增造成的伤害

PlayerDamageRateDefense

Damage to player multipiler

对玩家造成的伤害乘数

PlayerStomachDecreaceRate

Player hunger depletion rate

玩家饥饿消耗率

PlayerStaminaDecreaceRate

Player stamina reduction rate

玩家体力减少率

PlayerAutoHPRegeneRate

Player auto HP regeneration rate

玩家自动HP回复率

PlayerAutoHpRegeneRateInSleep

Player sleep HP regeneration rate

玩家睡眠HP回复率

PalStomachDecreaceRate

Pal hunger depletion rate

伙伴饥饿消耗率

PalStaminaDecreaceRate

Pal stamina reduction rate

帕尔耐力减少率

PalAutoHPRegeneRate

Pal auto HP regeneration rate

Pal自动HP回复率

PalAutoHpRegeneRateInSleep

Pal sleep health regeneration rate (in Palbox)

Pal 睡眠健康恢复率(Palbox 中)

BuildObjectDamageRate

Damage to structure multipiler

多层结构损坏

BuildObjectDeteriorationDamageRate

Structure determination rate

结构测定率

CollectionDropRate

Getherable items multipiler

可收集物品倍增器

CollectionObjectHpRate

Getherable objects HP multipiler

可收集的物体 HP 倍增器

CollectionObjectRespawnSpeedRate

Getherable objects respawn interval

可收集物体的重生间隔

EnemyDropItemRate

Dropped Items Multipiler

掉落物品倍增器

DeathPenalty

Death penalty None : No lost, Item : Lost item without equipment, ItemAndEquipment : Lost item and equipment, All : Lost All item, equipment, pal(in inventory)

死刑 None : 没有丢失, Item : 丢失的没有装备的物品, ItemAndEquipment : 丢失的物品和装备, All : 丢失所有物品、装备、朋友(库存中)

GuildPlayerMaxNum

Max player of Guild

公会最大玩家数

PalEggDefaultHatchingTime

Time(h) to incubate massive egg

孵化大蛋的时间(h)

ServerPlayerMaxNum

Maximum number of people who can join the server

服务器最多可加入人数

ServerName

Server name

服务器名称

ServerDescription

Server description

服务器描述

AdminPassword

AdminPassword

管理员密码

ServerPassword

Set the server password.

设置服务器密码。

PublicPort

Public port number

公共端口号

PublicIP

Public IP

公共IP

RCONEnabled

Enable RCON

启用RCON

RCONPort

Port number for RCON

RCON 的端口号

6.连接到游戏服务器

若使用OpenVPN,连接后在专用服务器IP地址处填10.8.0.1:8211即可

若未使用OpenVPN,需要在轻量应用服务器控制台防火墙放通udp8211。

7.在游戏中使用管理员命令

按下Enter调出聊天框,输入/adminpassword 你设置的管理员密码 即可获得管理员权限

管理员命令

命令

描述

机翻描述

/Shutdown {Seconds} {MessageText}

The server is shut down after the number of Seconds Will be notified of your MessageText.

服务器关闭后的秒数将通知您的 MessageText。

/DoExit

Force stop the server.

强制停止服务器。

/Broadcast {MessageText}

Send message to all player in the server.

向服务器中的所有玩家发送消息。

/KickPlayer {SteamID}

Kick player from the server.

将玩家从服务器中踢出。

/BanPlayer {SteamID}

BAN player from the server.

从服务器禁止玩家。

/TeleportToPlayer {SteamID}

Teleport to current location of target player.

传送到目标玩家的当前位置。

/TeleportToMe {SteamID}

Target player teleport to your current location

目标玩家传送到您当前的位置

/ShowPlayers

Show information on all connected players.

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

/Info

Show server information.

显示服务器信息。

/Save

Save the world data.

保存世界数据。

9.获取steamID

在获取管理员权限后,按下 ESC 后点击 选项 即可看到steamid,右键单击两次即可复制

10.将程序注册为服务

先Ctrl+C将服务停止,然后输入下方命令即可对程序进行挂起

切到root用户

sudo su
sudo usermod -aG wheel steam
vim /etc/systemd/system/palserver.service

填写以下配置

[Unit]
Description=PalServer
After=network.target

[Service]
User=steam
ExecStart=/usr/bin/sudo -u steam /home/steam/Steam/steamapps/common/PalServer
Restart=always

[Install]
WantedBy=default.target
设置开机自启
sudo systemctl enable palserver
启动
sudo systemctl start palserver
查看状态
sudo systemctl status palserver

11.配置虚拟内存以及定时清理缓存

配置虚拟内存

查看当前虚拟内存空间

free -h

设置虚拟内存为12G,建议根据机型调整

内存小于等于 2GB: 设置为内存的两倍。 内存大于 2GB 且小于 8GB: 设置为内存的1.5倍。 内存大于 8GB 且小于 64GB:等于内存大小。 内存大于 64GB: 设置为64GB。

sudo fallocate -l 12G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

再次查看虚拟内存空间

free -h
配置定时清理缓存
vim clean.sh
#!/bin/bash
sync
echo 1 > /proc/sys/vm/drop_caches
vim /etc/crontab

这里设置的是每2h执行一次,可以根据自身机型进行调整执行周期

0 */2 * * * root /path/to/sync.sh

教程到这里就结束了 各位可以享受自己的游戏之旅。

来源:https://cloud.tencent.com/developer/article/23821

1、腾讯云优惠活动汇总【点此直达
2、阿里云优惠活动大全【点击直达
3、游戏服务器:自建幻兽帕鲁服务器不卡【点击进入教程页 】一键部署!
4、免费服务器:雨云【 点击直达 】了解.
10年老程序吐血建议:云产品续费贵,【点此 】抢腾讯云3年5年服务器,升级贵,选配置高的,新人首购便宜,不要浪费新人首购资格,一次到位,后期少花钱、少折腾。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: