Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 12-06-2008, 06:29 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I am starting work on getting EQEmu to work with Secrets of Faydwer, since it appears that it will be the last retail pack that includes all previous expansions that SoE is going to offer. Currently, I am just trying to be able to log in with it, but no luck just yet. I pulled a bunch of opcodes from SEQs nearest release to when SoF came out, and put them into the anniversary opcodes file (since I can't seem to get it to compile when I create SoF patch files). I think I can still pull more opcodes and see if that helps, but at the point it is failing, I think I will need to start trying to find the structures from SEQ and edit them into the EQEmu code.

Just wanted to mention that I am starting on this, in case anyone else is interested I figure that if I can get it to at least log into the world, I can start working out the rest of the opcodes and structs from that point on. Once we have enough for basic play, I think it will be ready to update the SVN with it and all can work on it together. I figure that the way Derision used to pull opcodes from 6.2 and find the opcodes in Titanium should work for finding SoF opcodes as well.

Not getting very far yet, but I am determined lol. I figured that with a bit of research and learning a few things, I can make at least some progress. ATM, I think I still need the proper Opcodes to use for SoF. Once I have those, I think I will have to start on Packet Structures. I have found some decent info from the source in SEQ, but it is hard to tell which to trust, EQEmu source, or SEQ source lol.

From my EQ Debug Logs:
Code:
[Sat Dec 06 06:17:26 2008]00035:WorldAuthenticate: Initiating Login.
[Sat Dec 06 06:17:33 2008]00036:WorldAuthenticate.  I got a message of type 0x51bc (20924).
[Sat Dec 06 06:17:33 2008]00037:*** ERROR: WorldAuthenticate.  ??? UNKNOWN MESSAGE 

[Sat Dec 06 06:17:33 2008]00038:WorldAuthenticate.  I got a message of type 0x4762 (18274).
[Sat Dec 06 06:17:33 2008]00039:*** ERROR: WorldAuthenticate.  ??? UNKNOWN MESSAGE 

[Sat Dec 06 06:17:33 2008]00040:WorldAuthenticate.  I got a message of type 0x701f (28703).
[Sat Dec 06 06:17:33 2008]00041:*** ERROR: WorldAuthenticate.  ??? UNKNOWN MESSAGE 

[Sat Dec 06 06:17:33 2008]00042:WorldAuthenticate.  I got a message of type 0x399f (14751).
[Sat Dec 06 06:17:33 2008]00043:*** ERROR: WorldAuthenticate.  ??? UNKNOWN MESSAGE 

[Sat Dec 06 06:17:33 2008]00044:WorldAuthenticate.  I got a message of type 0x52a4 (21156).
[Sat Dec 06 06:17:33 2008]00045:*** ERROR: WorldAuthenticate.  ??? UNKNOWN MESSAGE 

[Sat Dec 06 06:17:33 2008]00046:WorldAuthenticate.  I got a message of type 0x7519 (29977).
[Sat Dec 06 06:17:33 2008]00047:*** ERROR: WorldAuthenticate.  ??? UNKNOWN MESSAGE 

[Sat Dec 06 06:17:33 2008]00048:WorldAuthenticate.  I got a message of type 0xf14 (3860).
[Sat Dec 06 06:17:33 2008]00049:*** ERROR: WorldAuthenticate.  ??? UNKNOWN MESSAGE
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 12-06-2008 at 04:29 PM..
Reply With Quote
  #2  
Old 12-07-2008, 09:23 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

So Far, I have the following Opcodes correct for sure:

Code:
OP_SendLoginInfo=0x6c3c	#Trevius 12/07/08 - Verified Correct!
OP_PostEnterWorld=0x1AEE	#Trevius 12/07/08 - Verified Correct!
And, now I need the following to make further progress:

Code:
OP_GuildsList
OP_LogServer
OP_ApproveWorld
OP_EnterWorld
OP_ExpansionInfo
OP_SendCharInfo
I found OP_SendLoginInfo by watching the opcodes coming in by using a tail on the server logs. I am starting to get the hang of reading through the disassembled code and that is how I found the OP_PostEnterWorld opcode. I haven't been able to find any using Derision's method yet, but right now, I am just feeding through the ones that have text in the code that I can reference. I found "WorldAuthenticate. Access granted" in plain text of the disassembled code and by referencing the code from Titanium and the known opcodes, it wasn't hard to find the correct one for SoF. Hopefully, as I become more familiar with the disassembled code, I will get better at finding this stuff.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 12-24-2008 at 05:12 PM..
Reply With Quote
  #3  
Old 12-07-2008, 09:56 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

There's a lot of different things we'll have to deal with with the SoF client too. Death and out of combat regen are a bit different and probably a billion different structures. Good luck, you're braver than I. =p
Reply With Quote
  #4  
Old 12-08-2008, 01:31 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Ya, I figure if worse comes to worse, at least I am learning something along the way, which is always a good thing

My current plan is to find as many opcodes as I can. I think once I get the hang of it, it won't be too bad to find many of them. As long as I can get the important ones going, then I can move onto the next step. The next step will be to see if I can figure out how to collect packet structures from EQLive, and then compare the Titanium structures to the Live structures and see if I can figure out what might work for SoF. I imagine that the structures from SoF are still fairly close to Live in alot of ways. By looking at the added features from each expansion, it might not be too hard to figure out what to add/remove and where. I think then the main issue will be making sure that everything takes up the correct space in the structs, since that will be hard to guess. Once the old and new structures are compared, we can probably narrow it down to a few questionable pieces and try to resolve those. I also think that SEQ source might be of some help. Though, I am not sure how exact their structures are for their releases.

Nothing ever gets done by lack of trying. Gotta start somewhere I guess, lol. I figure that if I can get a good start on this, maybe some people will see the progress and jump on board to help and finish it off quicker.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #5  
Old 12-08-2008, 02:57 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Also might be worth seeing if showEQ has a patch that matches with SoF client, not sure if you have or not. They usually figure out most of the really big structures and opcodes.
Reply With Quote
  #6  
Old 12-08-2008, 05:44 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Ya, SoF was released on November 13, 2007 according to it's wiki page, and SEQ has patches for Nov 21, 28, and Dec 17. The Opcode update wasn't until Dec 17.

Here is the list of SEQ releases:
http://sourceforge.net/project/showf...ckage_id=13256

Here is a post about some changes after the expansion:
http://www.showeq.net/forums/showthr...3&page=5&pp=15

And more changes discussion after the patch here:
http://www.showeq.net/forums/showthr...?t=5943&page=4

The Opcodes I could find from the SEQ code don't seem to work. At least the ones I have tried so far. Though, I don't think they change them all with each patch, so maybe some of them will still work.

At least it looks like they have some good struct info, or at least something to work with. It is too bad our 2 projects don't really work together, because we could both share the load in working on stuff like this and EQEmu would have been updated long ago :P

Here are some of their change logs to give a timeframe idea of what they did and when:

Quote:
ieatacid (1/21/0
----------------
+ Updated version to 5.12.1.0
+ Updated Opcodes
+ Updated structs (thanks ksmith for help with playerSpawnPosStruct bit fields)

BlueAdept (12/16/07)
----------------
+ Updated version to 5.12.0
+ Updated Opcodes (ieatacid)
+ Removed all the obfuscator stuff (ieatacid)

BlueAdept (11/21/07)
----------------
+ Updated version to 5.11.0
+ Updated structs (ieatacid)
+ Updated character level to 80 (ieatacid)

BlueAdept (11/05/07)
----------------
+ Updated version to 5.10.0
+ Added opcode decryption (purple, ieatacid)
+ Updated opcodes to current build
+ Changed version to correct numbering
So, it looks like we should be able to get at least some needed struct stuff from them, and maybe some opcodes, if they didn't all change by the time of the Dec 17th update.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:16 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3