雾锁王国 (Enshrouded)本地服务器+frp

1.简介

  1. 使用本地windows10系统+云服务器frp实现雾锁王国 (Enshrouded)联机服务及搭建。
  2. 本地服务器官方推荐配置6核16G

2.Win10安装steamcmd

  • cd C:\steamcmd

  • 下载steamcmd

  • 解压后,双击安装

image-20240127210004452

  • 再次双击运行下载后的steamcmd.exe,验证更新

  • 关闭命令终端

3.下载安装服务器

官方介绍

  • 在当前目录打开cmd
  • 运行命令steamcmd +login anonymous +app_update 2278520 validate +quit
  • **cd C:\steamcmd\steamapps\common\EnshroudedServer **
  • 双击运行enshrouded_server.exe初始化服务器
  • 关闭命令终端,打开当前目录初始化服务器新增文件enshrouded_server.json文件,可修改服务器启动参数
1
2
3
4
5
6
7
8
9
10
{
"name": "Enshrouded Server",
"password": "",
"saveDirectory": "./savegame",
"logDirectory": "./logs",
"ip": "0.0.0.0",
"gamePort": 15636,
"queryPort": 15637,
"slotCount": 16
}
参数名 参数含义
name 服务器名
password 服务器密码
saveDirectory 存档文件保存目录
logDirectory 日志文件保存目录
ip 服务器启动ip,通常默认即可
gamePort 数据传输端口
queryPort 连接端口
slotCount 最大玩家数
  • 修改完成后重新运行程序enshrouded_server.exe

4.连接服务器

  • 如果使用云服务器,可以直接搜索服务器名即可,而本地服务器,或穿透服务器都需要通过ip地址连接
  1. 打开steam左上角 >查看>游戏服务器

image-20240127212039004

  1. 点击收藏,选择Enshrouded,再点击加号。

image-20240127212240299

  1. 输入游戏连接ip:端口也就是queryPort,默认为15637,内网连接就输入内网ip,外网穿透就输入外网穿透frps的ip地址,云服务器搭建就输入云服务器的ip地址。

image-20240127212652204

  1. 点击确定后,点击连接,此时显示的是gameport,输入密码后,点击加入游戏。

image-20240127220834127

  1. 点击之后会直接开始游戏,进入游戏后点击游玩,再点击加入一局在线游戏。
  2. 这时显示在服务器第一个的就是刚刚添加的服务器了,

image-20240127221114130

  1. 这时点击加入,再输入一次密码,即可进入游戏游玩。

5.frp内网穿透(本地服务器外网联机)

5.1.实现条件

  1. 需要一台具有公网ipv4的服务器(最好是国内的服务器这样延迟低,国外的CN2 GIA 之类的高速线路延迟也不低)(官方仅支持ipv4,或者使用6to4,4to6软件)

  2. 带宽要求不高根据人数来确定,通常3M或以上的带宽,没有问题,不用特别去使用按量计费。

5.2.实现代码

5.2.1.frp下载与仓库

frp仓库地址

frp实例

1
2
3
4
5
$ wget http://119.23.186.200:8000/frp_0.52.3_linux_amd64.tar.gz
$ tar -zxvf frp_0.52.3_linux_amd64.tar.gz
$ cd frp_0.52.3_linux_amd64
# vim frps.toml
# vim frpc.toml

5.2.2.实现细节

  • 服务端运行frps$: ./frps -c frps.toml
1
2
3
4
5
6
7
8
9
10
11
# frps.toml
#绑定客户端访问端口
bindPort = 7000

# 授权token
auth.method = "token"
auth.token = "baixiaochun"

# 开启dashboard界面
# webServer.addr = "0.0.0.0"
# webServer.port = 10000
  • 守护进程运行 nohup ./frps -c frps.toml >log.txt 2>&1 &

  • 注意开启防火墙,两个端口都为udp端口

  • 客户端(服务器启动端)运行frpc$: ./frpc -c frpc.toml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frpc.toml
serverAddr = "<云服务器ip>"
serverPort = 7000
auth.method = "token"
auth.token = "baixiaochun"

[[proxies]]
# 连接名称自定义,不能和服务器上的其他连接重复,否则无法连接
name = "EnshroudedgP"
type = "udp"
localIP = "127.0.0.1"
localPort = 15636
# 挂载到服务器的15636,端口上
remotePort = 15636
# gameport的 localPort与remotePort可以为任意自定义端口,但是必须相同。

[[proxies]]
# 连接名称自定义,不能和服务器上的其他连接重复,否则无法连接
name = "EnshroudedqP"
type = "udp"
localIP = "127.0.0.1"
localPort = 15637
# 挂载到服务器的25575端口上
remotePort = 15637

  • 守护进程运行

    nohup ./frpc -c frpc.toml >log.txt 2>&1 &

  • 日志输出到当前文件夹的log.txt中

  • 可用过 ps -ef | grep frp 查看进程号,然后使用 kill -9 <PID> 来删除进程

  • Windows 运行命令为 ./frpc.exe -c frpc.toml

6.定时检测启动

6.1.添加启动批处理nb 文件

  1. 添加游戏启动批处理文件start.bat,设置启动日志重定向
1
C:\steamcmd\steamapps\common\EnshroudedServer\enshrouded_server.exe >C:\Users\Admin\Desktop\gamelog.txt
  1. 添加frp启动批处理文件frp.bat,设置启动日志重定向
1
C:\App\Tools\frp523\frpc.exe -c C:\App\Tools\frp523\frpc.toml >C:\Users\Admin\Desktop\frpclog.txt
  • 以上路径请根据自己的目录进行设置

6.2.添加定时任务

  1. 右键开始菜单,选择计算机管理

image-20240127214442165

  1. 选择系统工具下的任务计划程序库,再点击右侧创建任务

image-20240127214521799

  1. 常规设置,设置如图所示,名称自定义

image-20240127214632412

  1. 点击触发器,新建
  2. 编辑触发器,如图

image-20240127214831720

  1. 点击操作,新建,选择启动程序,点击浏览,选择我们刚刚新家好的start.bat文件。

image-20240127215002691

  1. 条件设置

image-20240127215129546

  1. 所有设置完成后点击确定。
  2. frp定然启动设置与以上相同,只是批处理文件需要改为frp.bat文件,因此不再重复
  3. 任务添加好之后,分别选中这两个定时任务点击右侧运行

image-20240127215506354

  1. 当显示正在运行且桌面出现了我们重定向的日志文件,说明启动成功。
  2. 这时只需要查看日志文件,等待系统正式启动完成。
  3. 当游戏服务器各项参数都显示up时表示服务器启动成功,否则请等待,或者结束任务重新启动服务器。

image-20240127215810546

  1. 这时就可以通过ip:端口连接服务器进行游戏了。