目录
一、介绍以及准备工作
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服务将其转发至公网。
评论前必须登录!
注册