Chunkloader 03 Chunk Grades

청크 로더 완전 정리 — 2025년에 세 번 바뀐 판, 26.2 기준으로 다시 쓰다

광질을 다녀왔더니 화로가 불이 꺼진 채 그대로 멈춰 있다. 다른 오픈월드 게임이라면 자리를 비운 시간만큼 알아서 계산해 줬을 텐데, 마인크래프트는 그렇지 않다. 플레이어가 없는 구역은 시간이 아예 흐르지 않은 것이 된다 — 이게 청크 로더가 필요한 이유의 전부다.

문제는 이 주제가 2025년 한 해에만 판이 세 번 바뀌었다는 것. 스폰 청크는 축소를 거쳐 1.21.9에서 아예 삭제됐고, 그보다 앞서 1.21.5는 청크 로더로 작물이 자라지 않는다는 오래된 상식을 뒤집었다. 그래서 몇 년 전 글이나 영상을 그대로 따라 하면 절반은 헛수고가 된다. 이 글은 26.2 “Chaos Cubed” 기준으로 청크 로딩의 원리부터 네더 포탈 로더의 버전별 변천사까지 다시 정리한다.

title="EVERYTHING about Chunks & Chunk Loaders — Rays Works" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" loading="lazy" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen>
RaysWorks의 청크 처리 상태 시각화 — 초록 글자로 각 청크가 Entity Processing 상태임을 표시하는 데이터팩 오버레이
RaysWorks가 자체 제작한 청크 상태 시각화 데이터팩. 각 청크가 지금 어떤 처리 등급인지 실시간으로 보여준다

이 글의 이론 부분은 EVERYTHING about Chunks & Chunk Loaders(Rays Works)를 뼈대로 삼았다. Rays Works는 네더 포탈 청크 로더를 약 8년 전 처음 발견해 공개한 사람이고, 영상에서 본인이 직접 “크레딧 도용이 잦다”고 밝힐 만큼 원 설계자 표기가 중요한 주제다. 이후 나올 모든 포탈 로더 설계는 이 사람의 발견에서 출발한다.

1. 청크란 무엇인가

청크는 16×16 블록, Y −64부터 384까지 전체 높이를 관통하는 기둥이다. F3+G를 누르면 화면에 청크 경계선이 표시되고, F3 화면에서 청크 좌표와 청크 내 상대 좌표도 확인할 수 있다.

로딩·언로딩은 수평으로만 일어난다는 점이 중요하다. 하늘 위에 지은 팜이든 지하 깊은 곳의 팜이든, 같은 청크 기둥 안에 있으면 함께 로드되고 함께 언로드된다. 청크는 다시 16×16×16짜리 서브청크 16개로 나뉘는데, 뒤에서 다룰 랜덤 틱(작물 성장 등)이 이 서브청크 단위로 배분된다.

2. 왜 청크 로딩이 필요한가

평범해 보이는 마을 베이스 전경 — 실제로는 플레이어가 없으면 이 상태 그대로 시간이 멈춘다
겉보기엔 멀쩡한 베이스지만, 플레이어가 근처에 없는 순간 이 장면 그대로 정지한다

마인크래프트 월드는 사실상 무한하기 때문에 전부를 계산할 수는 없다. 그래서 게임은 플레이어 주변만 처리해 자원을 아낀다. 문제는 다른 오픈월드 게임과 달리, 마인크래프트는 플레이어가 자리를 비운 시간을 기록해 뒀다가 돌아왔을 때 몰아서 계산해 주지 않는다는 것. 언로드된 구역은 시간이 그 자리에서 멈춘다 — 광질 다녀오면 화로가 꺼진 채 그대로인 이유가 이것이다.

여기서 헷갈리기 쉬운 게 렌더 거리와 시뮬레이션 거리다. 렌더 거리는 눈에 보이는 범위, 시뮬레이션 거리는 실제로 게임 로직이 처리되는 범위다. 화면에 보인다고 자라는 게 아니고, 안 보인다고 안 자라는 것도 아니다. 멀티플레이 서버에서는 server.properties의 값이 기준이라 클라이언트 쪽 설정을 올려 봐야 소용없다. 시뮬레이션 거리가 렌더 거리보다 짧으면 그 사이 청크는 몹캡 처리 등급으로만 떨어지므로, 두 값을 같게 맞춰야 낭비가 없다. (참고로 렌더/시뮬 거리를 낮추면 그만큼 성능도 좋아진다.)

3. 청크 로딩의 기본 원리 — 티켓과 레벨

이 모델 하나만 이해하면 이 글에 나오는 모든 수치(포탈 로더가 왜 3×3인지, 옛 스폰 청크가 왜 19×19였는지)가 암산으로 나온다.

