
이런 분들께 추천합니다
- 며칠 동안 짓던 건축물이 한순간에 사라질까 불안하신 분
- GCP 무료 크레딧 90일이 곧 끝나서 월드 데이터를 PC로 내려받아야 하는 분
- 기존 PC에 있던 싱글 월드를 GCP 서버로 옮겨서 친구들과 같이 즐기고 싶으신 분
요약
| 문제 | 월드 데이터가 망가지거나 사라질 수 있고, GCP 90일 만료 시 월드를 옮겨야 한다 |
| 시도 | 안전한 백업 절차 + GCP 콘솔 SSH로 PC ↔ GCP 파일 이동 |
| 해결 | stop (또는 /save-all) → 폴더 복사 → 필요 시 PC ↔ GCP 마이그레이션 → 복원 |
이 글을 따라하면 중요한 시점에 안전하게 월드를 백업할 수 있고, 90일 무료 크레딧 만료 전에 GCP 월드를 PC로 내려받거나 반대로 PC 월드를 GCP에 올려서 친구들과 같이 즐길 수 있습니다.
📖 마이그레이션(Migration)이란?
데이터를 한 곳에서 다른 곳으로 옮기는 작업.
한국어로는 "이주" 또는 "이전"으로 번역해요.
이 글에서는 마인크래프트 월드 폴더를 다른 환경으로 옮기는 작업을 의미합니다.
예를 들어:
내 PC 서버 → GCP 클라우드 서버 GCP 클라우드 서버 → 내 PC (90일 만료 대비) 기존 GCP 인스턴스 → 새 GCP 인스턴스 (사양 업그레이드)
사전 준비
- 백업할 마인크래프트 서버 (PC 또는 GCP)
- (PC ↔ GCP 마이그레이션 시) GCP 콘솔에 로그인할 수 있는 웹 브라우저
1. 월드 폴더가 뭔가요?
마인크래프트 서버에서 "월드"는 폴더 단위로 저장됩니다. 26.1+ 버전에서는 world 폴더 하나 안에 모든 차원이 통합되어 들어있어요.
minecraft-server/
├── server.jar
├── server.properties
├── whitelist.json
├── ops.json
└── world/ ← 모든 차원이 여기 안에!
└── dimensions/
└── minecraft/
├── overworld/ ← 오버월드 (메인 차원)
├── the_nether/ ← 네더
└── the_end/ ← 엔드
이 world 폴더 하나가 월드 데이터의 전부입니다. 이걸 통째로 복사하면 백업이고, 다른 서버에 가져다 놓으면 이주(마이그레이션)입니다.
⚠️ 26.1+에서 폴더 구조가 바뀌었어요! (직접 검증)
구글 검색하면 대부분 옛날 자료라 world, world_nether, world_the_end 세 개의 폴더를 백업하라고 나옵니다. 하지만 제가 26.1.2 버전 서버를 열고 플레이해보니, 26.1+에서는 모든 차원이 world/dimensions/minecraft/ 안에 통합되었습니다.
그래서 26.1+에서는 world 폴더 하나만 복사하면 오버월드 / 네더 / 엔드 데이터가 다 백업됩니다. 훨씬 간편해졌어요!
(이 글은 26.1+ 기준으로 작성되었습니다.)
📦 1.21 이하 구버전이라면
26.1 이전 버전(1.21.x 포함)에서는 차원이 별도 폴더로 분리되어 있었어요.
minecraft-server/ ├── world/ ← 오버월드만 ├── world_nether/ ← 네더 (별도 폴더) └── world_the_end/ ← 엔드 (별도 폴더)따라서 백업할 때는 세 폴더를 모두 복사해야 합니다. 글의 각 명령어 섹션 아래에 구버전용 박스가 따로 정리되어 있어요.
💡 본인 버전 확인 방법: 서버 폴더에서 world_nether 폴더가 따로 있으면 구버전, world 폴더 하나만 있으면 26.1+ 입니다.
💡 level-name을 변경했다면 외전 EP.02에서 server.properties의 level-name을 다른 이름으로 바꿨다면, world 대신 그 이름으로 폴더가 생성됩니다. 본인 서버 폴더에서 확인하세요.
2. 백업/이주 전 필수 절차
월드 폴더를 안전하게 복사하려면 서버가 그 파일을 쓰고 있지 않은 상태여야 합니다. 서버가 켜진 채로 복사하면 파일이 깨질 수 있어요.
방법은 두 가지인데, 둘 중 하나만 하면 됩니다.
2-1. 방법 1: 서버 완전히 종료 (안전, 추천)
서버 콘솔에 stop을 입력합니다.
stop
stop 명령은 내부적으로 자동으로 모든 청크를 저장한 후 서버를 종료합니다. /save-all을 따로 실행할 필요 없어요. 가장 안전하고 간단한 방법입니다.
2-2. 방법 2: 서버 켜둔 채로 일시 정지
서버를 끄지 않고 잠깐 저장만 멈추는 방법입니다. 친구들이 접속 중이라 서버를 못 끄는 상황에서 빠르게 백업할 때 사용하세요.
/save-all
/save-off
- /save-all: 즉시 모든 변경사항을 디스크에 저장
- /save-off: 그 후로 자동 저장을 일시 중지 (백업 중에 파일이 또 변경되는 걸 막기 위함)
⚠️ 백업이 끝난 후에는 반드시 /save-on을 실행하세요! 안 켜면 그 이후의 플레이 진행이 디스크에 저장되지 않습니다.
/save-on
💡 언제 어느 방법을 쓰나요?
- 혼자 운영하는 친구 서버 → stop으로 완전 종료가 가장 깔끔
- 친구들이 접속 중인데 백업해야 할 때 → /save-all + /save-off
Part 1. 기본 백업
3. Windows에서 백업하기
3-1. 서버 종료 (또는 save-off)
위 2번 절차로 서버 저장을 중단합니다.
3-2. 월드 폴더 복사
서버 폴더를 열고 world 폴더 하나만 선택합니다. 26.1+에서는 모든 차원이 world 안에 통합되어 있어서 이 폴더 하나만 복사하면 끝입니다.
마우스 우클릭 → 복사 → 다른 위치(외장 하드, 다른 드라이브 등)에 붙여넣기.

