8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

深海迷航_1代联机mod_内网穿透frp 图章 图章 一代MOD

蟹鱿 yang37 10月前 4587

0.背景

此文,供有一定计算机知识的朋友参考,讲解如何通过frp穿透本机的mod服务。

frp官网:https://gofrp.org/zh-cn/

frp是一个内网穿透工具,可以将我们内网的服务代理到公网上。

我们使用mod启动服务器后,由于是内网环境,如果没有公网ip,朋友们是访问不到的。

所以,frp能干嘛?

深海迷航联机MOD主页文章中,讲了可以使用虚拟局域网的方式来联机。

我是按文章中的方法使用的蒲公英,但是实际体验中,感觉延迟比较高。

image-20240103234930855

看了下文章,有介绍一个思路,可以通过内网穿透代理本地udp协议的11000端口,启动服务器后也有这条提示。

image-20240103235403444

本文,介绍如何通过内网穿透工具FRP来将我们的本地服务器穿透到公网。

有服务器的同学,可以让朋友通过服务器的公网ip访问联机mod。

原理,大概就是下面这样,朋友们可以通过公网服务器连接到我们的本地的mod服务来,实现一起游戏。

image-20240104000241321

此种方式下,无需再使用蒲公英等虚拟组网工具。

 

1.要求

  • 公网服务器

  • frp软件

 

2.frp配置

2.1 服务端

我的环境: CentOS Linux release 8.5.2111

frp版本如下:

image-20240104003050137

2.1.1 下载

在github的frp-releases下载相应的文件,linux服务器的话一般选AMD64

或者,使用命令来确定服务器的架构。

uname -m

# x86_64: amd64
# aarch64: arm64

比如此处我下载的是amd64版本的包。

image-20240104000828029

点击后即可开始下载,然后上传到服务器的任意位置。

 

2.1.2 解压

上传到服务器后,执行解压命令。

tar -xzvf frp_0.53.2_linux_amd64.tar.gz

# tar 是用于解压和打包文件的命令。
# -x 表示解压文件。
# -z 表示使用 gzip 压缩。
# -v 表示显示详细信息。
# -f 后面是你要解压的文件名。

# 解压到指定路径
# -C 后面是你希望解压文件到的目标路径,将 /path/to/destination 替换为你的实际目标路径.
tar -xzvf frp_0.53.2_linux_amd64.tar.gz -C /path/to/destination

解压后,大概是下面的样子。

image-20240104001307407

作为穿透的服务端,我们只用关心frpsfrps.ini两个文件即可。

 

2.1.3 注册系统服务

使用systemd管理frp服务

A.安装
# 安装systemd
yum install systemd
B.编辑systemd配置
vim /etc/systemd/system/frps.service
C.写入配置值

修改我注释的2处即可

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径 -c后是服务端配置文件的路径
ExecStart = /yang/software/frp/frp_0.44.0_linux_amd64/frps -c /yang/software/frp/frp_0.44.0_linux_amd64/frps.ini

[Install]
WantedBy = multi-user.target
D.保存

运维命令

# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps

2.1.4 编辑配置

vim frps.ini

写入服务端的配置

[common]
# 服务端口
bind_port = 7000
# token 服务端和客户端需要保持一致
token = 可以写随机字符,等会配置客户端配置成一样的即可
# http类型监听端口
vhost_http_port = 7100

# log
log_file = /yang/logs/frp/frp.log

# dashboard
dashboard_port = 7500
dashboard_user = 配置你的管理台账号
dashboard_pwd = 配置你的密码台密码
max_pool_count = 5

2.1.5 启动

保存后,就可以通过启动命令启动frp的服务端了。

systemctl start frps

可以查看日志的启动信息

image-20240104003854748

 

 

2.2 客户端

我的环境: Microsoft Windows 11 专业版

frp版本如下:

image-20240104003117440

2.2.1 下载

同服务端一样,下载对应的版本即可。

image-20240104002335181

2.2.2 解压

.zip文件,解压不多说了。

作为穿透的客户端,我们只用关心frpc、frpc.ini`两个文件即可。

image-20240104002426413

2.2.3 编辑配置

客户端的配置文件,我用了include语法,实际上放在了config目录中。

所以,frpc.ini的文件是这样的。

# ==========服务端信息 ==========
[common]
server_addr = frp服务器的server端ip,即你的服务器ip
server_port = 7000
token = 上文你配置的token
includes = ".\\config\\*.ini"

config中我存放了具体的配置文件。

image-20240104002720501

shenhai.ini配置如下。

# 深海迷航
[ShenHaiMiHang]
name = "ShenHaiMiHang"
type = "udp"
local_ip = "127.0.0.1"
local_port = 11000
remote_port = 11000

2.2.4 启动

image-20240104002856185

image-20240104003015062

3.网络配置

注意上方我们服务器使用了如下端口

  • 7000:frp服务端的端口

  • 7500:frp控制台界面的web端口

  • 11000:深海迷航的穿透到服务器上的端口

记得给上面的端口加白,不同的服务器厂商操作方式不一样,需要自己搜索下怎么操作。

你也可以查看frp当前监听了哪些端口,然后加白这些端口。

注意我们的mod服务器是udp协议

 netstat -tunlp|grep frp

image-20240104003302142

 

4.使用

完成上方配置后,在多人游戏的这个界面,就可以通过服务器ip:端口访问了

image-20240104003605916

之前frp服务器端配置过后管还记得嘛,端口是7500,这里也可以查看到连接信息。

image-20240104004021023

5.其他

碰到问题,可以查看frp的官网文档。

里面的各项配置,各个版本还是有差异的,我也被坑过,可以结合搜索工具确定下实际的配置方式。

或者结合我的版本来操作。

平时工作比较忙,这个网站来的少,有问题可以给我发邮件交流:[email protected]

这家伙太懒了,什么也没留下。
最新回复 (6)
  • 大眼仔 rjxgame
    0 7
    1
    4天前 回复
  • 大眼仔 1254088
    0 6
    1
    3月前 回复
  • 大眼仔 vicol
    0 5
    有木有支持mac联机的?
    3月前 回复
  • 大眼仔 laiyuyuu
    0 4
    1
    3月前 回复
  • 0 3
    游戏服务器本体只能运行在win10吗 可以运行在比如debian之类的os上吗
    4月前 回复
  • 大眼仔 18382596953
    0 2
    11
    8月前 回复
    • 碧蓝之星_深海迷航社区
      8
        点击登录 点击注册
返回