프로젝트 목록

서버 플러그인 · 월드 백업·복원

Timemachine

Paper 월드의 영역 파일을 전체·증분 백업하는 플러그인. 예약한 시각에 백업하고, 복원 전에 파일과 백업 연결을 검증합니다.

주요 기능

변경분만 차곡차곡
첫 백업을 기준으로 바뀐 영역 파일과 삭제 내역을 저장합니다. 필요하면 전체 백업을 새로 만듭니다.
정해진 시각에 백업
매일 실행할 시각과 시간대를 설정합니다. /tmb status에서 진행 상황과 다음 일정을 확인합니다.
복원 전에 검증
SHA-256으로 파일을 검사하고, 복원에 필요한 기준 백업과 중간 백업이 모두 있는지 확인합니다.
원본을 덮어쓰지 않는 복원
서버를 멈춘 뒤 명령줄 도구로 새 폴더에 복원합니다. 실행 중인 월드를 자동 교체하지 않습니다.
복원에 필요한 백업 보존
보존 정리는 개별 파일이 아닌 백업 묶음 단위로 수행합니다. 현재 사용 중인 묶음은 보호합니다.

설치

  1. GitHub 소스를 Java 25로 빌드하고, 서버를 멈춘 뒤 JAR을 plugins 폴더에 넣습니다.

  2. 서버를 다시 시작하고 /tmb backup으로 첫 백업을 만듭니다. /tmb status와 /tmb doctor로 상태를 확인합니다.

  3. /tmb history에서 백업 ID를 확인하고 /tmb verify <백업 ID>로 검증합니다. 서버 사본에서 복원도 시험하세요.

기본 설정

plugins/Timemachine/config.yml

먼저 백업 확인
기본값으로 /tmb backup을 실행할 수 있습니다. 저장 공간과 첫 백업을 확인한 뒤 자동 백업을 켜세요.
자동 백업
schedule.enabled를 true로 바꾸고 daily-times에 실행 시각을 적습니다. timezone은 사용할 시간대로 지정합니다.
적용
/tmb reload 후 /tmb status에서 다음 실행 시각을 확인합니다. 아래 예시는 한국 시간 매일 오전 4시입니다.

아래 항목만 기존 설정에 반영하세요. 파일 전체를 덮어쓰지 마세요.

schedule:
  enabled: true
  daily-times:
    - "04:00"
  timezone: "Asia/Seoul"
전체 설정 안내

호환성과 범위

요구 사항

  • Paper 26.2 build 111 이상
  • Java 25 이상
  • 월드 파일 읽기 권한과 백업 저장 공간
  • 외부 DB 서버·클라이언트 모드 불필요

사용 전 확인

  • 서버 전체 백업이 아닙니다. 로드된 월드의 region, entities, poi 영역 파일을 백업합니다.
  • playerdata, level.dat, 데이터팩, 플러그인 데이터와 서버 설정은 별도로 백업하세요.
  • Folia, 실행 중인 월드 복원, 압축·암호화·클라우드 업로드는 지원하지 않습니다.
  • 보존 정리는 기본적으로 꺼져 있습니다. 켜기 전에 보존 정책과 복원 가능 여부를 확인하세요.

프로젝트 링크