SOURCE WALKTHROUGH  ║  GPL-3.0

풀문 클라이언트,
소스부터 읽어 보기

풀문 클라이언트는 런처와 인게임 모드 두 조각이에요. 런처는 게임을 설치하고 실행하고, 모드는 게임 안에서 서버가 보낸 화면을 그려요. 아래 글은 저장소에 있는 파일을 기준으로 썼어요. 궁금한 부분은 GitHub에서 같은 경로를 열면 돼요.

STRUCTURE  ║  두 조각, 하나의 계약

디렉터리 지도

제품 코드는 런처, 인게임 모드, 그리고 둘을 서버와 잇는 프로토콜 문서예요.

fullmoon-client/
launcher/
src/ — React UI (screens, state, widgets)
src/core/bindings.ts — UI↔core 유일한 접점
src-tauri/ — Rust core (4,500줄, 19 모듈)
pinion-mod/
hud/ — HUD·설정 GUI·코스메틱
bridge/ — 서버 채널 클라이언트
docs/
BRIDGE.md — 프로토콜 스펙 (공개 계약)
.github/workflows/
└ ci · release · site — 빌드와 배포 전부 자동

화면과 core는 파일 하나로 만나요

UI는 Rust를 직접 부르지 않아요. 모드도 서버 플러그인 내부를 몰라요. UI는 bindings.ts에 적힌 함수만 호출하고, 모드는 fullmoon:v1 채널로만 서버와 이야기해요. 그래서 UI를 mock core 위에서 먼저 만들고, 나중에 같은 함수 목록으로 실제 Rust core를 붙일 수 있었어요.

숫자로 보는 규모

  • 37개 Tauri 명령 — 계약의 전부, commands.rs 한 파일에
  • 1개 채널 페이로드 — varint 프레임 + JSON 한 객체
  • 0개 외부 에셋 다운로드 — Mojang 원본만, SHA1 검증해서