마인크래프트 플러그인 문서 생성
 
Agent (토론 | 기여)
LiftReloaded 자체 개발 플러그인 분류 제거
 
(사용자 2명의 중간 판 2개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''마인크래프트 플러그인'''은 [[마인크래프트: 자바 에디션]] 서버의 기능을 확장하기 위해 사용되는 서버 측 확장 프로그램이다. 일반적으로 [[Paper(마인크래프트)|Paper]], Bukkit, Spigot 계열 서버에서 사용되며, 서버 관리, 권한, 월드 보호, 건축 보조, 지도 렌더링, 버전 호환성 등 다양한 기능을 제공한다.
'''마인크래프트 플러그인'''은 [[마인크래프트: 자바 에디션]] 서버의 기능을 확장하기 위해 사용하는 서버 측 확장 프로그램이다. 일반적으로 [[Paper(마인크래프트)|Paper]], [[Spigot]], [[버킷(마인크래프트)|Bukkit]] 계열 서버에서 사용되며, 권한 관리, 지역 보호, 로그 기록, 지도 렌더링, 건축 보조, 버전 호환, 통계 수집 같은 기능을 서버에 추가한다.


플러그인은 클라이언트 모드와 달리 서버에 설치되어 동작한다. 따라서 플레이어가 별도의 모드를 설치하지 않아도 서버에서 제공하는 명령어와 기능을 사용할 수 있는 경우가 많다. 다만 일부 플러그인은 리소스팩, 웹 서비스, 데이터베이스, 다른 플러그인과의 연동을 필요로 할 수 있다.
플러그인은 클라이언트 모드와 달리 서버에 설치되어 동작한다. 따라서 플레이어가 별도 모드를 설치하지 않아도 서버에서 제공하는 명령어와 기능을 사용할 수 있는 경우가 많다. 다만 일부 기능은 리소스팩, 클라이언트 모드, 프록시 서버, 데이터베이스와 함께 구성해야 제대로 동작한다.


대부분의 플러그인은 서버의 이벤트와 명령어 체계에 연결되어 동작한다. 예를 들어 플레이어 접속, 블록 설치와 파괴, 채팅, 명령어 실행, 월드 로드와 같은 서버 이벤트를 감지하고, 이에 따라 권한 검사, 로그 기록, 지역 보호, 자동화 작업 등을 수행한다. 플러그인은 서버 파일의 <code>plugins</code> 폴더에 배치되며, 서버가 시작될 때 로드된다.
대부분의 플러그인은 서버 이벤트와 명령어 체계에 연결되어 작동한다. 예를 들어 플레이어 접속, 블록 설치와 파괴, 채팅, 명령어 실행, 월드 로드 같은 이벤트를 감지하고, 그에 따라 권한 검사, 로그 기록, 보호 처리, 자동화 작업을 수행한다.


플러그인 생태계는 Bukkit API에서 출발해 Spigot과 Paper 계열로 확장되었다. Paper는 Spigot과 Bukkit 플러그인 호환성을 유지하면서 성능 개선과 추가 API를 제공하기 때문에, 현대적인 자바 에디션 서버에서 널리 사용된다. 한편 Forge나 Fabric 모드는 서버와 클라이언트 양쪽의 게임 코드를 더 깊게 수정할 수 있다는 점에서 플러그인과 구별된다.
== 플러그인과 모드의 차이 ==
플러그인과 모드는 모두 게임 기능을 확장하지만 적용 위치와 목적이 다르다.


== 주요 용도 ==
{| class="wikitable"
* 서버 운영 및 관리
! 구분 !! 플러그인 !! 모드
* 권한과 경제 시스템
|-
* 월드 보호와 로그 기록
| 적용 위치
* 건축 및 월드 편집 보조
| 주로 서버
* 지도와 웹 서비스 연동
| 클라이언트 또는 서버
* 서버 버전 호환성 보조
|-
* 서버 자체 기능 구현
| 대표 환경
| Paper, Spigot, Bukkit
| Fabric, Forge, NeoForge
|-
| 플레이어 설치
| 대체로 불필요
| 기능에 따라 필요
|-
| 주요 용도
| 서버 운영, 권한, 보호, 명령어, 지도, 로그
| 블록, 아이템, 엔티티, 렌더링, 게임 시스템 변경
|}
 
공개 서버나 도시건축 서버에서는 여러 플레이어가 같은 환경으로 접속해야 하므로 플러그인이 자주 쓰인다. 반면 새로운 블록이나 아이템, 클라이언트 렌더링 개선처럼 게임 자체를 깊게 바꾸는 기능은 모드가 더 적합하다.
 
== 서버 구동기와 호환성 ==
플러그인은 서버 구동기에 따라 호환성이 달라진다. Bukkit API를 기반으로 작성된 플러그인은 Spigot과 Paper에서도 동작하는 경우가 많다. Paper는 Spigot 호환성을 유지하면서 추가 API와 성능 개선을 제공하기 때문에 현대적인 Java Edition 서버에서 널리 사용된다.
 
다만 모든 플러그인이 모든 버전에서 안전하게 동작하는 것은 아니다. 서버를 업데이트할 때는 다음 항목을 확인해야 한다.
 
* 플러그인이 서버 버전을 지원하는지
* 의존 플러그인이 필요한지
* Java 버전 요구사항이 바뀌었는지
* 데이터베이스나 설정 파일 형식이 변경되었는지
* 월드 보호, 권한, 로그처럼 핵심 운영 기능에 영향이 있는지
 
특히 2026년 이후의 Minecraft 26.x 계열과 Paper 26.1+ 환경에서는 Java 25 요구사항과 Paper 버전 문자열 변경을 함께 확인해야 한다.


== 주요 플러그인 ==
== 목적별 주요 플러그인 ==
다음은 자바 에디션 서버에서 널리 사용되거나, 위키에 별도 문서가 작성된 주요 플러그인이다.
다음은 Java Edition 서버에서 자주 쓰이거나 플레이시티 위키에 별도 문서가 있는 주요 플러그인이다.


{| class="wikitable sortable"
{| class="wikitable sortable"
! 분류 !! 플러그인 !! 설명
! 분류 !! 플러그인 !! 설명
|-
|-
| 서버 기반
| 권한
| [[BKCommonLib]]
| [[LuckPerms]]
| 여러 Bukkit 플러그인에서 공통 기능을 제공하는 기반 라이브러리
| 그룹, 사용자, 권한 노드, 접두사와 접미사를 관리하는 권한 플러그인
|-
| 권한/경제 연동
| [[Vault]]
| 권한, 경제, 채팅 플러그인 사이의 공통 연동 API를 제공하는 플러그인
|-
| 지역 보호
| [[WorldGuard]]
| 지역을 지정하고 블록 파괴, PvP, 몹 스폰, 상호작용 같은 규칙을 설정하는 보호 플러그인
|-
|-
| 서버 기반
| 로그/복구
| [[PlaceholderAPI]]
| [[CoreProtect]]
| 여러 플러그인에서 사용할 수 있는 플레이스홀더와 변수 연동 기능을 제공하는 플러그인
| 블록 변경과 플레이어 행동을 기록하고 조회 또는 롤백할 수 있는 로그 플러그인
|-
|-
| 건축 보조
| 건축 보조
| [[WorldEdit]]
| [[WorldEdit]]
| 선택 영역 기반 월드 편집과 대량 블록 편집 기능을 제공하는 대표적인 건축 보조 플러그인
| 선택 영역 기반 블록 편집과 브러시 기능을 제공하는 대표적인 건축 보조 플러그인
|-
| 건축 보조
| [[Arceon]]
| [[WorldEdit]]을 확장하는 고급 건축 보조 플러그인
|-
|-
| 건축 보조
| 건축 보조
| [[FastAsyncWorldEdit]]
| [[FastAsyncWorldEdit]]
| 대규모 월드 편집 작업을 지원하는 [[WorldEdit]] 계열 플러그인
| 대규모 월드 편집 작업을 지원하는 WorldEdit 계열 플러그인
|-
|-
| 건축 보조
| 건축 보조
| [[FastAsyncVoxelSniper]]
| [[VoxelSniper]]
| 브러시 기반 지형 편집을 지원하는 VoxelSniper 계열 플러그인
| 브러시 기반 지형 편집에 사용되는 건축 보조 플러그인
|-
|-
| 건축 보조
| 건축 보조
| [[goPaintAdvanced]]
| [[Arceon]]
| 지형 색칠 작업을 보조하는 브러시 기반 플러그인
| WorldEdit 기반 고급 건축 보조 기능을 제공하는 플러그인
|-
|-
| 기록 및 보호
| 지도
| [[CoreProtect]]
| 블록 변경과 플레이어 행동을 기록하고 조회하는 로그 플러그인
|-
| 기록 및 보호
| [[WorldGuard]]
| 지역 보호와 월드 규칙 설정을 제공하는 보호 플러그인
|-
| 권한
| [[LuckPerms]]
| 권한 그룹과 권한 노드를 관리하는 플러그인
|-
| 경제 및 연동
| [[Vault]]
| 경제, 권한, 채팅 플러그인 간 연동을 제공하는 API 플러그인
|-
| 서버 편의
| [[EssentialsX]]
| 기본 명령어, 채팅, 스폰, 보호, Discord 연동 등을 제공하는 플러그인 모음
|-
| 월드 관리
| [[Multiverse-Core]]
| 여러 월드를 관리하기 위한 플러그인
|-
| 웹 지도
| [[마인크래프트/플러그인/Dynmap|Dynmap]]
| [[마인크래프트/플러그인/Dynmap|Dynmap]]
| 서버 월드를 웹 지도로 렌더링하는 플러그인
| 서버 월드를 웹 지도 형태로 렌더링하는 플러그인
|-
|-
| 이미지
| 지도
| [[Custom Images|Images]]
| [[BlueMap]]
| 서버 내에서 이미지를 지도나 아이템 프레임으로 표시하는 플러그인
| 서버 월드를 3D 웹 지도로 렌더링하는 플러그인
|-
|-
| 장식 및 데이터
| 호환성
| [[HeadDatabase]]
| [[ViaVersion]]
| 장식용 머리 블록 데이터베이스를 제공하는 플러그인
| 서로 다른 클라이언트 버전의 접속 호환성을 보조하는 플러그인
|-
|-
| 시각 효과
| 기반
| [[Jshader|JShader]]
| [[ProtocolLib]]
| 서버 리소스팩과 연동해 시각 효과를 제공하는 플러그인
| 패킷 단위 기능을 구현하는 플러그인을 위한 기반 라이브러리
|-
|-
| 이동
| 기반
| [[LiftReloaded]]
| [[PlaceholderAPI]]
| 표지판 기반 승강기 기능을 제공하는 플러그인
| 여러 플러그인에서 사용할 수 있는 플레이스홀더 값을 제공하는 플러그인
|-
|-
| 자동화
| 운영
| [[TriggerReactor]]
| [[Plan]]
| 이벤트 기반 스크립트와 트리거를 제공하는 플러그인
| 플레이어 활동과 서버 통계를 웹 대시보드로 보여주는 분석 플러그인
|-
|-
| 버전 호환
| 기본 명령어
| [[ViaVersion]]
| [[EssentialsX]]
| 최신 클라이언트의 서버 접속 호환성을 제공하는 플러그인
| 기본 명령어, 채팅, 스폰, 워프 등 서버 운영 편의 기능을 제공하는 플러그인 모음
|}
|}


== 자체 개발 ==
== 처음 서버를 운영할 때 필요한 플러그인 ==
다음은 [[플레이시티 블록]]에서 자체 개발했거나 운영 환경에 맞추어 개발된 플러그인이다.
처음 Paper 서버를 운영한다면 모든 플러그인을 한꺼번에 설치하기보다 역할이 분명한 것부터 구성하는 편이 좋다.
 
권장되는 기본 흐름은 다음과 같다.
 
# 서버 구동기 설치: [[Paper(마인크래프트)|Paper]]
# 권한 관리: [[LuckPerms]]
# 지역 보호: [[WorldGuard]]
# 로그와 복구: [[CoreProtect]]
# 건축 보조: [[WorldEdit]]
# 지도 또는 통계: [[마인크래프트/플러그인/Dynmap|Dynmap]], [[BlueMap]], [[Plan]]
 
플러그인이 많아질수록 충돌 가능성도 높아진다. 서버가 켜지지 않거나 명령어가 동작하지 않는다면 플러그인을 모두 넣은 상태에서 문제를 찾기보다, 핵심 플러그인부터 하나씩 설치하고 로그를 확인하는 편이 빠르다.
 
== 플레이시티 블록의 자체 개발 플러그인 ==
[[플레이시티 블록]]은 장기간 도시건축 서버를 운영하면서 서버 환경에 맞춘 자체 플러그인을 개발해 왔다. 이러한 플러그인은 일반 서버 운영 문서와 달리 플레이시티 블록의 실제 운영 방식과 연결된다.


{| class="wikitable sortable"
{| class="wikitable sortable"
! 분류 !! 플러그인 !! 설명 !! 비고
! 분류 !! 플러그인 !! 설명
|-
|-
| 건축 보조
| 건축 보조
| [[Scape]]
| [[Scape]]
| 스키매틱 기반 식생 브러시를 제공하는 플러그인
| 스키매틱 기반 브러시 등 도시건축에 필요한 건축 보조 기능을 제공하는 자체 개발 플러그인
| 자체 개발 by [[플레이시티]]
|-
|-
| 통계
| 통계
| [[Stats]]
| [[Stats]]
| 서버 활동 통계를 수집하는 플러그인
| 서버 활동과 명령어, 월드 편집 관련 이벤트를 수집하는 자체 개발 통계 플러그인
| 자체 개발 by [[플레이시티]]
|-
|-
| 백업
| 백업
| [[Timemachine]]
| [[Timemachine]]
| 월드 데이터를 주기적으로 백업하는 플러그인
| 월드 데이터를 주기적으로 보존하기 위한 자체 개발 백업 플러그인
| 자체 개발 by [[플레이시티]]
|-
|-
| 위치 연동
| 위치 정보
| [[LILO]]
| [[LILO]]
| 플레이어 위치 정보를 외부 지도 서비스와 연동하는 플러그인
| 플레이어 위치 정보를 지도와 통계 시스템에 연동하는 위치 정보 시스템
| 자체 개발 by [[플레이시티]]
|-
|-
| 공지
| 공지
| [[Notice]]
| [[Notice]]
| 서버 공지를 주기적으로 표시하는 플러그인
| 서버 공지를 주기적으로 표시하기 위한 자체 개발 플러그인
| 자체 개발 by JunHyeokShin
|-
| 도서관
| [[Library]]
| 마인크래프트 책을 데이터베이스에 발행·보관하고 ISBN으로 검색·열람·재발급할 수 있게 하는 자체 개발 플러그인
|}
|}
== 문제 해결 ==
플러그인 문제는 대부분 서버 로그에서 원인을 찾을 수 있다. 오류가 발생하면 먼저 `logs/latest.log`를 확인하고, 다음 항목을 점검한다.
* 서버 버전과 플러그인 지원 버전이 맞는지
* Java 버전이 구동기 요구사항을 만족하는지
* 의존 플러그인이 설치되어 있는지
* 설정 파일의 YAML 들여쓰기가 깨지지 않았는지
* 같은 기능을 수행하는 플러그인이 중복 설치되지 않았는지
* `/reload`로 플러그인을 다시 불러오지 않았는지
운영 중인 서버에서는 플러그인 업데이트 전에 월드와 플러그인 데이터 폴더를 함께 백업하는 것이 좋다. 특히 권한, 로그, 보호, 경제, 지도 플러그인은 데이터 손상 시 서버 운영에 직접 영향을 준다.


== 같이 보기 ==
== 같이 보기 ==
139번째 줄: 171번째 줄:
* [[마인크래프트: 자바 에디션]]
* [[마인크래프트: 자바 에디션]]
* [[Paper(마인크래프트)]]
* [[Paper(마인크래프트)]]
* [[Spigot]]
* [[버킷(마인크래프트)]]
* [[WorldEdit]]
* [[WorldEdit]]
* [[FastAsyncWorldEdit]]
* [[LuckPerms]]
* [[WorldGuard]]
* [[CoreProtect]]
* [[마인크래프트/플러그인/Dynmap]]
* [[플레이시티 블록/서버]]
* [[플레이시티 블록/서버]]


[[분류:마인크래프트]]
[[분류:마인크래프트]]
[[분류:마인크래프트/플러그인]]
[[분류:마인크래프트/플러그인]]

2026년 7월 18일 (토) 19:15 기준 최신판

마인크래프트 플러그인마인크래프트: 자바 에디션 서버의 기능을 확장하기 위해 사용하는 서버 측 확장 프로그램이다. 일반적으로 Paper, Spigot, Bukkit 계열 서버에서 사용되며, 권한 관리, 지역 보호, 로그 기록, 지도 렌더링, 건축 보조, 버전 호환, 통계 수집 같은 기능을 서버에 추가한다.

플러그인은 클라이언트 모드와 달리 서버에 설치되어 동작한다. 따라서 플레이어가 별도 모드를 설치하지 않아도 서버에서 제공하는 명령어와 기능을 사용할 수 있는 경우가 많다. 다만 일부 기능은 리소스팩, 클라이언트 모드, 프록시 서버, 데이터베이스와 함께 구성해야 제대로 동작한다.

대부분의 플러그인은 서버 이벤트와 명령어 체계에 연결되어 작동한다. 예를 들어 플레이어 접속, 블록 설치와 파괴, 채팅, 명령어 실행, 월드 로드 같은 이벤트를 감지하고, 그에 따라 권한 검사, 로그 기록, 보호 처리, 자동화 작업을 수행한다.

플러그인과 모드의 차이

플러그인과 모드는 모두 게임 기능을 확장하지만 적용 위치와 목적이 다르다.

구분 플러그인 모드
적용 위치 주로 서버 클라이언트 또는 서버
대표 환경 Paper, Spigot, Bukkit Fabric, Forge, NeoForge
플레이어 설치 대체로 불필요 기능에 따라 필요
주요 용도 서버 운영, 권한, 보호, 명령어, 지도, 로그 블록, 아이템, 엔티티, 렌더링, 게임 시스템 변경

공개 서버나 도시건축 서버에서는 여러 플레이어가 같은 환경으로 접속해야 하므로 플러그인이 자주 쓰인다. 반면 새로운 블록이나 아이템, 클라이언트 렌더링 개선처럼 게임 자체를 깊게 바꾸는 기능은 모드가 더 적합하다.

서버 구동기와 호환성

플러그인은 서버 구동기에 따라 호환성이 달라진다. Bukkit API를 기반으로 작성된 플러그인은 Spigot과 Paper에서도 동작하는 경우가 많다. Paper는 Spigot 호환성을 유지하면서 추가 API와 성능 개선을 제공하기 때문에 현대적인 Java Edition 서버에서 널리 사용된다.

다만 모든 플러그인이 모든 버전에서 안전하게 동작하는 것은 아니다. 서버를 업데이트할 때는 다음 항목을 확인해야 한다.

  • 플러그인이 서버 버전을 지원하는지
  • 의존 플러그인이 필요한지
  • Java 버전 요구사항이 바뀌었는지
  • 데이터베이스나 설정 파일 형식이 변경되었는지
  • 월드 보호, 권한, 로그처럼 핵심 운영 기능에 영향이 있는지

특히 2026년 이후의 Minecraft 26.x 계열과 Paper 26.1+ 환경에서는 Java 25 요구사항과 Paper 버전 문자열 변경을 함께 확인해야 한다.

목적별 주요 플러그인

다음은 Java Edition 서버에서 자주 쓰이거나 플레이시티 위키에 별도 문서가 있는 주요 플러그인이다.

분류 플러그인 설명
권한 LuckPerms 그룹, 사용자, 권한 노드, 접두사와 접미사를 관리하는 권한 플러그인
권한/경제 연동 Vault 권한, 경제, 채팅 플러그인 사이의 공통 연동 API를 제공하는 플러그인
지역 보호 WorldGuard 지역을 지정하고 블록 파괴, PvP, 몹 스폰, 상호작용 같은 규칙을 설정하는 보호 플러그인
로그/복구 CoreProtect 블록 변경과 플레이어 행동을 기록하고 조회 또는 롤백할 수 있는 로그 플러그인
건축 보조 WorldEdit 선택 영역 기반 블록 편집과 브러시 기능을 제공하는 대표적인 건축 보조 플러그인
건축 보조 FastAsyncWorldEdit 대규모 월드 편집 작업을 지원하는 WorldEdit 계열 플러그인
건축 보조 VoxelSniper 브러시 기반 지형 편집에 사용되는 건축 보조 플러그인
건축 보조 Arceon WorldEdit 기반 고급 건축 보조 기능을 제공하는 플러그인
지도 Dynmap 서버 월드를 웹 지도 형태로 렌더링하는 플러그인
지도 BlueMap 서버 월드를 3D 웹 지도로 렌더링하는 플러그인
호환성 ViaVersion 서로 다른 클라이언트 버전의 접속 호환성을 보조하는 플러그인
기반 ProtocolLib 패킷 단위 기능을 구현하는 플러그인을 위한 기반 라이브러리
기반 PlaceholderAPI 여러 플러그인에서 사용할 수 있는 플레이스홀더 값을 제공하는 플러그인
운영 Plan 플레이어 활동과 서버 통계를 웹 대시보드로 보여주는 분석 플러그인
기본 명령어 EssentialsX 기본 명령어, 채팅, 스폰, 워프 등 서버 운영 편의 기능을 제공하는 플러그인 모음

처음 서버를 운영할 때 필요한 플러그인

처음 Paper 서버를 운영한다면 모든 플러그인을 한꺼번에 설치하기보다 역할이 분명한 것부터 구성하는 편이 좋다.

권장되는 기본 흐름은 다음과 같다.

  1. 서버 구동기 설치: Paper
  2. 권한 관리: LuckPerms
  3. 지역 보호: WorldGuard
  4. 로그와 복구: CoreProtect
  5. 건축 보조: WorldEdit
  6. 지도 또는 통계: Dynmap, BlueMap, Plan

플러그인이 많아질수록 충돌 가능성도 높아진다. 서버가 켜지지 않거나 명령어가 동작하지 않는다면 플러그인을 모두 넣은 상태에서 문제를 찾기보다, 핵심 플러그인부터 하나씩 설치하고 로그를 확인하는 편이 빠르다.

플레이시티 블록의 자체 개발 플러그인

플레이시티 블록은 장기간 도시건축 서버를 운영하면서 서버 환경에 맞춘 자체 플러그인을 개발해 왔다. 이러한 플러그인은 일반 서버 운영 문서와 달리 플레이시티 블록의 실제 운영 방식과 연결된다.

분류 플러그인 설명
건축 보조 Scape 스키매틱 기반 브러시 등 도시건축에 필요한 건축 보조 기능을 제공하는 자체 개발 플러그인
통계 Stats 서버 활동과 명령어, 월드 편집 관련 이벤트를 수집하는 자체 개발 통계 플러그인
백업 Timemachine 월드 데이터를 주기적으로 보존하기 위한 자체 개발 백업 플러그인
위치 정보 LILO 플레이어 위치 정보를 지도와 통계 시스템에 연동하는 위치 정보 시스템
공지 Notice 서버 공지를 주기적으로 표시하기 위한 자체 개발 플러그인
도서관 Library 마인크래프트 책을 데이터베이스에 발행·보관하고 ISBN으로 검색·열람·재발급할 수 있게 하는 자체 개발 플러그인

문제 해결

플러그인 문제는 대부분 서버 로그에서 원인을 찾을 수 있다. 오류가 발생하면 먼저 `logs/latest.log`를 확인하고, 다음 항목을 점검한다.

  • 서버 버전과 플러그인 지원 버전이 맞는지
  • Java 버전이 구동기 요구사항을 만족하는지
  • 의존 플러그인이 설치되어 있는지
  • 설정 파일의 YAML 들여쓰기가 깨지지 않았는지
  • 같은 기능을 수행하는 플러그인이 중복 설치되지 않았는지
  • `/reload`로 플러그인을 다시 불러오지 않았는지

운영 중인 서버에서는 플러그인 업데이트 전에 월드와 플러그인 데이터 폴더를 함께 백업하는 것이 좋다. 특히 권한, 로그, 보호, 경제, 지도 플러그인은 데이터 손상 시 서버 운영에 직접 영향을 준다.

같이 보기