폴더 이름에 날짜를 붙여두면 관리하기 편합니다.
world_2026-04-27/
📦 1.21 이하 구버전이라면
구버전에서는 world 폴더 하나가 아닌 세 폴더를 복사해서 보관하면 됩니다.
world/ world_nether/ world_the_end/
마찬가지로 우클릭 → 복사 → 붙여넣기 후 날짜를 붙여두세요.
이 방법은 각 폴더 이름을 바꿔서 귀찮으니까 zip으로 압축하거나 한 폴더에(ex. backup_2026-04-27) 넣어서 보관하는 것을 추천합ㄴ디ㅏ.world_2026-04-27/ world_nether_2026-04-27/ world_the_end_2026-04-27/
3-3. ZIP으로 압축 (선택)
여러 백업이 쌓이면 용량이 커집니다. world 폴더를 우클릭 → 보내기 → 압축(ZIP) 폴더로 묶으면 용량이 절반 이하로 줄어듭니다.
backup_2026-04-27.zip
📦 1.21 이하 구버전이라면
세 폴더를 모두 선택한 상태에서 우클릭 → 보내기 → 압축(ZIP) 폴더로 묶으면 한 파일로 합쳐집니다.

4. Ubuntu(GCP)에서 백업하기
4-1. 서버 저장 중단
tmux 세션에 들어가서 (EP.07 참고):
tmux attach -t mc
서버 콘솔에서 stop을 입력하거나, 운영 중이라면 /save-all → /save-off.
4-2. tar로 압축 백업
서버 디렉토리에서 tar 명령어로 world 폴더를 압축합니다. (서버 경로는 본인 환경에 맞춰 수정)
cd ~/minecraft-server
tar -czf ~/world_$(date +%Y-%m-%d).tar.gz world
명령어 풀이:
- tar -czf: 압축(z = gzip)해서(c = create) 파일로(f = file) 만들기
- ~/world_$(date +%Y-%m-%d).tar.gz: 홈 디렉토리에 world_2026-04-26.tar.gz 같은 이름으로 저장
- 마지막 인자: 압축할 폴더 (world 하나면 충분)
📦 1.21 이하 구버전이라면
구버전에서는 세 폴더를 한 번에 압축해야 합니다. tar 명령어 마지막에 폴더 이름들을 나열하세요.
cd ~/minecraft-server tar -czf ~/world_$(date +%Y-%m-%d).tar.gz world world_nether world_the_end

