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)

Yeormom 07-14-2009 04:06 PM

EQemu Login Server
 
So, whats the story behind the random login server Kimmy? I like the EQEmuAuthCrypto.dll sneak attack! A pleasant surprise.

KLS 07-14-2009 04:50 PM

I was gonna do it a long time ago but it got quiet and I lost the motivation to do it. Just got around to it, I don't see much harm in it, there's already an unfettered login out anyway.

Yeormom 07-14-2009 05:04 PM

It is much appreciated because I've been developing against that "unfettered" login server in assembly for the past couple months. You've been on quite the coding spree lately so it seams.

gaeorn 07-14-2009 05:21 PM

KLS, were you going to create a makefile for linux or are you leaving that for us linux folks to do?

KLS 07-14-2009 05:39 PM

Pretty much leaving it as it, I haven't actually gone through and compiled anything but the auth part in linux. Which is actually where I'm most concerned about supporting all the distros and setups with a binary.

gaeorn 07-14-2009 05:42 PM

Ok, then I'll see if I can toss one together. Tho I'll have to find a 32bit system to compile on since all of my servers are 64bit and cross compiling is a pain at best (tho it shouldn't be...).

WildcardX 07-14-2009 05:43 PM

KLS,

Why did you release our changelog with the project? Did you add anything to the project or is it essentially the same version from our private repository?

KLS 07-14-2009 05:45 PM

Cause I copied everything in the directory and forgot to take it out?

There are some changes, mostly cleaning up stuff and using the c mysql lib cause I didn't feel like imposing another dependency..

WildcardX 07-14-2009 06:41 PM

I meant "didn't" not "did" because obviously there is no change log. Thanks for the clarification on what was released.

leslamarch 07-14-2009 07:09 PM

I was just wondering if anyone else is getting this error.
Code:

[error] Load of Security Library 'eqemuAuthCrypto' failed:
Error #126
Security Module Load Failed.
Query failed:

I have the crypto in the same directory just cant seem to get past this, any help would be appreciated.

erde 07-16-2009 03:51 PM

Hi,

i ve tested this with debian x86 and got this error

Quote:

[Error] Load of Security Library 'libEQEmuAuthCrypto.so' failed:
./libEQEmuAuthCrypto.so: undefined symbol: _ZN8CryptoPP20AllocatorWithCleanupIhLb0EE8allocate EjPKv
Security Module Load Failed.
compiles fine with some small modifications ;) ( Debian x86, OS X 10.5.7 )

I dont expect a fix, this is just to inform you

Yeormom 07-16-2009 05:27 PM

There may be other libraries you need to have on your server operating system.

KLS 07-16-2009 05:31 PM

http://www.cryptopp.com/ it's only dependency other than standard stuff, I'll look at making it more standalone. Releasing binaries for linux is annoying =*

nosfentora 07-17-2009 09:35 AM

looking at the eqemulogin.ini file i filled it out as best i can understand
Code:

Port=5998
DumpPacketsIn=true
DumpPacketsOut=true
Trace=true
DatabaseServerName=localhost
DatabaseCatalogName=login
DatabaseUserName=<db login>
DatabaseUserPassword=<db password>
OPCodePathAndFileName=login_opcodes.conf

i'm assuming that
DatabaseServerName= the ip of the mysql db server?
and
DatabaseCatalogName= the database name containing the sql that was provided in login_util?

please correct if i'm wrong.

I copied the compiled binary to login_uitl, created a new database (login), sourced all the sql into that new db. using the above .ini, i'm getting this:

Code:

EQEmuLoginServer v1.0 ALPHA by The Oustanding Developers at PEQ!

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


[Error] Load of Security Library 'EQEmuAuthCrypto' failed:
Error #126
Security Module Load Failed.
Server (TCP) listener started.

anyone been successful yet?

erde 07-17-2009 10:54 AM

Works fine here.

EQEmuAuthCrypto.dll must be in the same place where your exe is.

nosfentora 07-17-2009 11:10 AM

it is. i made a copy of the login_util folder, and put it in my server folder. copied the compiled EQEmuLoginServer.exe to the login_util folder, edited the .ini file, created the db, sourced the sql's and ran.

even tried modifying my PATH variable to include .\ and ran the login server. still getting error # 126.

leslamarch 07-17-2009 12:19 PM

nosfentora,
I still have the exact same issue as you, no resolve as of yet. If you compile in debug mode error 126 goes away but still have issues, It would be nice if anyone has this going if they could post some info maybe?

erde 07-17-2009 01:03 PM

I have the following files in my login directory

Quote:

EQEmuAuthCrypto.dll
eqemulogin.ini
EQEmuLoginServer.exe
libmysql.dll
login_opcodes.conf
Error 126 means ERROR_MOD_NOT_FOUND

I think you miss a dependency of the dll.

after a bit of googling i found this => http://www.codeguru.com/forum/showthread.php?t=150019

Hope this helps!

nosfentora 07-17-2009 02:11 PM

I ran dependancy walker on eqemuloginserver.exe
it came up with two missing dll's
wer.dll and
ieshims.dll

i found wer.dll online, and now it's missing nvcrypt.dll

i found nvcrypt.dll and now it's missing bcrypt.dll.....

erde 07-17-2009 02:59 PM

I dont know whats wrong! I've test the login server with Windows XP Prof and Windows Server 2003 Enterprise. Works without any errors!

Sorry, i am out of ideas.

