본문으로 건너뛰기
버전: v1.4.2

Plexus 모드 로더 — 프로젝트 개요 및 로드맵

Plexus Mod Loader는 마인크래프트 Java Edition (최신 26.1, 26.1.1, 26.1.2, 26.2, 26.3, Java 25)을 위한 차세대 인게임 바이트코드 변환 엔진이자 멀티로더 통합 플랫폼입니다.


1. 프로젝트 개요​

외부에서 프로필을 분리 실행하는 일반 런처(Prism Launcher, CurseForge 등)와 달리, Plexus는 게임 프로세스 내부에서 동작하는 모드로더 엔진입니다:

  • Fabric, Quilt, Forge, NeoForge 모드를 실행하고, Fabric·Quilt 모드를 Forge 모드나 NeoForge 모드와 한 게임에서 함께 실행할 수 있습니다. Forge 모드와 NeoForge 모드는 아직 한 게임에서 함께 실행하지 않습니다. Minecraft 26.3에서도 1.2.5부터 로더를 섞어 쓸 수 있습니다(아래 표).
  • 서로 다른 모드로더 간의 Mixin 패치 불일치를 시작 전에 바이트코드로 확인하고, 옮길 수 있는 주입은 옮기며, 맞지 않는 모드는 이유와 함께 뺍니다.
  • 플랫폼에 종속되지 않는 고유의 Native API와 선언적 바이트코드 변환기를 제공합니다.

2. 핵심 기술적 차별점​

+-----------------------------------------------------------------------------------+
| Plexus Mod Loader |
+-----------------------------------------------------------------------------------+
| [ Native API ] [ Fabric Bridge ] [ Forge Bridge ] [ NeoForge Bridge ] |
| - System API - FabricLoader API - FML Virtualizer - FML 11 Layer Bridge |
| - Lifecycle API - QuiltLoader API - ModLauncher Shim - Shared Mixin Engine |
+-----------------------------------------------------------------------------------+
| Plexus Transform Engine (ASM 9.11) |
| - Declarative Bytecode Transforms - Dynamic Host Patch Adjustments (ADR-0030) |
| - Unified Mixin 0.8.7 Service - Granular Conflict Pre-flight Assessment |
+-----------------------------------------------------------------------------------+
| Plexus Transforming ClassLoader & JRE 25 |
+-----------------------------------------------------------------------------------+
| Minecraft: Java Edition (26.x) |
+-----------------------------------------------------------------------------------+

1) 단일 JVM 멀티로더 동시 구동​

별도의 에뮬레이션이나 프로세스 복제 없이, 단일 게임 클래스로더 상에서 Plexus 모드가 Fabric·Quilt 모드, 그리고 Forge 모드나 NeoForge 모드(둘 중 하나)와 함께 실행됩니다. Forge와 NeoForge의 FML 서비스는 Plexus가 관리하는 레이어 내부에서 동작하며, Fabric과 Quilt 모드는 통합 Mixin 파이프라인으로 구동됩니다.

2) 사전 호환성 진단 (PLEXUS-COMPAT-224)​

Forge나 NeoForge가 바닐라 클래스를 패치했을 때 기존 Fabric Mixin이 충돌할 수 있습니다. Plexus는 **호스트 패치 사전 검사(HostPatchCheck)**를 내장하여:

  • 부팅 전 모든 모드의 Mixin을 실제 패치된 바이트코드와 대조합니다.
  • 안전하게 변환 가능한 경우 파라미터 재배열, 호출 대체 등으로 실시간 적응(HostPatchAdjustments)시킵니다.
  • 호환이 불가능한 모드는 시작 전에 안전하게 격리하고 명확한 진단 코드(PLEXUS-COMPAT-224)를 남겨 게임 크래시를 방지합니다.