4-3. 백업 파일 확인
ls -lh ~/world_*.tar.gz
생성된 백업 파일 크기와 날짜가 표시됩니다.

⚠️ GCP 인스턴스가 통째로 사라지면 백업도 같이 사라져요 위에서 만든 .tar.gz는 같은 GCP VM 안에 있으니까, VM이 삭제되면 백업도 함께 사라집니다. 5번 (GCP → PC 이주)에서 다룰 방법으로 본인 PC에도 다운로드 해야합니다.
4-4. 저장 다시 켜기
서버를 끄지 않고 백업했다면 /save-on으로 자동 저장을 다시 활성화합니다.
/save-on
Part 2. PC ↔ GCP 이주 (마이그레이션) ⭐
여기부터가 진짜 핵심입니다. 시나리오별로 정리합니다.
5. GCP 월드를 PC로 내려받기 (90일 만료 대비)
GCP 무료 크레딧 90일이 끝나면 인스턴스가 정지/삭제될 수 있습니다. 만료되기 전에 월드를 본인 PC로 백업해두는 게 필수예요.
5-1. GCP에서 백업 파일 만들기
위 4번 절차로 ~/world_2026-04-27.tar.gz 같은 압축 파일을 먼저 만듭니다.
5-2. GCP 콘솔 SSH로 다운로드
GCP 콘솔에서 제공하는 브라우저 SSH가 가장 쉬운 방법입니다. 별도 도구 설치 없이 GCP 로그인만 되어 있으면 바로 가능해요.
다운로드 절차:
- GCP 콘솔 접속 → Compute Engine → VM 인스턴스
- 인스턴스 우측의 SSH 버튼 클릭 → 브라우저에 터미널 창이 뜸
- 메뉴에서 "DOWNLOAD FILE" 선택
- 파일 경로 입력 (예: /home/사용자명/world_2026-04-27.tar.gz)
- 끝! 본인 PC의 다운로드 폴더에 자동 저장


💡 파일 경로를 잘 모르겠다면 SSH 터미널에서 pwd 명령으로 현재 위치를 확인하고, ls로 파일 목록을 볼 수 있어요. 위 명령어로 만든 백업은 보통 /home/사용자명/ 안에 있습니다.

5-3. PC에서 압축 풀기
다운받은 .tar.gz 파일은 압축 형식이 Linux 표준이라 Windows 기본 도구로는 안 풀려요. 두 가지 방법이 있습니다.
방법 1: 반디집 사용 (한국 사용자 추천)
반디집 설치 후 .tar.gz 파일을 우클릭 → 반디집으로 압축 풀기.

💡 반디집은 .tar.gz 두 단계 압축을 한 번에 풀어줘서 편해요. 풀고 나면 바로 폴더가 나옵니다.
방법 2: 7-Zip 사용
7-Zip 설치 후 .tar.gz 파일 우클릭 → 7-Zip → 여기에 압축 풀기.
방법 3: Powershell 사용
Powershell 명령어로 한 번에:
tar -xzf world_2026-04-27.tar.gz
이제 world 폴더 하나가 풀려있을 겁니다.. 그 안의 dimensions/minecraft/ 안에 오버월드, 네더, 엔드가 모두 들어있습니다.
📦 1.21 이하 구버전이라면
구버전 백업 파일을 풀면 world 하나가 아니라
세 폴더가 같은 위치에 나옵니다.
world/
world_nether/
world_the_end/
세 폴더가 모두 같은 곳에 풀려있어야 정상이에요.

