같이 노력해 보아요!!

Korea - 한국

Moderator: Moderators

Forum rules
This server is currently not maintained and tables folder (including connection info) maybe outdated. Read the wiki for instructions on how to update those information and please contribute when you obtain them. Contact Cozzie to join the team as a regular server supporter.
noinzang
Human
Human
Posts: 26
Joined: 10 Jul 2008, 11:31
Noob?: No
Location: Rep. South Korea

Re: 같이 노력해 보아요!!

#11 Post by noinzang »

오류나는 부분의 코드를 올려주세요. 모든 클라이언트는 똑같습니다. 틀릴수가 없죠.^^;

실제 게임상에서 주고받는 패킷길이가 분석한 패킷의 길이와 차이 나는게 몇개 있었습니다.

그리고 분석한 recvpackets.txt 파일로도 순수 kore 로는 접속이 안되더군요. 똑같이
MapLogin 에서 서버 로그인 타임아웃이 걸립니다.
Ch@Os
sorimir
Noob
Noob
Posts: 9
Joined: 12 Jul 2008, 09:46
Noob?: Yes

Re: 같이 노력해 보아요!!

#12 Post by sorimir »

현재로써 제 코어 상태를 미루어 보면 단순히 패킷 몇 개의 차이는 아닌 것 같습니다. 거의 대부분의 패킷들이 해석이 안 되고 있다고 봅니다. 아, 물론 Xkore모드를 킨 상태였습니다.
noinzang
Human
Human
Posts: 26
Joined: 10 Jul 2008, 11:31
Noob?: No
Location: Rep. South Korea

Re: 같이 노력해 보아요!!

#13 Post by noinzang »

생각보다 참여가 저조하네요.;;

뭐 저를 포함하여 kore에 대해서 잘 모르는 분들이 많은 상태라 포스팅 하는것도 신중하겠지만
글을 본사람과 리시브패킷을 다운로드도 몇분 받아 가신것 같은데 아무도 포스팅을 하지 않으니
휑하네요.;;

각설하고 sorimir님이 말씀 하신 패킷의 해석이 올바르지 않은것 같다고 하셨는데요.

ragexe.exe 자체를 리버싱해서 코드내에 미리 정의해 놓은 Packet 의 길이를 한치도 틀림없이
정확하게 기입했기 때문에 코드에서 정의한 패킷길이는 100% 올바르게 되었다고 볼수 있습니다.

이 작업을 Packet Extractor 로 하게되면 간단하겠지만 이럴경우 kore 자체에서 오류를 뿜어내어
할 수없이 수작업으로 일일이 코드를 확인하면서 하게 되었죠.

그러면 정확하게 정의한 패킷길이에 문제가 없어야 되는데 왜 알수없는 패킷이 생기는가는 몇몇분들도
말씀 하시지만 서버에서의 유동적인 패킷으로 인하여 그럴수 있다라는 겁니다.

서버측에서 보내는 유동패킷에 적응하려면 kore 자체 소스를 수정해야 한다는게 답이겠네요.
Ch@Os
sorimir
Noob
Noob
Posts: 9
Joined: 12 Jul 2008, 09:46
Noob?: Yes

Re: 같이 노력해 보아요!!

#14 Post by sorimir »

아아, 이해했습니다.
noinzang
Human
Human
Posts: 26
Joined: 10 Jul 2008, 11:31
Noob?: No
Location: Rep. South Korea

Re: 같이 노력해 보아요!!

#15 Post by noinzang »

:twisted:
Last edited by noinzang on 04 Aug 2008, 20:37, edited 1 time in total.
Ch@Os
su_su_
Noob
Noob
Posts: 1
Joined: 22 Jul 2008, 03:38
Noob?: Yes

Re: 같이 노력해 보아요!!

#16 Post by su_su_ »

안녕하세요,
모르는게 많긴하지만 ..
이리저리 하다보니깐 캐릭터 들어가지기 까진했는데 알수없는패킷 몇개정도뜨면서 멈춰버리길래..
여기저기 찾아다니다 이곳으로왓네요 이쪽에서도 역시나 패킷에대한 얘기가 많네요ㅠ
패킷 바포써버는 계속 바뀐다고들었는데 . . ;
이대로 되면 돌리기는 힘들게되는건가요... 고생들이 많으십니다ㅠ
예전엔 누가 대신해주던분이있어서 쉽게 돌렸었는데.. 이번엔 많이힘드네요ㄷㄷ
noinzang
Human
Human
Posts: 26
Joined: 10 Jul 2008, 11:31
Noob?: No
Location: Rep. South Korea

Re: 같이 노력해 보아요!!

#17 Post by noinzang »

XKore 에 무슨 문제가 아닌지 궁금하네요.

포럼에 포스팅된 여러개의 글들을 읽어 보던중에 XKore Mode 로 접속시 로그인해서 캐릭터 선택화면까지
오면 XKore 타이틀바에 케릭터 이름과 HP,SP,Lv 같은 정보가 표시되고 있더군요.

