압축 & 난독화
플레이어가 리소스팩을 더 빨리 내려받게 하려면(그리고 트래픽을 아끼려면) 리소스팩을 압축해야 한다.
또 다른 사람이 리소스팩을 쉽게 훔쳐 가지 못하게 하려면 난독화도 필요하다.
압축과 난독화에는 PackSquash를 추천한다. 참고로 이 문서는 ZIP 수준의 압축 & 난독화만 다룬다.
다운로드
섹션 제목: “다운로드”공식 사이트에서 내려받으면 된다.
사용법
섹션 제목: “사용법”PackSquash를 쓰려면 작업 디렉터리에 설정 파일 packsquash.toml을 만들어야 한다.
그리고 파일에 다음 내용을 적는다.
pack_directory = 'C:\path\to\pack(리소스팩이 있는 디렉터리를 적는다)'그다음 해당 디렉터리에서 packsquash packsquash.toml을 실행하면 된다.
기타 옵션
섹션 제목: “기타 옵션”출력 파일 위치 지정
섹션 제목: “출력 파일 위치 지정”output_file_path = 'C:\path\to\result\pack\zip\file\my_pack.zip'ZIP 규격 준수 수준
섹션 제목: “ZIP 규격 준수 수준”zip_spec_conformance_level = 'pedantic'기본값은 pedantic으로, ZIP 파일 규격을 완전히 따르기 때문에 어떤 뷰어나 호스팅에서도 인식된다.
disregard는 추가 기능 모드로, 압축 해제 방지와 개선된 내부 ZIP 구조 압축이 들어가 성능이 더 좋다. 적극 추천한다.
ZIP 난독화
섹션 제목: “ZIP 난독화”size_increasing_zip_obfuscation = truedisregard 모드에서 이 옵션을 켜면 생성된 ZIP 파일을 열어 보거나, 압축을 풀거나, 변조하기 어렵게 만드는 보호가 추가되며, 대신 파일 크기가 약간 늘어난다. 파일 크기를 늘리지 않는 보호가 추가되는지와는 상관없는 옵션이고, ZIP 규격 수준이 보호를 제공하지 않으면 아무 효과가 없다.
압축 은닉성
섹션 제목: “압축 은닉성”percentage_of_zip_structures_tuned_for_obfuscation_discretion = 1000(최솟값)으로 설정하면 모든 ZIP 레코드가 압축률을 우선해 저장된다. 반대로 100(최댓값)으로 설정하면 모든 ZIP 레코드가 은닉성을 우선해 저장된다. 그 사이 값은 둘을 섞는다.
OGG 난독화
섹션 제목: “OGG 난독화”ogg_obfuscation = truetwo_pass_vorbis_optimization_and_validation = true이 옵션을 켜면 생성된 Ogg 파일이 일부러 손상되어 Minecraft 밖에서는 재생하기 어려워진다.
FAQ
섹션 제목: “FAQ”PackSquash를 쓴 뒤 ItemsAdder 방어구가 제대로 동작하지 않는다
섹션 제목: “PackSquash를 쓴 뒤 ItemsAdder 방어구가 제대로 동작하지 않는다”설정 파일에 다음 내용을 추가한다.
['**/*?.{fsh,vsh,glsl}']minify_shader = false
['**/textures/models/armor/*?.png']image_data_compression_iterations = 0skip_alpha_optimizations = truecolor_quantization_target = 'none'추천 설정 파일
섹션 제목: “추천 설정 파일”보호 위주
섹션 제목: “보호 위주”zip_spec_conformance_level = 'disregard'size_increasing_zip_obfuscation = truepercentage_of_zip_structures_tuned_for_obfuscation_discretion = 100압축 위주
섹션 제목: “압축 위주”pack_directory = 'src'output_file_path = 'resources.min.zip'zip_spec_conformance_level = 'disregard'zip_compression_iterations = 255never_store_squash_times = true
['**/*?.png']image_data_compression_iterations = 255