5-4. PC에서 확인해보기 (선택)
복원한 월드를 마인크래프트 자바 에디션 클라이언트에서 싱글로 열고 싶다면, 해당 버전의 서버 구동기를 로컬에 띄운 후 localhost 에 접속하여 확인하면 됩니다!
6. PC 월드를 GCP로 올리기
PC에서 친구들과 즐기던 로컬 서버를 GCP로 옮겨서 24시간 운영하고 싶을 때 쓰는 시나리오입니다.
6-1. PC 서버 폴더 찾기
EP.01 EP.07을 따라 만든 PC 서버 폴더로 이동합니다. 그 안에 있는 world 폴더가 옮길 월드 데이터예요.
요.
내_서버_폴더/
├── server.jar
├── server.properties
├── world/ ← 이 폴더가 핵심!
└── ...
📦 1.21 이하 구버전이라면
구버전 PC 서버는 world 외에 world_nether, world_the_end 폴더도 함께 있을것입니다. 옮길 때 세 폴더 모두가 월드 데이터입니다.
내_서버_폴더/ ├── server.jar ├── server.properties ├── world/ ← 오버월드 ├── world_nether/ ← 네더 ├── world_the_end/ ← 엔드 └── ...
6-2. PC에서 압축
PC 서버를 안전하게 종료(stop) 한 후, world 폴더를 ZIP으로 압축합니다.
world.zip
⚠️ 압축 방법 주의! world 폴더 자체를 통째로 압축하세요
압축한 ZIP을 풀었을 때 world/ 폴더가 그대로 나와야 정상입니다.
- ✅ 올바른 방법: world 폴더 자체를 우클릭 → 압축
- ❌ 잘못된 방법: world 폴더 안에 들어가서 파일들을 전부 선택 → 압축
잘못 압축하면 GCP에서 풀 때 level.dat, region/ 같은 파일들이 폴더 없이 쏟아져 나와서 서버 폴더 안에 직접 풀리게 됩니다. (server.jar 같은 기존 파일과 섞임)
📦 1.21 이하 구버전이라면
구버전 PC 서버는 world, world_nether, world_the_end 세 폴더를 모두 압축해야 합니다.
세 폴더를 한 번에 선택 → 우클릭 → 보내기 → 압축(ZIP) 폴더로 묶으면 한 파일로 합쳐져요. 마찬가지로 폴더 자체를 선택해야 합니다 (안에 들어가서 파일들 선택 X).
6-3. GCP 콘솔 SSH로 업로드
다운로드와 마찬가지로 GCP 콘솔의 브라우저 SSH에서 업로드 가능합니다.
업로드 절차:
- GCP 콘솔 → Compute Engine → VM 인스턴스
- 인스턴스의 SSH 버튼 클릭
- "UPLOAD FILE" 선택
- 본인 PC에서 world.zip 파일 선택
- 끝! GCP 인스턴스의 홈 디렉토리(/home/사용자명/)에 업로드됨


