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 02-17-2005, 01:30 AM
Wiz
Dragon
 
Join Date: Feb 2002
Posts: 583
Default

There are two possible reasons for this, in my experience.

1) Playerprofile is scrambled, a required packet is missing or a bad packet is sent.

This occurs during login, when playerprofile, checksum, weather, etc are being sent. If the playerprofile has some bad values, you send a packet that really shouldn't be sent at this point, or you're not sending one of the packet it expects it will sit and wait for the proper packets forever, never proceeding with login. The server admin needs to ensure all the routines are in order.

2) A required packet is properly constructed in the client process, but fails to be received by the player's client.

Some ISPs in particular has an issue where they require a packet going out (in the EQNetworkConnection's Process()) to be resent a bunch of times. Also if the packets are too speedily resent, it won't have properly recieved them, and thus gains the same problem as 1). Having the server admin increase the time between packet resends in EQNetworkConnection::Process() (I've found that upping the minimum from 250 to 500 works) will generally solve this for most users. Lower datarate will solve it for some because it artifically increases the resend time.
Reply With Quote
  #2  
Old 02-17-2005, 09:37 AM
mwmdragon's Avatar
mwmdragon
Discordant
 
Join Date: Apr 2003
Location: Winnipeg, Manitoba Canada
Posts: 270
Default Corrupted

I an having the same problem on one of my lan computer while connecting to the minilogin. I have other computer connecting and playing together but for some reason one pc will crash on zoneing and then if i watch the zone.exe while that player is connected after the crash it keeps giving an Unknown packet error and the player can't attack or use a merchant or even see other platers who are in the same zone. What could be causing this corruption? We have deleted the character and re-made him and it had the same problem.

I would love to get the other PC playable on our minilogin server again. please let me know how I can prevent this.
__________________
Thanks
MWMDRAGON

NeverQuest
http://neverquest.gotdns.com
Emucade
http://dragonsden.emuunlim.com
Reply With Quote
  #3  
Old 02-17-2005, 06:13 PM
vladimir
Fire Beetle
 
Join Date: Feb 2005
Posts: 6
Default

Wiz, Image asks which process he should change from 250 to 500. THanks for you help so far
Reply With Quote
  #4  
Old 02-18-2005, 03:58 AM
image
Demi-God
 
Join Date: Jan 2002
Posts: 1,290
Default

I think I found it, just wanted to make sure if wasn't something else, the line is like data < 5 && last->PacketSent + 250 .... I set the 250 to 500.
__________________
www.eq2emu.com
EQ2Emu Developer
Former EQEMu Developer / GuildWars / Zek Seasons Servers
Member of the "I hate devn00b" club.
Reply With Quote
  #5  
Old 02-18-2005, 05:43 AM
Wiz
Dragon
 
Join Date: Feb 2002
Posts: 583
Default

Quote:
Originally Posted by image
I think I found it, just wanted to make sure if wasn't something else, the line is like data < 5 && last->PacketSent + 250 .... I set the 250 to 500.
That's it.
Reply With Quote
  #6  
Old 02-18-2005, 02:06 PM
fathernitwit
Developer
 
Join Date: Jul 2004
Posts: 773
Default

I think these are things that should not remain hidden in the netcode, so I will make them into defines in features.h. I am not sure the right names for them. I have turn this:
Code:
if (((pack->LastSent + 500) <= Timer::GetCurrentTime()) || (datahigh < 5 && (pack->LastSent + 250) <= Timer::GetCurrentTime())) {
into:
Code:
if (((pack->LastSent + DATA_RESEND_DELAY) <= Timer::GetCurrentTime()) || (datahigh < 5 && (pack->LastSent + DATA_RESEND_DELAY_IDLE) <= Timer::GetCurrentTime())) {
I am not sure if those two names are really the right words though. Does anybody have any better suggestions for names on these parameters?
Reply With Quote
  #7  
Old 02-18-2005, 03:34 PM
Wiz
Dragon
 
Join Date: Feb 2002
Posts: 583
Default

Nix the differentation between data < 5 and data >= 5. It's pointless. Just make it a halfsecond either way.
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 10:55 PM.


 

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