PDA

View Full Version : Early version of new netcode work



purple
02-05-2005, 11:26 AM
I see skittles, so I wanted to share. Loads of thanks to Doodman for letting me look at his sniffer and for answering questions when I needed.

This is a diff AGAINST LATEST CVS. I didn't really have anything else to diff against. This is alpha code. There are problems with this. There's still a lot of work to be done, but it seems to be working well enough to at least get skittles.

Known issues I'm aware of:
1) There are some sync problems with moving
2) CRC checking is turned off
3) Session request/response isn't implemented much yet
4) A lot of the op codes aren't correct any longer, thus information is missing
5) Session tracking might not work yet

I haven't thoroughly tested things like logging or whatnot, but I tried to stay out of code that didn't need touching.

What I'd like from you, if you're willing to try this:
- If you have problems (crashes, console messages about size problems, etc.) post them up
- If you have the capabilities to help translate old opcodes to new opcodes, that would be very appreciated
- If you find see anything bad in the code or whatnot, let me know!

This is my first real change to seq. Hope this is good stuff for folks. I'll keep polishing it to clean up the problems I know about, I just wanted to try to get something out so people don't move on to myseq or something and I wanted help with opcodes.

Patch is attached. It's against latest CVS, so get CVS then apply the patch. Remember that when using CVS, you still need to "make -f Makefile.dist all" in order to generate configure. This requires autoconf and automake of specific versions and such.

Please don't post questions about applying patches or compiling here. Make a new thread. Please do post feedback here so we can make this better.

attached: 02052005.patch.gz.txt (gzipped patch, take off .txt)

BlueAdept
02-05-2005, 11:38 AM
WoW...thanks Purple! I might just have to renew my EQ account to try it :)

And thanks to all those that are still working on it. I know that a lot of people really appreciate it.

codepig666
02-05-2005, 12:09 PM
bah. I beat you by 2 minutes =P

-piggy

BlueAdept
02-05-2005, 01:20 PM
Heh.

And thanks codepig. You have also done a lot for the project. :)

Ok, while Im doing some ass kissing, anyone else I should mention? :)

ieatacid
02-05-2005, 03:11 PM
Nice job guys, it's good having SEQ back.

tanner
02-05-2005, 07:08 PM
What's the difference between Piggy's code and Purple's code?

codepig666
02-05-2005, 07:35 PM
Purple's code is based off of a different person's packet sniffer. In the end, they both have to do the same thing in order to work. The approach is slightly different.

Because purple did a full on diff/patch, I would use his version if you are just playing the game.

*EDIT**** the following paragraph was a BAD IDEA.
If, however, you are searching out opcodes/structures, you might unzip my files on top of his to get around the segfault issue when logging zone packets. I havn't actually done this to prove that it works, but it theory it should. Let me know if it doesn't


*EDIT*** the following new paragraph is a good idea
if you want to hunt opcodes, get my patch and apply it to the cvs version.

happy hunting

-piggy

purple
02-05-2005, 08:08 PM
My goal isn't to get things to work as soon as possible. My goal is to do things the right way and to give a basis for improvements as we move forward. I did my best to keep things inline with the current seq code (which is to say clean and commented well), and I just used Doodman's sniffer as a way to learn the packet structure and protocol.

If you're looking for which patch to apply so you can make new .debs that work, don't pick mine. It is in an early stage right now and lot of things don't work. But it's a much better starting point for people trying to identify opcodes than a completely unworking version. This needs to be done before we can call seq "working" again. It's not working yet, but we are getting there.

If you just want to package something, wait a couple days. My patch is still stabilizing and there are some issues with it that make it unsuitable for normal use. That said, it's good for developer use if people want to help debug and report problems or they want to help map opcodes.

serberus
02-06-2005, 04:08 AM
I have to say how impressed I am with your work Purple.

I've never been able to get into programming in a big way but know enough to appreciate that diving into fixing ShowEQ and learning the EQ data protocol is a daunting task which you seem to have succeeded at.

It's always nice to see appreciation and support for work like this because when nobody says thanks you just wonder why you bothered.

So I would like to extend a very big...

THANK YOU!

:D

Serberus

cann
02-06-2005, 09:04 AM
ok i dont know jack about op codes and such =P but iam guessing you want error messages.

Warning: !!!! EQPacketFragmentSequence::addFragment(): buffer overflow adding in new fragment to buffer with seq 0206 on stream 3, opcode 0164. Buffer is size 95705 and has been filled up to 95671, but tried to add 506 more!

got that after zoning to MPG worked fine for about 5 mins, this dont happen everytime.

/can

purple
02-06-2005, 09:22 AM
Thanks, Cann. That's exactly what I want to see. I have that fixed in my local copy. I'm just trying to fix a memory clobber when zone logging is turned on then I'll put out a new patch. I've got a lot more of the opcodes filled in now too. Look for a new patch later today.

purple
02-06-2005, 09:49 AM
Heh, just fixed that memory clobber. Will package up a new patch now, since zone logging helps immensely in finding opcodes.

cann
02-06-2005, 11:54 AM
woot =P ill keep posting then .. another while runing through natimbi

Warning: !!!! EQPacketFragmentSequence::addFragment(): buffer overflow adding in new fragment to buffer with seq 0283 on stream 3, opcode 0164. Buffer is size 95315 and has been filled up to 95312, but tried to add 506 more!

same opcode it seams but diffrent numbers =P

/cann