업로드된 위치는 SSH 터미널에서 ls ~/로 확인할 수 있어요.
6-4. GCP에서 기존 월드 백업 후 교체
기존 GCP 서버에 월드가 있다면 먼저 백업해둡니다.
cd ~/minecraft-server
# 기존 월드를 날짜 붙여서 백업 (혹시 모를 상황 대비)
mv world world_2026-04-27
# 새 월드 풀기
cd ~
unzip world.zip -d ~/minecraft-server/
💡 날짜를 붙여두면 좋은 이유 나중에 폴더 목록을 봤을 때 "아 이게 4월 26일에 교체 직전의 월드구나" 하고 바로 알 수 있습니다.
unzip이 없다면 sudo apt install unzip으로 설치합니다.
📦 1.21 이하 구버전이라면
구버전도 위와 마찬가지로 진행하면 됩니다!
본질은 3개의 폴더가 서버 구동기가 있는 폴더에 들어가면 됩니다.
6-5. server.properties 확인 (옵션)
보통 이 옵션은 건들지 않으니 이 파트를 넘기시면 됩니다.
하지만 server.properties에서 level-name을 바꾸셨다면 폴더명을 맞춰주세요.
6-6. 서버 시작
EP.07의 start.sh로 서버를 켜고, 마크 클라이언트에서 접속해서 월드가 정상 로드되는지 확인합니다.
저 같은 경우 로컬에 있는 서버 데이터를 마이그레이션 하는것을 성공했습니다.

