게임강의
메이플스토리 분류

메이플스토리 [기초]넷빈 8.2로 팩 내부 소스 불러오고 빌드하기

컨텐츠 정보

본문

[출처: Gamezone]
작성자: 작성자 없음

안녕하세요 앞으로 프리메이플 관련 강좌를 지속적으로 올리게 될 pirrtuq이라고 합니다.


강의 목록은 총 4가지 분류로 나누어지고, 한 목록 당 여러 차례의 강의가 있을 수 있습니다. 근데 보통은 줄여서 쓸 거니까 그닥 많지 않을거에요


프리메이플 구축하는 데 그렇게 많은 프로그래밍 문법이 필요한 것도 아니고... 기껏해야 if, switch, 변수 형식(short, char, int, long), 함수(+인자) 정도만 배우면 다 응용하셔서 프리메이플 개발자가 되는 데 무리는 없을 겁니다.


1. src폴더 열기 (이번강의)


2. 프리메이플 소스를 알아보기(=분석하기) 위한 기초적 프로그래밍 상식


3. 현재 프리메이플 소스에 많이들 쓰이는 변수 이름, 함수이름등 알려드림


4. 현재 프리메이플 서버 팩에 동봉된 src에 쓰인 구조 파악


 


특히 3번같은 경우에는, 원래 프리메이플이라는게 한 팀이 지속적으로 팩 하나를 가지고 끊임없이 개발하는 경우(메이플 본 서버)가 아니라 여러사람이 위키백과에 자기 지식을 쌓아올려 만들고 잘못되거나 부족한 정보 수정하는것과 비슷한 느낌이기 때문에 아주아주 과거에 사용되었던 팩에서 쓰였던 변수/팩 구조가 현재 팩에도 그대로 남아있는 경우가 많으며 첨삭 조금 이뤄지고 끝인 경우가 많습니다. 제가 2013년인가 2014년 당시에 시그너스 원정대에 보스격파시 알림메세지가 전체 채널에 공지되게 집어넣었던 소스를 2017년 당시 배포된(?) 1.2.253 요크팩에서 발견할 정도라서요, 아마 아주 큰 변화가 일어난 패치같은게 아니라면(Ex:빅뱅 전 메이플/빅뱅 후 메이플) 제가 말씀드리는 걸로도 충분할 겁니다.


 


 


 


 


 


일단 이번강의에서는 가장 기초적인, 팩 내의 소스파일 불러오기를 하겠습니다.


사용할 팩은 1.2.253(1) 요크팩 입니다.


팩 배포는 따로 하지 않겠습니다. 인터넷에도 널렸고..


 


오늘의 준비물은 자신이 사용할 팩 넷빈 8.2 입니다.


 


팩은 여러분이 가지신 거 사용하시고


