实用托管指南(The Pragmatic Hosting Guide)

如果对所有的托管选项感到困惑?欢迎来到我们的实用托管指南。

Mirror 负责您的多人游戏代码。 然而,我们仍然需要讨论托管!

由于提供商和托管技术、Linux 发行版和位置几乎无限,很容易对适合您游戏的最佳选择感到困惑。

本指南将为您提供基本概述。接下来的章节将根据您选择的不同托管方法提供深入指南。

实用托管指南

以下是不同托管技术的简要概述,适用于哪些游戏,以及您可以选择哪些提供商。

1.) 在您自己的计算机上托管

构建游戏后,您可以在自己的计算机上托管游戏,或者让玩家在他们的计算机上托管游戏。然而,这会带来几个主要问题:

  1. 运行时间:您的计算机必须全天候运行。

  2. 安全性:如果有人发现漏洞并访问您的私人数据怎么办?

  3. 性能:您的计算机/带宽/延迟可能不够好。

  4. 延迟:与数据中心中专业托管的服务器不同,玩家之间的连接通常会带来相当大的延迟。

  5. 连接性:其他玩家通常无法在您的路由器、防火墙等后面找到您的游戏,玩家之间的连接总是困难的。

2.) 玩家托管 + 中继 / NAT 穿透

尽管让玩家托管他们自己的游戏可能很有用。您将节省服务器托管成本,并且玩家将根据需要创建他们的服务器。我们只需要解决连接性问题。为此,我们可以结合两种工具:

  • NAT Punchthrough:一种巧妙的技术,通过您的路由器/防火墙“打通一个洞”,以便其他人可以连接到您的游戏。这需要一个中央服务器供玩家一次连接。连接到中央服务器后,您的路由器/防火墙很可能会直接允许其他玩家的外部数据包。这种方法大约**70%**的时间有效。

  • 中继:为了避免麻烦,您可以提供自己的(或租用)中继服务器,基本上是在玩家之间转发流量。您的玩家不再直接通信,而是通过一个中央中继进行通信。这种方法可以100%解决路由器和防火墙问题。但是,通常您需要支付带宽费用。

请注意,运行时间、安全性和延迟在这里仍未解决。但是,一个体面的中继可能会降低您的延迟到足够好的程度。

3.) 专用服务器(Dedicated Servers)

这是托管的老派方式,可能是大多数人首先考虑的。

您签订合同租用某个数据中心的物理专用服务器,在其中安装您喜欢的 Linux 发行版,通过终端 SSH 进入服务器,进行配置,然后启动服务器二进制文件并随时间维护它。

专用服务器适用于所有游戏。但并非所有游戏都适合使用专用服务器。

为每个额外的服务器签订和取消合同很麻烦。而且即使不使用,您仍需要支付费用。

这最适合于持久世界:《Minecraft》,《魔兽世界》等大型多人在线角色扮演游戏。

4.) 云托管(Cloud Hosting)

您可能已经听说过亚马逊 AWS、谷歌云、微软 Azure 等。它们提供虚拟服务器,您可以通过几次点击即可启动和删除,而无需手动签订合同和每次取消合同。

# 用法

使用方式通常类似于专用服务器:您配置您的机器,选择您的Linux发行版,上传您的服务器可执行文件并自行维护。

然而,云托管显著更加便捷。您可以通过几次点击在 UI 中租用新服务器并移除旧服务器。在月底,您将收到您所使用资源的账单。

您甚至可以配置您的服务器一次,然后通过几次点击基于相同镜像启动额外的服务器。

云托管同样适用于所有游戏。但是,请记住:

  • 虚拟 CPU 比专用 CPU 慢约20%

  • 定价明显高于专用服务器。

您基本上为额外的便利性付费。新服务器可以通过几次点击设置,并且一旦您不再需要它们,您可以简单地移除它们。无需一直签订合同并等待支持。

如果您重视便利性,那么云托管比专用服务器是一个不错的选择。

5.) 编排

编排旨在自动化基于会话的游戏托管,按需提供。

如果您的游戏突然变得受欢迎,您可能需要同时拥有数百甚至数千台服务器。手动使用专用服务器设置这一点基本上是不可能的,即使使用云托管也仍然需要相当多的麻烦和时间,这些时间可能更好地花在您的游戏本身上。

好消息是:编排是多人游戏托管的未来。简单来说:

  1. 创建一个轻量级的 Docker 镜像:配置一个文本文件(".Dockerfile")与您的Linux发行版、软件包、开放端口等,然后将整个项目编译成一个 "Docker 镜像"。如果您不熟悉 Docker,不用担心。它会让您的生活轻松得多。只需学习一次,您将在之后的所有托管中使用它。不再需要手动设置 Linux 服务器,不再需要 apt-get,不再需要维护等。

  2. 上传您的镜像 到编排服务。

  3. 在 Web UI 中配置您的编排。他们会询问您要生成多少服务器,何时生成更多,何时移除旧服务器等。

这是托管游戏服务器的新、现代方式。Docker(容器化)和Orchestration(编排)听起来一开始可能有点复杂,但如果不会让我们的生活更轻松,我们就不会在这里提到它们。

再次强调,我不想担心托管问题。我只想上传我的服务器镜像,让编排服务负责所有的扩展、维护等工作。便利性至关重要。

更新:Edgegap Unity 插件 🇨🇦(Canada)

好消息,Mirror 现在内置了Edgegap的托管/编排插件!

查看我们的逐步指南以开始使用:edgegap-hosting-plugin-guide.md

最后更新于

这有帮助吗?