청크 로딩은 티켓(ticket)으로 관리된다. 티켓에는 종류·레벨·반경·지속시간·영속 여부가 있고, 레벨은 22~44 사이 값으로 낮을수록 강하다. 한 청크에 티켓이 여러 개 걸려 있으면 그중 가장 낮은 레벨이 이긴다 — 중첩해서 세지 않는다. 그리고 티켓은 놓인 청크에서 바깥으로 한 칸 멀어질 때마다 레벨이 1씩 올라가며 사방으로 번져 나간다(flood fill).

레벨은 그대로 청크의 처리 등급을 결정한다.

레벨등급되는 것
31 이하엔티티 틱(Entity ticking)전부 처리됨. 엔티티 이동·몹 AI·마인카트·진동 감지·랜덤 틱(작물 성장 등, 1.21.5+)
32블록 틱(Block ticking)레드스톤·피스톤·호퍼·화로·물 흐름은 동작. 단 엔티티는 얼어붙고 자연 스폰·랜덤 틱은 없음
33보더/몹캡(Border)게임 진행은 없지만 엔티티·블록에 “접근”은 됨 (F3 몹캡 카운트에 잡힘)
34 이상언로드아무것도 처리되지 않음. 지형 생성만 일어남

주요 티켓의 레벨은 다음과 같다.

티켓레벨지속시간영속비고
플레이어31없음—렌더/시뮬 거리 기반
네더 포탈3015초(300틱)영속(1.21.5+)엔티티가 포탈을 통과할 때 발급
엔더 진주312초, 진주가 청크를 옮기면 갱신—던진 플레이어가 접속 중일 때만
/forceload31없음영속치트/OP 권한 필요
스폰 청크(구)22없음영속1.21.9에서 삭제

레벨 전파를 그대로 대입하면 각 로더의 범위가 계산으로 나온다.

  • 포탈(레벨 30): 중심 30 → 한 칸 밖 31 → 두 칸 밖 32 → 세 칸 밖 33 → 엔티티 틱 3×3, 블록 틱 5×5.
  • 엔더 진주·/forceload(레벨 31): 중심 31 → 한 칸 밖 32 → 두 칸 밖 33 → 엔티티 틱 1청크, 블록 틱 3×3. 진주 로더가 포탈보다 좁은 이유가 이 레벨 차이 하나다.
  • 옛 스폰 청크(레벨 22): 22 + 9 = 31이 되는 지점까지, 즉 반경 9 → 19×19 엔티티 틱. 옛날 자료에 나오는 19×19라는 숫자가 여기서 나온다.

마지막으로 하나 더. 플레이어가 한 명도 없는 차원은 15초 후 프로세스가 통째로 멈춘다(idle timeout). 포탈 티켓의 지속시간이 정확히 15초인 게 우연이 아니다 — 포탈 로더는 이 15초 타임아웃이 오기 전에 티켓을 계속 재발급해서 회피하는 구조다.

4. 청크 로더의 종류

네더 포탈 청크 로더

원 발견자는 Rays Works(약 2016년). 엔티티가 포탈을 통과하면 반대편 차원의 도착 청크에 포탈 티켓(레벨 30)이 15초간 발급된다. 양쪽에서 뭔가를 계속 왕복시키면 오버월드와 네더가 서로를 붙잡아 준다 — 오버월드 3×3 + 네더 3×3, 합쳐서 엔티티 틱 18청크(+각각 블록 틱 5×5 띠)가 유지된다.

포탈 옆에 디스펜서·호퍼·화로 마인카트로 구성된 청크 로더 장치가 작동 중인 모습
디스펜서·호퍼·화로 마인카트 조합으로 아이템을 계속 왕복시키는 초기 세대 포탈 로더

한 가지 주의할 점: 포탈이 청크 경계에 걸쳐 있으면 좌표가 큰(양의 방향) 쪽 청크가 중심이 된다. 그래서 항상 한 청크 안에 짓는 게 안전하다. 이 포탈을 이동용으로 겸용하지도 말 것 — 플레이어나 다른 엔티티가 지나가면 장치와 충돌한다.

엔더 진주 스테이시스 챔버

던진 진주는 착지 지점을 계산하려고 자기가 있는 청크를 계속 로드하려 한다. 물기둥에 가둬 영원히 착지시키지 않으면 이 로딩이 계속 유지된다.

물기둥 속에 갇혀 위아래로 튕기는 엔더 진주 — 스테이시스 챔버의 핵심 트릭
6블록을 파고 소울샌드-물-켈프 5개로 만든 물기둥에 진주를 던지면 바닥에 닿지 않고 계속 튕긴다

