마인크래프트 서버를 직접 운영하며 성능과 안정성을 챙기는 방법
자신의 컴퓨터나 클라우드에서 마인크래프트 서버를 돌리면서 지연 시간과 자원 소모를 줄이고 싶은가요. Pumpkin은 게임의 핵심 규칙을 지키면서도 멀티스레딩을 활용해 속도를 높인 서버 소프트웨어입니다. Java와 Bedrock 에디션을 모두 지원하며, 불필요한 기능을 끄거나 플러그인을 추가하는 등 서버를 원하는 대로 꾸밀 수 있습니다.
1.0.0 릴리스 전의 개발 상태
Pumpkin은 현재 활발한 개발 단계에 있으며, 1.0.0 정식 버전 출시 전까지 해야 할 작업 목록이 공개되어 있습니다. 이 점을 인지하고 사용해야 하며, 안정성이 최우선인 환경에서는 주의가 필요합니다. 프로젝트는 성능과 보안, 호환성을 목표로 하고 있으며, 알려진 보안 취약점을 방지하는 데 중점을 두고 있습니다.
서버가 처리하는 게임 요소
Pumpkin은 마인크래프트의 다양한 게임 요소를 추적하고 처리합니다.
- 월드 관리 월드 로딩, 저장, 시간, 경계, 조명, 청크 생성 및 저장을 지원합니다. 청크 로딩 방식으로는 Vanilla, Linear, Pump 방식을 선택할 수 있습니다.
- 플레이어 및 엔티티 플레이어의 스킨, 텔레포트, 이동, 애니메이션, 인벤토리, 전투, 경험치, 배고픔, 오프핸드, 어드밴스먼트(개발 중) 등을 처리합니다. 엔티티 중 비생물(미네카트, 달걀 등)과 생물(모브, 동물, 보스, 마을 사람)은 일부 개발 중입니다.
- 서버 운영 기능 채팅, 명령어, 권한, 번역, 파티클, 인벤토리, 서버 쿼리 프로토콜(MSMP)을 지원합니다. BungeeCord, BungeeGuard, Velocity 프록시와 연동됩니다.
설정과 확장성
Pumpkin은 TOML 형식의 설정 파일을 통해 서버를 구성합니다. 불필요한 기능을 비활성화할 수 있어 서버 리소스를 효율적으로 사용할 수 있습니다. 플러그인 개발을 위한 기반도 제공하며, 플러그인 API는 MIT 또는 Apache-2.0 이중 라이선스로 배포되어 유연하게 사용할 수 있습니다. 이는 서버 운영자가 자신의 필요에 맞춰 기능을 추가하거나 제거할 수 있음을 의미합니다.
사용 전 확인 사항
Pumpkin은 Rust로 작성되어 있으며, Docker를 통해 실행할 수 있습니다. Java와 Bedrock 에디션을 모두 지원하지만, Bedrock 에디션의 일부 기능은 아직 개발 중입니다. 1.0.0 이전 버전이므로, 중요한 데이터가 있는 서버에서는 백업을 철저히 하고, 개발 중이라는 점을 고려하여 사용해야 합니다. 라이선스는 서버 본체는 GPLv3, 플러그인 API는 MIT 또는 Apache-2.0이며, 제3자 자산과 데이터는 각자의 라이선스 조건을 따릅니다. 공식 문서와 Discord 커뮤니티를 통해 최신 업데이트와 도움을 받을 수 있습니다.