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
  #16  
Old 09-12-2005, 07:51 AM
tremor
Fire Beetle
 
Join Date: Aug 2005
Location: Australia
Posts: 16
Default

samething here with perl and debug crashs on loading spells for me but the normal zone is ok.

this is the windows error from event viewer if it helps

[zoneperl error]
Description:
Faulting application zoneperl.exe, version 0.0.0.0, faulting module perl58.dll, version 5.8.7.813, fault address 0x00065b11.

Data:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 7a 6f 6e ure zon
0018: 65 70 65 72 6c 2e 65 78 eperl.ex
0020: 65 20 30 2e 30 2e 30 2e e 0.0.0.
0028: 30 20 69 6e 20 70 65 72 0 in per
0030: 6c 35 38 2e 64 6c 6c 20 l58.dll
0038: 35 2e 38 2e 37 2e 38 31 5.8.7.81
0040: 33 20 61 74 20 6f 66 66 3 at off
0048: 73 65 74 20 30 30 30 36 set 0006
0050: 35 62 31 31 0d 0a 5b11..


[zonedebug error]
Description:
Faulting application zone.exe, version 0.0.0.0, faulting module zone.exe, version 0.0.0.0, fault address 0x001fae3f.


Data:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 7a 6f 6e ure zon
0018: 65 2e 65 78 65 20 30 2e e.exe 0.
0020: 30 2e 30 2e 30 20 69 6e 0.0.0 in
0028: 20 7a 6f 6e 65 2e 65 78 zone.ex
0030: 65 20 30 2e 30 2e 30 2e e 0.0.0.
0038: 30 20 61 74 20 6f 66 66 0 at off
0040: 73 65 74 20 30 30 31 66 set 001f
0048: 61 65 33 66 0d 0a ae3f..

also world disconnects me after character select screen i can play alright but when i camp out it says client disconnected instead of exiting the game normally
Reply With Quote
  #17  
Old 09-12-2005, 07:54 AM
vRandom
Sarnak
 
Join Date: Jun 2005
Posts: 91
Default

Maybe one of you can make sence of this...

I think this is where the error is returned
Code:
if (app->size != sizeof(PlayerPositionUpdateClient_Struct)) {
		LogFile->write(EQEMuLog::Error, "OP size error: OP_ClientUpdate expected:%i got:%i", sizeof(PlayerPositionUpdateClient_Struct), app->size);
		return;
	}
OP_ClientUpdate expected:38 got 36

now if i look for the PlayerPositionUpdateClient_Struct

I find
Code:
/*
** Player position update
**	Struct sent from client->server to update
**	player position on server
**
*/
struct PlayerPositionUpdateClient_Struct
{
/*0000*/ uint16	spawn_id;
/*0022*/ uint16	sequence;	//increments one each packet
/*0004*/ float y_pos;                 // y coord
/*0008*/ float delta_z;            // Change in z
/*0016*/ float delta_x;            // Change in x
/*0012*/ float delta_y;            // Change in y
/*0020*/ signed animation:10;     // animation
         signed delta_heading:10;  // change in heading
         signed padding0020:12;   // ***Placeholder (mostly 1)
/*0024*/ float x_pos;                 // x coord
/*0028*/ float z_pos;                 // z coord
/*0034*/ unsigned heading:12;     // Directional heading
         unsigned padding0004:4;  // ***Placeholder
/*0032*/ uint8 unknown0006[2];  // ***Placeholder
/*0036*/
};
Now if i'm understanding this doesn't that last line /*0036*/ mean this is 36 byte, then how does it expect 38, the only thing i dont understand is app->size since its part of the if statement and i either dont understand it or its being set to 38 somewhere which causes this to expect a 38 when it only gets a 36...

does any of that make sence?
vRandom

I'm not a c programmer so i could be totaly not reading it correctly...
Reply With Quote
  #18  
Old 09-12-2005, 08:04 AM
cobra80
Fire Beetle
 
Join Date: Sep 2005
Posts: 2
Default

Anyone managed to load the peq velious rc1 database into a fresh install that mind sharing how they managed? All i keep getting is tables missing when i try to directly insert it or this error when trying to update things.

ERROR 1060 (42S21) at line 468253: Duplicate column name 'lootdrop_id'
Reply With Quote
  #19  
Old 09-12-2005, 08:07 AM
WildcardX
Developer
 
Join Date: Apr 2003
Posts: 589
Default

vRandom,

I was just looking at that exact code! the reason why the server is "expecting 38" is because it is getting that number from the sizeof(STRUCT) function.. So 38 in this code is pretty much a constant as the memory signature of the PlayerPositionUpdateClient_Struct doesnt change. What is changing, the "36" and "37" from app->size is the size of that same struct the client is sending to the server. In effect, the server expects the size of this structure to be 38 bytes long, but the client is sending 2 different PlayerPositionUpdateClient_Struct sizes of 36 and 37 bytes. Upon reviewing the code further, I see this struct is instrumental in determining both player coordinate position in the eq world as well as positions of mobs. I'm still trying to understand this more so I can attempt a fix. I would think its simply the opcode for the OP_ClientUpdate is wrong and that we simply need to recapture this packet, but what I am confused about is why the client is sending 2 different sizes for the same structure unless the client has changed and broken what was once OP_ClientUpdate into 2 different opcodes...
Reply With Quote
  #20  
Old 09-12-2005, 08:16 AM
vRandom
Sarnak
 
Join Date: Jun 2005
Posts: 91
Default

WildcardX,

That would be a good question, hummm

Can we get it form the peq server, i mean dont they have one that works?
vRandom
Reply With Quote
  #21  
Old 09-12-2005, 08:17 AM
jillmatik
Sarnak
 
Join Date: Sep 2005
Posts: 51
Default Use the source Luke

You guys are blowin my mind here.. I'm so clueless about this stuff. From the snipets you've posted, it seems that the problem area has been isolated and I really hope you can stick with it and find something!

I think I'm doin good if I can just edit some ini files lmao! Keep at it!
Reply With Quote
  #22  
Old 09-12-2005, 08:19 AM
WildcardX
Developer
 
Join Date: Apr 2003
Posts: 589
Default

Thats a good question. I hope that is the answer. I did log onto the PEQ server over the weekend to make sure my client worked, but I didnt try to attack anything. When I get home (I am at work right now. I am a c++ and c# developer for a software company and a project I just completed is being tested out by the bug team so I have some down time right now) I'll have to log back onto PEQ to see if I can attack anything.
Reply With Quote
  #23  
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
  #24  
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
  #25  
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
  #26  
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
  #27  
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
  #28  
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
  #29  
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
  #30  
Old 09-12-2005, 10:49 AM
tallerin
Hill Giant
 
Join Date: Mar 2005
Posts: 165
Default

ya i tryed my normal rutine logged in under my toon (woodelf druid easier to test) i can attack my druid master and aggro them and hit them and die from them lol. but if i go out side the druid guild i still get the target is to far away still.
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 04:01 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