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.
|