만들기는 훨씬 간단하다. 6블록을 파고 바닥에 소울샌드를 놓은 뒤 물을 채우고, 켈프 5개로 물기둥을 세운다. 그 위에서 웅크린 채 가장자리로 진주를 던지면 끝. 6블록이 진주가 바닥에 닿지 않는 정확한 깊이다.

범위는 포탈보다 좁다 — 엔티티 틱 1청크 + 블록 틱 3×3(레벨 31이라서). 대신 재료가 싸고 만들기 쉬우며, 월드를 재접속해도 자동으로 다시 로드된다는 장점이 있다(포탈 로더의 예전 최대 약점을 보완). 한계는 던진 플레이어가 접속 중일 때만 유지된다는 것 — 멀티에서 로그아웃하면 끊긴다. 죽으면 진주가 사라지므로 /gamerule ender_pearls_vanish_on_death false로 방지해 둘 것. 원격 on/off도 불가능하다. 네더에서는 물을 놓을 수 없어 이 방식 자체가 불가능하고, 반대로 엔드에서는 포탈 로더가 안 되기 때문에 진주가 유일한 선택지다(엔드는 다른 차원에서 청크 로딩이 불가능 — 반대로 엔드 안에서 오버월드·네더를 로딩하는 건 된다. 이 블로그의 흑요석 팜 글이 이 구조를 그대로 쓴다).

/forceload

레벨 31·타임아웃 없음·영속. 다만 치트/OP 권한이 필요해서 야생 서바이벌에서는 사실상 쓸 수 없다. 관리자 권한이 있는 서버에서나 대안이 되는 정도로 알아 두면 된다.

스폰 청크 — 1.21.9에서 삭제됨

스폰 청크 반경을 그리드로 시각화한 화면 — 흰 격자와 색칠된 타일이 로드되는 청크 범위를 보여준다
축소를 거듭하다 1.21.9에서 완전히 삭제되기 전, 스폰 청크의 로드 범위를 시각화한 장면

나침반이 가리키는 지점, 혹은 엔드에서 나올 때 엔티티가 도착하는 출구 포탈 근처가 예전 월드스폰이었다. 그 위치를 찾아 그 안에 팜을 지으면 플레이어 없이도 항상 로드됐다 — 스폰 청크 전용으로 설계한 팜만 35종이라고 Rays Works가 말할 정도로 흔한 기법이었다.

그런데 상시 로드되는 영역이 서버 성능을 계속 갉아먹는다는 이유로, 1.20.5에서 19×19 → 3×3으로 축소되고 1.21.9(25w31a)에서 게임룰 spawnChunkRadius째 아예 삭제됐다. Mojang의 논리는 “이미 진주·포탈 청크 로딩이 있으니 스폰 청크는 필요 없다”는 것 — 그리고 이제 그 말대로 청크 로더가 유일한 대안이다.

5. 지옥문 청크 로더의 버전별 계보

이 글에서 가장 실용적인 부분이다. 한국어 자료가 이 부분에서 특히 낡았는데, 네더 포탈 로더는 2025년 한 해에만 두 번 크게 바뀌었기 때문이다.

오버월드 쪽 파워레일과 레버로만 구성된 26.x 현행 최소 설계 — 옆에는 이미 다 자란 밀밭이 보인다
현재 세대 설계는 포탈 안쪽에 파워레일 두 칸과 레버, 마인카트 하나가 전부다
세대시기설계왜 그렇게 만들었나
1세대 — 아이템 왕복형~1.21.1드로퍼 3~4개를 쌓아 포탈로 아이템을 뱉고, 반대편은 호퍼·호퍼 마인카트로 받아 되던진다. 컴패레이터+옵저버 클럭으로 주기 제어아이템은 포탈 쿨다운이 짧아 왕복이 쉬웠다. 다만 아이템이 포탈에 제대로 안 들어가고 튕겨 나가는 문제가 있어 포탈 뒤에 벽을 세워야 했다
1세대 변형 — 마인카트형(ilmango식)~1.21.1디스펜서로 마인카트를 발사해 파워레일로 밀어 포탈을 통과시키고, 반대편에서 선인장으로 부숴 아이템화한 뒤 호퍼로 회수해 재발사마인카트는 당시 포탈 쿨다운이 15초라 그냥 두면 왕복이 안 됐다. 그래서 부숴서 아이템으로 만들어 보내는 우회가 필요했다
1세대 변형 — Dark식~1.21.4호퍼 마인카트 1개 + 화로 마인카트 3개. 네더 쪽 포탈 옆 블록에 불을 붙여 마인카트를 태워 아이템화하고, 호퍼 마인카트가 주워 디스펜서로 반환선인장 대신 불을 쓴 변형. 널리 퍼진 대중적 설계였다
2세대 — 단순 레일형1.21.2+포탈 양쪽에 파워레일 + 레버 + 마인카트만. 마인카트가 알아서 왕복1.21.2에서 탈것의 포탈 쿨다운이 15초 → 0.5초로 줄면서 부술 필요 자체가 사라졌다. 클럭·선인장·불이 전부 불필요해진 순간
2세대의 파손과 수정1.21.51.21.5가 포탈 동작을 바꾸면서 Dark식을 포함한 기존 설계 다수가 파손됐다. VidMC는 1.21.5 전용으로 재설계했고(영상), XpenSage도 별도 수정본을 공개했다(영상)이 시기 자료가 특히 혼란스럽다 — “되던 게 안 된다”는 글이 쏟아진 시점이 이때다
3세대 — 현행(26.x)1.21.5+포탈 안쪽에 파워레일 2개 + 레버 + 마인카트를 양쪽 차원에 대칭으로 설치. F3로 방향을 확인해 네더 쪽 레일을 반대 방향으로 깔아야 한다역대 가장 단순한 형태. 포탈 티켓이 영속화되면서 재접속 후 재가동도 필요 없어졌다. 26.2에서 동작 확인됨(UForced 영상)
다 자란 밀밭 — 청크 로더만 걸어 둔 상태에서 틱을 수천 배로 돌려도 문제없이 자란다는 실측
포탈 로더만 걸어 둔 채 틱 스피드를 올려 며칠을 진행해도 근처 밀밭이 정상적으로 자란다

