마인크래프트 게임의 서버 플러그인 개발하기 - api 불러오기 - Whitmem
마인크래프트 게임의 서버 플러그인 개발하기 - api 불러오기
Game Plugin Development
2023-01-07 12:35 게시 8035529545a23e7aaff8

0
0
138
이 페이지는 외부 공간에 무단 복제할 수 없으며 오직 있는 그대로 게시되며 부정확한 내용을 포함할 수 있습니다. 법률이 허용하는 한 가이드 라인에 맞춰 게시 내용을 인용하거나 출처로 표기할 수 있습니다.
This page is not to be distributed to external services; it is provided as is and may contain inaccuracies.
이 게시물은 마인크래프트 게임 서버의 제 3자 플러그인을 개발하는 방법을 설명하고 있습니다. 해당 게임과 해당 사이트는 그 어떠한 연관이 없음을 알립니다.
일반적인 온라인 게임과 달리, 마인크래프트 게임은 제 3자가 서버를 열 수 있도록 서버 환경이 잘 갖춰져 있는 게임입니다. 따라서 게임 서버에 원하는 기능을 추가할 수 있으며, 필요에 따라 서버에 직접 기능을 제작할 수도 있는데, 이를서버 플러그인이라고 합니다.
서버 플러그인은 서버에 종속되는 플러그인으로서, 서버에서 처리돼야 하는 알고리즘을 추가하거나 수정, 개발할 수 있습니다.
개발 공부를 진행하기 전 명심해야할 것은, 플러그인모드는 명백하게 다르다는 사실을 이해해야 합니다.
플러그인에서 구현할 수 있는 것
서버 처리 결과의 변경 및 개발
상호 작용의 변경 및 개발
알고리즘의 추가 및 변경
시스템 상에서 처리하는 것들
플러그인에서 할 수 없는 것
RAW 이미지 출력 및 RAW 사운드 출력
UI 및 커서 제어
클라이언트 조작
기본 틀을 벗어나는 변경
즉, 게임에서 기존 구현된 데이터들을 활용하여 방법이나 수단을 변경하는 것을 제외하고 직접 클라이언트를 수정하거나 변경하는 작업은 플러그인이 관여하는 부분이 아닙니다.
프로젝트의 라이브러리 추가
먼저, 게임 플러그인을 개발하기 위해서는 서버 버킷의 api 파일이 필요 합니다. 이 api는 서버에 존재하는 클래스, 패키지를 모아둔 집합 파일로 서버 버킷 사이트에서 컴파일하거나 다운로드 받을 수 있습니다. 이렇게 내려받은 api 파일을 eclipse 소프트웨어에서 라이브러리로 등록합니다.
그런다음, 메인으로 사용할 클래스를 하나 생성 해 줍니다.
메인 클래스를 생성 했으면, 이 클래스가 게임 플러그인을 상속 받도록, JavaPlugin 클래스를 extends 해 주어야 합니다.
import org.bukkit.plugin.java.JavaPlugin;
public class main extends JavaPlugin{

}
그리고, 부모에서 제공되고 있는 onEnable와, onDisable를 Override해주어, 플러그인이 시작되거나 종료될 때 메시지를 받을 수 있도록 합니다.
메인 클래스 생성은 끝이 났습니다. 하지만 이 프로젝트에서 main.class 가 실제 게임 플러그인의 진입점임을 알려주기 위해, 별도 명시 파일을 작성해야 합니다.그러기 위해서는 프로젝트 최상단 위치에 plugin.yml 의 파일명으로 파일을 생성합니다.
그런다음, 내용에 name main version을 각각 작성 해 줍니다. 이 때, name은 원하는 플러그인의 이름을 영어로, main은 메인 클래스가 존재하는 위치를 패키지를 포함해서, version은 버전 정보를 작성 해 줍니다.
이제, export를 통해서 JAR 로 파일을 그대로 추출 해 주고, jar을 서버 버킷의 plugins에 넣고 구동하면, 직접 만든 플러그인이 인식 됩니다.
댓글 0개
댓글은 일회용 패스워드가 발급되며 사이트 이용 약관에 동의로 간주됩니다.
확인
Whitmemit 개인 일지 블로그는 개인이 운영하는 정보 공유 공간으로 사용자의 민감한 개인 정보를 직접 요구하거나 요청하지 않습니다. 기본적인 사이트 방문시 처리되는 처리 정보에 대해서는 '사이트 처리 방침'을 참고하십시오. 추가적인 기능의 제공을 위하여 쿠키 정보를 사용하고 있습니다. Whitmemit 에서 처리하는 정보는 식별 용도로 사용되며 기타 글꼴 및 폰트 라이브러리에서 쿠키 정보를 사용할 수 있습니다.
이 자료는 모두 필수 자료로 간주되며, 사이트 이용을 하거나, 탐색하는 경우 동의로 간주합니다.