개인 자료란 (JE)

  서버 커뮤니티

Profile 카라멜 한마포 개발 담당자

LemonCaramel 7dbb669b758d4e03a10ddbbf6a9a2258

Profile

뉴스 소식

PaperMC, 청크 시스템 재작성 업데이트 배포

2022.09.30 조회 수 1866 추천 수 5
플랫폼 자바 에디션 (JE) 
출처 https://discord.com/channels/28958790905...1222614037 


(  본문과 관련없는 청크 경계 이미지 )


지난 9월 26일, 페이퍼 코어 개발을 이끌고 있는 PaperMC에서 마인크래프트의 청크 시스템을 재작성한 패치를 병합하였습니다.
이번 패치는 페이퍼 포크인 튜이니티 제작자이면서 현재는 PaperMC 소속으로 활동하고 있는 Spottedleaf 님의 작품으로,

Spottedleaf 님은 이전에 DataConverter(DFU 시스템 재작성)Starlight(조명 엔진 재작성) 같이 마인크래프트에서
비효율적인 영역을 완전히 다시 작성해 높은 성능을 낼 수 있는 모드 및 패치도 제작했던 적이 있습니다.
이번에는 더 나아가 청크 시스템을 다시 작성하였습니다.




우선, 기존 청크 시스템과 성능 차이가 얼마나 나는지 확인하기 위해 영상으로 준비해보았습니다.


(  좌: 기존 청크 시스템  |  우: 새 청크 시스템    /   테스트는 양쪽 모두 동일한 설정으로 청크를 새로 생성합니다 )


다음은 청크 시스템 재작성으로 해결된 "이전 시스템"의 문제 목록입니다.

  1. 월드 생성이 CPU 코어에 따라 효과적으로 확장되지 않는 점
  2. 청크 상태(state)를 스케줄링하고 유지하기 위해 메인 스레드에 의존하여, 낮은 TPS에서 청크 로드/생성 속도를 떨어뜨리는 점
  3. 메인 스레드를 차단하는 청크 생성/로드 콜의 신뢰할 수 없는 우선순위 지정
  4. 종료 로직은 모든 청크가 언로드될 때까지 기다려야 하므로 완전히 신뢰할 수 없는 점
  5. 엔티티 데이터를 저장하지 않고 청크 데이터만 저장할 수 있어 데이터 저장이 일관되지 않았던 점
    (서버가 비정상적으로 종료된 경우, 청크와 엔티티의 비동기화 문제가 발생)
  6. 엔티티가 청크와 함께 로드되지 않았던 문제


이번에 "플레이어 청크 스케줄러"를 비동기로 전환하는 패치 또한 추가될 예정이었으나, 다음 개발 분기로 지연되었습니다.




이번 패치는 몇 달간 여러 서버 운영자분들이 테스트해주었지만, 사용 중에 문제가 발생할 수도 있습니다.
잠재적으로 발견되지 않은 버그를 가지고 있기에 업데이트하기 전에 서버를 꼭 백업해두시기 바랍니다.
페이퍼 1.19.2 #174 빌드부터 패치가 적용되며, 자세한 설정은 여기에서 확인할 수 있습니다.




3개의 댓글

데드풀리오
2022.09.30

잘 정리된 정보 감삼다~

이치즈
2022.09.30

오... paper에서 포크된 버전인 purpur 버킷도 적용되는건가요? 청크 로딩으로 인해 발생하는 서버렉이 줄어들겠네요!

프리루트
2022.09.30
@이치즈

넵, 퍼퍼도 공식 디스코드에 #1791 빌드부터 적용시킨다고 공지를 띄웠었네요!

뉴스 및 창작물
/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 4

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3

/files/thumbnails/839/895/003/262x150.crop.jpg?20241006021227

SRV레코드는 보안도메인이 아닙니다. [서버오픈시 필독]

물귀신

2024-10-05

4