3) 측정한 성능 부담​

  • 시작 시간, 틱 시간, 메모리: 측정한 시나리오에서 바닐라와의 차이는 측정 오차 범위 안입니다(성능). 측정 없이 개선을 주장하지 않습니다.
  • 그래픽 모드: 26.2에서 Sodium, Iris, Lithium을 포함한 인기 Fabric 모드가 클라이언트에서 함께 월드를 플레이합니다.
  • 다크 테마 로딩 오버레이: 세련된 #0E131F 커스텀 화면과 실시간 로더별 활성 모드 수 뱃지를 제공합니다.

3. 현재 릴리스 현황 (Release 1.4.2)​

구성 요소대상 / 범위상태참고 사항
지원 마인크래프트26.1, 26.1.1, 26.1.2, 26.2, 26.3안정(Stable)전 플랫폼 Java 25 필수.
Fabric 모드 지원Fabric Loader 0.19.5 API / Mixin 0.8.7검증됨26.2에서 인기 Fabric 모드 138개(Sodium, Iris, Lithium 등)가 클라이언트에서 함께 월드를 플레이하고, 100개가 실제 전용 서버를 시작합니다. 26.3(2026-10-27, 헤드리스): 게임 테스트 서버 98개 로드 / 73개 제외, 전용 서버 100 / 74.
Quilt 모드 지원Quilt Loader 0.31.x / quilt.mod.json검증됨26.1, 26.1.2, 26.2에서 Modrinth의 Quilt 전용 판 전부(26.2는 114개). 26.3(2026-10-27, 헤드리스): 전용 서버 112개 로드 / 34개 제외, Quilt 전용 판 91개 중 73개 로드, 실제 Quilt Loader와 91개 중 89개 같은 판정.
Forge 모드 지원MinecraftForge 62.0.9 ~ 66.1.0검증됨26.1, 26.1.2, 26.2에서 클라이언트, 전용 서버, 게임 테스트 서버. 26.3(2026-10-27, 헤드리스): 게임 테스트 서버 38개 중 30개, 전용 서버 41개 중 33개.
NeoForge 모드 지원NeoForge 26.1.0 ~ 26.3.0검증됨NeoForge 자신의 FML로 실행. 26.3(2026-10-27, 헤드리스): FML이 게임 테스트 서버에서 50개, 전용 서버에서 49개 로드. Forge 모드와 한 게임에서는 실행하지 않음(PLEXUS-COMPAT-221).
Forge 옆 Fabric 모드26.2 묶음(corpusFabricForge)부분 지원(Partial)1.4.0 측정: 외래 모드 85개 로드, 81개 제외. PLEXUS-COMPAT-224로 제외: Fabric API의 fabric-content-registries-v0(익사와 유체 점프는 Forge 호출로 연결할 수 없음) 및 Fabric 모드 3개(Architectury, Balm, Lithium). fabric-biome-api-v1은 나중에 실패하는 대신 PLEXUS-COMPAT-112로 제외됩니다(링크 검사가 Forge의 패치된 게임을 읽어 Forge에 ClearableLazy가 있는 자리에 ChunkGenerator.featuresPerStep을 Supplier로 쓰는 것을 감지).
NeoForge 옆 Fabric 모드26.2·26.3 묶음(corpusFabricNeoForge)부분 지원(Partial)1.6.0 측정(2026-10-31, 26.2): 외래 모드 51개 로드, 65개 제외(1.4.0: 47 / 69, 1.3.0: 40 / 76). PLEXUS-COMPAT-224로 빠지는 Fabric API 모듈은 3개(content-registries, data-generation, menu)입니다(1.4.0: content-registries, data-generation, registry-sync). Plexus Mod Loader는 NeoForge 26.2.0.93 훅 기반의 자체 fabric-block-api-v1 및 fabric-item-api-v1(1.4.0부터), fabric-registry-sync-v0 및 fabric-object-builder-api-v1(1.6.0부터, ADR-0031) 빌드(Apache-2.0 하의 Sinytra Forgified Fabric API에서 적응된 "호스트 모듈")를 제공하여 원본 대신 사용하며, events-interaction, transfer, entity-events, resource-conditions, crash-report-info는 브리지를 통해 로드됩니다. NeoForge 26.3.0.98(1.6.0): 같은 호스트 모듈 4개, 48 / 68, 5개 모듈 여전히 제외(content-registries, data-generation, entity-events, menu, resource-conditions). 26.3용 호스트 모듈 전에는 43 / 73, 7개 모듈. NeoForge 옆에 설치된 Forgified Fabric API는 더 이상 시작 시 게임을 멈추지 않습니다(중첩된 Fabric Loader 플러그인 제외).
26.3에서 로더 섞어 쓰기Fabric·Quilt + Forge 또는 NeoForge부분 지원(1.6.0)2026-10-28, 헤드리스 측정: 26.3 묶음의 혼합 로더 실행이 모두 통과합니다. Forge 옆 Fabric 80개 로드 / 86개 제외, Forge 옆 Quilt 95 / 86, NeoForge 옆 Fabric 40 / 76, NeoForge 옆 Quilt 83 / 96. 1.2.4에서는 이런 게임이 시작에서 멈췄습니다. 1.6.0(2026-10-31, 헤드리스): NeoForge 옆 Fabric 48 / 68, NeoForge 옆 Quilt 87 / 92. 게임 창(2026-10-31, 26.3용 호스트 모듈 전): NeoForge 옆 Fabric 35 / 76(NeoForge 모드 45개)과 로더별 묶음이 통과했습니다.
NeoForge 주입점 검증화면, 컨테이너 메뉴, 데이터 어태치먼트검증 완료NeoForge 26.2.0.93 패치 클라이언트 및 바닐라 26.2 대상 정합성 검증 완료.
통합 설치 프로그램크로스 플랫폼 .jar완료 (1.2.4)Windows, macOS, Linux (Java 17+) 단일 파일 통합.
커스텀 로딩 UIPlexusLoadingOverlay완료 (1.4.0)1.4.0부터 클라이언트에서 모든 로더가 게임 로딩 화면과 똑같이 생긴 하나의 초기 로딩 창(Mojang 배경, 로고, 진행 막대, Plexus 큐브, 로더별 모드 수)을 공유합니다. Forge와 NeoForge는 더 이상 FML의 자체 초기 창을 열지 않습니다. macOS는 아직 지원하지 않으며 -Dplexus.earlyWindow=off로 끌 수 있습니다.
버그 리포트 연동공식 GitHub Issues 직통 라우팅완료오류 및 크래시 시 공식 이슈 트래커로 바로 연결.

