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

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-12-2005, 08:25 AM
vRandom
Sarnak
 
Join Date: Jun 2005
Posts: 91
Default

Cool, I'm in that downtime spot atm too... but i work from home so i can make downtime but today is vacation day

I refuse to work and more than i must today... lol

I'm running around and killing stuff with spells and just goofing off atm

I am getting this when i'm sitting in a zone and doing nothing for awhile.

Code:
[Error] Unhandled incoming opcode: OP_Unknown (#0, eq=0x0000), size: 8, Client:
Blahs
   0: 49 DD 12 00 00 DD 12 00                            | I.......
though i dont understand how to figure out what they are...
vRandom

edit: sure i open my mouth about being on vacation and the damn phone rings and now i have to go fix something grrrrrrr

Last edited by vRandom; 09-12-2005 at 04:31 PM..
Reply With Quote
  #2  
Old 09-12-2005, 09:23 AM
WildcardX
Developer
 
Join Date: Apr 2003
Posts: 589
Default

Anyone know if this ever got done?

case CLIENT_CONNECTED: {
ClientPacketProc p;
p = ConnectedOpcodes[opcode];
if(p == NULL) {
//TODO: replace this 0 with the EQ opcode
LogFile->write(EQEMuLog::Error, "Unhandled incoming opcode: %s (#%d, eq=0x%04x), size: %i, Client: %s", OpcodeNames[opcode], opcode, 0, app->size, GetName());
if(app->size<1000)
DumpPacket(app->pBuffer, app->size);
else{
cout << "Dump limited to 1000 characters:\n";
DumpPacket(app->pBuffer, 1000);
}
break;
}

Notice that comment: //TODO: replace this 0 with EQ opcode... In the source I am looking at, it seems:

p = ConnectedOpcodes[opcode];
if(p == NULL)

is kicking out the error message when zone.exe starts for a char about OP_AnnoyingZoneUnknown. Thats the first error message we see in zone.exe before we start seeing all those messages about OP_ClientUpdate. Unfortunately, I can not debug this at work atm and will have to wait until I get home to place a break point here to see what this value is.

[Status] 99875 New client from ipxxxxxxxxx port:1038
[Error] Unhandled incoming opcode: OP_AnnoyingZoneUnknown (#299
e: 8, Client: Tallerin
0: 37 02 00 00 40 00 00 00 | 7...
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:37
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36

EDITED: I think I am on to something.. I dont know what OP_AnnoyingZone opcode is suppose to do, but I believe it is wrong in opcodes.cfg. The above log is truncated. (#299 is missing some digits) Right now in the latest opcodes.cfg, OP_AnnoyingZone equals = 0x63da which is 25562 in decimal. The missing digits from the above log, #299... This is the opcode that OP_AnnoyingZone should be, right? I think I am correct but it will have to wait until I get home to check for sure. Meanwhile, if someone wants to try this, just run your server and note that error message and get the full 5 digit number from your output. Then open a calc in windows and switch it to scientific view. Then select "decimal" and type in that 5 digit number, then select "hex" and you should get a number like 0x63da. Then replace that number in your opcodes.cfg for OP_AnnoyingZone and then rerun your server and BE SURE TO COME BACK TO THIS THREAD AND REPORT RESULT THX!!

Last edited by WildcardX; 09-12-2005 at 05:43 PM..
Reply With Quote
  #3  
Old 09-12-2005, 09:53 AM
jillmatik
Sarnak
 
Join Date: Sep 2005
Posts: 51
Default Quick help

I can start testing this now.. here's my error code.. what number should i replace in opcodes.conf ??

Quote:
Received Message SyncWorldTime
Time Broadcast Packet: EQTime [10:26 pm]
[Status] 161941651 New client from ip:ipaddress port:1964
[Status] Weather should change in 6932 seconds
[Error] Unhandled incoming opcode: OP_AnnoyingZoneUnknown (#299, eq=0x0000), size: 8, Client: Test
0: 38 02 00 00 40 00 00 00 | 8...@...
[Error] Unhandled incoming opcode: OP_AnnoyingZoneUnknown (#299, eq=0x0000), size: 8, Client: Test
0: 38 02 00 00 80 00 00 00 | 8.......
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
Just tried editing the opcodes.conf file with the updated hex number. This was the resulting output:

Quote:
Received Message SyncWorldTime
Time Broadcast Packet: EQTime [02:28 am]
[Status] 196613 New client from ip:ipaddress port:1997
[Error] Unhandled incoming opcode: OP_Unknown (#0, eq=0x0000), size: 8, Client: Test
0: 3A 02 00 00 40 00 00 00 | :...@...
[Error] Unhandled incoming opcode: OP_Unknown (#0, eq=0x0000), size: 8, Client: Test
0: 3A 02 00 00 80 00 00 00 | :.......
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
I agree.. hopefully someone will chime in! Worth a shot though thanks for the work!

Last edited by jillmatik; 09-12-2005 at 06:05 PM..
Reply With Quote
  #4  
Old 09-12-2005, 10:00 AM
WildcardX
Developer
 
Join Date: Apr 2003
Posts: 589
Default

Nevermind, it seems that the 0 that the TODO comment was talking about is in the following line of the client_packet.cpp file:

LogFile->write(EQEMuLog::Error, "Unhandled incoming opcode: %s (#%d, eq=0x%04x), size: %i, Client: %s", OpcodeNames[opcode], opcode, 0, app->size, GetName());

The third variable in, is hard coded as a zero which is while your output and everyone elses says (#299 0x0000). That 0x0000 should be the real opcode that the server recieved from the client for the OP_AnnoyingZone opcode. To bad its hard coded like that or we could use that number and plug it into opcodes.cfg. But based on what I am seeing with just this one opcode I am 100% convinced that the opcodes.cfg file that ships with both the source and binaries for 6.2 is inaccurate and needs to be updated.

This is the first time I have ever looked into the EQEmu source before so I hope an enxperienced EQEMU developer reads this and can chime in to let us all know for sure. If I am correct, then we all need to start up our packet sniffers to come up with a correct opcodes.cfg file to get this working, unless PEQ already has a working one and they can share it with the rest of us.
Reply With Quote
  #5  
Old 09-12-2005, 10:17 AM
WildcardX
Developer
 
Join Date: Apr 2003
Posts: 589
Default

I just noticed something else, no where in the code can I find any mention of OP_AnnoyingZone opcode. Shouldnt this be one of the opcodes mapped in the void MapOpcodes() function of the client_packet.cpp file? If this is a valid opcode and should be handled, whats it suppose to do? I guess this is why we are seeing this error message in zone.exe. This opcode is defined in opcode.cfg, but is not being used at all in the source code. Someone can try to remove this opcode from their opcode.cfg file and try it out. Like dont just zero it out, delete the whole definition for OP_AnnoyingZone altogether and see what you get. You will probably still see the second error message or maybe zone.exe will blow up altogether. Still would be nice to know how this changes the behavior.

EDIT: to complicate matters even more, OP_AnnoyingZoneUnknown is what I meant as the offending opcode and its defined in our opcodes.cfg and the ONLY place it is mentioned in the entire server code is in emu_oplist.h. But it is never handled anywhere. I think just removing this from the opcodes.cfg file will not work because the code will still try to look for it, but it never uses it and doesnt know what to do with it when it recieves it from the client. You can try to remove it from opcodes.cfg, but I dont believe it will buy us much. I guess we need to know from the devs the following:

1. what is this opcode suppose to do
2. is it something we need to add a handle to the server to do something or is it safe to remove it from the opcodes.cfg file and the emu_oplist.h file and then recompile.

I dont believe this is causing the second OP_ClientUpdate error but I am still confident our opcodes.cfg files are inaccurate.

Last edited by WildcardX; 09-12-2005 at 06:25 PM..
Reply With Quote
  #6  
Old 09-12-2005, 10:35 AM
tallerin
Hill Giant
 
Join Date: Mar 2005
Posts: 165
Thumbs up

well i removed and it removed the first error

[Error] Unhandled incoming opcode: OP_AnnoyingZoneUnknown (#299
e: 8, Client: Tallerin <---- no loger showing

Code:
[Status] Successfully loaded Zone Config.
[Status] Loading timezone data...
[Status] Init Finished: ZoneID = 54, Time Offset = 0
[Status] Zone Bootup: gfaydark (54)
[Status] 135547 New client from ip:127.0.0.1 port:1180
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:37
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:37
[Error] OP size error: OP_ClientUpdate expected:38 got:36
[Error] OP size error: OP_ClientUpdate expected:38 got:36
Reply With Quote
  #7  
Old 09-12-2005, 10:42 AM
WildcardX
Developer
 
Join Date: Apr 2003
Posts: 589
Default

Atleast zone.exe still works without it lol

But I didnt expect that to fix the second error, although I was hoping. Its the first rule of troubleshooting... Fix the errors in sequential order. I'm on my way home now and I'll try to debug the server's zone.exe process to see whats the deal with that second error. Although, I fear that one will be more complicated. Maybe I can find some time to help out the other devs with EMU now that I am sticking my nose into the code.

Tallerin, when you made the change did you log into your server and try to attack something? Chances are good that this change has nothing to do with that problem, but it wouldn't hurt to try it out either in case the absence of processing that opcode may impact some other part of the server's subsystems.

Last edited by WildcardX; 09-12-2005 at 06:45 PM..
Reply With Quote
Reply

Thread Tools
Display Modes

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 05:51 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3