EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   EQemu Login Server (https://www.eqemulator.org/forums/showthread.php?t=28887)

nosfentora 07-20-2009 03:46 PM

Ok, unless i'm completely stupid and missed something critical... here's what i've done so far:

1 ) Pulled sources rev 800.
2 ) compiled 'release'
3 ) copied the new 'EQEmuLoginServer.exe' and release 'EQEmuAuthCrypto.dll' to a separate folder containing 'libmysql.dll','login_opcodes.conf,' and 'eqemulogin.ini'.

4 ) started 'EQEmuLoginServer.exe' and it seems to be ok:

Code:

EQEmuLoginServer

  Using Port: 5998
  Dumping Inbound packets.
  Dumping Outbound packets.
  Tracing ON.
  Database Server: localhost
  Database Catalog: login


Server (TCP) listener started.

5 ) created a new database 'login', and sourced 'EQEmuLoginServerDBInstall.sql'

6 ) in 'tblloginserveraccounts' i created an account entry using

Code:

insert into tblLoginServerAccounts
(AccountName, AccountPassword, AccountEmail, LastLoginDate, LastIPAddress)
values ('nosfentora', sha('obviouslynotmypassword'), 'myemail@yahoo.com', now(), '192.168.1.105');

7 ) in 'tblserveradminregistration' i added an entry
Code:

insert into tblserveradminregistration (Accountname,AccountPassword,FirstName,LastName,Email,RegistrationDate,RegistrationIPAddr)
values ('nosfentora','obviouslynotmypassword','MyName','MyLastName','MyEMail@yahoo.com',now(),'192.168.1.105');

8 ) in 'tblworldserverregistration' i added an entry
Code:

insert into tblworldserverregistration
(ServerID,ServerLongName,ServerTagDescription,ServerShortName,ServerListTypeID,ServerLastLoginDate,ServerLastIPAddr,ServerAdminID,Note)
values
('1','LongNameFromConfig','Blah','ShortNameFromConfig','3',now(),'192.168.1.105','1','');

where the ServerAdminID=1, from 'tblserveradminregistration', ServerAdminID

9 ) In my eqemu db, in 'account' i added an entry
with the lsaccount_id=1, and status=250
where lsaccount_id=1=LoginServerID from 'tblloginserveraccounts'

10 ) I modified my 'eqemu_config.xml' to read

Code:

<loginserver>
<host>localhost</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver>

11 ) fired up world and

Code:

[Debug] [WORLD__LS] Connecting to login server...
[Debug] [WORLD__LS] Connected to Loginserver: localhost:5998

the login server spits out a bunch of text about 'Updating stats for server'

Code:

Received server Opcode:    1001, Size: 12
  0: FE FF FF FF 00 00 00 00 - 00 00 00 00              | ............
ServerOP_LSStatus:  Status: -2  Players: 0    Zones: 0

so far, i think, so good.....

12 ) edit and save my eqhost.txt:

Code:

[LoginServer]
Host=192.168.1.103:5998

13 ) fire up SoF client..., login using user/pass created in step 6 and see my server in the list!

Yea! :D or so i thought....

I select my server and click Play....

:) ...... :confused: ....... :mad:

This error pops up

Code:

'Error 1017: Cannot login to the EverQuest server.
You may need to re-run the Update Patch.
Repeatedly seeing this message indicates a loss of connectivity
to the Patch Server. This is usually temporary'

and then an empty server list.



Any ideas?

leslamarch 07-20-2009 06:07 PM

well the login server is working fine for you now :). Sounds like there may be a conflict in the eqemu account table? have you tried this with a clean DB install ?

nosfentora 07-21-2009 09:15 AM

"clean" as in i had installed fresh (rev781, on 7/17), but re-sourced my characters back in (i think the account table was part of the characters backup i did).

i did change my account table to use the local login LoginServerID, instead of the one created through eqemulator... i'll try fresh again, without sourcing my characters and see what happens.

nosfentora 07-21-2009 10:00 AM

Ok, fired up everything (using the debug ver of login server) and shortly after clicking 'login' the following error popped up:

