Repository navigation
v0.1.0 (미리보기)
Pre-release
Pre-release
상시 서버 없이 친구들과 하나의 마인크래프트 월드를 공유하는 mcd의 첫 미리보기 릴리스다. 사용법은 README, 동작 방식은 ARCHITECTURE에 있다.
받기
mcd-windows.zip을 풀고 mcd/mcd.exe(GUI)를 실행한다. Java 런타임이 들어 있어서 따로 설치할 것이 없다. mcd/mcd-cli.exe는 같은 기능의 CLI다.
- Windows 10/11
- 마인크래프트 Java Edition: 새 월드는 26.1.2(26.1, 26.1.1 클라이언트도 접속됨)
- GitHub 계정과
repo권한 토큰(월드 보관용, 메인과 분리한 계정 권장) - 인터넷 너머의 친구와 할 때만: 월드 주인의 Tailscale 재사용 가능 인증 키(친구는 필요 없음)
서명되지 않은 실행 파일이라 처음 실행할 때 Windows SmartScreen 경고가 뜰 수 있다("추가 정보" → "실행").
들어 있는 것
- 누가 먼저 켜든 최신 월드: 접속하는 사람의 PC가 Paper 서버가 되고, 월드는 GitHub private repo에 버전으로 보관된다.
- 주소는 항상
localhost:25565: mcd의 중계가 현재 호스트로 이어주고, 호스트가 없으면 그 PC를 호스트로 만든다. - 월드가 갈라지지 않음: git의 force 없는 push를 락(compare-and-swap)으로 써서 서버는 하나만 뜬다. 크래시 후 남은 변경은 recovery 브랜치로만 간다.
- 호스트가 나가도 계속 플레이: 접속 중인 플레이어를 transfer로 다음 호스트에게 자동으로 옮긴다.
- 빈 서버는 스스로 꺼짐: 모두 나가면 5분 뒤 월드를 올리고 내려간다. 플레이 중에도 10분마다 올라간다.
- 인터넷 너머 연결: Tailscale의 tsnet을 내장해서 친구는 설치나 로그인 없이 접속된다.
- 서버 버전은 월드가 정함:
mcd-cli upgrade-paper --paper <버전>으로 월드의 마인크래프트 버전을 올릴 수 있다(되돌리기는 불가). - GUI 첫 실행 마법사(새 월드 만들기 또는 친구의 월드 참가), CLI.
확인한 것
단위 테스트와, 실제 Paper 서버와 헤드리스 봇으로 돌리는 E2E(P0 시나리오 5개, mcd 크래시, transfer, tailnet, 호스트 이관)가 통과했다. 인터넷 너머 연결은 같은 PC의 VM과 Headscale로 확인했다.
알려진 한계
- 새 PC에서 처음 서버를 띄울 때는 첫 접속이 "시간 초과"로 끊길 수 있다. 서버 파일을 준비하느라 클라이언트의 대기 시간(약 30초)을 넘기기 때문이다. 다시 접속하면 된다. 다음 버전에서 고친다.
- 멀티플레이 서버 목록을 여는 것만으로 그 PC가 호스트가 될 수 있다. 서버 목록의 상태 확인(ping)도 접속으로 처리하기 때문이다. 아무도 들어오지 않으면 5분 뒤 다시 꺼진다. 다음 버전에서 고친다.
- 아직 실제 원격 친구 환경과 정품 클라이언트로는 확인하지 않았다.
- 호스트 PC가 갑자기 꺼지면 다른 PC가 이어받기까지 최대 10분 걸린다.
- tailnet 인증 키는 월드 repo에 들어가므로 collaborator에게 보이고, GitHub 토큰은 설정 파일에 평문으로 저장된다.
- 설치 파일(.msi)은 없다(zip을 풀어서 쓴다).
mcd-windows.zip SHA-256: bb24d592892eacbbf7fd58079dbede6a7439a88d70d0122aaa135d06dae9baae