幻兽帕鲁linux服务搭建

1.安装steamcmd

  • 请勿使用root安装steamcmd

当前系统ubuntu 20.04 server live 64位

1
2
3
4
5
6
7
8
# 请使用非root用户安装
# 我的64位ubuntu系统因此需要安装其余依赖,32位ubuntu可直接安装steamcmd 命令:sudo apt install steamcmd
$ sudo add-apt-repository multiverse
$ sudo dpkg --add-architecture i386
$ sudo apt update
$ sudo apt install lib32gcc-s1 steamcmd
# 添加一个快捷方式
$ ln -s /usr/games/steamcmd steamcmd
1
2
3
4
5
# 因为我们创建了快捷方式,因此直接输入命令即可启动
$ steamcmd
# 页面出现 steamcmd>时表示已经进入了steamcmd的命令终端
# 可以使用以下命令匿名登陆
$ login anonymous

2.安装PalServer专用服务器

官网教程地址

  • 运行推荐4C 8+GB

  • 下载服务器

  • **steamcmd +login anonymous +app_update 2394010 validate +quit **

  • 进入安装文件夹

  • cd ~/Steam/steamapps/common/PalServer

  • cd ~/.steam/SteamApps/common/PalServer

  • 启动服务器(只能使用非root用户启动)

  • **./PalServer.sh **

  • 如果启动出错显示steamclient.so,就可以从PalServer的安装目录linux64下找到这个文件将其拷贝到**~/.steam/sdk64/ **它要找的这个目录文件下

  • 后台启动

  • nohup ./PalServer.sh >~/Pallog.txt 2>&1 &

  • 注意:

  • 经过测试发现使用后台进程无法保持会话,ssh断联后应用断开,因此需要使用screen进行会话管理(评论说exit退出SSH不会导致停止服务器)

1
2
3
4
5
6
7
# 创建一个screen
$ screen -S pal
# 运行程序
$ ./PalServer.sh
# Ctrl + A + D 退出 screen,这时可以断联ssh也可以保持任务继续运行
# 重新连接screen
$ screen -r pal

3.frp内网穿透

1
2
3
4
5
6
7
8
9
10
11
# frpc.toml 配置
serverAddr = "<云服务ip>"
serverPort = 7000


[[proxies]]
name = "PALSERVER"
type = "udp"
localIP = "127.0.0.1"
localPort = 8211
remotePort = 8211
  • 在启动服务器的本地启动frpc
  • 命令 nohup ./frpc -c frpc.toml > frplog.txt 2>&1 &
  • 注意: 如果管理员在外网,还需要映射RCON 25575控制端口

4.添加管理员认证

  • SteamApps/common/PalServer/DefaultPalWorldSettings.ini 这个文件拷贝到这个目录下SteamApps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 先停止服务
$ screen -r pal
# Ctrl + C 停止服务
steam@steamserver:~/.steam$ cp SteamApps/common/PalServer/DefaultPalWorldSettings.ini SteamApps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
# 请注意上面是一条命令,且文件名不同版本的steamcmd有区别,例如有的是steamapps目录。
# 添加一个管理员密码AdminPassword,也可以配置其他参数,例如最大人数ServerPlayerMaxNum,服务器名ServerName
$ cd SteamApps/common/PalServer/Pal/Saved/Config/LinuxServer/
$ vim alWorldSettings.ini
# i
# esc + :wq 保存
# 还需要注意的是有时关闭服务器可能会把配置文件PalWorldSettings.ini 内容清空
# 因此我们可以拷贝一份
$ cp PalWorldSettings.ini PalWorldSettings.ini.bak
# 如果下次打开发现文件空了就可以输出回来 cat PalWorldSettings.ini.bak > PalWorldSettings.ini
# 进入目录重启服务 SteamApps/common/PalServer
$ cd ../../../../
$ ./PalServer.sh
# Ctrl + A + D 退出当前screen
# 进入游戏在聊天框输入 /AdminPassword 123456
# 认证管理员

image-20240120041540506

  • 以下是一些命令

可用管理员命令
需要设置 **AdminPassword **并使用 **/AdminPassword **命令获取管理权限。

命令 服务
/Shutdown {Seconds} {MessageText} 服务器在秒数后关闭将收到您的消息文本通知。
/DoExit 强制停止服务器。
/Broadcast {MessageText} 向服务器中的所有玩家发送消息。
/KickPlayer {SteamID} 从服务器踢出玩家。
/BanPlayer {SteamID} 从服务器禁止玩家。
/TeleportToPlayer {SteamID} 传送到目标玩家的当前位置。
/TeleportToMe {SteamID} 目标玩家传送到您当前的位置
/ShowPlayers 显示所有已连接玩家的信息。
/Info 显示服务器信息。
/Save 保存世界数据。