Go Back   EQEmulator Home > EQEmulator Forums > General > General::General Discussion

General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 06-28-2008, 05:41 PM
Rocker8956
Hill Giant
 
Join Date: Sep 2007
Posts: 117
Default Client add-on

After looking through the forums for the past month or so I noticed a few things that seem to be road blocks in making EQEmu more live like (crap grammar sorry). Mainly it seems LDoNs and the bazaar are the main missing features at the moment. So as far as I understand it, the main obstacle for these is figuring out the OPcodes.

Basically the way I understand it is without the OPcodes we can
Reply With Quote
  #2  
Old 06-28-2008, 05:52 PM
Rocker8956
Hill Giant
 
Join Date: Sep 2007
Posts: 117
Default

Five minute rule got me before I noticed half my post was cut off.

here is the full post.

After looking through the forums for the past month or so I noticed a few things that seem to be road blocks in making EQEmu more live like (crap grammar sorry). Mainly it seems LDoNs and the bazaar are the main missing features at the moment. So as far as I understand it, the main obstacle for these is figuring out the OPcodes.

Basically the way I understand it is without the OPcodes we can not trigger the client to respond to LDoN's, bazaar, etc.

K here is the question.

Wouldn't it be easier to patch the client with our own OPcodes instead of trying to find theirs? or is that breaking the rules?

If I am way off the mark please tell me and I will go back to my little corner.
Reply With Quote
  #3  
Old 06-28-2008, 06:32 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

If we had the means to patch the client with our own opcodes then we could probably figure out the real opcodes.
Reply With Quote
  #4  
Old 06-28-2008, 06:41 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Yes, that would be against the law, and it would be pretty much impossible to do anyway if I understand how it works.

I have been working the past few days to find another way to get the opcodes we need. So far, I haven't had a ton of luck yet, but I figure it is worth a shot.

One thing I have seen that might be helpful is that it looks like MQ2 has all of the opcodes for all commands listed in it, unless those are only opcodes for MQ2 itself.

The thing I can't figure out is exactly where opcodes are stored in the source of the emu. I see a list of them in the emu_oplist.h, but they all look like this:

Code:
N(OP_TradeSkillCombine),
N(OP_AugmentItem),
N(OP_ItemName),
N(OP_ShopItem),
N(OP_ShopPlayerBuy),
N(OP_ShopPlayerSell),
N(OP_ShopDelItem),
N(OP_ShopRequest),
I thought that opcodes were supposed to look more like hex or actual code like; "0xffff". Maybe the ones above are being converted into code? It would help alot more if I knew exactly what I was supposed to be looking for.

Also, I was curious from a legal standpoint, what are viable options for attaining the opcodes without breaking the law? I know in the past they have been attained from packet sniffing, but what about debugging the code, or reverse engineering the source of eqgame.exe or something like that? I know all of the info we could ever need should be in there, but what are our legal options for getting it out? I know modifying the file is illegal (at least if you plan to distribute it), but I think debugging it or reading it with a hex editor/etc should be ok.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #5  
Old 06-28-2008, 07:16 PM
Rocker8956
Hill Giant
 
Join Date: Sep 2007
Posts: 117
Default

Thanks for the replies KLS and Trevius. Guess I did not think that one through very well.

Sorry Trevius, I have no idea on your questions. I am just starting to learn about opcodes. Hopefully someone else knows.
Reply With Quote
  #6  
Old 06-28-2008, 07:41 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Each patch has it's own opcode config file, nothing is stored in source anymore in regards to opcodes. patch_<patch name>.conf is where we store them.
Reply With Quote
  #7  
Old 06-29-2008, 12:19 AM
EvoZak
Sarnak
 
Join Date: May 2008
Location: Midwest
Posts: 72
Default

ShowEQ is also a pretty good source for OPCodes is it not? Don't know how helpful that would be with respect to the bazaar and such tho as they are more concerned with mobs, spawns, loot, etc.
Reply With Quote
  #8  
Old 06-30-2008, 01:23 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Ah, the billion dollar question... How to find OpCodes

I've thought about this myself, and have run into a few roadblocks. Here are the possibilities I've thought of to get these bad boys from the client:
  1. Packet sniffing
  2. eqgame.exe
  3. Grabbing from old versions of SEQ

Option 1 wouldn't be too bad, except you have to decode the packets, which makes just using Ethereal, etc, not very helpful. I think there are some utilities in the server source (using Perl) to decode the packets, but I haven't personally messed with any. Ideally, you could just do something on the client, the look for an OpCode that seems out of place.

Option 2 would probably be the best way to dig out OpCodes, especially ones we have no idea about, but it requires a lot of work and knowledge about Assembly (which I don't). As linked above, there is some info in the Wiki that gives some general info about doing this, but it's a little above my head.

Option 3 would probably be the easiest way at this point, since the work has already been done. However, unless something was just overlooked in the original SEQ files, I'm pretty sure we have all of the Titanium OpCodes we can get from SEQ. It looks like the same goes for Anniversary edition. On the plus side, it gives us a good place to start for the Live client.

Of course, if it was going to be easy, everything would be working by now
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #9  
Old 07-01-2008, 10:34 PM
EvoZak
Sarnak
 
Join Date: May 2008
Location: Midwest
Posts: 72
Default

Actually there are a fair amount of bazaar related opcodes in the emulator (or rather, used by the emulator). Just like there appear to be opcodes for tribute, ldon, etc.
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 03:48 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