百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
H

hyperion

> 数据库
开源

适用于大型定制活动的 Minecraft 游戏引擎

1.1K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

适用于大型定制活动的 Minecraft 游戏引擎

Hyperion

Hyperion is a Minecraft game engine that can have 10,000+ players in one world. Our pilot event hopes to break the PvP Guinness World Record of (8825 by EVE Online). The architecture is ECS-driven using flecs via Flecs-Rust.

https://github.com/user-attachments/assets/64a4a8c7-f375-4821-a1c7-0efc69c1ae0b

Feature Status

Feature Status Notes
Technical Infrastructure
Multi-threading ✅ Implemented Vertical scaling
Proxy Layer ✅ Implemented Horizontal scaling
Performance Tracing ✅ Implemented Using Tracy profiler
️ Basic Anti-Cheat ✅ Implemented Core anti-cheat functionality
Moderator Tools WIP #425, @Kumpelinus Admin controls and monitoring
Plugin API ✅ Implemented Extensible plugin system; see events/bedwars
Core Game Mechanics
Block Breaking/Placing ✅ Implemented Including physics simulation
Entity Collisions ✅ Implemented Both entity-entity and block-entity
Lighting Engine ✅ Implemented Dynamic lighting updates
World Borders ✅ Implemented Configurable boundaries
️ Block Edit API ✅ Implemented WorldEdit-like functionality
⚔️ PvP Combat ✅ Implemented Custom combat mechanics
Inventory System ✅ Implemented Full item management
Raycasting ✅ Implemented Required for ranged combat/arrows
Player Experience
✨ Particle Effects ✅ Implemented Full particle support
Chat System ✅ Implemented Global and proximity chat
⌨️ Commands ✅ Implemented Custom command framework
Proximity Voice ✅ Implemented Using Simple Voice Chat

Benchmarks

Players Tick Time (ms) Core Usage (%) Total CPU Utilization (%)
1 0.24 4.3 0.31
10 0.30 10.3 0.74
100 0.46 10.7 0.76
1000 0.40 15.3 1.09
5000 1.42 35.6 2.54

Test Environment:

  • Machine: 2023 MacBook Pro Max 16" (14-cores)
  • Chunk Render Distance: 32 (4225 total)
  • Commit hash faac9117 run with HYPERION_PROFILE=release-full nix run .#bedwars
  • Bot Launch Command: nix run .#bots -- 127.0.0.1:25565 {number}

The bulk of player-specific processing occurs in our proxy layer, which handles tasks like regional multicasting and can be horizontally scaled to maintain performance as player count grows.

Architecture

Overview

…

Proxy

…

Running

Network topology

Hyperion uses one game server which runs all game-related code (e.g. physics, game events). One or more proxies can connect to the game server. Players connect to one of the proxies.

For development and testing purposes, it is okay to run one game server and one proxy on the same server. When generating keys, you will need to change the key and certificate file names used below to avoid file name conflicts.

On a production environment, the game server and each proxy should run on separate servers for performance.

Generating keys and certificates

The connection between the game server and the proxies are encrypted through mTLS to ensure that the connection is secure and authenticate the proxies.

[!WARNING] All private keys must be stored securely, and it is strongly recommended to generate the private keys on the server that will use them instead of transferring them over the Internet. Malicious proxies that have access to a private key can circumvent player authentication and can cause the game server to exhibit undefined behavior which can potentially lead to arbitrary code execution on the game server. If any private key has been compromised, redo this section to create new keys.

Create a private certificate authority (CA)

A server should be picked to store the certificate authority keys and will be referred to as the cetificate authority server. Since the game server and all proxies are considered to be trusted, any of these servers may be used for this purpose.

On the certificate authority server, generate a key and certificate by running:

openssl req -new -nodes -newkey rsa:4096 -keyout root_ca.pem -x509 -out root_ca.crt -days 365

OpenSSL will ask for information when running the command. All fields can be left empty.

The -days field specifies when the certificate will expire. It will expire in 365 days in the above command, but this can be modified as needed.

root_ca.crt is the root CA cert and should be copied to the game server and all proxy servers. When running the game server or the proxy, make sure to pass --root-ca-cert root_ca.crt as a command line flag.

Generate server keys and certificates

Follow these instructions for the game server and each proxy server. The server will be referred to as the target server.

On the target server, run:

openssl req -nodes -newkey rsa:4096 -keyout server_private_key.pem -out server.csr

OpenSSL will ask for information when running the command. All fields can be left empty.

Afterwards, transfer server.csr to the certificate authority server. On the certificate authority server, run:

openssl x509 -req -in server.csr -CA root_ca.crt -CAkey root_ca.pem -CAcreateserial -out server.crt -days 365 -sha256 -extfile ` | Connect bots to a running server |
| `nix run .#ci` | The cargo ha

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rustecsflecsgame-serverhigh-performance

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类数据库
定价开源

> 相关工具

P
PostgreSQL
功能强大的开源关系型数据库
R
Redis
内存数据结构存储,常用作缓存与队列
M
MySQL
广泛使用的开源关系型数据库