Minecraft 플러그인 ProtocolLib
ProtocolLib와 확인된 서버에 대한 정보
🔌 ProtocolLib 소개
ProtocolLib는 다른 플러그인에 Minecraft 네트워크 프로토콜을 노출하는 플러그인 라이브러리입니다. 서버와 클라이언트 사이의 원시 패킷을 읽고, 수정하고, 취소하고, 전송할 수 있는 API를 제공하며, 플러그인이 난독화된 서버 내부 구현에 의존하지 않아도 되게 해줍니다.
🎯 목적
ProtocolLib는 패킷 수준 작업을 플러그인 개발자에게 안정적이고 유지보수하기 쉽게 만들기 위해 존재합니다. 안정적인 API 뒤로 패킷 접근을 중앙화하여, 여러 플러그인이 서버 내부 클래스에 직접 연결하지 않고도 패킷 트래픽을 검사하고 변경할 수 있게 합니다.
⚙️ 기능
- 들어오고 나가는 패킷을 가로채는 이벤트 스타일 API.
- 문자열, int, 벡터 등 일반적인 패킷 필드를 위한 읽기/쓰기 접근자.
- 패킷이 목적지에 도달하기 전에 취소하거나 내용을 수정할 수 있는 기능.
- 서버 측에서 패킷을 생성하고 전송하는 유틸리티.
- 인덱스 기반 읽기/쓰기 시스템 뒤에 난독화된 서버 클래스를 숨겨 버전 간 안정성을 향상.
- 서버 측 jar로 배포되며 플러그인 빌드의 컴파일 시 의존성으로 사용할 수 있음.
🧩 대상
- 패킷 수준 제어가 필요한 플러그인 개발자(꾸미기, 변장, 클라이언트 전용 효과, 네트워크 유틸리티 등).
- 직접적인 프로토콜 접근에 의존하는 플러그인을 운영하는 서버 관리자.
🏗️ 예시 사용 사례
- 채팅 패킷을 감시해 메시지가 적용되기 전에 서버 측 필터를 구현.
- 가공한 폭발 패킷을 플레이어에게 보내 월드 상태를 바꾸지 않고 클라이언트 측 효과를 생성.
- 패킷 조작이 필요한 변장, 커스텀 애니메이션, 기타 클라이언트 전용 비주얼 구현.
⌨️ 명령어
ProtocolLib 자체는 사용자용 명령어를 제공하지 않습니다. 기능 플러그인이라기보다 개발자용 라이브러리입니다.
⚙️ 설치
📥 설정
- 공식 ProtocolLib jar를 다운로드해 서버의
plugins/디렉터리에 넣습니다. - 서버를 재시작하고 서버 콘솔을 확인해 플러그인이 오류 없이 로드되는지 확인합니다.
- ProtocolLib를 사용하는 플러그인을 개발할 때는 ProtocolLib를 컴파일 시 의존성으로 추가하고 플러그인 매니페스트에 선언합니다(또는 soft-depend로 지정합니다).
📦 의존성
- ProtocolLib는 작동에 다른 서버 플러그인이 필요하지 않습니다. 다른 플러그인들이 라이브러리로 사용하도록 설계되었습니다.
🧾 설정
- ProtocolLib는 첫 실행 시 자체 설정 파일을 생성합니다. 플러그인별 설정은 ProtocolLib를 사용하는 플러그인에서 처리합니다.
🧠 기술 메모
- ProtocolLib는 패킷 리스너를 등록하고 프로그래밍 방식으로 패킷을 전송할 수 있는
ProtocolManager진입점을 제공합니다. - 이 프로젝트는 GPL-2.0 라이선스로 배포됩니다.
- Maven/Gradle 좌표는 컴파일 시 의존성으로 사용하도록 공개되어 있습니다.
- ProtocolLib는 다양한 Minecraft 서버 버전에 대한 호환성을 고려해 유지보수되며, 주로 Bukkit 계열 서버 소프트웨어를 대상으로 합니다.
🤝 이 플러그인이 유용한 경우
클라이언트 측 효과, 커스텀 비주얼, 또는 네트워크 수준 훅을 위해 Minecraft의 원시 프로토콜을 검사하거나 변경해야 한다면, ProtocolLib가 그 작업을 중앙에서 정리하고 안정화하여 여러 플러그인이 안전하게 패킷과 상호작용할 수 있게 해줍니다.
- Restarting...1853.51
- The Best In The Game1,33452.23
- A Minecraft Server851.72
- Akoot&Co
Java와 Bedrock을 지원하는, 커뮤니티 중심의 아늑한 SMP입니다. 공개 라이브 월드 맵, 기부 상점, 그리고 편하게 건축하고 탐험할 수 있는 편의 기능을 제공합니다.
349.99 - Froggie
보호된 클레임, 플레이어 상점과 경매가 있는 경제 시스템, 여러 버전 지원, 그리고 Java–Bedrock 크로스플레이를 제공하는 친근한 서바이벌 SMP로, 캐주얼 빌더와 커뮤니티에 적합합니다.
249.79 - Minecart Rapid Transit
커뮤니티 중심의 도시 건설 및 교통 서버로, 탑승할 수 있는 열차, 대규모 교통망, 보호된 건축물, 플레이어 운영 경제, 체계적인 PvP 아레나를 중심으로 합니다.
949.06 - Netherlite is loading...148.95
- LilBoxPvP
BoxPvP에 초점을 맞춘 서버로, 빠른 아레나 전투, 듀얼, 시즌별 진행을 제공합니다. 커스텀 아이템, NPC 기반 메뉴, 그리고 아마도 Java–Bedrock 크로스플레이를 지원합니다.
348.39 - A Minecraft Server148.2
- TGG Online
FPS 스타일의 한국 Minecraft 서버로, 좀비 서바이벌과 bomb/escape 미니게임을 제공하며 다양한 커스텀 무기, 커스텀 모델, 리소스 팩 기반의 경험을 제공합니다.
146.34 - MoodCraft
플레이어가 운영하는 마을, 경제, 도시 프로젝트에 중점을 둔 프랑스어 세미 RP 서바이벌 SMP — 게임 내 가이드, 상점, 직업, 안전한 상자 보호로 친절한 진행을 제공합니다. Java 및 Bedrock 지원.
146.11
플러그인 ProtocolLib 페이지에는 모니터링에서 이 플러그인을 확인한 서버, 사용 중인 플랫폼과 버전이 표시됩니다.
플러그인은 명령어, 경제, 보호, 접근 권한, 미니게임, 연동 및 기타 메커니즘을 추가할 수 있습니다. ProtocolLib의 실제 역할은 서버별 설정에 따라 다릅니다.
데이터는 서버의 기술 응답에서 자동으로 생성됩니다. 서버가 플러그인 목록을 비공개로 설정한 경우, ProtocolLib을 사용하더라도 이 섹션에 표시되지 않을 수 있습니다.
ProtocolLib을 사용하는 서버 목록을 통해 프로젝트를 비교하거나, 지원 버전을 확인하거나, 공개 서버에서의 플러그인 사용 사례를 찾을 수 있습니다.