HELLO_HELL?

블로그 이미지

준P

'Development/SpongePoweredForgePluginDevelop'에 해당되는 글 2건

제목 날짜
  • [SpongeForge] SpongeForge Plugin을 제작해보자 - 작업 환경 설정... 2016.02.10
  • [SpongeForge] SpongePowered로 마인크래프트 서버를 열어보자!! 2016.02.06

[SpongeForge] SpongeForge Plugin을 제작해보자 - 작업 환경 설정...

Development/SpongePoweredForgePluginDevelop 2016. 2. 10. 19:11

서버를 세팅 했으니 이제 서버를 컨트롤할 플러그인이 필요합니다.


이 플러그인을 제작할 작업 환경을 구축하는 방법을 다루어 보겠습니다.


우선 플러그인을 제작 가능한 환경은 eclipse, IntelliJ IDEA, NetBeans가 있습니다.


저는 이 작업 환경에서 IDEA를 사용하는데요 이 IDEA는 다른 작업 환경보다 훨씬 편한 작업 환경을 제공해 줍니다.


Pro 버전과 community 버전이 따로 있는데요 community버전은 무료 이므로 사용해보시는것을 추천 드림니다.



우선 project를 만들어여 하므로 Create New Project를 선택합니다.



왼쪽 팝업에서 Gradle을 선택해준신뒤 Next.



Group ID는 조직, 회사와 같은 내용을 적어줍니다. (팀명이나 그런것들?)


Artifact ID는 플러그인 이름을 적어줌니다.(Project 이름으로 사용됨니다.)


Version은 알맞게 설정하시면 됨니다.



아무 설정 하지 안고 넘어가도 되지만 추가적인 기능을 사용하실 분 이라면 알맞게 설정하시면 됨니다.



그냥 넘어가시면 됨니다.



프로젝트를 만들면 다음과 같은 화면이 나타남니다.


프로젝트 탐색기에서 build.gradle 파일을 선택해줍니다.



이파일을 다음과 같이 수정해줍니다.



입력 해주신뒤 Gradle에서 새로고침 해줍니다.



gradle 이 보이지 않는다면 View -> ToolWindows에서 Gradle을 선택해주시면 gradle이 나타남니다.



새로고침을 해주시면 프로젝트 탐색기에 다음과 같이 생성이 되는데요 이렇게 보이시면 성공입니다.


Src-> java에서 java파일을 생성해줍니다.  파일을 생성 하신뒤 다음과 같이 입력을 해줍니다.



class위에 


@Plugin(id = "", name = "", version = "1.0")


을 입력 해줍니다. id는 로그나 여러 출력이 될때 사용됨니다. name은 개발자? 입력해주시면됩니다. version은 알맞게?


이제 서버를 컨트롤 하기 위한 코드를 작성 해봅시다!!



개발자가 데이터 값이나 출력값을 보기 위해서는 로그를 남기는 Logger가 필요합니다.


이 Logger는 플러그인에 인젝션 되기 떄문에 @Inject 옵션을 붙여줍니다.


플러그인은 Event에 따른 코드를 추가할수 있습니다.


Event는 서버가 실행되는 이벤트나 혹은 Player가 접속하는 이벤트나 여러 이벤트가 있습니다.


이 이벤트를 받아보기 위해서는 @Listener를 메소드위에 붇여주셔야 합니다.


또 이벤트 메소드는 인자값에 따른 이벤트가 들어오므로 메소드 이름은 자유롭게 작성하시면 됨니다. 중요한것은 인자값으로 어떤 이벤트가 들어오는가 입니다.


이렇다보니 메소드는 외부에서 받아오기 때문에 매번 회색으로 변해 있습니다. 줄도 쳐져 있고 ㅠㅠ 그래서 메소드 이름에서 ALT + Enter를 하시면 



다음과 같은 옵션이 생김니다. Supress for methods annotated by ~ 어쩌고 하는 옵션을 클릭해줍니다.


그러면 메소드가 다음 처럼 변경이 됨니다.



logger로 서버가 실행되었다는 메세지를 출력할 수 있습니다.


이제 간단한 플러그인을 제작 하였으므로 jar파일을 추출 해봅시다.!!



File -> Project Structure에서 Artifacts 에서 + 버튼을 눌룬뒤 Jar -> from modules with dependencies...를 선택해줍니다.


create JAR frome Modules에서 main Class를 만든 java파일을 선택해줍니다.




여기서 오류가 나시는분들은 그냥 나오시면 MainClass에 입력이 되어 있으면 무시 하시면 됨니다.



ok를 눌러서 넘어감니다.



Output directory를 마인크래프트 서버 mods 폴더로 설정을 해줍니다.


플러그인은 mods폴더에 있어야 해서 빌드하면 자동으로 생성되게 해줍니다.



빌드를 할때 다른 종속성 파일은 넣을 필요가 없기 때문에 제거 해줍니다.



이제 빌드 설정은 완료 되었습니다.


이제 적용하신뒤 나오시고 Build -> BuildArtifacts를 클릭하시면 중앙에 다음과 같은 작은 창이 뜸니다.



빌드를 해주면 됨니다.



플러그인이 생성되었습니다.



서버 로그에 작성했던 코드가 나타나는것을 확인 할 수 있습니다.



프로젝트 탐색기에서 빨간 폴더가 보여서 싫으신 분은 projectsturcture 에서 Modules에서 빤간 폴더를 선택 하신뒤 Excluded를 클릭하신뒤 Apply하시면 됨니다.


저작자표시 비영리 변경금지 (새창열림)

'Development > SpongePoweredForgePluginDevelop' 카테고리의 다른 글

