|
뮤프리서버 구축의 모든 것
- 위에서 부터 차례로 읽어 내려가시며 실행하시면 됩니다.
- 먼저 이글들은 인터넷상의 여러 고수님들의 글들을 종합하여 수정및 보완한 것임을 알립니다.
1. 서버구축의 기본 준비사항
- XP나 2000이상 NT계열의 운영체제
- MS-SQL Server 2000 Personal(윈도우 2000 pro 또는 XP용) 또는 Enterprise(윈도우 2000 Server 2003 Server) 버젼
- XP나 2000이상 NT계열의 운영체제에서만 가동됩니다.
- 98이나 ME에서는 작동안되니 운영체제를 XP나 2000 이상으로 설치하셔야 합니다.
- 운영체제의 종류에 따라 SQL서버의 종류를 선택하셔야합니다.
- 서버용 운영체제를 사용하는 것은 일반적인 컴퓨터에 많은 부담을 주므로 XP Pro를 권장합니다.
- XP 홈에디션은 서버에 적합하지 않으므로 추천하지 않습니다.
- 램의 용량은 512이상이 권장할만 합니다. 그렇지 않은 경우 가상메모리를 많이 읽어들여 동작이 느려집니다.
- CPU는 Pentium 4 2.0이상의 컴퓨터를 추천합니다.
- Mu Server 프로그램을 준비하십시오.
- 현재 0.98c 까지 나와 있으나 0.96y버전이 가장 안정적입니다.
- 최소한 두개의 파티션 또는 드라이브를 가지고 계셔야합니다. C드라이브와 D드라이브
- C드라이브에 설치하는 것은 많은 오류를 동반하므로 기본적으로 셋팅되어 있는 D드라이브를 만들어 쓰도록 합시다.
- D드라이브가 없다면 파티션 매직 프로그램을 사용하여 C드라이브를 두개로 분할시켜 D드라이브를 생성시킵니다.
- 파티션 매직의 사용법은 프로그램 자체내부에 자세한 메뉴얼이 있으며 보시려면 아크로뱃리더를 설치하셔야합니다.
- 만약 드라이브 문자가 D가 아닌 E로 나온다면 제어판-성능및유지관리-관리도구-컴퓨터관리-디스크관리를 선택하십시오.
- 변경하고자하는 드라이브에서 오른쪽 버튼을 눌러 드라이브문자및 경로 변경을 선택합니다.
- 다시변경 버튼을 누르고 드라이브 문자를 D로 선택하신후 확인을 눌러주십시오.
- 이제 D드라이브가 준비되었다면 압축파일을 D드라이브에 풀어주십시오.
- 경로는 다음과 같습니다.
D:\MuServer\CS - 커넥트 서버 프로그램 폴더
D:\MuServer\data - 서버를 가동하고 여러가지 옵션및 게임운영에 필요한 정보를 저장하는 폴더
D:\MuServer\DataServer1 - 데이터서버1 프로그램 폴더
D:\MuServer\DataServer2 - 데이터서버2 프로그램 폴더
D:\MuServer\DataServer3 - 데이터서버3 프로그램 폴더
D:\MuServer\DB - 각종 계정정보및 캐릭터정보등이 저장되는 폴더
D:\MuServer\ExDB - ExDB 서버 프로그램 폴더 이며 데이터 저장은 C:의 SQL폴더로 연결됨
D:\MuServer\GameServer - 게임서버 프로그램 폴더
D:\MuServer\JoinServer - 로그인 서버 프로그램 폴더
D:\MuServer\Links - 9개의 단축 아이콘이 들어 있으며 각 서버를 실행시키는 역할을 함
D:\MuServer\MU2003_EVENT_SERVER - 데빌 스퀘어등의 이벤트를 진행시키는 프로그램 폴더
D:\MuServer\RankingServer - 데빌스퀘어 랭킹 서버
D:\MuServer\깨져보이는 쭝국어 폴더 - 여기에 데이터베이스 백업본이 들어있습니다.(중요사항)
2. MS-SQL에 대한 이해와 설치
- SQL은 데이터베이스를 조작하기 위한 언어입니다. 쉽게 설명하면 계정 정보나 캐릭터의 정보등을 저장하고
접속시 다시 불러들이고 하는 역할을 하게 됩니다. 또 인벤이나 창고에 있는 아이템에 대한 기록도 담기게 됩니다.
- 좀 더 안정적인 서비스를 원한다면 먼저 7번 메뉴얼의 IIS 서버를 먼저 설치하십시오.
- 먼저 CD를 넣으면 자동실행된다.
- SQL Server 2000 구성 요소를 클릭하여 데이터 베이스 설치를 합니다.
- 환영 메시지가 나옵니다.
- '컴퓨터 이름'에서 로컬 컴퓨터”를 선택합니다.
- 설치 선택에서 “새 SQL Server인스턴트…”를 선택합니다.
- 사용자 정보를 입력합고 사용권 계약에 예를 누릅니다.
- CD Key를 입력합니다.
- 설치 정의에서는 서버와 클라이언트 도구를 선택합니다.
- 인스턴트 이름에서는 기본값을 선택합니다.
- 설치 유형은 표준으로 합니다.
- 서비스 계정에서는 “각 서비스에 동일한 계정 사용…자동시작선택”을 사용하고(e)
- 서비스 설정은“로컬시스템계정 사용(L)”을 선택
- 인증 모드에서 혼합모드를 사용하고, sa의 암호를 넣으시고 반드시 기억해 둡니다.
암호는 웹인증작업 셋팅에 필요합니다. 또는 여러 매니저 프로그램에서도 사용됩니다.
만약 기억하기 귀찮다면 스페이스바 하나만 눌러주십시오.
- 이제 파일 복사가 시작 되고, MS-SQL Server 2000의 설치가 완료 됩니다.
- 설치가 마무리 되었다면 시작-프로그램-MS SQL 2000 Server-서비스관리자 를 실행
- 운영체제 시작시 자동실행 체크 플레이 버튼 아이콘이 보이는지 확인하십시오!
3. 데이터베이스의 복원
- 1번에서 설명하였던 중국어 폴더에 들어 있는 데이터 베이스를 복원시키면 힘들게 데이터베이스를 작성하지 않아도
서버 운영에 필요한 데이터 베이스를 구성할 수 있습니다.
- 먼저 시작-프로그램-Microsoft SQL Server-엔터프라이즈관리자 실행
- 콘솔루트 선택하고 그아래 항목을 계속 선택하다보면 데이터 베이스 폴더가 나온다
- 그럼 데이터 베이스로 들어가보자 이미 기본적으로 만들어진 데이터 베이스들이 보인다.
- 이제 여기서 데이터 베이스를 생성시켜보자
- 마우스 오른쪽 버튼을 눌러 새 데이터베이스 메뉴를 선택하면 대화창이 뜬다.
- 이름란에 MuOnline라고 써넣은뒤 확인 버튼을 누른다.
- 이제 MuOnline 데이터 베이스가 생겼다. 하지만 속은 텅비어있다. 여러분이 채우려면 머리아파진다.
- MuOnline에서 마우스 오른쪽 버튼을 누르고 모든 작업-데이터베이스 복원을 선택한다.
- 복원 옵션중 장치내용을 체크한다. 활성화된 메뉴중에 장치선택을 누른다.
- 추가를 누르고 파일이름 누른후 D:\MuServer\중국어로된 폴더안에서 DB_MuOnline.bak를 선택한다.
- 확인, 확인, 확인, 이제 다시 데이터베이스 복원 대화상자가 보일 것이다. 옵션탭을 선택하자.
- 기존 데이터베이스위에 강제 복원을 체크하자. 확인을 눌러주면 복원끝
- 위와 똑같이 Ranking 데이터베이스와 ExDB 데이터 베이스를 복원하자.
4. ODBC에서 dsn 설정하기
- 웹이나 비주얼 프로그래밍을 해본사람은 한번쯤 셋팅해 봤겠지만 그렇지 못한 사람들이 더 많을 것입니다.
- 쉽게 말해 이 과정은 각종 프로그램이 시스템에 연결된 데이터 베이스를 불러다 쓸수 있도록 구성하는 것입니다.
- 제어판- 성능및유지관리-관리도구-데이터원본(ODBC)선택한다.
- 두번째 시스템 DSN 선택한다. 추가를 누른다. 목록의 제일 아래로 내려가 SQL Server를 선택한후 마침 누른다.
- 대화상자가 뜬다. 이름에 MuOnline라고 적는다. 연결할 SQL서버는 (local)을 선택해준다.
- 다음, 그대로 다음, 기본 데이터베이스를 다음으로 변경 체크하고 목록중에 MuOnline선택해준다. 다음, 마침
- 추가 누르고 MuOnlineJoinDB를 똑같은 방법으로 만든다.
- 추가 누르고 USELOG를 똑같은 방법으로 만든다.
- 추가 누르고 Event를 같은 방법으로 만든다.
- 랭킹서버를 위하여 추가누르고 이름란에 DEVILSQURE_RANKING라고 쓴다 다음, 그대로다음.
- 기본 데이터베이스를 다음으로 변경 체크하고 목록에서 Ranking을 선택해준다. 끝
5. 계정 설정하기
- 사실 여기 까지 끝냈다면 계정 추가만 해준다면 바로 게임을 즐기실 수 있습니다. ㅡ,.ㅡㅋ 내 컴퓨터에서만
- 만약 이 과정이 어렵거나 오류가 난다면 7번 메뉴얼을 실행하면 쉽습니다.
- 먼저 엔터프라이즈 관리자를 다시 연다.
- muonline-테이블-MEMB_INFO테이블에서 오른쪽마우스 클릭-테이블열기-모든행반환 누름 : 회원정보테이블
- memb_guid 순서 번호(1부터 순서대로 증가시킨다.)
- memb_id 아이디
- memb_pwd 비밀번호
- memb_name 이름
- sno_numb (주민등록번호등의 사회보장번호 캐릭터지울때 필요함)
- post_code 우편번호(숫자대충적는다)
- addr_info 동까지 적는 주소(대충적는다)
- addr_deta 상세주소(대충적는다)
- tel_numb 집전화번호(숫자대충적는다)
- phon_numb 핸드폰 번호(숫자대충적는다)
- mail_addr 이메일주소(대충적는다.@이가 필요하다)
- fpas_ques 비밀번호 잊었을때 찾기위한 질문(대충적는다)
- fpas_answ 거기에 대한 답변(대충적는다)
- job_code 직업코드인데 목록에 머가 있는지 모르겠다(숫자대충적는다)
- 나머지는 비워둔다.
- mail_chek 1을 넣어준다.
- bloc_code 0을 넣어준다.
- ctl1_code 1을 넣어준다. 테이블을 닫는다.
- 위의 사항들중 몇가지는 결제정보에 쓰이기 때문에 기억해야한다.
- MuOnline-테이블-VI_CURR_INFO테이블에서 오른쪽 마우스 클릭-테이블열기-모든행반환 누름 : 결제정보테이블
- ends_days 계정마감일이다. 길제 잡아 줘야한다. 20061231으로 입력(2006년 12월 31일)
- chek_code 1로 해준다.
- used_time 사용시간 걍 24적어준다.
- memb___id 위와 똑같은 항목
- memb_name 위와 똑같은 항목
- memb_guid 위와 똑같은 항목
- sno_numb 위와 똑같은 항목
- Bill_Section 결재방식 그냥 숫자 6
- Bill_Value 그냥 3
- Bill_Hour 그냥 6
- Surplus_Point 그냥 6
- Surplus_Minute 계정 끊은 날짜 같은디...필드네임하고 데이터 양식이 차이가 난다 ㅡ,.ㅡ 2004-02-01입력
- Increase_Days 그냥 0
- 입력 완료했으면 서버켜고 접속해봐도 무난하다.
- 하지만... 아직 많이 남았다 헥헥
6. 서버의 IP주소 설정하기
- 일단 자신이 쓰고 있는 인터넷 회선이 무엇인지 알아야한다. 어려울것 없다. 이중 무엇인가?
- 집에서 쓰는 케이블, ADSL, VDSL 종류인가? 무난하다.
- 회사나 게임방에서 쓰는 전용회선인가? 그렇다면 횡재~
- 가상 사설망에서 쓰는 가상 IP인가? 그렇다면 대략 낭패 ㅋ
- 혹시 대학이나 연구소 대기업 정보통신업체에 있어서 방화벽에 둘러쌓여 있지는 않은가? 그렇다면 절망 ㅡ.ㅡ
- 자 일단 자신의 컴퓨터의 IP주소는 무엇인가? 시작-실행을 클릭하고 명령창에 cmd 라고 쓰고 엔터
- 도스창이 보인다. 여기서 ipconfig라는 명령을 타이핑하고 실행해본다. 정보가 뜬다. 적어 놓자
- 아래는 IP주소를 수정할 파일들의 목록이다.
- CS 폴더 : Connectserverlist.dat
- CS\data 폴더 : Connectserverlist.dat , Serverinfo.dat Serverlist.dat 세개
- data 폴더 : commonserver.cfg , ipList.dat
- data\lang\kor 폴더 : commonloc.cfg
(주의 : 열기전에 미리 chs폴더에서 Checksum.dat와 commonloc.cfg를 복사하여 kor폴더에 붙여넣는다.중요한 사항이다.)
- Links 폴더 : 5번 단축아이콘과 9번 단축아이콘
- 위의 파일들을 열어보면 파일안에 127.0.0.1 이라고 적힌 부분이 있다.
- 위의 주소는 네트워크에서 자기자신에게 신호를 볼낼때 쓰는 디폴트 주소이다. 여하튼...
- 이곳을 먼저 알아 두었던 IP주소로 바꾸어주고 저장하면 된다.
- 주의 텍스트 파일을 저장할때도 프로그램에 따라 저장하는 문자코드가 달라 질수 있다.
- 되도록 전문 에디터를 사용하도록하자.
- 특히 commonserver.cfg파일에는 바꾸어야할 IP주소가 세군데나 있다.
- 손쉽게 해결하려면 울트라 에디터로 위의 파일들을 모두 연다.(물론 단축아이콘은 제외다.)
- 그 다음 검색메뉴의 바꾸기를 선택한다. 찾는 말에 127.0.0.1을적고 바꿀 말에 자신의 IP주소를 적는다.
- 교체할 위치옵션에서 모든파일열기를 선택하고 모두 바꾸기를 실행하면 단 한번에 해결된다.
- 그 다음 Serverinfo.dat 파일을 보면 FTP(파일전송서비스) 연결주소에 웹주소가 씌여있다.
- 이 부분도 자신의 IP주소로 대체해준다.
- 그 다음 commonserver.cfg파일에 가보면 언어를 선택하는 곳이 있다.
- Language = 0이 되도록 고치자. 0이 한국어다. 위에서 지시한 Checksum.dat와 commonloc.cfg를 kor폴더에
복사하지 않았다면 이부분을 한글로 체크하여도 한글로 표시되지 않는다. 주의해야한다.
- 모두 저장하자.
- 마지막으로 단축 아이콘에 지정되 IP주소를 수정해야한다.
- Links 폴더에는 9개의 단축 아이콘이 있다. 대상은 5번(JoinServer), 9번(GameServer)이다.
- 단축 아이콘에서 오른쪽 버튼 클릭- 속성(등록정보) 실행 - 대상 항목에 적혀있는 127.0.0.1의 주소를 바꾸어준다.
- 하지만 유동 아이피는 언제 바뀔지 모른다. 유동 아이피를 고정 아이피처럼 잡아주는 프로그램이 있다. 구해서 설치하자.
- 자 이제 서버를 실행하여 정상작동 유무를 체크하고 다른 컴퓨터에서 연결이 가능한가 테스트 해보도록하자.
7. 웹을 통한 회원 가입을 위해 IIS 설치와 회원가입 페이지 작성하기
- 먼저 IIS(인터넷정보서비스) 서버를 설치해야 합니다.
- Server운영체제라면 미리 설치되어 있을 수 있지만 보통은 설치해야합니다.
- 윈도우 설치 시디를 준비 합니다.
- 제어판에 프로그램 추가/제거를 실행합니다.
- Windows 구성요소 추가를 선택합니다.
- 인터넷 정보서비스(IIS)를 선택하고 확인을 눌러 설치합니다.
- c:\Inetpub\wwwroot가 자동으로 생성됩니다.
- 소스가 공개된 회원 입력 asp 프로그램이 영어로 되어있어 곤란하시다면 메뉴얼과 함께 제공되는
accountreg.zip파일을 사용하십시오 이해하기 쉽게 한글로 작성하였습니다.(물론 제가욤)
- 현재 유통되고 있는 accountreg.rar 압축파일을 wwwroot에다 풀어 놓습니다.
- 메모장이나 울트라 에디터로 conn.asp 파일을 열어봅니다.
- 아이피 주소하나 보입니다. 자신의 아이피주소로 수정합니다.
- 데이타 베이스 접근 아이디가 sa(System Administrator)로 되어있습니다.
- 여러분의 MuOnline 데이터베이스의 사용접근 권한에 dbo(DataBase Owner)의 ID를 확인해 봅시다.
- SQL서버의 엔터프라이즈 관리자를 엽니다.
- MuOnline 데이터베이스로 들어가 사용자를 더블 클릭합니다.
- dbo의 로그인 이름을 기억합니다.
- 처음 SQL 설치시 쓰셨던 sa의 비밀번호를 기억하실 겁니다. 스페이스바 한번만 눌렀을 수도 있습니다.
- 이제 sa 대신에 위의 로그인 이름을 적어줍니다. 사실 거의 모두다 sa가 맞을 겁니다.
- 옆에 패스워드도 고쳐 줍니다. 스페이스바를 누르신 분이라면 패스워드를 지워서 공백으로 둡니다.
- 저장하고 나오셨다면 모든게 끝난 상태입니다. 당근 회원가입 처리 됩니다.
- 인터넷을 열고 주소창에 자신의 컴퓨터 아이피 주소를 입력하고 엔터를 칩니다.
- 위족의 영어로된 가입 페이지 이동을 누르십니다.
- 단 회원 가입페이지에서 글자수만 잘 맞춰주시면 됩니다. 그것까지 물어 보신다면 그냥 서버 설치 그만두세요! ㅎㅎ
8. 경험치 설정과 이벤트 사용유무 결정하기(서버를 실행하기 전에 조정하여야 한다.)
- data\commonserver.cfg 파일을 울트라 에디터로 열어보자.
- 쭉 펼쳐진 옵션중에 이런 항목이 있을 것이다.
AddExperience = 5000 ; 경험치 증가값
- 중간에 ; <--세미콜론은 주석(도움말등)을 달때 쓴다. 경험치 값은 배수 이다.
- 위의 설정은 경험치를 평소의 5000배로 설정해 놓은 예이다. 알아서 고쳐보도록 하자.
- 이벤트의 사용유무 조정은 무슨무슨Event =1 이런 식으로 나온 부분이 있다
- 이 숫자를 0으로 하면 사용하지 않는 것이고 1로 하면 사용하는 것이다.
- 저장하면 끝. 자세히 알고 싶으면 옆에 달린 주석을 읽어보면 될 것이다.
- 또 아이템 드랍율에 관한 곳들은 배율이 서로 다르기 때문에 아래쪽 쓰여진 사항을 유심히 보자.
9. 상점에서 판매하는 아이템을 조정해 보자! (서버실행중 변경가능)
- 우선 data 폴더에 있는 파일들중 아이템에 관련된 파일들을 알아보자
- eventitembag~12.txt <--이파일들은 행운의 상자에서 드랍되는 아이템 종류들을 나열해놓은 파일이다.
- shop0~10.txt <--이 파일들은 상점에서 파는 아이템의 종류들을 넣어 놓은 파일이다.
- 파일들의 제목에서 보다시피 번호순으로 각각의 상점이나 행운의 상자 종류가 다르다.
- 참고로 로랜마을 술집주인은 shop1.txt 이며 쿤둔의상자 +5는 eventitembag12.txt 이다.
- 일단 로랜말 주점에서 보석과 날개를 팔아보자! 처음만 이해하면 나머지느 쉽다.
- 울트라 에디터로 shop1.txt 를 연다. 아래와 같은 내용이다.
// 주점 아가씨 ( 리아먼 )
// type index level dur op1 op2 op3
14 9 0 0 0 0 0
14 10 0 0 0 0 0
- 이 내용을 분석해보면 답은 금방 나온다.
- 이곳에 적힌 코드는 아이템의 타입,번호,레벨,내구도(duration ; 물약의경우 갯수),스킬,행운,옵션 순서이다.
- 중요한 것은 내구도를 255로 맞출경우 수리가 안되는 버그가 생기니 미리 조심해야한다. 무조건 0
- shop의 아이템을 추가한다거나 조작할 경우는 위의 형식을 반드시 지켜주어야한다. 7자리이다.
- 14는 타입 번호인데 예를 들어 검, 도끼, 창, 투구, 갑옷, 장갑 이런식으로 분류하여 번호를 붙여 놓은 것이다.
- 파란글씨 부분은 인덱스(색인)번호이다. 검중에 무슨검이냐는 이것으로 결정한다.
- 그럼 이 타입이나 색인 번호를 어떻게 알 수 있을까?
- 울트라 에디터를 이용하여 data\ lang\kor\item(Kor).txt를 열어보자. 아래와 같은 목록이 많이 나온다.
0
1 1 3 1 1 1 "짧은검" 3 3 7 20 22 0 60 0 1 1 1 1
0 1 2 1 1 1 "크리스" 6 6 11 50 20 0 40 40 1 1 1 1
2 1 3 1 1 1 "레이피어" 9 9 15 40 23 0 50 40 0 1 1 1
4 1 3 1 1 1 "자객검" 12 12 18 30 24 0 60 40 0 1 0 1
3 1 3 1 1 1 "카타치" 16 16 26 35 27 0 80 40 0 1 0 1
6 1 3 1 1 1 "그라디우스" 20 20 30 20 30 0 110 0 0 1 1 1
7 1 3 1 1 1 "펄션" 24 24 34 25 34 0 120 0 0 1 0 1
8 1 3 1 1 1 "서펜트볼그" 30 30 40 20 36 0 130 0 0 1 0 1
5 1 3 1 1 1 "블레이드" 36 36 47 30 39 0 80 50 1 1 1 1
13 1 3 1 1 1 "더블블레이드" 48 48 56 30 43 0 70 70 0 1 1 1
14 1 3 1 1 1 "번개검" 59 59 67 30 50 0 90 50 0 1 1 1
16 1 4 1 1 1 "파괴의검" 82 82 90 35 84 0 160 60 0 1 0 1
17 2 4 1 1 1 "다크브레이커" 104 136 162 40 89 0 180 50 0 2 0 0
18 2 3 1 1 1 "선더블레이드" 105 120 158 40 86 0 180 50 0 0 0 1
19 1 4 1 1 0 "대천사의절대검" 86 120 130 35 84 0 140 50 0 1 0 1
9 2 3 1 1 1 "셀러멘더검" 32 32 46 30 40 0 103 0 0 1 0 1
10 2 4 1 1 1 "빛의검" 40 47 61 25 50 0 80 60 0 1 1 1
11 2 3 1 1 1 "전설의검" 44 56 72 20 54 0 120 0 0 1 0 1
15 2 3 1 1 1 "거대한검" 52 60 85 20 60 0 140 0 0 1 0 1
12 2 3 1 1 1 "태양검" 56 73 98 25 66 0 140 0 0 1 0 1
end
- 제일 위쪽의 0은 바로 검의 타입 번호이다.
- 그리고 인덱스(색인) 번호가 나오는데 파괴의 검은 16이다. 대천사의 절대검은 19번이다.
- 우리에게 필요한 것은 여기 까지다.
- 그럼 보석의 타입번호와 색인 번호들을 알아보자
- 아래로 쭉 내려가면 보석이 나온다. 축,영,생석은 14번인데 혼석은 12번에 있다.
- 그리고 각각 인덱스 번호가 있다. 이제 이것들을 상점 데이터에 맞게 고치면 된다.
- 타입 14, 색인 13, 레벨 0, 내구도 0, 스킬 0, 행운 0, 옵션 0 <--축석이다.
- 타입 14, 색인 14, 레벨 0, 내구도 0, 스킬 0, 행운 0, 옵션 0 <--영석이다.
- 그럼 울트라 에디터에서 shop1.txt 파일에 다음을 추가 시켜 넣어보자.
- 주의 사항은 end는 항상 마지막 줄에 반드시 있어야한다는 것이다. 목록의 끝을 알리는 문자이다.
//보석들
12 15 0 0 0 0 0 //혼돈의보석
14 13 0 0 0 0 0 //축복의보석
14 14 0 0 0 0 0 //영혼의보석
14 16 0 0 0 0 0 //생명의보석
- 글자 앞에 // 를 붙이면 프로그램이 인식하지 않는다. 주석인셈이다.
- 그럼 날개를 추가 해보자. 날개는 타입 12이다. item(Kor).txt 파일에서 찾아보자.
//날개
12 0 0 0 0 1 4 //요정날개
12 1 0 0 0 1 4 //천공의날개
12 2 0 0 0 1 4 //사탄날개
12 3 0 0 0 1 4 //정령의날개
12 4 0 0 0 1 4 //영혼의날개
12 5 0 0 0 1 4 //드라곤의날개
12 6 0 0 0 1 4 //암흑의날개
- 3번째는 아이템의 레벨인데 날개가 비싸기 때문에 11 날개를 만들어 놓으면 살수가 없다. ㅡ,.ㅡㅋ 0~11까지 쓴다.
- 네번째 내구도는 0으로 해두면 원래값대로 나온다.
- 다섯번째 스킬은 날개에는 필요가 없다. 검이나 활, 방패등에만 쓰는 옵션이다. 1이면 스킬이 붙는다
- 여섯번째 모두 행운을 붙였다. 0이면 행운이 아니고 1이면 행운이다.
- 일곱번째 옵션은 옵션/4의 값이다. 1이면 4옵, 2이면 8옵, 3이면 12옵, 4이면 16옵이다.
- 그럼 엑설런트는 어떻게 할까? 상점에서는 못판다. shop 코드로는 엑설런트를 만들수 없다.
- 엑설런트 아이템은 쿤둔의 상자 아이템을 상점에 추가하여 얻을 수 있다.
- 쿤둔의상자+1(14 11 8), 쿤둔의상자+2(14 11 9), 쿤둔의상자+3(14 11 10), 쿤둔의상자+4(14 11 11), 쿤둔의상자+5(14 11 12)
- 괄호안은 타입과 색인번호 레벨이다. 당연히 뒷쪽은 0들로 채운다. 이제 알만도 하지 않은가???
- 상점 데이터를 다시 불러 오려면 GameServer(맨 마지막에 실행한 프로그램)로 가서 Shop reload를 시키면 된다.
10. 쿤둔의 상자 조정법
- 쿤둔의 상자 +5를 상점에 추가 하여도 최고의 엑설런트 아이템을 가질 수는 없다.
- 이제부터 대천사시리즈의 아이템 까지 상자에서 드롭되도록 조정해보자.
- 일반 아이템 없이 오로지 엑설런트만 나오게 만들것이다.
- 쿤둔의 상자 +5는 12번의 색인 번호를 가지고 있었다.
- 즉 eventitembag12.txt파일이 해당 파일인 샘이다. 울트라 에디터로 열어보자.
- 쿤둔의 상자에서 쓰이는 코드는 상점 코드와 다르다. 착가하지말자.
- 보기에도 6자리만 사용한다. 게다가 일반 아이템과 엑설런트 아이템을 구분하는 부분도 있다.
- 보석과 날개는 엑설런트 아이템이 없다. 착각하지 말자. 내용을 보면 이렇다.
//칸투르의지하군단
//일반아이템
12 15 4 0 0 0
14 14 4 0 0 0
- 중간 생략 넘길다. ㅡ,.ㅡ
//엑설런트
13 8 0 0 1 0
13 9 0 0 1 0
13 12 0 0 1 0
13 13 0 0 1 0
- 이하생략 역시 넘길다. ㅡ,.ㅡㅋ
- 분명히 6자리 숫자를 쓴다. 공통점은 타입과 인덱스와 레벨 까지는 같다는 것이다.
- 그럼 쉽다. 나머지 세자리를 비교해보면 5번째 숫자가 일반아이템은 0인데 엑설런트는 1이다.
- 이제 위에서 상점 코드를 변경했던 것과 같은 방법으로 여섯자리 코드를 만들어 5번째 숫자만 1을 붙여준다.
- 위쪽에 있는 일반 아이템 코드는 지울 필요없이 1로 고쳐주자. 단 보석은 엑설런트가 없다.
- 대천사시리즈나, 홀리, 썬더, 그랜드소울, 다크피닉스등의 코드를 만들어 넣자.
- 날개 아이템도 추가해 넣어보자. 역시 날개도 엑설런트가 없다. 무슨 의미인가하면 1로 바꿀 필요가 없다는 것이다.
- 이제 저장하면 된다. 그런데 리로드가 안된다. 헉 ㅡ,.ㅡ; 서버 내리고 다시 시작하자 물론 컴퓨터 껐다가 켜는게 좋다.
- 서버 프로그램들이 시스템에 부하를 많이 주기때문에 반환되지 않는 리소스들이 많다. 재부팅이 최선이다. ㅋ
- 상점에서 쿤둔의 상자를 구입하여 바닥에 던져보자 나오는 것마다 엑셀이다. 귀찮으면 보석은 코드테이블에서 배자
11. 상점 아이템의 가격을 조정하자. (서버실행상태에서 조정하면 컴퓨터 책임 못짐 ㅡ,.ㅡ)
- 우선 일반 Hex 에디터는 불편함이 많으므로 울트라 에디터를 추천합니다.
- 16진수란 0~9,A~F,를 사용하여 총 16개의 문자로 수를 표시하는 방법입니다.
- 보통우리는 0~9까지의 10진수를 사용합니다.
- 변경할 아이템의 가격을 미리 알아두십시오.
- 작업을 하기전에 해당 파일을 미리 복사하여 다른 곳에 백업 시켜 두십시오.
- 시작-보조프로그램-계산기를 실행 합니다.
- 계산기를 공학 모드로 바꿉니다.
- 울트라 에디터 실행합니다.
- GameServer\GameServer.exe를 열기 합니다.
- 자동으로 HEX 편집모드로 바뀝니다. 그래서 좋습니다.
- 이제 축복의보석 가격을 조정하겠습니다. 아시다시피 9,000,000 입니다.
- 물론 계산기에서는 9000000 이겠죠?
- 9백만을 입력하고 왼쪽 옵션중에 HEX를 선택하면 변환됩니다. 16진수로요
- 다 아시겠지만 HEX는 16진수, DEC는 10진수, OCT는 8진수, BIN은 2진수입니다.
- 얼마가 나오죠? 895440 입니다. 하지만 89 54 40 이렇게 두자리씩 띄어서 씁니다.
- 이 값을 적어 놓고 다시 DEC를 선택 합니다.
- 백만으로 조정해 보겠습니다. 백만을 입력합니다. 1000000
- 다시 HEX 선택 합니다. 얼마가 나오죠? F4240 입니다. 0F 42 40 입니다.
- 앞에 붙여준 0은 값이 짝수 자리가 아닌 홀수 자리가 나올때의 조처법입니다.
- 홀수 자리의 값이 나오면 반드시 맨 앞쪽에 0을 붙여서 짝수 자리로 만들어 주세요.
- 역시 이 값도 적습니다.
- 그럼 첫번째 값을 40 54 89 라고 다시 적습니다.
- 두번째 값은 40 42 0F 라고 적습니다.
- 어떻게 한거죠? 네! 뒤에서 부터 두자리식 순서를 바꾼 겁니다.
- 파일내의 16진수 값은 이런식으로 순서가 거꾸로 기록되게 되어 있습니다.
- 만약 여러분들이 그냥 순서를 바꾸지 않고 찾게 된다면 그대로 악몽입니다. 프로그램이 망가지죠!
- 이제 다시 울트라 에디터로 가셔서 검색 메뉴의 바꾸기를 누릅니다.
- 찾는 말에 40 54 89 를, 바꿀말에 40 42 0F 를 써 넣습니다.
- 바꾸기를 누릅니다. 1번 바꿨다는 메세지를 확인하고 검색창을 닫습니다.
- 저장 버튼을 누릅니다. 게임상에서 표시되는 메세지는 9,000,000 젠이지만 실제로는 1,000,000 젠만이 결제됩니다.
12. 창고에 돈과 아이템 넣기
- 엔터프라이즈 관리자에서 MuOnline 데이터베이스를 열어 맨 아래쪽의 warehouse 테이블을 엽니다.
- 이 테이블은 창고의 정보가 들어 있습니다. 그중 Money 필드는 젠을 입력하는 곳인데 많이 넣으면 에러 납니다.
- 50,000,000 젠이 정도까지만 안전 합니다. 제가 작성한 회원 가입 페이지에서는 창고에 자동으로 3,000,000젠이 생기도록 했습니다.
- 하지만 아이템은 이진데이터를 사용한다고만 나오죠? 수정도 안됩니다.
- 이 부분의 수정은 진짜로 SQL을 사용합니다. SQL이란 데이터를 조작하는 질의어입니다.
- 다알려들면 너무 복잡합니다. 인벤토리 코드에 아이템 코드까지 변환해서 질의 하려면 일드니까 예문 올릴테니 그대로 사용하면 됩니다.
- 먼저 위쪽 버튼중에 SQL이라고 적힌 버튼을 누릅니다. 그럼 화면이 2분할 되면서 위쪽에 SQL창이 열립니다.
- 기본적인 구문이 적혀 있는데요~ 다 지우세요!
- 그 다음 아래에 나열된 내용들중 UPDATE라고 시작하는 SQL 구문과 코드부분만 복사하여 SQL 창에 붙여넣기 합니다.
- 그리고 AccountID = " " 이부분에 원하는 계정명(아이디이며 캐릭명이 아닙니다. 주의 틀리면 바보)을 넣습니다.
- 이제 위의 도구상자중에 느낌표 아이콘을 누릅니다.
- 데이터가 변경되었다는 메세지와 함께 아이템이 입력됩니다.
- 주의 할 점은 창고에 있던 다른 아이템이 모두 사라져 버립니다. 조심하세요!
- 마검사의 최고 엑설런트 아이템셋
UPDATE warehouse
SET Items = 0x14DC5F00000000FF04DDFFFFFFFFFFFFFFFFFFFF34DC5F00
000000FF04DDFFFFFFFFFFFFFFFFFFFF54DC5F00000000FF04
DDFFFFFFFFFFFFFFFFFFFF74DC5F00000000FF04DDFFFFFFFF
FFFFFFFFFFFF
WHERE (AccountID = '아이디를 고쳐 넣습니다.')
- 뮤즈엘프 최고 엑설런트 아이템셋
UPDATE warehouse
SET Items = 0xF3DC5F000000007F04DDFFFFFFFFFFFFFFFFFFFF13DC5F00
000000FF04DDFFFFFFFFFFFFFFFFFFFF33DC5F00000000FF04
DDFFFFFFFFFFFFFFFFFFFF53DC5F00000000FF04DDFFFFFFFF
FFFFFFFFFFFF73DC5F00000000FF04DDFFFFFFFFFFFFFFFFFF
FF
WHERE (AccountID = '아이디를 고쳐 넣습니다.')
- 소울마스터 최고 엑설런트 아이템셋
UPDATE warehouse
SET Items = 0xF2DC5F000000007F04DDFFFFFFFFFFFFFFFFFFFF12DC5F00
000000FF04DDFFFFFFFFFFFFFFFFFFFF32DC5F00000000FF04
DDFFFFFFFFFFFFFFFFFFFF52DC5F00000000FF04DDFFFFFFFF
FFFFFFFFFFFF72DC5F00000000FF04DDFFFFFFFFFFFFFFFFFF
FF
WHERE (AccountID = '아이디를 고쳐 넣습니다.')
- 피닉스 최고 엑설런트 아이템셋
UPDATE warehouse
SET Items = 0xF1DC5F000000007F04DDFFFFFFFFFFFFFFFFFFFF11DC5F00
000000FF04DDFFFFFFFFFFFFFFFFFFFF31DC5F00000000FF04
DDFFFFFFFFFFFFFFFFFFFF51DC5F00000000FF04DDFFFFFFFF
FFFFFFFFFFFF71DC5F00000000FF04DDFFFFFFFFFFFFFFFFFF
FF
WHERE (AccountID = '아이디를 고쳐 넣습니다.')
13. 캐릭터 정보조정하기
- 엔터프라이즈 관리자의 MuOnline 데이터 베이스에서 Character 라는 테이블을 엽니다.
- 아래와 같은 필드를 가지고 있습니다. 알아서들 조정하세요!
AccountID = 계정 입니다
Name = 캐릭터아이디 입니다
cLevel = 캐릭터의 레벨 입니다
LevelUpPoint = 찍을수 있는 포인트 갯수입니다. (9개 넣으면 9개의 포인트생김)
Class = 캐릭터의 클래스값입니다
(0=법사,1=소울마스터, 16=기사, 17=블레이드나이트, 32=요정, 33=뮤즈엘프, 48=마검사 입니다)
Experience = 경험치 입니다
Strength = 힘의 수치 입니다
Dexterity = 민첩 수치 입니다
Vitality = 체력 수치 입니다
Energy = 에너지 수치 입니다
Inventory = 인벤토리에 있는 아이템정보입니다 (sql로 조정가능)
MagicList = 캐릭터가 배운 마법 리스트 입니다 (sql로 조정가능)
Money = 캐릭터가 가지고있는 돈입니다 (최대 999,999,999원)
Life = 현재 피수치입니다
MaxLife = 최대 피수치입니다
Mana = 현재 마나수치입니다
MaxMana = 현재 마나수치입니다
MapNumper = 캐릭터가 있는 맵의 넘버입니다
MapPosX = 캐릭터가 있는 맵의 X 좌표입니다
MapPosY = 캐릭터가 있는 맵의 Y 좌표입니다
MapDir = 잘 모르겠네요-_-;;;
PkCount = PK는 실험을 못해봐서 모르겠지만 아마 사람죽인수 일겁니다
PkLevel = 현재 캐릭터의 pk level.. 3이면 정상
PkTime = 카오풀릴때까지의 시간입니다
MDate, LDate = 마지막접속시간
- 알아서들 조정하세요~!
### 자 여기까지 기나긴 여정을 모두 따라 오셨는지요 ^^ 제가 도움이 되었다면 감사하겠습니다.###
### 허접한 메뉴얼이지만 여러분들의 실력에 발전이 있으시길 빕니다.###
### 대답도 안해주는 질답 게시판 헤메지 마시구여... 틀리면 처음부터 다시 시작하는 근성을 가지세요. ###
### 그것 다시 시작하기 싫어서 이궁리 저궁리 하면 시간만 다 잡아 먹습니다. ###
### 이글이 올라온 최초의 카페나 게판에 관련 파일들 모두 올립니다. 물론 서버 구축에 관한 것만 올립니다.###
### 이글은 여러 다른 고수님들의 글들을 인용하여 작성한 것임을 다시 한번 밝힙니다. ###