如何快速搭建私人服务器

搭建私人服务器可能需要一些基础的计算机知识和技能。以下是一个简单的指南,以帮助你开始搭建私人服务器。请注意,这是一个简化的过程,具体步骤可能会因你的需求和操作系统而异。

技术大佬可自行搭建,小白可以直接快速搭建

快速搭建服务器(小白三分钟上手)

  • 最近发现挺多人在玩幻兽帕鲁打黑工的游戏,这种游戏要和朋友一起人多才热闹,但是要联机就需要搭建私服,因此让我们这些小白很苦恼啊。
  • 在找解决方法的时候偶然发现了这个宝藏网站

    仅需很简单的几步操作就能搭建一个私服,并且随用随启,不删存档。

image.png

- 使用教程也很简短

使用教程

1、点击“云部署”

image.png

步骤1:打开Steam客户端,并登录您的Steam账号:

步骤2:在“库(LIBRARY)”中找到已购买和安装好的幻兽帕鲁(Palworld),并开始游戏

步骤3:在游戏菜单选择“加入多人游戏(专用服务器)

步骤4:玩家输入通过云部署的IP地址+端口(8211),即可畅快开玩

备注:云部署成功后,具体IP地址请查看本页最下方。

并且现在是活动价格,10点10分钟相当于6毛钱一小时,一天就算玩八个小时也才一瓶快乐水的价格。

image.png

  • 另外注册还有100点数送,算了一下邀请6个人就可以白嫖三十多个小时,基本上等于送了一周体验(真香)。

image.png
以上安利给各位,根据自己需求使用

网站

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配置。

1706173780599.jpg

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

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

服务端配置:
 
 
   
   
   
   
bash
复制代码
sudo yum install epel-release sudo yum install -y open easy-rsa sudo mkdir /etc/open/easy-rsa sudo mkdir /etc/open/ccd sudo cp -ai /usr/share/easy-rsa/3/* /etc/open/easy-rsa/ cd /etc/open/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/open/easy-rsa/pki/ca.crt /etc/open/ sudo cp /etc/open/easy-rsa/pki/issued/server.crt /etc/open/ sudo cp /etc/open/easy-rsa/pki/private/server.key /etc/open/ sudo cp /etc/open/easy-rsa/pki/dh.pem /etc/open/

创建配置文件

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

启动服务端

 
 
   
   
   
   
sql
复制代码
sudo systemctl start open@server 设置开机自启 sudo systemctl enable open@server

服务端配置完成

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

官方地址open.net/client/clie…

(2)服务端生成客户端的证书
 
 
   
   
   
   
bash
复制代码
cd /etc/open/easy-rsa ./easyrsa build-client-full client_name pwd

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

文件位置

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

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

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

(3)重启 <服务端>
 
 
   
   
   
   
css
复制代码
sudo systemctl restart open@server
(4)创建配置文件client_name.o
 
 
   
   
   
   
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.o放置在同一个文件夹中

双击文件即可链接

二、安装PalServer

1.安装所需库

 
 
   
   
   
   
复制代码
yum install glibc.i686 libstdc++.i686

2.创建用户

 
 
   
   
   
   
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

 
 
   
   
   
   
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…

 
 
   
   
   
   
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

下载完成后 进入到游戏目录中 尝试运行(此步务必执行)

 
 
   
   
   
   
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

如果出现报错

 
 
   
   
   
   
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目录

 
 
   
   
   
   
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/

然后重新尝试运行即可

 
 
   
   
   
   
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

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

 
 
   
   
   
   
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

 
 
   
   
   
   
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
 
 
   
   
   
   
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

填写以下配置

 
 
   
   
   
   
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重载配置

 
 
   
   
   
   
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.配置虚拟内存以及定时清理缓存

配置虚拟内存

查看当前虚拟内存空间

 
 
   
   
   
   
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。

 
 
   
   
   
   
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

再次查看虚拟内存空间

 
 
   
   
   
   
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
 
 
   
   
   
   
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
 
 
   
   
   
   
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
vim /etc/crontab

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

 
 
   
   
   
   
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用户登录服务器

 
 
   
   
   
   
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
vim palbackup.sh
 
 
   
   
   
   
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.将备份脚本设置为定时任务
 
 
   
   
   
   
1 0 0 0 1.414 0l4-4a1 1 0 0 0 .217-1.09z" data-name="Down">
bash
复制代码
crontab -e

在末尾添加如下命令,即每半小时备份一次,并写入日志

 
 
   
   
   
   
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

保存后即可生效

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

你可能感兴趣的:(服务器,运维)