프로젝트 목록

서버 플러그인 · 블록 이력·복구

History

Paper 서버의 블록 변경을 기록하고 선택한 범위를 되돌리는 플러그인. 누가 무엇을 바꿨는지 조회하고, 복구 전에 결과를 미리 확인하세요.

주요 기능

필요한 변경만 찾기
사용자·시간·반경·블록 종류로 이력을 좁혀 봅니다. 월드와 좌표를 지정해 조회할 수도 있습니다.
확인하고 되돌리기
복구할 범위를 미리 보고 승인합니다. 적용 직전에도 블록 상태를 확인하고, 완료된 복구는 다시 취소할 수 있습니다.
WorldEdit 편집도 기록
호환되는 WorldEdit와 FAWE의 블록 편집을 함께 기록합니다. 복구는 History가 직접 처리합니다.
중단된 복구 이어가기
복구 계획과 진행 상태를 저장합니다. 작업 ID로 중단된 복구를 확인하고 이어갈 수 있습니다.
저장 지연에 대비
로컬 저널에 기록한 변경은 DB에 반영하고, 재시작하면 미반영 기록을 중복 없이 다시 처리합니다.

설치

  1. 월드와 플러그인 데이터를 백업하고, GitHub 소스를 Java 25로 빌드합니다.

  2. 서버 사본을 멈추고 JAR을 plugins 폴더에 넣은 뒤 다시 시작합니다.

  3. /history status로 저장소 준비 상태를 확인합니다. /history를 열어 작은 범위부터 조회·복구를 시험하세요.

기본 설정

plugins/History/config.yml

저장소
기본값 storage.backend: sqlite로 시작할 수 있습니다. 외부 DB는 필요 없으며 /history status로 준비 상태를 확인합니다.
기록 범위
logging에서 기록할 항목을 고릅니다. 채팅 기록인 player-messages는 기본적으로 꺼져 있습니다.
보관 기간
storage.retention.days: 0은 무기한 보관입니다. 양수로 바꾸면 오래된 이력이 삭제되므로 복구에 필요한 기간을 먼저 정하세요.
적용
설정 변경 후 서버를 정상 재시작하고 /history status를 확인합니다. PostgreSQL 전환은 별도 안내를 확인하세요.
전체 설정 안내

호환성과 범위

요구 사항

  • Paper 26.2
  • Java 25 이상
  • SQLite 또는 PostgreSQL 저장소
  • WorldEdit 또는 FastAsyncWorldEdit 연동은 선택 사항

사용 전 확인

  • 현재 알파 버전입니다. 운영 적용 전 서버 사본에서 기록과 복구를 검증하세요.
  • 상자 내용물·표지판 글 등 블록 엔티티 데이터 복원은 지원하지 않습니다. 설정으로 켤 수도 없습니다.
  • 엔티티·바이옴 복원, CoreProtect 이력 가져오기, Folia는 지원하지 않습니다.
  • 강제 종료 시 로컬 저널에 기록되기 전의 변경은 유실될 수 있습니다. 감지된 기록 누락은 상태에 표시합니다.

프로젝트 링크