제 경우엔 맵로딩까지 다 마치고 가만히 서있는 상황인데도 XKore 타이틀바에는 접속중이라는 메세지가
떠있는데 이건 XKore 가 Ragexe.exe 파일을 제대로 Hooking 하지 못했다는건가요?

XKore.pm 파일을 살펴보니 몇개 코드가 틀린게 있긴 하던데 그걸 제대로 마춰주어도 별다른 일은 일어나지
않던데......XKore 가 로그인하면 타이틀바에 제대로 떠야 정상인건가요?
You do not have the required permissions to view the files attached to this post.
Ch@Os
noinzang
Human
Human
Posts: 26
Joined: 10 Jul 2008, 11:31
Noob?: No
Location: Rep. South Korea

Re: 같이 노력해 보아요!!

#18 Post by noinzang »

오늘 패킷을 보니 거의 매번 패킷이 유동적으로 변하고 있어서 거의 포기 상태네요.-ㅁ-a

패치전까진 패킷덤프 떠서 일일이 Send 코드 다 맞춰주고 Receive 만 남았었는데...

조각나 있는 정보퍼즐을 어떻게 맞춰야 할지 모르겠네요.

이때까지 한것을 정리해 보자면.......

1. 케릭터 서버에 접속
2. 계정 유효성 검사
3. 케릭터 정보 받음
4. 케릭터 선택
5. 맵파일 및 서버정보 받음.
6. 맵서버 연결
7. 맵 로딩 및 케릭터 정보 로딩

- 현재 막혀 있는 부분입니다. Receive.pm에서 맵 연결이 다되고 나면 You are now in the game
connection 연결메세지가 나와야 되는데 맵 연결을 제대로 못하니까 아무래도 타이틀바에 케릭정보가
나타나지 않는걸로 여겨집니다.

8. 정상 연결(->Kore 작동 시작)

이제 거의 막바지 인것 같은데 여기서 막혀 버리니 머리털이 뽑혀나가는것 같네요.-_-a
힌트가 절실히 필요한 상황인데 noinzang@gmail.com 이나 여기에 포스팅 해주시면 정말 고맙겠습니다.
Ch@Os
adorably
Noob
Noob
Posts: 13
Joined: 29 May 2008, 07:01
Noob?: Yes

Re: 같이 노력해 보아요!!

#19 Post by adorably »

현재 packet-extractor 는 정상동작하고 있습니다.
즉 packet-extractor 축출한 recvpackets.txt 는 정확히 맞다는 뜻입니다.
일부 알수없는 패킷이 뜨는 분은 코어 수정시 잘못 만지면 생기는 부분입니다.
현재 수정하셔야 할 파일들을 말해드리자면..
Receive.pm, ServerType8_1.pm, ServerType8.pm, ServerType0.pm, Utils.pm, Globals.pm
이렇게 6개의 파일입니다.
현재의 패킷은 유동패킷이기 때문에 가장먼저 해야 할 부분은 패킷의 유동공식을 찾는게 가장먼저입니다.
패킷의 유동공식을 먼저 찾아 샌드패킷의 전송을 정확히 한 후에 리시브를 수정해야 하는사항이고요..

noinzang 님의 코멘트 상에서 하신 말씀은 틀린부분이네요..
유동패킷으로 인하여 알수없는 패킷은 발생하지 않습니다.
지금 수정하시는 분들이 보시는 알수없는 패킷은 Receive.pm 에서 뜨는것입니다.
즉..recvpackets.txt 에서 잘라낸 길이는 맞는데 Receive.pm 에서 설정한 패킷이 틀리기 때문에 나타나는 문제입니다.

코어를 수정하시기 전에 Receive.pm 에서 맵 로그인 하는 부분(싱크패킷 및 맵로딩등 초기로딩패킷)
을 제외한 모든 리시브 패킷(공격 및 엑디등..)을 주석처리 한후.. 수정하시기 바랍니다.
앞에서 말씀드렸지만 Receive.pm 이 먼저 수정되어야 하는것이 아니라, 샌드패킷의 유동먼저 해결하셔야 합니다.
지금논의를 보면 Receive.pm 에 대한 논의를 하시고 계신듯 하네요..
맵에 로딩되었다가 팅기는 부분도 Receive.pm 의 문제가 아니라 샌드패킷에서 싱크가 제대로 안돌아 가기때문입니다.

포럼 글을 읽다보니 recvpackets.txt 에서 정의된 길이와 다르게 전송된다고 하셨는데..
다르게 전송된다면 설정하신 패킷이 틀리다는 뜻입니다.
recvpackets.txt 에 정의된 길이만큼 샌드패킷과 리시브 패킷이 정송되고 받아지게 됩니다.
noinzang
Human
Human
Posts: 26
Joined: 10 Jul 2008, 11:31
Noob?: No
Location: Rep. South Korea

Re: 같이 노력해 보아요!!

#20 Post by noinzang »

adorably님 포스팅 감사드립니다.

제가 생각했던 파일 2개만 달랑 고쳐서 끝나는 문제가 아니였네요. 그외에 4개나 더 고쳐야 하는듯
하고 추후에는 더 많이 고쳐야 할지도 모르겠습니다.

힌트를 주셔서 감사합니다. :D
Ch@Os