云计算百科
云计算领域专业知识百科平台

公网服务器转发本地tlbb游戏服务

目录

一、介绍以及准备工作

1、本篇教程前提

2、我的搭建的游戏服务情况,配置参数供对照使用

3、需要准备的软件

二、进行frp公网转发,教程正式开始

1、在公网服务器上部署frps(frp的服务端)

(1)将frp程序复制至公网服务器并解压

(2)设置frps配置文件

(3)创建frps的Systemd服务文件,并设置开机自启动。

(4)验证frp服务端是否启动成功

2、在W机上部署frpc(frp客户端)

(1)解压frp_0.61.1_windows_amd64.zip

(2)设置frpc配置文件

(3)创建启动frpc的cmd命令文件

(4)检验frpc服务是否转发成功

3、在L机上部署frpc

4、生成tlbb公网登陆器

三、拓展


一、介绍以及准备工作

在本地架设游戏服务器后,使用一台公网服务器提供frp服务,将本地的游戏服务端口通过公网服务器转发到公网,以此实现和好朋友异地一起联机玩耍!

该方法的优点是公网服务器只做一件事情,就是部署frp服务端,提供流量转发服务,因此不需要很高的配置,大大节省购买公网服务器的开支!

本篇教程以tllb游戏服务器为例。

1、本篇教程前提

确保你已经在本地成功搭建了双机(Linux机和Windows机)游戏服务且在本地内网可以正常进入游戏。

2、我的搭建的游戏服务情况,配置参数供对照使用

一台本地的Linux主机,我使用的是Cent OS7系统,内网ip:192.168.100.200

一台本地的Windows主机,我使用的是Windows Server 2012 R2系统,内网ip:192.168.100.51

一台公网服务器,系统是Cent OS7,假设公网ip:123.456.789

本地的Linux主机(以下简称L机)中的游戏配套数据库端口为3306,…/tlbb/Server/Config/ServerInfo.ini配置文件中[Billing]Port0=12680(验证端口),[Server0]Port0=6577(游戏端口),[Server1]Port0=6588(登录端口)

本地Windows主机(以下简称W机)上的游戏综合网关设置中,登录端口为18887,游戏端口为28887,注册端口为38887,billing端口为12680,登录器主列表的http网页服务端口为默认的80

3、需要准备的软件

frp的windows端的软件包,我这里文件名称为frp_0.61.1_windows_amd64.zip

frp的Linux端的软件包,我这里文件名称为frp_0.61.1_linux_amd64.tar.gz

二、进行frp公网转发,教程正式开始

1、在公网服务器上部署frps(frp的服务端)

(1)将frp程序复制至公网服务器并解压

我的公网服务器是Cent OS 7的系统,使用FinalShell连接公网服务器,将frp程序复制到公网服务器/home目录下。

解压软件包

cd /home
tar zxvf frp_0.61.1_linux_amd64.tar.gz

(2)设置frps配置文件

cd /home/frp_0.61.1_linux_amd64
vi /home/frp_0.61.1_linux_amd64/frps.toml

按i进入编辑模式,将以下你编辑好的文本复制到其中。

# 不用修改。绑定地址,0.0.0.0 表示监听所有网络接口
bindAddr = "0.0.0.0"
# 需要修改,填写任意你的服务器没有占用的端口。绑定端口,frps 服务端监听的端口
bindPort = 6000

# 需要修改,填写任意你的服务器没有占用的端口。HTTP 虚拟主机端口,用于 HTTP 类型的代理
vhostHTTPPort = 40800
# 需要修改,填写任意你的服务器没有占用的端口。HTTPS 虚拟主机端口,用于 HTTPS 类型的代理
vhostHTTPSPort = 40443

# 不用修改。认证方式,这里使用 token 认证
auth.method = "token"
# 需要修改,自行输入一串数字字母。认证 token,客户端需要提供相同的 token 才能连接
auth.token = "5aBcD7eFgH1iJkLmN2oPqR3sTuVwXyZ4"

# Web 管理界面绑定的地址,0.0.0.0 表示监听所有网络接口
webServer.addr = "0.0.0.0"
# 不用修改。Web 管理界面监听的端口
webServer.port = 6001
# 需要修改,根据喜好修改。Web 管理界面的登录用户名
webServer.user = "admin"
# 需要修改,根据喜好修改。Web 管理界面的登录密码
webServer.password = "admin"

复制进去后,按键盘上的Esc按键,然后按键盘上的以下按键保存并退出:

:wq

(3)创建frps的Systemd服务文件,并设置开机自启动。

创建 Systemd 服务文件:

sudo vi /etc/systemd/system/frps.service