넷빈 8.2( https://netbeans.org/downloads/ )


일단 위의 링크로 접속하시면


[이미지 링크 만료]


이중에서 뭘 받으셔야 할 지 고민이실텐데 어처피 다른언어 다 필요없고 우리는 NetBeans Platform SDK랑 Java SE만 필요합니다. 나머지 자바는 뭐 그냥 핸드폰용, 서버용, 임베이드기기용(인형뽑기나 아두이노 기계 소스같은거)입니다 필요없어요


그러니까 고민말고 다운로드 버튼들 중 맨 왼쪽에있는 다운로드 클릭.


 


설치화면에서는 그닥 생각이 필요 없습니다 그냥 계속 Next누르고 Install누르고 관리자권한 필요하다면 허용 해주시고 앞만보고 돌진하시면 됩니다


설치가 다 되시고 바탕화면의 


[이미지 링크 만료]


를 여시면 됩니다. 로딩이 쫌 길 수 있어요 원래 개발툴들이 좀 무거움


그러면 이런 화면이 나타납니다.


[이미지 링크 만료]


화면 왼쪽 위의 뭐 server.~~~~~ 있고 Library 항목안에 뭐어쩌고저쩌고있고 이런건 다 개무시하십시오 저건 src파일을 열어야 나오는 겁니다. 님들이 아무것도 안하고 설치만 하셨으면 저기에 비었다고 뜸


 


 


 


그 다음차례는 님 팩을 살펴볼 차례입니다.


팩 내부 폴더를 보시죠


[이미지 링크 만료]


현재 이 폴더에서 아래쪽 즈음에 있는 "src"라고 적힌 폴더가 팩의 소스 폴더 입니다.


 


 


주의하실점이 이 폴더가 있을수도 있고 없을수도 있습니다.


보통 배포되는 팩들을 받으셨다면 있을텐데, 가끔 판매하는 팩들을 사시는 분들이 있어요


그 판매가격들중에서 보통 가격이 더 싼거는 src가 없습니다 = 님들이 할 수 있는 수정이 제한됩니다


꼭 src폴더가 필요해요


 


 


일단 팩 내의 Dist 폴더에 들어가주세요


[이미지 링크 만료]


 


이 폴더에서, ~~~~~~~~~~.jar 이라고 된 파일이 있을거에요 


[이미지 링크 만료]


이 ~~~~~~~ 부분을 뭐 메모장이라던가 어따가 복사해놓아야 합니다.


 


 


 


그리고 넷빈 창으로 되돌아가서


[이미지 링크 만료]


 


File - New Project 눌러주세요


 


 


 


[이미지 링크 만료]


이 창에서 카테고리에서 Java 클릭 - Java Project with Exsisting Source 클릭하시고 Next 눌러주세요


 


 


[이미지 링크 만료]


이 Project Name 칸에는 아까전에 우리가 Dist 폴더에서 ~~~~~~~~~~~.jar 파일의 ~~~~~~~~~~부분을 기록해 두었으니 그걸 그대로 써주세요.


Project Folder은 대충 빈 폴더 아무거나 만들어서 지정해주세요. 안쪽에 뭐 들어있으면 안될확률이 있습니다


 


[이미지 링크 만료]


대충 이런식으로 하셨으면 됩니다 Next클릭


 


 


 


 


 


 


[이미지 링크 만료]


 


빨간색 표시된 버튼 눌러주세요


 


 


[이미지 링크 만료]


아까전에서 우리가 팩 내부의 소스파일이 위치한 폴더(src폴더)를 찾았었습니다.


그 src 폴더를 클릭하고 "열기" 버튼 눌러주신 다음


그대로 Finish 눌러주세요


 


 


 


 


 


그렇게 하고나면 이제 src소스 열기가 완료되고 프로젝트가 생성됩니다.


그런데 그냥 열면 이렇게 빨간 오류들이 주루룩 뜨면서 우리를 당황시킵니다.


[이미지 링크 만료]


 


배경이 되는 라이브러리 파일이 없어서 그렇습니다. 


아까전에 우리는 프리메이플 팩 폴더 내의 Dist 폴더를 들어갔었습니다.


그쪽으로 다시 들어가보세요


 


[이미지 링크 만료]


 


형광펜이 칠해진 Lib 폴더로 들어가 보시면 이런 것들이 뜹니다.


[이미지 링크 만료]


이제 이 jar 파일들을 src소스 프로젝트에 넣어야합니다.


 


 


 


 


 


 


다시 넷빈으로 돌아와주세요.


[이미지 링크 만료]


 


Libraries 우클릭 - Add JAR/Folder 클릭


 


[이미지 링크 만료]


아까전에 우리가 보았던 팩 내의 Dist폴더 - Lib 폴더로 다시 들어가셔서, 있던 모든 파일을 선택하고 열기 클릭해줍시다.


 


그러면 우리가 만든 프로젝트의 오류가 많이 사라집니다.


그런데 어떤 팩들은 오류가 많이 줄어들긴 했어도 완전히 사라지지는 않는 경우가 있습니다.


코드를 표현하는 인코딩이 잘못되어서 한글이나 특수문자 표현이 잘못되는 경우입니다.


 


[이미지 링크 만료]


최상단 프로젝트 우클릭 - Properties 클릭


 


[이미지 링크 만료]


 


Encoding 항목에서 보통은 UTF-8로 설정되어 있으실 텐데 이걸 EUC-KR로 바꿔주시고 OK 눌러줍시다.


 


 


 


 


[이미지 링크 만료]


오류가 다 사라지고 클린한 src파일만 남았습니다. 아직도 오류가 있는 경우에는 보통 개발이 덜 된 미완성 팩이거나 라이브러리 추가에 오류가 있는 겁니다.


 


 


 


 


 


 


 


 


 


 


 


 


 


이렇게만 한다고 우리가 이 소스를 짰던 게 서버에 바로 반영되지 않습니다.


"빌드"라는 것을 한 후, 우리의 프로젝트 폴더의 결과물을 팩 내부 Dist로 옮겨야 합니다.


아래에 사진과 함께 설명드리겠습니다.


 


[이미지 링크 만료]


 


프로젝트 최상단 우클릭 - Build 버튼 클릭


 


잠시 기다리세요.


[이미지 링크 만료]


 


이쪽의 형광펜으로 칠해진 부분처럼 BUILD SUCCESSFUL이라고 뜨면 빌드에 성공한겁니다.


 


주의하실점은 우리가 만든 프로젝트에, 아까전에 빨간색으로 오류가 있었을 때가 있었죠?


그런 오류가 있으면 빌드가 실패합니다. 결과물이 반영되지 않습니다.


 


 


 


 


자 우리가 프로젝트를 생성했던 이름이 있었죠? Project Name말고, Project Folder이라고 입력했던 그겁니다.


 


[이미지 링크 만료]


제가 아까 사진에서는 abc라고 입력했었지만 그건 그냥 예시로 보여드린거고 저는 원래 만들어두었던 "src개발"이라고 하는 폴더를 프로젝트 폴더로 설정했었습니다.


그 폴더에서, 우리의 프메 팩에 있는 폴더들과 같은 이름의 폴더들이 있는데요, 그 중 dist 폴더에 들어가 줍니다.


 


[이미지 링크 만료]


우리가 프메 서버 팩의 Dist 폴더에서 봤던 것이랑 똑같은 파일들이 있습니다.


전부 복사합시다.


 


[이미지 링크 만료]


 


제 프로젝트 내부 말고, 제 프리메이플 서버 팩 폴더이름은 ArcStory_Emulator_V1_2_253입니다.


아까전의 서버 팩 폴더의 Dist폴더로 들어가서, 여기다가 이 파일들을 전부 복사붙여넣기 해주세요.


 


[이미지 링크 만료]


 


 


이름이 같은 파일이 총 몇 개 있냐가 중요한 건 아닙니다 팩마다 라이브러리 갯수가 다르기 때문에 다를 수 있거든요


그냥 다 덮어씌워버리시면되요.


이걸로 소스를 여는 방법과 개발한 부분(이 강의에선 개발한 부분은 없습니다)을 빌드 후 서버에 적용시키는 방법까지 모두 알아보았습니다.


 


 


 


 


자 여기까지가 1강입니다


뭔가 장황한데 결국 한거는 그냥 소스파일 열기랑 개발내용 적용시키기 밖에 없구요 한두번 해보시면 나중엔 그냥 손이 저절로 움직입니다


 


다음 주제부터는, 바로 개발로 들어가진 않을거구요 개발에 필요한 지식들 몇몇개 알아보고 갈 건데 두 번째 주제가


2. 프리메이플 소스를 알아보기(=분석하기) 위한 기초적 프로그래밍 상식


라고 했잖습니까


이 주제에서 한 3~4강정도 소모할 예정입니다 길고 재미없긴한데 꼭필요하니까 반드시 하셔야되요


 


 


 


 


 


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


 


그리고 윈10 편하네요 시간좀 지나니까 오류도 적어지고 뭣보다 캡쳐기능 내장 된 게 편함


 


 


+(2017.06.22 - PM 4:40)


그리고 사실 넷빈 8.2는 만들어진지 꽤 된 프로그램입니다 제가 2014년까지도 이거 사용했어요


프로그래밍 강의 게시판의 주제 메이플스토리 보니까 이클립스로 src폴더 여는 강의를 쓰신 분도 있던데


그 방법으로 진행하셔도 무방합니다. 그게 더 좋을수도 있어요 이클립스가 넷빈보다 더 가볍고 빠르고 오류도 조금 더 적습니다


그럼 왜 구닥다리 넷빈쓰냐면 걍 제가 편해서요. 앞으로도 넷빈 쓸겁니다


다른 프로그램을 사용하더라도, 프리메이플의 소스는 java언어이고 이걸 수정하는 프로그램만 다를 뿐입니다. 메모장과 마이크로소프트 워드프로세스 쓰는 차이 정도라고 해야하나요


UI가 다르게 생긴 것 빼고는 전혀 지장없습니다.


 


+(동일날짜 - PM 4:50)


다음 주제에서는 변수와 반복문과 조건문, 함수등과 관한, 프로그래밍 언어에 대해 배우겠습니다.


 

관련자료

댓글 0
등록된 댓글이 없습니다.
메이플스토리 45 / 3 페이지
번호
제목
이름

강의실

🏆 포인트 랭킹 TOP 10
순위 닉네임 포인트
1 no_profile 타키야겐지쪽지보내기 자기소개 아이디로 검색 전체게시물 82,042
2 no_profile 라프텔쪽지보내기 자기소개 아이디로 검색 전체게시물 51,280
3 no_profile 동가리쪽지보내기 자기소개 아이디로 검색 전체게시물 32,591
4 no_profile Revolution쪽지보내기 자기소개 아이디로 검색 전체게시물 28,199
5 서번트쪽지보내기 자기소개 아이디로 검색 전체게시물 23,416
6 no_profile 닥터스쪽지보내기 자기소개 아이디로 검색 전체게시물 22,310
7 no_profile 불멸의행복쪽지보내기 자기소개 아이디로 검색 전체게시물 13,822
8 no_profile 호롤롤로쪽지보내기 자기소개 아이디로 검색 전체게시물 13,500
9 no_profile 검은고양이쪽지보내기 자기소개 아이디로 검색 전체게시물 13,246
10 no_profile 하늘2쪽지보내기 자기소개 아이디로 검색 전체게시물 13,239
알림 0