[SpongeForge] SpongePowered로 마인크래프트 서버를 열어보자!!  (0) 2016.02.06
Posted by 준P

[SpongeForge] SpongePowered로 마인크래프트 서버를 열어보자!!

Development/SpongePoweredForgePluginDevelop 2016. 2. 6. 23:07

마인크래프트는 자신이 블록을 쌓거나 집이나 혹은 사냥을 하던가 하는 여러 자유로운 짓을? 할 수 있는 게임 입니다.


이번에는 이 게임의 서버를 열어보는 게시글을 작성 해보겠습니다.


SpongePowered라는 버킷을 이용해서 서버를 열어보도록 하겠습니다.


일단 마인크래프트는 기본적인 마인크래프트 서버가 있지만 이 서버에 추가적인 플러그인이나 모드를 넣을려면 포지를 사용하여 확장을 해줘야만 합니다.


http://files.minecraftforge.net/


에서 자신이 원하는 마인크래프트 버전의 서버를 열수 있는 포지를 다운로드 받을수 있습니다.


기본적으로 JAVA로 작성되어서 모든 플랫폼에서 작동을 합니다. 


Install server를 선택해주시고 마인크래프트 서버가 설치될 경로를 지정해줍니다.



기본적으로 JAVA가 설치되어 있어야하고 설치방법에 대해서는 언급하지 않겠습니다.



간단하게 다운로드가 진행이 되면서 서버가 설치가 됨니다.



확인을 눌러서 설치를 완료합니다.



이제 forge-<version>-universal.jar 파일을 실행시킴니다.



이러한 창이 뜨면서 로그 창에 많은 오류가 나타 남니다.


이제 에러가 뜨는게 없어지면서 로그에 라이센스를 동의해달라는 메세지가 나타남니다. 그러면 서버를 종료하고 

이 파일을 열어서 라이센스에 동의 해줍니다.



false -> true로 변경!!!



서버가 실행되면서 마저 서버에 필요한 데이터들을 설치합니다.


Done이라는 메세지가 보이면 기본적인 마인크래프트 서버가 오픈 되었다. 다시 종료하고


이제 마지막으로 SpongeForge을 집어 넣게되면 SpongeForge를 이용한 마인크래프트가 완성된다.


http://files.minecraftforge.net/spongepowered


에서 SpongeForge를 위한 모드를 다운로드 한다.


그리고

폴더에가서 (없을 경우 생성한다 Forge-<version>-universal.jar파일이 위치한 디렉토리에 생성한다)


모드 파일을 넣어준다. 넣어주고 서버를 재 실행 하게 되면 SpongeForge가 적용된 마인크래프드가 완성이 되었다...


이제 플러그인을 제작하거나 모드를 제작하여서 추가적인 기능을 넣어보자!!

저작자표시 비영리 변경금지 (새창열림)

'Development > SpongePoweredForgePluginDevelop' 카테고리의 다른 글

[SpongeForge] SpongeForge Plugin을 제작해보자 - 작업 환경 설정...  (0) 2016.02.10
Posted by 준P
이전페이지 다음페이지
블로그 이미지

by 준P

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

글 보관함

«   2025/09   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

링크

카테고리

HELLO? (157)
스터디 (6)
Windows 구조와 원리 OS를 관통하는 프로그.. (6)
Development (44)
Android (5)
Assembly (4)
C/C++ (11)
C# (0)
HTML (1)
JAVA (2)
JSP (3)
JS Script (2)
Linux Shell Script (2)
Open GL (1)
PHP (0)
Python (1)
QT library (3)
SQL (1)
Swift (1)
MongoDB (0)
Express JS (1)
Angular JS (1)
Node JS (1)
SpongePoweredForgePluginDev.. (2)
Unity3d (1)
Docker (0)
Linux (22)
Linux Kernel Study (1)
Network (9)
WireShark (1)
Network Theory (6)
Hack the packet 2013 (2)
Reversing (50)
Windows PE (10)
Windows Reversing (1)
Linux PE (0)
Linux Reversing (0)
Android Reversing (2)
Reversing Tools (8)
CodeEngn (25)
Reversing.kr (2)
abex's (2)
Sites (3)
System (12)
FTZ (9)
Buffer Over Flow (3)
GDGkr (1)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
준P's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

HELLO_HELL?

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • HELLO? (157)
    • 스터디 (6)
      • Windows 구조와 원리 OS를 관통하는 프로그.. (6)
    • Development (44)
      • Android (5)
      • Assembly (4)
      • C/C++ (11)
      • C# (0)
      • HTML (1)
      • JAVA (2)
      • JSP (3)
      • JS Script (2)
      • Linux Shell Script (2)
      • Open GL (1)
      • PHP (0)
      • Python (1)
      • QT library (3)
      • SQL (1)
      • Swift (1)
      • MongoDB (0)
      • Express JS (1)
      • Angular JS (1)
      • Node JS (1)
      • SpongePoweredForgePluginDev.. (2)
      • Unity3d (1)
    • Docker (0)
    • Linux (22)
    • Linux Kernel Study (1)
    • Network (9)
      • WireShark (1)
      • Network Theory (6)
      • Hack the packet 2013 (2)
    • Reversing (50)
      • Windows PE (10)
      • Windows Reversing (1)
      • Linux PE (0)
      • Linux Reversing (0)
      • Android Reversing (2)
      • Reversing Tools (8)
      • CodeEngn (25)
      • Reversing.kr (2)
      • abex's (2)
    • Sites (3)
    • System (12)
      • FTZ (9)
      • Buffer Over Flow (3)
    • GDGkr (1)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바