按i进入编辑模式,输入以下内容:

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
ExecStart=/home/frp_0.61.1_linux_amd64/frps -c /home/frp_0.61.1_linux_amd64/frps.toml
Restart=on-failure
StandardOutput=append:/home/frp_0.61.1_linux_amd64/frps.log
StandardError=append:/home/frp_0.61.1_linux_amd64/frps-error.log

[Install]
WantedBy=multi-user.target

按键盘上的Esc按键,然后输入:wq退出

设置日志文件权限

touch /home/frp_0.61.1_linux_amd64/frps.log /home/frp_0.61.1_linux_amd64/frps-error.log
chmod 644 /home/frp_0.61.1_linux_amd64/frps.log /home/frp_0.61.1_linux_amd64/frps-error.log

重新加载 Systemd 配置:

sudo systemctl daemon-reload

启动frps服务:

sudo systemctl start frps

设置开机自启动:

sudo systemctl enable frps

查看服务状态:

sudo systemctl status frps

设置公网服务器防火墙,允许6000、6001端口通过。

(4)验证frp服务端是否启动成功

打开浏览器,输入“http://123.456.789:6001”,如果出现输入账号密码的对话框,则说明frp服务端启动成功。

2、在W机上部署frpc(frp客户端)

(1)解压frp_0.61.1_windows_amd64.zip

我的路径是C:\\Users\\Administrator\\Desktop\\frp_0.61.1_windows_amd64

(2)设置frpc配置文件

W机需要转发的端口有登录端口、游戏端口、注册端口、billing端口以及生成登陆器软件填写的主列表网址中http协议默认的80端口。

如你需要使用云列表服务,也请转发云列表端口。

用文本编辑器打开C:\\Users\\Administrator\\Desktop\\frp_0.61.1_windows_amd64\\frpc.toml文件,输入以下内容并保存,以下内容表示将本地的18887、28887、38887、12680、80端口分别转发至公网服务器的18887、28887、38887、12680、8880端口

[common]
# 服务端地址,填写 frps 服务器的 IP 地址或域名
server_addr = "123.456.789"
# 服务端端口,填写 frps 服务器监听的端口
server_port = 6000
# 认证 token,客户端和服务端需要配置相同的 token 才能连接
token = "5aBcD7eFgH1iJkLmN2oPqR3sTuVwXyZ4"

[port_login]
# 代理类型,这里是 TCP 类型
type = "tcp"
# 本地服务的 IP 地址,通常为 127.0.0.1
local_ip = "127.0.0.1"
# 本地服务的端口,即需要代理的本地服务端口
local_port = 18887
# 远程端口,客户端通过该端口访问服务端映射的服务
remote_port = 18887

[port_server]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 28887
remote_port = 28887

[port_Sign_up]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 38887
remote_port = 38887

[port_billing]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 12680
remote_port = 12680

[port_web]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 80
remote_port = 8880

(3)创建启动frpc的cmd命令文件

桌面新建txt文件,打开输入以下内容并保存,将.txt修改为.cmd

@echo off
cd /d "C:\\Users\\Administrator\\Desktop\\frp_0.61.1_windows_amd64"
cmd /k frpc.exe -c frpc.toml

设置公网服务器防火墙,允许18887、28887、38887、12680、8880端口通过。

双击运行上面的创建的.cmd文件,出现cmd窗口,表示frpc正在运行。

该cmd窗口不要关闭。如果需要停止frpc服务,关闭cmd窗口即可。

(4)检验frpc服务是否转发成功

打开浏览器访问“http://123.456.789:6001”,输入账号密码,在网页查看刚才设置的18887、28887、38887、12680、8880端口是否转发成功。

3、在L机上部署frpc

如果要在远端使用GM工具,则还需要在L机上部署frp客户端,将本地的数据库端口3306转发至公网任意未被占用的端口,我设置的公网端口也是3306,配置方法和在公网服务器上配置frp的方法一致,只是将所有操作过程中的frps字样替换成frpc字样即可。frpc.toml配置文件内容如下:

[common]
server_addr = "123.456.789"
server_port = 6000
token = "5aBcD7eFgH1iJkLmN2oPqR3sTuVwXyZ4"

[port_mysql]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 3306
remote_port = 3306

设置公网服务器防火墙,允许3306端口通过。

4、生成tlbb公网登陆器

打开登陆器生成软件,将所有的ip地址填写成公网ip:123.456.789,对应端口填写成转发到公网的端口生成登陆器,即可随时随地游玩游戏啦!!!

三、拓展

一台电脑的端口范围为0-65535之多。因此,无论在本地部署多少个游戏服务或者其他服务,本地服务不同主机的服务端口可以相同,但是只要是使用同一台公网服务器转发到公网上的公网端口(即frpc.toml文件中的remote_port = xxx配置项)不同,都可以通过这一台公网服务器的frp服务将其转发至公网。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 公网服务器转发本地tlbb游戏服务
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!