Page 1 of 1

New Clients

Posted: Fri Sep 30, 2011 12:28 am
by Clayzzz
I have and old client (echoes of faydwer) and have been trying to make it work with eq2emu 0.7 from svn by using eq2emu patcher, I haven't been able to though. Seems like there is need of a lot of files after install and of course when i patch to live i have the newest client and not compatible.

My question is, can i add new structs so the emus xmls so it can recognize the new client or should it be done in the code.. it would be nice if this was dynamic. Just so you can add the info needed for new clients.

Genuine answer appreciated :)

Re: New Clients

Posted: Fri Sep 30, 2011 9:01 am
by John Adams
Clayzzz wrote:it would be nice if this was dynamic. Just so you can add the info needed for new clients.
First, understand EQ2Emulator is probably one of the only emulators that supports multiple client versions the way we do it, and thus is far more dynamic than anyone else in this respect. We support dozens of client versions between RoK and DoV, and have done so since the beginning in 2007. How we do this is by using the struct files to define the data structure of various packets, which are associated with opcodes being sent to and from the server via the client.

It is far more complex than simply creating opcodes/structs, and there is no way to make the emulator "dynamically" determine a client/server data stream on-the-fly... if that's what you're asking.


Bottom line is, you can attempt to add structs to support EoF's client data version (that is not the software version # in the title bar), but unless you know how to reverse-engineer the client, dig out every opcode necessary, identify every data packet's structure, and then build opcodes/structs to match -- all without a packet log from that era, I am afraid you will be unsuccessful.

However, should you take on this task and succeed, submitting your work to this project would be welcome and we would include it in our repository.

Re: New Clients

Posted: Fri Sep 30, 2011 11:55 am
by Clayzzz
Thank you for the detailed answer John, love the insight :D.
I might be new to reverse-engineering but i know my fair share of C/C++ and the higher languages of computer science and think it is time i helped with this project (as i have been an idle member for some time :roll: ).

This was exacly what i was asking and better yet if updated support for the newest client could be a goal i have the time.
You actually seem to lack the people and time to work on the code and that's a shame since you have the only (decent) emulator for the game, well correct me if i'm wrong :) .

Can't get the packet collector tool to work with the newest version, so i want to ask if you will release the source for this tool for me to contribute on ?

Re: New Clients

Posted: Fri Sep 30, 2011 4:50 pm
by John Adams
Clayzzz wrote:since you have the only (decent) emulator for the game, well correct me if i'm wrong :)
Are there other EQ2Emulator projects? I was not aware if so... and yes, we are a very small team, always have been, but welcome community input.
Clayzzz wrote:Can't get the packet collector tool to work with the newest version, so i want to ask if you will release the source for this tool for me to contribute on ?
Sorry, but the collector source is private (not opensource) and belongs to someone else, so I cannot release that code to anyone. Plus, SOE can now detect the running collector due to how it injects into their EXE, and they issue warnings and bans, so even we don't use it anymore except in extreme cases.

Re: New Clients

Posted: Sat Oct 01, 2011 3:39 am
by Clayzzz
Understandable, guess i will have to start from scratch then.

Thank you for the answers :)