nosfentora 07-17-2009 03:10 PM

me too! just out of curiosity, would you mind doing a filesearch for ncrypt.dll, bcrypt.dll and wer.dll on your machine? (or any one of the three)

KLS 07-17-2009 03:26 PM

Are you using windows7?

nosfentora 07-17-2009 03:32 PM

Nope, xp pro 32 sp3, and server 2003 sp2

KLS 07-17-2009 03:39 PM

Hm http://projecteqemu.googlecode.com/f...oginServer.zip is the binary version I built the other day.

nosfentora 07-17-2009 03:45 PM

Hmm... now that one worked, but the one i built was giving the errors i posted earlier.

it compiled fine, with no errors but about ~290 warnings.

KLS 07-17-2009 03:46 PM

Probably something to do with compile time options or the compiler then.

nosfentora 07-17-2009 03:47 PM

I don't know if this makes a difference, but i added the loginserver project to the main server project and built that way. i didn't even think of that till now. i'll try to open and compile it separately and see what happens.

nosfentora 07-17-2009 03:53 PM

The one you provided is 1.38mb, the one i just compiled (separate of the eqemuserver) is 360k
Visual Studio 2008

cavedude 07-17-2009 04:03 PM

Quote:

EQEmuLoginServer v1.0 ALPHA by The Oustanding Developers at PEQ!
HAHAHA that's awesome. I hope others get the joke :)

leslamarch 07-17-2009 04:04 PM

Quote:

Originally Posted by nosfentora (Post 174696)
The one you provided is 1.38mb, the one i just compiled (separate of the eqemuserver) is 360k
Visual Studio 2008

exact same as mine, now that the error went away with KLS exe, I tried to login and I get blank server select. :( Nos is it working for you?

KLS 07-17-2009 04:12 PM

The one I compiled is probably debug mode.

nosfentora 07-17-2009 04:19 PM

I re-compiled debug and got a file 1.39mb, and it worked just like yours.

@leslamarch
haven't tried it yet. will post back in a min

KLS 07-17-2009 04:20 PM

I added release dll to svn.

nosfentora 07-17-2009 04:32 PM

Ok, using the 'debug' version, i changed my eqemuconfig.xml to read
Code:

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

forwarded port 5998 on my router to the correct internal ip.

fired up my eq server and apparently it connected
Code:

[Debug] [WORLD__LS] Connecting to login server...
[Debug] [WORLD__LS] Connected to Loginserver: localhost:5998
[Debug] [WORLD__ZONE] New TCP connection from 127.0.0.1:3813
[Debug] [WORLD__CONSOLE] New launcher from 127.0.0.1:3813

might need to change localhost to my external ip, not sure yet.

can't log in to server select as i believe the tables in the database are all empty and don't contain any valid info yet.

seems like a step in the right direction at least!

leslamarch 07-17-2009 04:34 PM

also this login server uses sha encryption and not md5 so when you make your account do it that way.

nosfentora 07-17-2009 04:40 PM

Beh, don't know where it went, but i had just posted asking about how to add a ls to the db.

i'm assuming that everything is done by hand through sql?

what's the formula for the pass? straight sha1(pass) or sha1(loginpass), etc?

nosfentora 07-17-2009 04:42 PM

Re-compiled release, and used the release .dll, and back to the same error #126

the debug .exe seems to work with either .dll

leslamarch 07-17-2009 11:21 PM

Quote:

Originally Posted by nosfentora (Post 174712)
Beh, don't know where it went, but i had just posted asking about how to add a ls to the db.

i'm assuming that everything is done by hand through sql?

what's the formula for the pass? straight sha1(pass) or sha1(loginpass), etc?

KLS had this in one of the SQL dont remember what one now but here it is
Code:

insert into tblLoginServerAccounts (AccountName, AccountPassword, AccountEmail, LastLoginDate, LastIPAddress) values('Admin', sha('password'), 'admin@somewhere.com', now(), '127.0.0.1');
after the last commit KLS made everything is working fine here, it compiles and works. I'm still having 1 issue if someone could shed some light on this I would really appreciate it. If I connect my server to the login anonymously I can log in and play, but when I fill in this "tblserveradminregistration" to match my eqemu_config.xml to get legend status it will not alllow my server to connect.

KLS 07-18-2009 02:24 AM

The project was set to unicode in release instead of multibyte which was causing issues with the const char* to LPRSTR conversion.

AccountPassword for server reg isn't hashed in the DB, also need to make sure there's a tblworldserverregistration entry that matches up with the tblserveradminregistration entry.

nosfentora 07-18-2009 12:19 PM

Quote:

Originally Posted by leslamarch (Post 174717)
KLS had this in one of the SQL dont remember what one now but here it is
Code:

insert into tblLoginServerAccounts (AccountName, AccountPassword, AccountEmail, LastLoginDate, LastIPAddress) values('Admin', sha('password'), 'admin@somewhere.com', now(), '127.0.0.1');
after the last commit KLS made everything is working fine here, it compiles and works. I'm still having 1 issue if someone could shed some light on this I would really appreciate it. If I connect my server to the login anonymously I can log in and play, but when I fill in this "tblserveradminregistration" to match my eqemu_config.xml to get legend status it will not alllow my server to connect.

duh, if i actually opened the sql instead of just sourcing them, i'd have seen that! =) (EQEmuLoginServerDBInstall.sql)

thanks leslamarch!


All times are GMT -4. The time now is 01:57 PM.

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