4. 향후 로드맵 및 마일스톤​

마일스톤 A: 클라이언트 & NeoForge Fabric API 적응 (진행 중)​

  • 완료 (2026-10-27): NeoForge 주입점을 NeoForge의 패치된 클라이언트와 바닐라 클라이언트에 대조(NeoForgeInjectionPointsTest). 26.2에서 1.2.4로 Forge·NeoForge 옆 Fabric 모드를 측정: Forge 옆에서는 빠지는 Fabric API 모듈이 없지만 Fabric 모드 4개가 빠지고, NeoForge 옆에서는 Fabric API 모듈 10개가 빠집니다.
  • 완료 (1.2.5, 2026-10-28): 26.2에서 Forge 옆 Puzzles Lib의 Fabric 판이 다시 로드됩니다(88개 로드 / 78개 제외). 26.3에서 로더 섞어 쓰기가 됩니다(헤드리스).
  • 완료 (1.4.0, 2026-10-30): 26.2에서 NeoForge 옆 fabric-block-api-v1·fabric-item-api-v1 호스트 모듈 탑재 및 5개 모듈 브리지 연동(PLEXUS-COMPAT-224는 3개만 남음), 외래 모드 47개 로드 / 69개 제외(26.3은 43 / 73), Forgified Fabric API 시작 중단 해결. Forge 옆은 26.2에서 외래 모드 85개 로드 / 81개 제외(fabric-content-registries-v0은 PLEXUS-COMPAT-224, fabric-biome-api-v1은 PLEXUS-COMPAT-112로 제외).
  • 완료 (1.4.1, 2026-10-30): 인게임 브랜딩, API(plexus:game_brand), 메타데이터(plexus.mod.json), 윈도우 타이틀 및 런타임 의존성 Plexus Mod Loader 전면 반영 및 기존 plexus 아티팩트에 대한 100% 하위 호환 보장.
  • 완료 (1.4.2, 2026-10-30): 패키지 네임스페이스 dev.plexusmodloader.*, 루트 Gradle 26개 모듈 plexus-*, 내부 클래스 Plexus* 전면 개편. 구버전 모드 jar의 바이트코드 자동 리매핑(LegacyPackageRemapper) 탑재 및 전 진단 에러 코드 PLEXUS-* 전환.
  • 완료 (1.6.0, 2026-10-31): NeoForge 26.2.0.93용 fabric-registry-sync-v0·fabric-object-builder-api-v1 호스트 모듈과 NeoForge 26.3.0.98용 fabric-block-api-v1·fabric-item-api-v1·fabric-registry-sync-v0·fabric-object-builder-api-v1 호스트 모듈 탑재(ADR-0031). NeoForge 옆에서 빠지는 Fabric API 모듈은 26.2에서 3개(외래 모드 51개 로드 / 65개 제외), 26.3에서 5개(48 / 68). 전용 서버에서도 Fabric 모드가 NeoForge의 등록 뒤에 초기화됩니다. 26.3 창 실행 통과(2026-10-31).
  • NeoForge 다음 호스트 모듈: fabric-content-registries-v0, fabric-data-generation-api-v1, fabric-menu-api-v1(26.2·26.3), fabric-entity-events-v1, fabric-resource-conditions-api-v1(26.3).
  • fabric-screen-api-v1: GuiMixin:onExtractGui를 재타겟팅하여 NeoForge 클라이언트 UI 모드(ModMenu 등) 호환성 확보.
  • fabric-menu-api-v1 & fabric-data-attachment-api-v1: NeoForge의 메뉴 오픈 및 어태치먼트 확장과 연동.
  • 렌더링 및 모델 모듈: fabric-renderer-api-v1, fabric-rendering-v1, fabric-model-loading-api-v1 적응.

