프로젝트 소개

Hyperion은 Bevy ECS와 flecs를 사용하여 Rust로 구축된 Minecraft 게임 엔진으로, PvP 기네스 세계 기록을 깨는 것을 목표로 대규모 커스텀 이벤트를 겨냥합니다. 수직 멀티스레딩과 수평 프록시 확장을 통해 단일 월드에서 10,000명 이상의 플레이어를 지원합니다. **주요 기능:** - Bevy와 flecs를 사용한 멀티스레드 ECS 아키텍처 - 지역 멀티캐스팅을 통한 수평 확장용 프록시 계층 - Tracy 프로파일러를 사용한 성능 추적 - 기본 안티치트 및 모더레이터 도구 (작업 중) - 확장성을 위한 플러그인 API (예: bedwars 이벤트) - 핵심 메커니즘: 물리 기반 블록 파괴/설치, 엔티티 충돌, 동적 조명, 월드 경계, 블록 편집 API, PvP 전투, 인벤토리 시스템, 레이캐스팅 - 플레이어 경험: 파티클 효과, 채팅 시스템 (전체 및 근접), 커스텀 명령어, Simple Voice Chat을 통한 근접 음성 - Velocity 프록시를 통한 Minecraft 1.20.1 지원 **벤치마크:** - 플레이어 1명: 0.24ms 틱 시간, 코어 사용률 4.3% - 플레이어 1000명: 0.40ms 틱 시간, 코어 사용률 15.3% - 플레이어 5000명: 1.42ms 틱 시간, 코어 사용률 35.6% **아키텍처:** - 게임 서버는 Tokio 비동기 I/O로 모든 게임 로직을 실행 - 프록시 계층은 플레이어 연결과 지역 멀티캐스팅을 처리 - Velocity + ViaVersion을 통한 인증 - 게임 서버와 프록시 간 mTLS 암호화 연결 **실행:** - Nix 필요; 게임 서버는 `nix run github:hyperion-mc/hyperion#bedwars`, 프록시는 `nix run github:hyperion-mc/hyperion#hyperion-proxy` 실행 - 개발 명령어에는 인증서 생성, 봇, CI, 린트, 테스트, e2e 테스트 포함 **개발:** - 모든 명령어는 flake 앱이며 Nix만 필요 - CI 게이트, 린팅, 테스트, 문서화, 엔드투엔드 테스트 포함 - 모듈식 설계로 커스텀 메커니즘과 이벤트 구현 가능 **예상 최대 플레이어 수:** 약 176,056명