Part 3. 복원 / 적용
7. 백업한 월드를 서버에 다시 적용하기
월드 데이터가 망가졌거나 이전 백업으로 되돌리고 싶을 때.
7-1. 서버 종료
stop
7-2. 기존 월드 폴더 백업 (만일을 위해)
# Ubuntu
mv world world_old
Windows에서는 폴더 이름을 world_old로 변경.
7-3. 백업 폴더 복원
백업한 폴더가 압축 파일이라면 풀어서 서버 폴더에 넣기:
# Ubuntu
cd ~/minecraft-server
tar -xzf ~/world_2026-04-27.tar.gz
압축하지 않은 폴더 그대로면 단순히 복사:
# Ubuntu
cp -r ~/backup/world ~/minecraft-server/
📦 1.21 이하 구버전이라면
구버전은 세 폴더를 모두 백업하고 복원하면 됩니다.
보통 한 파일로 압축을 하고 한번에 압축을 풀기때문에 위와 같은 방식으로 하시면 됩니다.
7-4. 서버 재시작
EP.07의 실행 스크립트로 서버를 다시 켜면 백업한 시점의 월드로 돌아갑니다.
7-5. 정상 작동 확인 후 임시 폴더 제거
복원이 잘 됐다면 world_old 같은 임시 폴더는 삭제해도 됩니다.
8. 트러블슈팅
이 글을 직접 따라하면서 마주칠 수 있는 대표적인 에러들과 해결 방법입니다.
8-1. class file version 69.0 에러 (Java 버전 불일치)
증상: 서버를 켤 때 다음 에러가 뜸
Error: LinkageError occurred while loading main class net.minecraft.bundler.Main
java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been
compiled by a more recent version of the Java Runtime (class file version 69.0),
this version of the Java Runtime only recognizes class file versions up to 65.0
원인: 마인크래프트 26.1+ 서버는 Java 25가 필요한데, 시스템에 Java 21 (또는 더 낮은 버전)만 설치되어 있는 경우입니다.
각 숫자가 의미하는 Java 버전:
- class file version 65.0 → Java 21
- class file version 69.0 → Java 25
해결: Java 25 설치
sudo apt update
sudo apt install openjdk-25-jre-headless -y
설치 후 확인:
java -version
# openjdk version "25..." 가 나오면 성공
💡 참고: 1.21.x 서버는 Java 21이 최소 요구사항이지만 Java 25에서도 정상 작동합니다 (하위 호환). 즉, Java 25 하나만 설치해두면 1.21.x ~ 26.1+ 모두 돌릴 수 있어요.
8-2. unzip 했는데 파일들이 server.jar 옆에 쏟아져 나옴
증상: unzip world.zip -d ~/minecraft-server/ 실행했는데, world/ 폴더가 만들어지지 않고 level.dat, region/, data/ 같은 파일들이 server.jar과 같은 위치에 직접 풀림
~/minecraft-server/
├── server.jar
├── server.properties
├── level.dat ← 압축에서 풀린 거 😱
├── region/ ← 압축에서 풀린 거 😱
└── data/ ← 압축에서 풀린 거 😱
원인: ZIP 압축할 때 world 폴더 자체를 압축한 게 아니라, world 폴더 안에 들어가서 파일들을 선택해 압축한 경우입니다. 그러면 ZIP 파일 안에 world/ 폴더 없이 내용물이 바로 들어있어서, 풀면 그대로 쏟아져 나옵니다.
해결: 두 가지 방법
방법 1: 쏟아진 파일들 정리하기 (이미 풀린 경우)
cd ~/minecraft-server
# 빈 world 폴더 만들기
mkdir world
# 쏟아진 파일들을 world 폴더로 이동
# (server.jar, server.properties 등은 이동하지 않게 주의!)
mv level.dat region data poi entities playerdata world/
# ... 기타 월드 파일들
방법 2: 처음부터 다시 압축하기 (가장 확실)
PC에서 ZIP을 다시 만드세요. world 폴더 자체를 우클릭해서 압축해야 합니다. 폴더 안에 들어가서 파일들 선택하지 마세요.
압축이 제대로 됐는지 확인하려면, ZIP 파일을 더블클릭해서 안을 보면 world/ 폴더가 보여야 정상입니다.
💡 사전 방지: unzip 전에 unzip -l world.zip으로 압축 안 내용을 미리 확인할 수 있어요. world/ 폴더가 최상위에 보이면 안전, 파일들이 직접 보이면 위험.
마무리
전체 흐름을 정리하면 다음과 같습니다
.
기본 백업:
- 서버 저장 중단 (stop 또는 /save-all + /save-off)
- world 폴더 복사 (Windows) 또는 tar 압축 (Ubuntu) — 26.1+ 부터 모든 차원이 통합됨
- 서버 자동 저장 기능 다시 켜기 ( /save-on)
- 외부 저장소(외장 하드, 본인 PC 등)에 보관
PC ↔ GCP 마이그레이션:
- GCP → PC: GCP 콘솔 SSH의 파일 다운로드 (90일 만료 대비)
- PC → GCP: GCP 콘솔 SSH의 파일 업로드 (싱글 월드를 서버로)
복원:
- 기존 월드는 임시 폴더로 옮기고, 백업 풀어서 서버 폴더에 적용 → 재시작
이제 며칠 동안 짓던 건축물이 사라질 걱정도, GCP 무료 이후의 걱정도 없어졌습니다!
운영 시리즈 마무리
운영편 4편을 모두 완주했습니다.
EP1, EP2의 환경은 마인크래프트 1.2.11환경이었는데 최근에 26.1 버전이 나오면서 서버 폴더 구조가 다른 점이 생겼네요.
그 때문에 운영편을 적으면서 최대한 이전 버전과 최신버전을 나눠 적었습니다.
혹시 문제가 있으시거나 이해가 잘 안되시는 부분 있으면 댓글 달아주세요!
- EP.07: 실행 스크립트로 서버 켜기 자동화
- EP.08: server.properties로 서버 설정 자유자재로
- EP.09: 화이트리스트로 친구만 받기
- EP.10: 백업과 PC ↔ GCP 마이그레이션로 월드 데이터 안전하게
'게임 > 마크빌드업' 카테고리의 다른 글
| [운영] 화이트리스트로 원하는 사람만 접속하게 하기 + OP 설정 | 마크빌드업 EP.09 (0) | 2026.04.27 |
|---|---|
| [운영] server.properties로 서버 설정하기 26.1+ | 마크빌드업 EP.08 (0) | 2026.04.27 |
| [운영] 서버 실행 스크립트 만들기 (Windows, Ubuntu) | 마크빌드업 EP.07 (0) | 2026.04.27 |
| Paper API 핵심 개념 + 미니게임 플러그인 실습 | 마크빌드업 EP.06 (0) | 2026.02.27 |
| 마인크래프트 플러그인 만들기 – 환경 세팅부터 배포까지 (IntelliJ + Paper API) | 마크빌드업 EP.05 (0) | 2026.02.24 |