搭建私人服务器可能需要一些基础的计算机知识和技能。以下是一个简单的指南,以帮助你开始搭建私人服务器。请注意,这是一个简化的过程,具体步骤可能会因你的需求和操作系统而异。
技术大佬可自行搭建,小白可以直接快速搭建
快速搭建服务器(小白三分钟上手)
- 最近发现挺多人在玩幻兽帕鲁打黑工的游戏,这种游戏要和朋友一起人多才热闹,但是要联机就需要搭建私服,因此让我们这些小白很苦恼啊。
- 在找解决方法的时候偶然发现了这个宝藏网站
仅需很简单的几步操作就能搭建一个私服,并且随用随启,不删存档。
- 使用教程也很简短
使用教程
1、点击"云部署"
步骤1:打开Steam客户端,并登录您的Steam账号:
步骤2:在"库(LIBRARY)"中找到已购买和安装好的幻兽帕鲁(Palworld),并开始游戏
步骤3:在游戏菜单选择"加入多人游戏(专用服务器)
步骤4:玩家输入通过云部署的IP地址+端口(8211),即可畅快开玩
备注:云部署成功后,具体IP地址请查看本页最下方。
并且现在是活动价格,10点10分钟相当于6毛钱一小时,一天就算玩八个小时也才一瓶快乐水的价格。
- 另外注册还有100点数送,算了一下邀请6个人就可以白嫖三十多个小时,基本上等于送了一周体验(真香)。
以上安利给各位,根据自己需求使用
网站
https://apps.galaxy-future.com/#/platform/detail/24392362?gf_invite=GQhePcNz&utm_source=cs
搭建服务器正常操作(不适合小白)
一、准备工作
1.服务器要求
CPU | 4核(推荐) |
---|---|
内存 | 16GB 建议使用 32GB 以上才能稳定运行。用8GB启动服务器是可以的,但是玩得越久,服务器就会因为内存不足而崩溃。 |
网络 | UDP 端口 8211(默认) |
由于和作者一起play的小伙伴不多,所以使用的是腾讯云轻量应用服务器4C8G配置
系统镜像需选择为CentOS7.6
推荐使用腾讯云轻量应用服务器,新用户仅66/月即可购买4C16G配置。
2.(可选)使用OpenVPN保护服务器仅被可信用户连接
首先在轻量应用服务器控制台防火墙中放通tcp1194
服务端配置:
bash
bash
复制代码
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/
创建配置文件
bash
bash
复制代码
vim /etc/openvpn/server.conf
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
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 #配置客户端配置文件目录
启动服务端
sql
sql
复制代码
sudo systemctl start openvpn@server
设置开机自启
sudo systemctl enable openvpn@server
服务端配置完成
客户端配置
(1)下载Windows客户端
官方地址openvpn.net/client/clie...
(2)服务端生成客户端的证书
bash
bash
复制代码
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)重启 <服务端>
css
css
复制代码
sudo systemctl restart openvpn@server
(4)创建配置文件client_name.ovpn
vbnet
vbnet
复制代码
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.创建用户
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
sudo useradd -m steam
sudo passwd steam
sudo -u steam -s
cd /home/steam
3.下载steamcmd
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
mkdir ~/Steam && cd ~/Steam
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
4.下载PalServer
官方教程地址tech.palworldgame.com/dedicated-s...
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
./steamcmd.sh +login anonymous +app_update 2394010 validate +quit
下载完成后 进入到游戏目录中 尝试运行(此步务必执行)
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
cd steamapps/common/PalServer
./PalServer.sh
如果出现报错
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
.steam/sdk64/steamclient.so: cannot open shared object file: No such file or directory
则回到steamcmd目录
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
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/
然后重新尝试运行即可
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
cd steamapps/common/PalServer
./PalServer.sh
运行后若出现下面的报错为正常情况
vbnet
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
vbnet
复制代码
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
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
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用户
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
复制代码
sudo su
sudo usermod -aG wheel steam
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
vim /etc/systemd/system/palserver.service
填写以下配置
ini
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
ini
复制代码
[Unit]
Description=PalServer
After=network.target
[Service]
User=steam
ExecStart=/usr/bin/sudo -u steam /home/steam/Steam/steamapps/common/PalServer/Pal/Binaries/Linux/PalServer-Linux-Test Pal ""
Restart=always
[Install]
WantedBy=default.target
保存后输入systemctl daemon-reload
重载配置
arduino
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
arduino
复制代码
设置开机自启
sudo systemctl enable palserver
启动
sudo systemctl start palserver
查看状态
sudo systemctl status palserver
停止
sudo systemctl stop palserver
重启
sudo systemctl restart palserver
11.配置虚拟内存以及定时清理缓存
配置虚拟内存
查看当前虚拟内存空间
c
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
c
复制代码
free -h
设置虚拟内存为12G,建议根据机型调整
内存小于等于 2GB: 设置为内存的两倍。 内存大于 2GB 且小于 8GB: 设置为内存的1.5倍。 内存大于 8GB 且小于 64GB:等于内存大小。 内存大于 64GB: 设置为64GB。
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
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
再次查看虚拟内存空间
c
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
c
复制代码
free -h
配置定时清理缓存
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
复制代码
vim clean.sh
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
#!/bin/bash
sync
echo 1 > /proc/sys/vm/drop_caches
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
vim /etc/crontab
这里设置的是每2h执行一次,可以根据自身机型进行调整执行周期
javascript
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
javascript
复制代码
0 */2 * * * root /path/to/sync.sh
12.(可选)定期备份到轻量对象存储
如果你与作者一样选用了腾讯云的轻量应用服务器,那么同时也可使用轻量对象存储来定期备份自己的游戏数据
轻量对象存储相比标准的对象存储少了很多的费用,例如请求费用,真正做到了一个套餐包解决问题。 腾讯云轻量对象存储详情页
1. 创建存储桶
登录轻量云控制台的对象存储,点击创建存储桶,输入存储桶名称(例如,palserver )。注意:一定要选择与轻量应用服务器同样的地域。
2.将桶挂载到服务器
进入到服务器详情页,选择 对象存储-挂载存储桶-选择刚刚创建的桶 ,存储桶挂载目录
填写/palbackup
,服务器挂载目录
填写/root/palbackup
,完成后点击确定。
提示挂载成功后,即可进入下一步
3.编辑备份脚本
以root用户登录服务器
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
vim palbackup.sh
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
#!/bin/bash
# Define source directory and backup directory
SOURCE_DIR="/home/steam/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/0"
BACKUP_DIR="/root/palbackup"
DATE=$(date +%Y%m%d_%H%M%S)
# Create a gzip compressed tarbal
tar -cvf "${BACKUP_DIR}/backup_${DATE}.tar" "${SOURCE_DIR}"
echo "Backuppalbackup.sh of ${SOURCE_DIR} completed at ${BACKUP_DIR}/backup_${DATE}.tar.gz"
保存后尝试运行 bash palbackup.sh
运行后可以看到 已经成功将数据打包到了/root/palbackup目录下,进入轻量对象存储桶中查看,可以看到对应的文件已经存储到了桶中。
4.将备份脚本设置为定时任务
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
crontab -e
在末尾添加如下命令,即每半小时备份一次,并写入日志
bash
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
0,30 * * * * bash /root/palbackup.sh >> /root/palbackup.log
保存后即可生效
教程到这里就结束了 各位可以享受自己的游戏之旅