맥북에서 바람의나라가 하고 싶었습니다.
윈도우 PC를 따로 켜기가 귀찮아서, Wine 위에 더블클릭 한 번이면 켜지는 런처를 직접 만들었습니다. 같은 처지의 분 계실까 싶어 오픈소스로 공유합니다.
GitHub: https://github.com/dgv7/nx-mac
실측 지표 (Apple Silicon 기준)
- Cold start (클릭 → Plug 로그인 창): 7.3초
- Warm reuse: 2~3초
- 상주 프로세스: 0 (종료 시 wine 트리 전체 teardown)
- 한글 IME 조합: 정상
- GameGuard(NGS) 통과: 필드 진입까지 확인
- 라이선스 비용: $0
어떻게 만들었나
기반은 Sikarugir Wine wrapper(CX 24.0.7 엔진)입니다. 직접 Wine을 튜닝하는 대신, 검증된 설정 한 벌을 자동 빌더 + AppleScript URL router + SwiftUI Splash 위에 얹는 방향으로 갔습니다.
처음 측정했을 때 cold start가 50초였는데, 구간별 profiling을 해보니 진짜 병목은 wine이 아니라 Plug이 호출하는 Nexon Launcher Windows 서비스의 auto-start timeout 40초였습니다. 서비스를 disabled 해두고 필요할 때 on-demand로 spawn하게 하니 7.3초로 내려왔고 기능 손실은 없었습니다.
한글 IME는 엔진 선택이 핵심이었습니다. Wine 10 + macOS Mac driver 조합은 IMM32로 pre-edit이 안 넘어가서 채팅이 다 막히는데, CX 24.0.7로 교체하니 해결됐습니다. 다른 버전에서는 재현이 안 되더라고요.
요구 사항
- macOS 14+
- Apple Silicon
- 약 25GB 여유 디스크
- 본인 Windows PC의
gulim.ttc(MS 저작권이라 동봉 불가, 한글 폰트용)
설치 — 원라이너 한 줄
curl -fsSL https://raw.githubusercontent.com/dgv7/nx-mac/main/install.sh | bash
Xcode CLT → Homebrew → Sikarugir → 빌더 실행까지 자동으로 이어집니다. 중간에 Sikarugir Creator GUI에서 New Blank Wrapper 한 번 클릭하는 단계만 손이 갑니다.
- Name:
Baram - Engine:
WS12WineCX24.0.7 - OS:
Windows 10
엔진은 반드시 CX 24.0.7이어야 한글 IME가 됩니다.
첫 실행은 cjkfonts 다운로드 때문에 10~20분 걸립니다. 터미널이 조용해져도 끄지 마세요.
솔직한 한계
- gulim.ttc 자가 배치: MS 저작권이라 어쩔 수 없습니다. 친구 PC나 PC방에서 USB 한 번이면 끝.
- "게임 실행에 실패했습니다" 팝업: Plug의 false alarm입니다. 확인 누르면 게임은 정상으로 뜹니다. 자동 dismiss는 OTP/공지 오탐 위험 때문에 일부러 안 했습니다.
- NGS 규칙이 강화되면 예고 없이 막힐 수 있습니다 (2026년 4월 기준 검증).
- 다른 넥슨 게임은 아직 실측 전입니다. 구조 재사용 ~30% 정도라 게임별 실험이 따로 필요합니다.
라이선스
MIT — 스크립트/AppleScript/Swift/문서. 게임 바이너리, 폰트, Wine 엔진, Sikarugir는 각 저작권자 소유입니다.
피드백/이슈/PR 환영합니다.
GitHub: https://github.com/dgv7/nx-mac
https://github.com/ubermenschjo/dotfiles/raw/master/.fonts/gulim.ttc
검증 항목 결과
URL 응답 HTTP 200 (현재 살아있음)
다운로드 사이즈 13,524,972 bytes
작동 중 폰트 사이즈 13,524,972 bytes ✓ 일치
SHA-256 (다운로드) a167be36...4fd191a
SHA-256 (작동 중) a167be36...4fd191a ✓ 완전 일치