Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 12-31-2009, 11:02 PM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,449
Default

Quote:
Originally Posted by trevius View Post
The way I would do it would be to simply use the accounts table that already exists and force players to register on the public LS first and log into the server at least once via the public connection. Then, once their account name is in your DB, they can then issue a #password command to set a password for that account while in-game. The new password that they entered from in-game would then be hashed into the accounts table into the already existing password field. Once they have done that, they would have the option to login to your server via the private LS connection using the same account name and whatever password they set (preferably something different than their normal public LS password for security reasons). This should allow for both public and private LS's to use the same table for dealing with accounts, so you could play your same chars from either.
The issue with this is the EQEmuLoginServer on SVN is 1) Windows Only, and 2) horribadly broken. I kept getting heap corruption when I logged in. KLS can't reproduce it, I can't figure it out, so unless anyone else wants to take a look at it, go for it.

But the issue is, you'd need to code the LS to take the sha1 passwords from the accounts table as opposed to the login_accounts table. It's a great idea but if the LS is not even working... well, what do we do?
Reply With Quote
  #2  
Old 03-30-2010, 01:59 PM
loglos
Sarnak
 
Join Date: Feb 2008
Posts: 51
Default

Quote:
Originally Posted by Secrets View Post
I kept getting heap corruption when I logged in. KLS can't reproduce it, I can't figure it out, so unless anyone else wants to take a look at it, go for it.
Are you running win7 64bit? I am and was getting the heap issue also. Everytime I logged in. I just grabbed the source and recompiled and now it works fine.

I have other problems, but the login server is no longer having issues.
Reply With Quote
  #3  
Old 03-30-2010, 09:29 PM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,449
Default

Quote:
Originally Posted by loglos View Post
Are you running win7 64bit? I am and was getting the heap issue also. Everytime I logged in. I just grabbed the source and recompiled and now it works fine.

I have other problems, but the login server is no longer having issues.
I was using winxp 32-bit at the time of the post, KLS redid the LS recently and it had been fixed way before even that.
Reply With Quote
  #4  
Old 04-16-2010, 01:16 AM
gaeorn
Developer
 
Join Date: Apr 2009
Location: USA
Posts: 478
Default

I redid the multiple login server code from the ground up. It now can support unlimited login server connections. I also made changes to the open source login server and the game server so login server accounts can be updated from within the game. This requires that the world server connects to the login server with a world account/password that has the ServerTrusted flag set to 1 in tblWorldServerRegistration on the login server end.

To use multiple login servers, edit your eqemu_config.xml and replace the <loginserver> and </loginserver> lines with <loginserver1> and </loginserver1>. Then you can copy those lines and everything between them and change to <loginserver2> and </loginserver2>. Repeat for as many login servers as you want.

For example:
Code:
                <loginserver1>
                        <host>eqemulator.org</host>
                        <port>5998</port>
                        <account>worldaccount</account>
                        <password>worldpass</password>
                </loginserver1>
                <loginserver2>
                        <host>anotherls.org</host>
                        <port>5998</port>
                        <account>worldaccount</account>
                        <password>worldpass</password>
                </loginserver2>
                <loginserver3>
                        <host>mylocalhost</host>
                        <port>5998</port>
                        <account>worldaccount</account>
                        <password>worldpass</password>
                </loginserver3>
To allow a game server to update account information, you must create a world server account on the login server and then set ServerTrusted to 1 in the tblWorldServerRegistration table for that world account. Then when logged into the game, you can use #setlsinfo <email address> <password> and it will update all connected login servers with the new information (assuming the login server trusts the game server you are logged in to).

The above features have been committed to the SVN.

NOTES:
* multiple login servers does not work with minilogin.
* this is set to expect the same login server ID for the same account, regardless of which login server one logs in from. this won't be a problem if you are setting up a new secondary login server with an empty db because the users can simply go in game and update the information on the additional login server. if you already have used the prior hack for dual login servers, you will need to clear the db for one of the login servers (or painstakingly update it by hand) so the account IDs match.

Last edited by gaeorn; 04-16-2010 at 01:29 AM.. Reason: added notes
Reply With Quote
  #5  
Old 04-16-2010, 02:33 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Jerk you broke the postgresql compile.
Reply With Quote
  #6  
Old 04-16-2010, 07:50 AM
gaeorn
Developer
 
Join Date: Apr 2009
Location: USA
Posts: 478
Default

Quote:
Originally Posted by KLS View Post
Jerk you broke the postgresql compile.
Yes, I did. Is anyone using it? I figured I would fix it eventually.
Reply With Quote
  #7  
Old 04-16-2010, 03:14 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

I compile against it =p
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 02:11 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