위 표의 3세대가 지금 새로 지을 때 표준으로 삼을 설계다. VidMC의 실측(영상)에서 포탈 로더로 며칠씩 틱을 빠르게 돌려 봐도 근처 밭의 밀이 정상적으로 자라는 게 확인됐다 — 위 3절에서 다룬 “1.21.5부터 엔티티 틱 청크는 랜덤 틱도 받는다”는 변경이 실제로 작동한다는 증거다.

실전에서 고려할 것

XpenSage의 수정 영상은 몇 가지 실전 논점을 짚는다.

  • 단순 레일 루프의 약점: 월드 리로드 시 마인카트가 중간에 끼는 경우가 있고, 반대편(네더)에 끼면 직접 가서 손봐야 한다.
  • 그래서 원격 on/off 스위치가 필요하면 디스펜서·버튼을 쓴 구식 설계가 여전히 쓸모 있다.
  • 진주 스테이시스 챔버를 같은 청크에 하나 놓아 두면, 포탈 로더가 재접속 시 자동으로 다시 켜진다 — 두 방식을 조합하는 게 실용적이다.
  • 베드락 에디션에서는 위 방식이 전부 안 통한다(엔티티가 반대편 차원을 로드하지 않는 구조). 베드락에서 청크를 로드하려면 /tickingarea 명령이 유일한 수단이다.

무엇이 돌아가고 무엇이 안 돌아가나 (26.2 기준)

대상엔티티 틱 청크(포탈 3×3)블록 틱 청크(5×5 바깥 띠)
호퍼·드로퍼·레드스톤·화로(초대형 제련로)OO
마인카트·아이템 이동·몹 AIOX (얼어붙음)
작물·사탕수수·대나무·켈프·선인장 성장O (1.21.5+)X
구리 산화·자수정 성장·잔디 번짐O (1.21.5+)X
주민 재입고·피글린 물물교환O—
철 골렘 팜(주민 기반)OX
일반 몹 스폰(크리퍼·스켈레톤 등)X (플레이어 8청크 필요)X
불 번짐·번개X (플레이어 8청크 필요)X

몹은 언로드 직전 등급에서도 몹캡에는 계속 잡힌다 — 안 그러면 자리를 비운 사이 목장이 텅 비어 보일 것이다. 그리고 엔티티 틱 청크 경계에서 살짝 밀린 엔티티는 블록 틱 청크로 넘어가 그 자리에 얼어붙는다(Rays Works가 보여준 경계 트릭). TNT는 경계 너머 블록을 부수고 엔티티에 피해도 줄 수 있고, 아이템도 경계 너머 호퍼로 회수할 수 있다.

마지막으로 하나만 당부하자면 — 청크 로더는 마인카트와 아이템 처리를 상시로 돌리는 장치다. 여러 개를 몰아 지으면 그만큼 서버 부담이 커진다. 청크가 언로드되는 데는 다 이유가 있다.


이 글에서 다루지 않은 심화 주제(청크 로더 라인으로 먼 거점까지 로딩을 잇는 방법, 네더-오버월드 좌표 8:1 대응)는 Rays Works의 원본 영상 후반부를 참고하면 된다.

참고 영상

본문 스크린샷은 모두 위 영상에서 인용 목적으로 캡처한 것이며 저작권은 각 원저작자에게 있다.

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다