PaperMC의 경우 모래 복사를 허용하지 않는다. 이유는 치팅으로 간주 하고 있고 개발사가 의도하지 않는 작동이라고 보고 있기 때문이다. PaperMC 측에서는 모래가 필요 하다면 플러그인을 설치 하고 주민이 모래를 에메랄드와 교환할수 있도록 하거나 커맨드를 통해서 모래를 제공하는것을 추천하고 있다. 하지만 바닐라와 똑같이 작동되도록 하고 싶을 경우는 사용자가 직접 소스를 수정해야 한다.
이에 따라서 PaperMC 소스를 다운로드 받아서 모래 복사 패치를 삭제 하고 컴파일 하면 해결된다.
리눅스 콘솔에 들어가서 아래를 그대로 따라 한다.
$git clone https://github.com/PaperMC/Paper.git
$cd Paper$ rm ./patches/server/0460-Fix-sand-duping.patch
0699-Fix-dangerous-end-portal-logic.patch 열어서 수정해야 한다.
아래 두 라인을 찾아서 주석 처리 한다음 저장하고 나간다.
+ //entity.portalWorld = ((ServerLevel)world); |
+ //entity.portalBlock = pos.immutable();
이름이 다를수도 있으니 잘 확인하라. 인덱스 숫자만 다를수 있다.
$./gradlew applyPatches 패치 적용
$./gradlew reobfJar 컴파일
컴파일된 jar는 Paper-Server/build/libs 폴더에 있다.
추가로 양탄자 복사 TNT 복사, 베드락 뚫기가 막혀 있으나 해제할 수 있다.서버의 papermc 폴더에 가서 paper.yml 을 오픈하고 아래 내용을 true로 변경하고 재시작 하면 된다.
unsupported-settings:
84 allow-permanent-block-break-exploits: true
85 allow-piston-duplication: true
86 allow-headless-pistons: true