本帖最后由 南 于 2019-10-1 15:55 编辑




原文作者:Hypixel Studios
译文贡献者:Ark2000(Hytale翻译组)
原文链接:Hytalebbs
文章搬运自HytaleBBS,作者Ark2000,转载需注明原文链接、译者名称和平台名称(HytaleBBS)
在这篇文章中,我们将介绍支撑Hytale服务器所使用的技术——它们如何工作以及如何与它们交互。
为了做到这一点,我们需要使用一些专业术语,但我们希望您会对我们正在做的工作感到兴奋,我们将努力使Hytale服务器安全、快速、易于访问。
编程语言和性能
自从去年12月Hytale引擎和服务器技术公布以来,我们遇到了很多关于它的问题——有如此多的人对运行自己的Hytale服务器感兴趣,这真是太棒了!下面是最常见问题的答案:Hytale的客户端是用c#编写的,服务器运行在Java上。我们将在以后的文章中介绍游戏内脚本,因为这是一个单独的主题。
我们选择使用Java作为Hytale服务器的原因有很多。首先,我们的后端团队非常擅长编写高性能Java,这使我们能够对服务器代码进行大量优化。此外,我们知道我们的社区也有很多使用Java的经验——对我们来说,令服务器管理员尽可能容易地启动和运行Java非常重要。客户端使用c#带来了额外的性能优势,我们对目前看到的结果非常满意。
服务器共享源代码
Hytale的服务器技术将提供共享源代码,这意味着每个人都可以阅读服务器代码。然而,游戏客户端是闭源的,以便为服务器操作员和玩家提供一个公共基线。这使我们能够提供安全可靠的体验,防止作弊,并为mod开发者和内容创建者提供一个共享的基础。
因为Hytale从底层设计开始原生支持mod,所以服务器管理员将能够创建和定制游戏的每个方面——从环境和游戏机制到UI本身的各个部分。我们希望我们的玩家能够在我们所做的基础上发展,但我们也不希望社区为我们做这些工作。
实际上,这个共享源系统意味着服务器可以运行修改后的游戏版本,该版本基于每个玩家都通用的客户端。每台服务器都代表着它的创造者对于游戏的愿景——因为服务器运营商拥有一个一致的平台,所以玩家可以在不同的体验之间进行直接的切换。当您连接到Hytale服务器时,客户端将自动下载所需的所有内容——模型、动画、声音和其他所有资源。

一个例子,玩家连接到服务器时,自动下载实时资源
服务器浏览器
眼尖的读者可能已经注意到在Hytale的主菜单顶部有一个名为“servers”的导航标签。Hytale的服务器浏览器可以让玩家快速找到社区服务器。
我们将允许您根据您想玩的游戏类型(冒险模式或迷你游戏、合作模式或对抗模式)以及其他因素(如支持的语言)进行排序和筛选。标签系统将允许服务器在传统的服务器列表特性(如横幅和图形)旁边指定它们提供的内容类型。例如,用户可以喜欢他们喜欢的服务器,并且您将能够根据每个服务器收到的收藏的总数对服务器列表进行排序,以便快速找到最流行的服务器游玩。

服务器浏览器概念图
Hytale服务器浏览器将有所限制,所有服务器管理员——从大型迷你游戏网络到小型社区服务器——都必须遵守轻量级的服务条款。为了让玩家加入一个服务器,出现在Hytale的服务器浏览器中并不是必须的,但我们希望这将是许多玩家寻找服务器的方式。
和朋友一起玩
此外,我们已经将技术应用到Hytale中,使得一起玩游戏尽可能的简单。朋友列表允许你跳到你的朋友正在玩的服务器上,也允许你连接到他们的冒险世界。为了确保这是一个平滑的过程,我们使用通用即插即用协议在可能的情况下自动处理端口转发——如果端口转发不可用,那么我们尝试NAT穿孔。这实际上意味着,你可以通过你的好友列表加入你朋友的世界,只要你们都连接到互联网,而不需要设置端口转发——不管你的路由器的设置如何。让它很容易与你的朋友一起玩没有障碍是非常重要的。
一个有待建设的平台
在过去六年多的时间里,我们为数百万玩家运行游戏服务器,并将学到的所有知识都投入到Hytale的服务器技术中。我们的目标是最终实现所有这些年来我们遇到的困难的解决方案——预测玩家和服务器管理者可能面临的问题,并为他们找到答案。我们期待着与社区的紧密合作,我们将伸出援手以确保我们考虑到您的需求和想法。
看起来好有趣啊,应该很好玩吧