教程/使用ngrok搭建服务器

来自Minecraft Wiki
跳转至: 导航搜索
Dark Oak Sapling JE2 BE2.png
该页面仍需完善。

你可以帮助我们扩充关于该主题的更多信息。

Cleanup.svg
该文章需要整理以符合样式标准讨论

请帮助优化文章样式来让它符合样式要求。

以下的教程会帮助你使用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服务器无关。

自己搭建ngrok服务[编辑 | 编辑源代码]

公众的ngrok服务器可能会因为使用人数过多而过载,造成游戏卡顿。如果你有可以端口映射的主机,或者有云服务器、VPS,可以考虑自己搭建ngrok服务。

关于如何自己搭建服务器可以参阅搭建自己的ngrok服务搭建ngrok服务实现内网穿透 ,并请善用搜索引擎。