저장 공간 최적화
플러그인 데이터 최적화
섹션 제목: “플러그인 데이터 최적화”/plugins 폴더의 저장 공간을 최적화해야 하는지는 전체 용량만 봐도 쉽게 판단할 수 있다.
200 MB를 넘는다면 어떤 플러그인이 SQLite / YAML / zip 등으로 뭔가를 저장하고 있을 가능성이 크다.
서버에 플레이어가 어느 정도 있다면 이는 추천하는 저장 방식이 아니며, 경우에 따라 저장 공간을 꽤 차지할 수 있다.
데이터베이스 사용
섹션 제목: “데이터베이스 사용”데이터베이스를 잘 쓰면 서버 디스크 사용량을 줄일 수 있다. 자세한 내용은 공통 | 데이터베이스를 참고하자.
백업 공간 최적화
섹션 제목: “백업 공간 최적화”서버 전체 백업 대신 백업 플러그인 사용
섹션 제목: “서버 전체 백업 대신 백업 플러그인 사용”백업 플러그인 두 개를 추천한다(효율적이고, 서버를 멈추지 않고 백업할 수 있다).
eBackup 블랙리스트로 특정 파일을 백업에서 제외할 수 있고, FTP 원격 백업을 지원한다.
Server Backup 증분 백업(최근 변경된 파일만 백업)을 지원해 용량을 덜 차지한다.
월드 저장 공간 최적화
섹션 제목: “월드 저장 공간 최적화”Minecraft의 기본 청크 포맷은 Anvil이다. 하지만 이 포맷은 쓸모없는 정보를 저장하고, 강제 정렬을 쓰는 등 단점이 많다.
게다가 아직도 오래된 zlib 압축을 쓰고 있어서, 디스크가 빠듯하다면 손봐 볼 만하다.
다만 이건 아주 저수준의 영역이라, 꼭 필요한 경우가 아니면 건드리지 않는 것을 추천한다.
오래된 청크 삭제
섹션 제목: “오래된 청크 삭제”Regionerator는 사용하지 않는 청크를 자동으로 삭제한다. 자동으로 동작하고 되돌릴 수 없다는 점에 주의하자.
Linear는 지원하지 않는다.
더 효율적인 저장 방식
섹션 제목: “더 효율적인 저장 방식”Linear
섹션 제목: “Linear”이 포맷은 유명한 Xymb가 개발했으며, Anvil에 비해 공간을 엄청나게 아낄 수 있다.
오버월드는 약 50%, 엔드는 약 90%의 공간을 아낄 수 있고, 최신 zstd & lz4 압축을 써서 로드와 저장 속도도 더 빠르다.
리전 포맷 변환
섹션 제목: “리전 포맷 변환”쓰기 전에 Anvil을 Linear 리전 포맷으로 변환해야 한다. Leaves를 쓴다면 서버 안에서 자동으로 변환할 수 있다.
변환 도구는 아주 간단해서 안내대로만 따라 하면 된다(백업은 꼭 해 두자).
리전 포맷 켜기
섹션 제목: “리전 포맷 켜기”현재 Linear 리전 포맷을 지원하는 서버 코어는 LinearPurpur, LinearPaper, Leaves, Leaf, Kaiiju(그리고 수많은 포크)뿐이다.
켜는 방법은 따로 설명하지 않는다. Wiki를 보면 된다.
호환되지 않는 플러그인
섹션 제목: “호환되지 않는 플러그인”현재 Linear 리전 포맷과 호환되지 않는 것으로 알려진 플러그인은 아주 적다. 백업 플러그인인 Server Backup은 mca 파일을 찾지 못해 오류를 낸다. 대부분의 온라인 웹 맵 뷰어, 그리고 Residence가 일부 호환되지 않는다(z 대신(大神)의 우아한 코드 덕분에, 로드되지 않은 청크에 있는 영역으로 텔레포트하면 크래시가 난다). Regionerator도 호환되지 않는다.
테스트 결과
섹션 제목: “테스트 결과”HaHaWTH가 제공한 테스트 결과다. Chunky로 반경 1000블록을 로드하고 저장했으며, 서버 코어는 Leaf다. 실제 결과는 다를 수 있다.
| 월드 | Anvil (바닐라 포맷) | Linear (압축 레벨 1) | Linear (압축 레벨 6, 기본값) | Linear (압축 레벨 22, 최대) |
|---|---|---|---|---|
| 오버월드 | 192MB | 142MB | 117MB | 92MB |
| 네더 | 118MB | 70MB | 60MB | 46MB |
| 엔드 | 87MB | 1.72MB | 1.2MB | 914KB |
| 저장 시간 | 3m18s | 3m50s | 4m44s | 23m21s |
| 메모리 사용량 | 약 3GB | 3.1GB | 3.3GB | 3.4 ~ 18GB(매우 불안정) |
Slime
섹션 제목: “Slime”Slime 월드 포맷을 참고하자.
-
심볼릭 링크 / 바로 가기로 여러 서버의 lib, Minecraft 본체 등을 공유한다(공간이 정말 부족한 게 아니면 하지 말자. 결과는 본인 책임이다).
-
정리 소프트웨어를 쓴다.
-
운영체제를 다시 설치하고 최소 설치를 한다(필요 없는 소프트웨어는 설치하지 않는다).
-
불필요한 Java가 있는지 확인한다(보통 서버 운영에는 Java 한 버전이면 된다).