资讯 了解一下Hytale的服务器机制和联机技术

原文作者
Hipixel Studios
原文链接
https://hytale.com/news/2019/1/an-overview-of-hytales-server-technology
译文作者
Hytale翻译组(晨子abc)
版权信息
版权所有,转载请注明出处

晨子abc

探险者
帖子
16
经验
6
勋章
1
钻石
274
  • 先锋


这篇文章里我们会讲讲关于Hytale服务器的基础技术,包括它们是怎么运行的还有你该怎么操作它们,以及我们是如何让Hytale的服务器高效运行,顺畅且安全的登录。

语言和性能

在Hytale公布出来后,我们收到了一些关于游戏引擎和服务器技术的提问,我们很高兴有那么多玩家对此感兴趣并愿意运营自己的服务器,这里的答案是:Hytale客户端是由C#编写的而服务端则是Java,我们在未来还会讲讲游戏脚本以及相关话题。

我们选择Java作为服务端语言有很多理由,比如,我们的后端团队非常擅长编写高性能的Java程序,并且能够高度优化我们的服务端代码。而且我们知道社区中有很多玩家也都擅长使用Java,因此让大家尽可能轻松的运营服务器是很重要的。而使用C#作为客户端能提供额外的性能优势,我们对目前的测试结果很满意。

服务端开源

我们将会提供Hytale服务端的源码给大家,这意味着所有人都能看到并修改服务端代码。而客户端将会闭源,这是为了给玩家和服务器运营者们提供同样的基准,并且能让我们提供更高的安全性,可靠的反作弊系统,以及让MOD作者和内容创作者们能基于同样的客户端来创作。

因为Hytale开发组也是从制作MOD成长过来的,所以我们将为服务器运营者们提供足够的自由度去自定义游戏的各个方面 - 从环境到游戏机制再到交互界面本身。我们希望玩家们能在我们的基础上创作更多内容,但并不希望玩家社区替我们把工作都给做了。

实际上,由于我们的开源系统,玩家们同样的客户端却可以在各个服务器体验到不同的内容,每个服务器都可以呈现出创作者们自己的想法。由于服务器都是基于相同的平台来搭建,玩家们可以在不同的游戏体验之间非常轻松的切换。当你连接上一个Hytale服务器,客户端会自动下载所有需要的内容,模型,动画,音效以及其他资源。



上图展示了当玩家连接上服务器时是如何自动下载所需资源的。

服务器浏览器

有些细心的玩家们在看到我们那篇关于游戏的交互界面文章时就看到了菜单中有个叫“服务器”的按钮,Hytale的服务器浏览器可以让玩家们快速查看所有能玩的社区服务器。

你可以根据服务器的类型来过滤和排序,比如冒险模式或小游戏模式,合作模式或竞技模式,以及语言设定。服务器将拥有标签系统:可以在服务器列表中展示图片内容和游戏类型。每个玩家都可以把喜欢的服务器添加收藏,而且玩家们可以按照服务器的收藏人数进行排序,来找到时下最火的服务器。



服务器信息以及列表的概念图

Hytale的服务器浏览器会被官方监管,并且所有的服务器运营者 - 大到集群服务器,小到社区服务器,都需要遵守一些管理规则。服务器并不是一定要展示在浏览器内才能让玩家进入,但我们希望大部分的玩家能通过这个途径来寻找服务器。

和小伙伴们一起玩耍

此外,我们希望玩家们能尽量轻松的进行联机游戏,好友列表功能可以让大家直接进入某个好友正在玩的服务器,也可以让你直接加入某个好友的冒险模式世界。为了让这个过程变得顺畅,我们尽可能使用UPnP协议来自动处理端口转发,然后进行NAT穿透。这意味着在实际过程中,只要你们双方能联网,你就可以通过好友列表直接加入好友的世界而不用手动去配置端口转发 - 不论你好友的路由配置如何。让大家尽可能简单且无障碍的一起玩耍是我们的重要目标。

一个良好的平台基础

我们将这六年来为百万玩家运营游戏服务器所积攒的技术经验投入到Hytale中,并且我们的目标是解决这些年来遇到的所有困难,预测玩家和服务器运营者可能会面临的困难并帮助他们解决问题。我们期望与社区玩家们共同发展,尽力考虑大家的要求和想法。
 
Top