GDLauncher logo

오프라인 모드

”오프라인”이 실제로 의미하는 것

GDLauncher의 오프라인 동작은 세 가지 다른 네트워크 필요에 따라 달라집니다:

  1. Microsoft 인증 (Mojang 서버에 Minecraft 소유 증명).
  2. 모드와 에셋 다운로드 (CurseForge, Modrinth, Mojang 라이브러리 CDN).
  3. GDL 계정 기능 (인스턴스 공유, 프로필, 표시명 기록 등).

각각이 오프라인에서 다르게 실패하고, 런처의 행동도 그에 맞게 다릅니다.

설치된 인스턴스를 오프라인에서 실행

가장 흔한 시나리오: 비행기 안, 산장, 집 인터넷이 끊김, 이미 설치된 걸 플레이하고 싶음.

대체로 작동합니다. GDLauncher가 실행에 필요한 데이터를 캐시하기 때문에:

  • Mojang 인증 토큰이 만료 시각과 함께 로컬에 저장.
  • Minecraft 라이브러리와 에셋이 이미 디스크(런타임 경로)에 있음.
  • 모드 인스턴스는 모드도 로컬에 설치되어 있음.

오프라인에서 Play를 누르면 런처가:

  1. 활성 Microsoft 계정의 Minecraft 인증 토큰이 아직 유효한지(만료되지 않았는지) 확인.
  2. 유효하면 그 토큰으로 Minecraft를 직접 실행. Minecraft 자체는 싱글플레이어 월드 실행에 인터넷이 필요하지 않습니다.
  3. 액세스 토큰이 만료되었지만 리프레시 토큰이 여전히 유효하면, 런처가 Microsoft의 리프레시 엔드포인트를 호출하려 시도하는데 인터넷이 필요. 오프라인이면 이 호출이 실패하고, Settings → Accounts에서 그 계정 상태가 “expired”로 바뀝니다.
  4. 계정이 만료된 상태로 Play를 누르면 런처가 Account Expired 모달을 띄웁니다. 버튼은 두 개: Launch anyway(캐시된 토큰으로 실행, 싱글플레이어에는 충분), Back to login(Microsoft 사인인 플로우로 보냄, 인터넷 필요).

즉 싱글플레이어라면 ‘Launch anyway’가 마지막으로 온라인이었던 게 언제든 작동합니다. Minecraft 실행 후에는 어떤 것도 토큰을 검증하지 않기 때문입니다. Mojang을 통해 신원을 검증하는 멀티플레이어 서버에는 만료되지 않은 토큰이 필요하고, 그건 즉 최근에 온라인이어서 갱신했어야 한다는 뜻입니다.

토큰이 만료되는 이유

이건 Microsoft와 Mojang 인증 서버에서 정해진 것이지 GDLauncher 선택이 아닙니다. 인증 체인은 런처에 중요한 토큰 두 개를 만들어냅니다:

  • Microsoft OAuth 액세스 토큰 (~1시간). 런처가 Microsoft / Xbox / Mojang 인증 API와 통신하는 데 사용. 단명하지만 온라인이라면 자동으로 리프레시 토큰으로 갱신되어 거의 의식하지 못합니다.
  • Minecraft 인증 토큰 (~24시간). 실행 시 Minecraft에 전달되므로 이게 오프라인 플레이를 좌우합니다. 온라인 동안 런처가 만료 약 12시간 전에 사전 갱신.

Microsoft 리프레시 토큰은 몇 달 살지만, Microsoft 비밀번호 변경, 새 보안 기능 활성화, Microsoft 웹사이트에서 사인아웃 등으로 서버 측에서 무효화될 수 있습니다. 오프라인 중에 리프레시 토큰이 무효화되면, 다시 온라인이 되어 재인증할 때까지 런처가 할 수 있는 일이 없습니다.

멀티플레이어 서버에 오프라인으로 참여

작동하지 않습니다. 멀티플레이어 서버는 Mojang의 세션 서버에 대해 신원을 검증하며, 이는 양쪽에서 인터넷이 필요합니다. LAN 멀티플레이어는, 두 머신이 모두 최근에 온라인에서 인증했다면 같은 오프라인 LAN에서 작동할 수 있습니다.

새 인스턴스/모드/모드팩을 오프라인에서 설치

작동하지 않습니다. 모든 설치 흐름이 CDN에서 다운로드합니다:

  • 모드팩이 매니페스트와 개별 모드 파일을 받아옴.
  • Addons 탭에서 모드를 추가하면 JAR이 다운로드.
  • 가지고 있지 않은 Minecraft 버전의 커스텀 인스턴스를 만들면, 그 버전의 JSON 매니페스트, 버전 JAR, 에셋, 모드 로더 설치 프로그램을 다운로드.

전부 오프라인에서는 timeout이나 DNS 에러로 실패합니다. 런처는 무한정 재시도하지 않으며, 인스턴스 생성 모달이나 Tasks 패널에 실패가 표시됩니다.

오프라인 환경으로 갈 예정이라면 출발 전에 즐길 인스턴스를 미리 설치하세요.

GDL 계정 기능 오프라인

거의 작동하지 않습니다. GDL 계정 기능은 본질적으로 “GDL 백엔드와 대화하기”이기 때문. 구체적으로:

  • 인스턴스 공유(코드 생성): 실패, GDL 서비스에 도달할 수 없음.
  • 공유 인스턴스 가져오기: 같은 이유로 실패.
  • GDL 프로필 편집: 실패.
  • 공유 목록 보기: 캐시된 상태 표시, 갱신 불가.

런처는 오프라인 동안에도 GDL에 사인인된 상태를 기억하지만, UI는 오래된 데이터를 보여주고 네트워크 호출이 필요한 동작을 거부합니다.

요약

  • 설치된 인스턴스, 새 토큰: 오프라인 실행 가능.
  • 설치된 인스턴스, 만료된 토큰: 런처 프롬프트 표시, 싱글플레이어라면 ‘Launch anyway’ 선택.
  • 만료된 토큰으로 멀티플레이어: 갱신을 위해 Microsoft에 도달할 때까지 차단.
  • 다운로드가 필요한 모든 것: 차단.
  • GDL 백엔드와 통신해야 하는 것: 차단.
  • 싱글플레이어 월드: 인스턴스가 디스크에 있는 한 100% 오프라인 가능.