Slime 월드 포맷
Slime 월드 포맷은 Hypixel이 개발한 월드 저장 포맷이다.
장점:
- zlib 대신 zstd를 써서 용량과 로딩 속도가 크게 개선된다.
- 데이터베이스를 로딩 백엔드로 쓸 수 있어, 여러 서버에 걸친 미니게임에 아주 유용하다.
- readonly를 지원한다. 게임이 끝나면 변경 사항은 사라진다.
- 메모리에 미리 로드되므로 플레이어가 로딩 때문에 렉을 겪지 않는다.
적합한 서버:
- 대형 야생 월드에는 맞지 않고, 미니게임 맵이나 서버 로비 같은 작은 월드에 적합하다.
다운로드
섹션 제목: “다운로드”GitHub Release에서 맞는 버전을 받으면 된다.
plugin-***-R0.1-SNAPSHOT.1.jarASM의 플러그인 버전(추천).asp-server.jarASM의 독립 서버 코어 버전(Paper 기반).importer-***-R0.1-SNAPSHOT.jarASM의 독립 임포트 도구. 바닐라 월드 포맷을 SRF 포맷으로 변환할 수 있다.
GitHub Release에서 최신 버전을 받는다.
swoftyworldmanager-plugin-<version>.jar를 플러그인 디렉터리에 넣는다.swoftyworldmanager-classmodifier-<version>.jar를 서버 루트 디렉터리에 넣는다.
시작 인자를 추가한다.
-javaagent:swoftyworldmanager-classmodifier-<version>.jarswoftyworldmanager-importer-<version>.jar로 바닐라 월드 포맷을 SRF 포맷으로 가져올 수 있다.
이 부분에서는 Slime 월드를 설정하는 방법을 다룬다.
월드 설정 옵션
섹션 제목: “월드 설정 옵션”예시:
worlds: my_great_world: source: mongodb loadOnStartup: false readOnly: true spawn: 940, 2, -370 allowMonsters: false allowAnimals: false difficulty: peaceful pvp: false environment: NORMAL worldType: defaultsource 월드를 저장할 데이터 소스 이름.
사용 가능한 값: file, mysql, mongodb. 서드파티 플러그인이 제공하는 다른 데이터 소스도 쓸 수 있다.
loadOnStartup 서버 시작 시 월드를 로드할지 여부.
사용 가능한 값: true, false.
readOnly 읽기 전용 옵션.
true이면 월드의 변경 사항이 절대 저장되지 않는다. false이면 월드가 잠기므로, 다른 서버는 읽기 전용 모드가 아니면 이 월드에 접근할 수 없다.
spawn 월드의 스폰 좌표.
기본값: 0, 255, 0
environment 월드 환경.
사용 가능한 값: normal, nether, the_end
worldType 월드 유형.
사용 가능한 값: default, flat, large_biomes, amplified, customized, debug_all_block_states, default_1_1.
나머지 옵션은 이름만 봐도 뜻을 알 수 있으니 설명은 생략한다.
데이터 소스 설정
섹션 제목: “데이터 소스 설정”데이터베이스에 월드를 저장하려면 먼저 sources.yml에서 설정해야 한다. 예시:
file: # 월드를 저장할 경로 path: slime_worldsmysql: enabled: true host: 127.0.0.1 port: 3306 username: my_mysql_username password: my_mysql_password database: slimeworldmanagermongodb: enabled: true host: 127.0.0.1 port: 27017 username: my_mongo_username password: my_mongo_password auth: admin database: slimeworldmanager collection: worlds명령어
섹션 제목: “명령어”공식 Wiki를 참고하자.
월드 변환
섹션 제목: “월드 변환”공식 Wiki를 참고하자.
비동기 월드 생성
섹션 제목: “비동기 월드 생성”설정 파일에서 enable_async_world_gen 옵션을 켜면 된다.
FAQ
섹션 제목: “FAQ”기본 월드를 덮어쓸 수 있나?
섹션 제목: “기본 월드를 덮어쓸 수 있나?”물론이다.
Slime은 Multiverse-Core와 호환되나?
섹션 제목: “Slime은 Multiverse-Core와 호환되나?”Multiverse-Core는 월드 디렉터리를 찾지 못하기 때문에 Slime 월드를 로드되지 않은 상태로 보고 그냥 무시한다. 문제가 생기지는 않지만, Multiverse-Core로 Slime 월드를 다룰 수는 없다.
Slime에 월드 크기 제한이 있나?
섹션 제목: “Slime에 월드 크기 제한이 있나?”있다. Slime은 최대 46340x4630 청크 영역까지 처리할 수 있다. 메모리가 충분하다는 전제하에 이론상 처리 가능한 최대 크기다. 물론 이렇게 큰 월드는 전혀 추천하지 않는다.