마일스톤 B: Minecraft 26.3 실세계 대규모 모드팩 코퍼스 검증​

  • 헤드리스, 로더 하나씩 (2026-10-27): 26.3 묶음(mod-corpus-26.3.json: Fabric 43개, Forge 42개, NeoForge 44개)과 Quilt 묶음(Quilt 전용 판 91개)이 로더 하나씩 헤드리스 서버·게임 테스트 실행을 통과했습니다. (Quilt 게임 테스트 서버 실행은 26.2 형식 데이터를 담은 PurpurPacks 데이터 팩 모드 5개를 빼면 통과합니다. 모드 쪽 문제입니다.)
  • 26.3에서 로더 섞어 쓰기: 1.2.5부터 헤드리스 실행에서 됩니다(1.2.4에서는 이런 게임이 모두 시작에서 멈췄습니다). Forge 옆에서는 Architectury, Balm, Lithium, Puzzles Lib과 Fabric API 모듈 3개가, NeoForge 옆에서는 Fabric API 모듈 5개가(1.6.0) 아직 빠집니다. 26.3의 창(클라이언트) 실행은 2026-10-31에 통과했습니다(로더별 묶음, NeoForge 옆 Fabric, clientWorldReloadTest, 런처 프로필). 26.3용 호스트 모듈을 넣기 전이며, 그 클라이언트 쪽 기능은 게임 창에서 확인하지 않았습니다.
  • 26.3 변경사항(SDL 키보드 처리, 셰이더 #include, 데이터팩 오버레이 형식) 대응 강화.

마일스톤 C: 기술 벤치마크​

  • 독립 로더 대비 메모리, 틱레이트, 시작 속도 정밀 벤치마크 데이터 공개.

장기 계획: Forge on NeoForge​

  • NeoForge를 호스트로 두고 MinecraftForge 모드를 그 위에서 실행하는 9단계 브릿지 파이프라인 (F-N0 ~ F-N8).
커피 한 잔 후원하기