DEV Community

정상록
정상록

Posted on

Arnis: OpenStreetMap + AWS 데이터로 실세계를 마인크래프트로 변환하는 Rust 오픈소스

TL;DR: Arnis는 좌표만 입력하면 OpenStreetMap + AWS Terrain Tiles 데이터를 조합해 마인크래프트 월드를 자동 생성하는 Rust 기반 CLI/GUI/웹 도구입니다. GitHub 8,100+ Stars, 30만 사용자, Java+Bedrock 지원.


왜 이 프로젝트가 흥미로운가

게임과 오픈 데이터의 교차점에서 태어난 프로젝트입니다. 마인크래프트에서 실세계를 재현하려면 보통 WorldEdit 같은 플러그인으로 수동 모델링을 해야 하는데요. Arnis는 좌표 입력 한 번으로 건물, 도로, 수계, 지형을 전부 자동 변환합니다.

핵심 수치부터 볼까요.

  • GitHub Stars: 8,100+
  • 사용자: ~30만 명
  • Contributors: 32명
  • 라이선스: Apache 2.0

기술 스택 뜯어보기

Rust로 재작성한 이유

원래 Python으로 만들었는데, 대규모 지리 데이터 처리에서 메모리 안전성과 속도가 병목이었다고 합니다. v2.0.0에서 Rust로 완전 포팅했어요.

// fastnbt 크레이트로 Minecraft region 파일(.mca) 생성
// 좌표 변환: 위경도 → Minecraft XYZ 블록 좌표
Enter fullscreen mode Exit fullscreen mode

데이터 파이프라인

[사용자 좌표 입력]
    ↓
[Overpass API] → OSM 데이터 (건물, 도로, 수계)
[AWS Terrain Tiles] → 고도 데이터
    ↓
[파싱] → 노드/웨이/릴레이션 → MC 좌표 변환
    ↓
[레이어링] → 우선순위 기반 충돌 방지
    ↓
[고도 처리] → 스무딩, 갭 패칭, 적응형 스케일링
    ↓
[파일 생성] → .mca (Java) 또는 .mcworld (Bedrock)
Enter fullscreen mode Exit fullscreen mode

두 데이터 소스 모두 무료라서 API 키나 구독 없이 쓸 수 있습니다.

지원 플랫폼

인터페이스 설명
CLI 스크립팅/자동화 가능
GUI (데스크톱) Windows, macOS, Linux
MapSmith (웹) 설치 없이 브라우저에서 바로

빠르게 써보기

방법 1: 웹 (가장 간단)

arnismc.com에서 바로 실행 가능합니다.

방법 2: CLI (개발자용)

# 클론 & 빌드
git clone https://github.com/louis-e/arnis.git
cd arnis
cargo build --release

# 서울 강남역 주변을 Java Edition으로 변환
./target/release/arnis \
  --bbox "37.4950,127.0260,37.5010,127.0320" \
  --output ./gangnam-world \
  --edition java \
  --terrain
Enter fullscreen mode Exit fullscreen mode

방법 3: 릴리스 바이너리

Releases 페이지에서 OS별 바이너리를 다운받아 바로 실행할 수 있어요.

주요 릴리스 타임라인

버전 날짜 핵심 변경
v2.0.0 2024 Python → Rust 완전 포팅
v2.2.0 2025-01 Alpine Update: 지형 리얼리즘 개선
v2.4.0 2025-12 Bedrock Edition 지원
v2.4.1 2026-01 품질 개선

제한사항

솔직히 말하면 몇 가지 제한이 있어요.

  1. OSM 데이터 의존: 도시는 좋은데, 데이터가 부족한 지역은 건물/도로가 빠질 수 있음
  2. 높이 제한: MC의 Y=-64~320 범위에 현실 지형을 압축해야 함
  3. 스케일링 버그: 특수 지형에서 간헐적 발생 (활발히 수정 중)

미디어 반응

AWS 공식 블로그, Tom's Hardware, Hackaday, Hacker News 프론트페이지에 올랐고요. OpenStreetMap Wiki에도 등재되어 있습니다. 취미 프로젝트가 아니라 기술적으로 검증된 도구라는 뜻이죠.

마무리

Arnis는 "오픈 데이터 + Rust + 게이밍"의 교차점에서 나온 멋진 프로젝트입니다. 특히 Rust 재작성으로 성능을 확보하고, 웹 버전으로 접근성까지 잡은 점이 인상적이에요.

자기 동네를 마크 월드로 만들어 보고 싶으면 arnismc.com에서 바로 시작할 수 있습니다.

링크 모음:

Top comments (0)