Project 1999

Go Back   Project 1999 > Server Issues > Bugs

Reply
 
Thread Tools Display Modes
  #1  
Old 08-02-2013, 01:20 AM
enr4ged enr4ged is offline
Kobold


Join Date: Oct 2012
Posts: 199
Default

If it's fixed what was the issue?

Cause damn that was an annoying bug and the programmer inside of me wonders what it was.
Reply With Quote
  #2  
Old 08-02-2013, 01:28 AM
Rogean Rogean is offline
¯\_(ツ)_/¯

Rogean's Avatar

Join Date: Oct 2009
Location: Massachusetts
Posts: 5,393
Default

Quote:
Originally Posted by enr4ged [You must be logged in to view images. Log in or Register.]
If it's fixed what was the issue?

Cause damn that was an annoying bug and the programmer inside of me wonders what it was.
In the check for Loginserver: User to World request, there was a variable that was storing the Account ID that was only a signed short, and we have well over 32k accounts.
__________________
Sean "Rogean" Norton
Project 1999 Co-Manager

Project 1999 Setup Guide
Reply With Quote
  #3  
Old 08-03-2013, 05:44 AM
enr4ged enr4ged is offline
Kobold


Join Date: Oct 2012
Posts: 199
Default

Quote:
Originally Posted by Rogean [You must be logged in to view images. Log in or Register.]
In the check for Loginserver: User to World request, there was a variable that was storing the Account ID that was only a signed short, and we have well over 32k accounts.
Ahh, I knew it was account related.
Was the ID of newer accounts being truncated when trying to login causing the duplicates?
Reply With Quote
  #4  
Old 08-10-2013, 02:19 AM
Handull Handull is offline
Planar Protector


Join Date: May 2011
Posts: 1,255
Default

Quote:
Originally Posted by Rogean [You must be logged in to view images. Log in or Register.]
In the check for Loginserver: User to World request, there was a variable that was storing the Account ID that was only a signed short, and we have well over 32k accounts.
I totally called that! Glad it got fixed, even though it took being ignored for months on end.

I still got a 1018 once on my bard once since patch, but I just haven't had time to play him to test it further, hopefully this is fixed and buried.

Quote:
Originally Posted by Handull [You must be logged in to view images. Log in or Register.]
If devs could just take a look at how the server handles account IDs they could probably narrow this down quickly. Here is my best guess as to why/how there is this truncation error: everyone and their mother has multiple EMU Accounts and LS Accounts. Going off the fact that EQ is notorious for being stingy with data usage for integers (max stats 255, max mob hp 32k, 8 toons per account, etc), I wouldn't be shocked if the integer for Account ID is small (under 20 bits?) and that between all the users playing on EQEmu, all available Account IDs have been used up. This forces new IDs to appear the same as previous ones. Due to the fact that so many account sit dormant due to being used for other servers, logged rarely as mules, inactive accounts, etc, this error is fairly rare.

How does it work? Lets say we have a 3 bit number, call it A. A can be 0,1,2,3,4,5,6,or7. In binary these are
000,001,010,011,100,101,110,and111.
So what comes after 7? The next number in binary is 1000, but since A only holds 3 bits of data, A is now equal to 000. (in 3-bit binary 7+1=0)
Now, maybe A is a 32 bit number, and can hold more accounts than we can imagine, but A has to be passed along from your client to the server and checked against already active accounts. If at any point the code is written to only deal with a limited number of bits, A will be cut off (not quite truncated) and appear equal to another account.

How to fix/test this? Trace the code that retrieves an Account ID from the moment the client hits Log In and Join Server to the moment it returns an output of error1018 to the client. My guess is somewhere along the way the Account ID is reduced to some small bit integer in an attempt to reduce ping. Would you expect people to make over a million accounts over all the emu servers when you first programmed this box? Sounds like a reasonable way for someone starting a server to try and reduce overhead and keep lag down on a small and free sandbox emulator. If this is the problem, it should be a simple fix.

Since this is more of an Emu problem, looks like we need Rogean to weigh in on this one.
Sorry, can't help but say I told you so.

(inb4 forum ban?)
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 05:40 AM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.