你可以帮助我们扩充关于该主题的更多信息。
以下的教程会帮助你使用ngrok搭建一个几个人玩的临时或小型服务器。
绪论[]
ngrok是一个隧道连接的工具。它可以使得建立一个临时的小型服务器变得更加简单。
ngrok通常用来搭建测试的服务器,但用来进行多人Minecraft联机也是可以的。ngrok类似于一个反向代理,基本的原理是:四个“端”:ngrok客户端、ngrok服务端、Minecraft服务端、Minecraft客户端。Minecraft服务端通过ngrok客户端建立一个到ngrok服务端的隧道连接。这样当ngrok服务端接收到来自Minecraft客户端的连接时能通过隧道连接到Minecraft服务端。
选择服务器[]
由于ngrok官方服务器在中国大陆地区无法正常访问,所以需要寻找大陆地区可以使用的第三方服务器。请善用搜索引擎,目前比较稳定的有phpor服务器(可能不稳定)等等。
配置ngrok[]
由于第三方ngrok服务器通常采用自签名证书的方式,所以你可能需要下载服务器提供的ngrok客户端,而不是官方服务端。下载可执行文件后,应该创建一个配置文件,具体内容取决于你选择的服务器。通常情况下它的格式为:
server_addr: "<服务器>"
trust_host_root_certs: false
当然,一般服务器会给出推荐配置文件,直接套用即可。
启动服务器[]
和一般ngrok服务器给出的命令中所述不同,我们需要使用tcp协议,而不是http。首先打开你的Minecraft服务端,比如官方minecraft_server_1.x.jar,或Bukkit、Spigot、Cauldron等等,并按照常规方法配置server.properties、地图等等,或使用Minecraft客户端打开局域网联机。
然后,你需要准备一个ngrok启动脚本。这只是推荐的方法,你也可以从命令提示符或终端输入命令来启动ngrok。
在Windows下,你需要新建一个cmd或bat文件,放入ngrok可执行文件相同位置下,键入:
@echo off
XXXXXX -config=YYYYYY -proto=tcp ZZZZZ
XXXXXX为你的ngrok可执行文件名。通常为ngrok.exe,或你下载的可执行文件名称。
YYYYYY为你的配置文件名称。
ZZZZZ为你的Minecraft服务器端口号(局域网联机的时候为左下角提示的端口号)。
一个示例:
@echo off
ngrok.exe -config=ngrok.cfg -proto=tcp 25565
在Linux/Mac/Unix下,你需要建立一个sh文件,放入ngrok可执行文件相同位置下,键入:
!/bin/bash
./XXXXXX -config=YYYYYY -proto=tcp ZZZZZ
XXXXXX为你的ngrok可执行文件名。通常为ngrok,或你下载的可执行文件名称。
YYYYYY为你的配置文件名称。 ZZZZZ为你的Minecraft服务器端口号(局域网联机的时候为左下角提示的端口号)。
一个示例:
@echo off
./ngrok -config=ngrok.cfg -proto=tcp 25565
记着使脚本和可执行文件可以执行(chmod 744 <脚本名称> && chmod 744 <可执行文件名称>)!
最后,执行你的脚本即可启动一个隧道,在ngrok窗口内执行Ctrl+C可以关闭ngrok。
ngrok提供的信息[]
ngrok启动后,会显示一些信息。通常,对我们有用的为Tunnel Status与Forwarding。
Tunnel Status提示了当前隧道的状态。Connecting表示正在连接到ngrok服务端;reconnecting表示正在重新连接到ngrok服务端,如果刚刚打开ngrok,显示connecting后就提示reconnecting,通常就表示服务器无法连接了;online即在线,表示隧道成功建立。
Forwarding提示了当前ngrok工作的代理地址。格式通常为:tcp://AAAAAAAAA -> 127.0.0.1:BBBBB
AAAAAAAAA代表ngrok服务端分配给你的地址,可以将这个地址分享给你的伙伴,使他们可以通过此地址连接到你的服务器,方法与连接普通服务器完全一样。 BBBBB代表了当前的本机端口号。
警告[]
由于国内ngrok服务器由网友搭建,所以请不要滥用它们,不要对服务器造成过大压力,不要让过多玩家进入服务器,服务器的卡顿通常与ngrok服务端过载导致。
自己搭建ngrok服务[]
公众的ngrok服务器可能会因为使用人数过多而过载,造成游戏卡顿。如果你有可以端口映射的主机,或者有云服务器、VPS,可以考虑自己搭建ngrok服务。
关于如何自己搭建服务器可以参阅搭建自己的ngrok服务、搭建ngrok服务实现内网穿透 ,并请善用搜索引擎。
|