Code:

Microsoft Visual C++ Debug Library
Debug Error!

Program: C:\Servers\EQ\Server\login_util\EQEmuLoginServer.exe

HEAP CORRUPTION DETECTED: after Normal block (#918) at 0x003BD658.
CRT detected that the application wrote to memory after end of heap buffer.

Abort / Retry / Ignore

just for s.a.g. i clicked 'ignore' and was logged in to char select.

created a char, and logged in ok.

/q'd out and got the same error again - was brought back to the server select screen with an empty server list.

rebuilt the login server 'release' and fired up everything again.... it seems i was 'hasty' in trying to log in and needed to give the server a minute or two to settle down/initialize everything as i can login now.

yea!!!

nosfentora 07-21-2009 11:50 AM

Beh - back to error 1017 if i run the login server, world, zone, chat and mail servers on a separate computer, on the same lan and try and connect via lan ip's only, as well as external ip's w/ port forwarding.

btw - i have all the ports forwarded for both tcp and udp data, should some only be tcp and other udp?

pfyon 07-27-2009 02:34 PM

Anyone with a bit more experience using make and g++ able to create a makefile for this?

gaeorn 07-27-2009 09:27 PM

Quote:

Originally Posted by pfyon (Post 175343)
Anyone with a bit more experience using make and g++ able to create a makefile for this?

I just added a makefile to svn. Also patched files to allow compiling under linux and converted the utf16 SQL files to ascii text.

pfyon 07-28-2009 03:39 PM

Excellent, thanks gaeorn.

norsan 07-31-2009 10:49 PM

ok well i go this up and running but it seems it times out and removes all world servers from the list after being idle for 15-30 minutes any idea why?

norsan 08-01-2009 04:12 AM

also it should be noted the only client ive gottn to connect to the ls is SoF titanium doesnt seem to work

Sylaei 08-02-2009 02:55 PM

I am unable to login using the eqemuloginserver. I have followed these instructions: http://www.eqemulator.net/wiki/wikka.php?wakka=ValesEQ and http://www.eqemulator.net/forums/sho...0&postcount=41 from nosfentora. I can't find any error messages in any log files about the no user account or incorrect password. Obviously the error message itself is from Everquest and not the emulator.

Created a server with 774 and revision 859 on the db. Also I have tried logging in with both Titanium and SOF.

Thanks

Sylaei 08-03-2009 11:02 PM

Ok, I'm going to admit that I don't know much about encryption but the only way I was able to login was to set my password as '11111111'. I had to use 8, 7 wouldn't work for me. A password with 8 chars wouldn't work, and a password with 8 2's would not work.

I assume that it must be some kind of fluke that this worked for me, but I wanted to mention it in case there was some error with the encryption.

Just a guess on my part.

norsan 08-04-2009 02:03 AM

i have issues with it removing disconnected worldservers at present and cant run run the linux compile on fc 6 have to use wine because libeqmuauthcrypto throws errors. i too noticed the password error

norsan 08-04-2009 02:08 AM

[Error] Load of Security Library 'libEQEmuAuthCrypto.so' failed:
./libEQEmuAuthCrypto.so: undefined symbol: _ZN8CryptoPP20AllocatorWithCleanupIhLb0EE8allocate EjPKv
Security Module Load Failed.

thatss the error im getting wihthe linux compile any ideas?

tnance1337 08-04-2009 11:40 AM

Quote:

Originally Posted by Sylaei (Post 175861)
Ok, I'm going to admit that I don't know much about encryption but the only way I was able to login was to set my password as '11111111'. I had to use 8, 7 wouldn't work for me. A password with 8 chars wouldn't work, and a password with 8 2's would not work.

I assume that it must be some kind of fluke that this worked for me, but I wanted to mention it in case there was some error with the encryption.

Just a guess on my part.

Wow, I must say I didn't toy with any password under 8 characters before, but first password I created for 6 characters (4 numbers and 2 letters) worked. Not sure why 8 characters (all letters) didn't work before, but I don't really care so long as it works now. Thanks for the idea.

nosfentora 08-05-2009 10:29 AM

Quote:

Originally Posted by Sylaei (Post 175861)
Ok, I'm going to admit that I don't know much about encryption but the only way I was able to login was to set my password as '11111111'. I had to use 8, 7 wouldn't work for me. A password with 8 chars wouldn't work, and a password with 8 2's would not work.

I assume that it must be some kind of fluke that this worked for me, but I wanted to mention it in case there was some error with the encryption.

Just a guess on my part.

Do you mean you put the pw in plain-text as '11111111'? If so, you need to run a query
Code:

update tblLoginServerAccounts set AccountPassword=sha('<your password') where AccountName='<your account name>'

nosfentora 08-05-2009 10:32 AM

Quote:

Originally Posted by norsan (Post 175887)
[Error] Load of Security Library 'libEQEmuAuthCrypto.so' failed:
./libEQEmuAuthCrypto.so: undefined symbol: _ZN8CryptoPP20AllocatorWithCleanupIhLb0EE8allocate EjPKv
Security Module Load Failed.

thatss the error im getting wihthe linux compile any ideas?

Did you use the pre-compiled binary or compile your own? If you compiled your own, make sure you used the corresponding EQEmuAuthCrypto.dll. Ie if you compiled RELEASE, then you need to use the EQEmuAuthCrypto.dll from EQEmuLoginServer\login_util\ms\release

Edit: I just re-read your post and saw you were using linux - i don't know if the .so file is for both release/debug vers or not.

nosfentora 08-05-2009 10:35 AM

Quote:

Originally Posted by Sylaei (Post 175758)
I am unable to login using the eqemuloginserver. I have followed these instructions: http://www.eqemulator.net/wiki/wikka.php?wakka=ValesEQ and http://www.eqemulator.net/forums/sho...0&postcount=41 from nosfentora. I can't find any error messages in any log files about the no user account or incorrect password. Obviously the error message itself is from Everquest and not the emulator.

Created a server with 774 and revision 859 on the db. Also I have tried logging in with both Titanium and SOF.

Thanks

I was able to log in if all ip's involved were internal ip's (ie 192.168.xxx.xxx) or localhost. I wasn't able to login using any external ip's, even with all the ports forwarded to the corresponding internal ip's.

haven't had much time to play with it of late.

norsan 08-05-2009 11:10 AM

i compild my own undr windows and also undr linux he linux cypto library throws an error under linux i run the windows compile under wine atm because of this

Sylaei 08-05-2009 08:51 PM

Quote:

Originally Posted by nosfentora (Post 176002)
I was able to log in if all ip's involved were internal ip's (ie 192.168.xxx.xxx) or localhost. I wasn't able to login using any external ip's, even with all the ports forwarded to the corresponding internal ip's.

haven't had much time to play with it of late.

Nos, I have had trouble in the past getting people to be able to log in from external addresses. I had to setup the eqemu_config.xml file with the dns name. I got the dns name from dyndns, so the dns name pointed to my ip on my router. I then had to modify the hosts file on each pc on the internal network with the internal address associated with the dns name. That was the only way I was able to get both internal and external addresses to work.

Sylaei 08-05-2009 08:58 PM

Continued from above (couldn't edit) :-)

My issue stems from the everquest client not passing the correct username or password to my login database. I did use the query to enter the password so that the password is sha encrypted.

Since I have gotten an account to work I am assuming that the eq client is not handling the password/encryption in the same way that the we are adding it to the database. There may be something else I am forgetting or not realized I should have done.

KLS 08-06-2009 01:27 AM

Not entirely pertaining to what's being discussed now but: going to be changing how the securitylib works eventually for linux since the .so has been fairly problematic.

nosfentora 08-06-2009 09:08 AM

Quote:

Originally Posted by Sylaei (Post 176076)
Nos, I have had trouble in the past getting people to be able to log in from external addresses. I had to setup the eqemu_config.xml file with the dns name. I got the dns name from dyndns, so the dns name pointed to my ip on my router. I then had to modify the hosts file on each pc on the internal network with the internal address associated with the dns name. That was the only way I was able to get both internal and external addresses to work.

I never had a problem setting up a server using external ip's if using eqemulator.net to log in - only the newly-released login server. using eqemulator.net, i could log in locally or remotely w/o a problem.

like i said, i haven't had much time to play with it, but i'll try the dns approach as soon as i can.

Thanks!

Sylaei 08-08-2009 06:06 PM

Nos, Sorry I should have mentioned that at the time I was using minilogin and not the public server.

I have migrated to the eqemuloginserver but still hosted internally.

nosfentora 08-13-2009 03:50 PM

has anyone been able to get this to work with remote connections?

norsan 08-13-2009 05:26 PM

yeah i have it does not accept world server connections not defined in th worldregistration table it allows them to connect but cant process logins to it due to it not setting the serverid properly

nosfentora 08-13-2009 05:53 PM

i have that table filled out, same info i put in my config.xml.

would you mind posting what you did to get it to work, maybe i missed something.

norsan 08-13-2009 06:25 PM

i did nothing else besides the normal configuration and setup of the emulator server as outlined in the wiki guides nothing special or different just a normal outa box setup

norsan 08-13-2009 06:26 PM

as a side question any word when the new security library for linux will be done kls?

nosfentora 08-13-2009 06:40 PM

are you talking about the mini login or the new EQEmuLoginServer?

norsan 08-14-2009 01:48 AM

dude this ls i have never and will never use minilogin seriously all i did was setup a normal worldserver and that was that put it in the ls database made my ls account and that was it there is no special trick i used that im not sharing lol seriously just follow the guides check for typos and make sure you got the ip stuff setup right in the config file thats all i did

nosfentora 08-14-2009 07:43 AM

dude chill! miscommunication happens! just making sure we're on the same page.
the only reason i asked is you said 'guides' and i don't see a guide anywhere for the new ls.
thanks for the clarification.

nosfentora 08-14-2009 07:49 AM

Check that 'don't see a guide', i'm a 'tard and don't read everything thoroughly.

norsan 08-14-2009 08:49 AM

i meant for the worldserver i set it up exactly like i would connecting to anything but minilogin eg the official ls if you put all the right info in the db and follow this thread it will work perfectly if not then its a porting issue with eithr a firewall router or your isp as a whole i have no idea what to tell you but all i did was follow the normal emu setup guide and the ls was a breeze to setup without any guide took me all of 10 minutes start to finish. lemme break it down

1 source the ls sql files
2 make sure the ini opcode and appropriate eqemuauthcrypto.dll files are in the same folder as the exe
3 make a world entry for your worldserver in the tblworldserverregistration table
3 make serveradmin entry for same worldserver( Eg the username and password you put into the loginservr block of the eqemu_config.xml file for the emulator)
4 make account in loginserveraccounts table following the insert for example contained in tis thread and the sql file for the ls itself use a pass of 6 characters

fire it all up as normal and if your porting and ip settins are correct for the worldserver whala bobs your uncle

nosfentora 08-14-2009 10:15 AM

logging into my server remotely via the public login works fine, so my ports should be good to go.

i setup the login server prior to the guide (which is why i didn't see the 'guide' post.). i set up everything again, exactly according to the guide, (but used no-ip.org instead of dyndns). i can log in, get to server select, see my server and bam - error 1017.

somewhere along the line the login server is not communicating with the emu. that's my hangup.

nosfentora 08-14-2009 10:22 AM

FYI the ports I have forwarded are
5996-6000,6999-7101,8999-9101,7776-8000 TCP and UDP

norsan 08-14-2009 10:28 AM

actually it is if remotely works then all communication is fine then you need to do the natfix in the wiki

nosfentora 08-14-2009 12:00 PM

yep - still 1017...

/stumped

norsan 08-14-2009 12:59 PM

i have no idea what to tell you it works perfectly for me sorry lol

nosfentora 08-15-2009 09:29 AM

No worries - thanks for the try!


All times are GMT -4. The time now is 02:16 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.