Minecraft 游戏技术
EnderRealm 的游戏技术
从账号、配置和服务器调度,到大厅、小游戏房间与赛果结算,EnderRealm 的 Minecraft 核心后端贯穿整条链路。

一套后端,贯穿整个 Minecraft 服务
它的形态和 Web 项目的后端相近:统一的 API、认证、业务逻辑和数据库。但 Minecraft 平台还要求它管理一组持续运行的服务器,因此它还承担服务治理、实例调度、负载均衡和跨服协作。代理和 Paper 服务端通过 API Key 调用这些能力。
统一数据服务
账号、经济、配置、权限、玩家设置、玩法进度和赛果等结构化数据,都从核心后端获取。
服务器注册与状态
代理、Paper 和其他运行服务都可以注册自身,记录在线状态、心跳、租约、容量和运行信息,为集群提供可见性。
调度与负载均衡
代理从后端获取可用下游服务器和负载信息,同时把自身与下游状态反馈给后端,协同完成跨服路由。
运行时协作
Paper 服务端内的大厅、小游戏房间和共享服务,以及代理,共同通过 API Key 读取后端数据、注册服务并上报状态。
其中,注册、心跳、租约、调度和负载均衡构成控制面职责;世界、实体、战斗和回合内状态由实时游戏运行时执行。
从插件堆砌,到一套自研的分布式架构。
EnderRealm 早期基于传统插件架构运行,玩法靠插件组装,不同版本与我们自己的系统只能勉强拼在一起。随着玩法和玩家的增长,这种架构很快到了极限。
如今,FastAPI 是整个 Minecraft 平台的核心后端。服务器注册、运行状态、账号、权限、配置、经济、玩家设置、玩法数据和赛果等结构化数据,都通过这套后端统一获取和管理。
它还连接着服务器注册、心跳、租约、实例分配与负载均衡,让代理和 Paper 服务端知道服务是否可用、玩家应该被送往哪里,以及一局游戏结束后哪些结果需要可靠保存。
一局小游戏,是怎么跑起来的?
从接入服务器到保存赛果,一局小游戏可以拆成下面四段。核心后端负责数据和协调,Paper 服务端内的大厅与小游戏房间负责低延迟的实时游戏执行。
接入与兼容
处理登录、协议版本与客户端能力,让不同设备先顺利进入服务器。
大厅与调度
代理和大厅读取后端的服务注册、下游列表与负载信息,把玩家送到可用的游戏实例。
小游戏房间
Paper 服务端中的统一房间运行时管理房间生命周期,各个玩法只需实现自己的规则与地图。
结算与记录
运行时提交赛果,核心后端更新账号、经济和记录,用于复盘、申诉和问题排查。
账号、权限、经济与多语言等,由所有小游戏共用;测试、发布、监控与诊断贯穿整条链路。
不同客户端,也要玩到同一局游戏。
EnderRealm 同时服务 Java 版与基岩版玩家。除了协议,界面、资源、移动与表现,也要逐项适配。BungeeCord + Geyser 作为代理侧的跨平台接入链路,Floodgate 再配合代理与下游 Paper 运行时,让 Java 与基岩版玩家能够进入同一套服务端。
无论从哪一种客户端进入,胜负规则都一样:实时规则由游戏运行时统一判断,货币、设置和赛果等长期数据由核心后端统一保存。
