Log in

View Full Version : Private Login Server


image
03-29-2009, 05:56 PM
Hi Everyone,

I have been having a few people test this and I have gotten positive results so far so I figure there is no reason not to let others try it.

I have made a new build (Private Login) which will allow unlimited users and a max of 3 worlds (like the minilogin setup was). This version requires Internet access to have the unlimited users enabled, but only has to check once every 6 hours (So far the testers have not seen any issues with the stats server going down and any disruption with their LS).

This is an individual login server and they run independent databases, so yes this is a downside but at least its an alternative. Stats will be uploaded to http://eqemu.devnoob.com/register/status.php

If you have any questions please let me know.

Without further babbling...

http://eqemu.devnoob.com/downloads/PrivateLogin.zip

Yeormom
03-29-2009, 06:03 PM
I just called the fire department because my insurance does not cover the fire damage which is about to occur.

trevius
03-29-2009, 06:10 PM
I just called the fire department because my insurance does not cover the fire damage which is about to occur.

LOL Yeormom, I personally don't see why anyone (including the emu team) would have an issue with this. The only thing that people had disagreements about was the secondary Public LS. With this option, it makes that secondary Public LS obsolete. There was never anything negative said about the Private LS released by Image as far as I know.

Image,

Thanks for providing an unrestricted version of the Private LS you created :D This is a nice option for all servers to have available to them. I think this has alot of potential to really make a positive impact on the project. And, I am very sure that many people will be very glad to see this. I bet AX just peed his pants when he read this thread :P

thizzking916
03-29-2009, 07:42 PM
so whats the deal with this, does the operator of the server have to put theirs up, or does the user of the private login choose 3 servers it can connect to?

trevius
03-29-2009, 07:47 PM
The server admin would setup their server to use this and players would edit their eqhost.txt file to point to that particular server's Private LS. Having a limit of 3 servers per private LS would give a few servers the option to share a single LS if they wanted. This would be useful for servers like SoA that have their normal server and also a progression server that they run as well as their test server. No reason to have each on it's own private LS, so they could set them all up to use the one.

HurtinuDaily
03-29-2009, 07:56 PM
Guessing no source?? )

devn00b
03-29-2009, 07:57 PM
Nope. Would be irresponsible to release the source code.

image
03-29-2009, 08:00 PM
Guessing no source?? )

I think it would be best if we could keep communication of your username/password secure in the most possible way. EQ is an old game and just isn't on the bleeding edge if you will :)

HurtinuDaily
03-29-2009, 08:06 PM
So did you totally rewrite the login or did you take the old login and mod it?

image
03-29-2009, 08:11 PM
So did you totally rewrite the login or did you take the old login and mod it?

I kept the functionality of the database and some of the old features from the old Login Source I worked on. I took the 0.7.0 common directory and built it into this LS, had to rework a lot of the base netcode to be compatible with the LS. This is the same source I worked on with Lyenu which was leaked.

Yeormom
03-29-2009, 08:17 PM
Technically, the source code could be released while keeping the crypto secure, as it was done with the last leak.

image
03-29-2009, 08:19 PM
Technically, the source code could be released while keeping the crypto secure, as it was done with the last leak.

Like my back doesn't hurt already :P

HurtinuDaily
03-29-2009, 08:37 PM
shit thats slick, how often does it update the page?? Booting up zones and it doesnt show how many are loaded. Nice job on making it easy to use.

Edit:nevermind its showing zones now

redghosthunter
03-29-2009, 08:56 PM
mmmm, can someone hold my hand? I'm not a IT guy. After i download can u give me a step by step?

Yeormom
03-29-2009, 08:56 PM
Like my back doesn't hurt already :P
You're probably already using a compiled EQCrypto.dll anyway~ maybe even the "Athlon" special edition!

image
03-29-2009, 08:57 PM
You're probably already using a compiled EQCrypto.dll anyway~ maybe even the "Athlon" special edition!

If that were the case the loader wouldn't have been removed in all the new builds ;)

HurtinuDaily
03-29-2009, 09:05 PM
Why does it keep returning in valid password when i try to login a client, I think I entered it properly into the accounts table

image
03-29-2009, 09:06 PM
you did the password in md5("asdf") right?

Also make sure you are using the right eqhost.txt!

HurtinuDaily
03-29-2009, 09:07 PM
No I didnt do my password in Md5, I did change my hosts. I must ahve missed the instructions somewhere. lol actually I didnt see any instructions

HurtinuDaily
03-29-2009, 09:08 PM
Help me out man I just wanna do soem more db work tonight I have been slacking off since the ls been fuggin up.

Edit: So with this will you have to create an account for everyone who wants to lgo in manually??

image
03-29-2009, 09:10 PM
Help me out man I just wanna do soem more db work tonight I have been slacking off since the ls been fuggin up.

the README.TXT contains the information about queries to the database for setting up the world server and login account. It has been talked about a lot on the MiniLogin thread:
http://eqemulator.net/forums/showthread.php?t=27711

They both use the same setup.

HurtinuDaily
03-29-2009, 09:17 PM
Sorry for being one of those guys that asks questions that have already been answered, got it working

image
03-29-2009, 09:18 PM
Sorry for being one of those guys that asks questions that have already been answered, got it working

Glad to hear it and thats ok I wish there was time for a nice pretty document but I was hoping someone else could help me with that ;)

HurtinuDaily
03-29-2009, 09:38 PM
I can actually get into my server select and see my server but I get booted before character creation. I don't see any output in my ls window or world window so pretty sure its something I am doing wrong.

Edit: On my client I have the LS IP adress set to the local address (192) and i can get in but if I set it to my external IP it doesn't wonder if this has ne thing to do with it.

image
03-29-2009, 09:40 PM
I can actually get into my server select and see my server but I get booted before character creation. I don't see any output in my ls window or world window so pretty sure its something I am doing wrong.

eqemu_config.xml might have some IP addresses that are incorrect, maybe, being sent from world->login.

Edit: Edit as well! I would say the port forwarding isn't setup properly. Thats more for general support.

HurtinuDaily
03-29-2009, 10:21 PM
It has to be something specific with my router, I have the proper ports forwarded and its still not working. wierd.

Sakrateri
03-30-2009, 12:57 AM
This is Great Stuff guys ! thanks ALOT ! I do have just one question however.... If your website ever goes down does this stop working??

Thanks again !

trevius
03-30-2009, 01:02 AM
This is Great Stuff guys ! thanks ALOT ! I do have just one question however.... If your website ever goes down does this stop working??

Thanks again !

It is my understanding that there is a fairly long grace period that their status server can be down before it would effect the private Login Servers (something like 6 hours I think). That should allow for any type of maintance with minimum to no impact to Private Login Servers. But, if their site was ever taken offline permanently, it would currently render all Private Login Servers using this software completely useless. That is the only negative thing about this atm, and is one thing I think should be an optional setting on the Private Login Servers for the admins to decide if they want to send statuses or not. I am sure some people don't want their server on any kind of list as many just want to use something like that for close friends and family only and don't want random people joining.

Though, after re-reading the initial post in this thread, it sounds like missing the 6 hour check-in might not render it completely unusable. It sounds like it might just go back to restricting how many users you can have on the server. Unclear on that atm.

Sakrateri
03-30-2009, 01:36 AM
That's what I thought... Image is there a way to change this so we don't have to have our servers check in ?

I do not want to sound ungrateful but for some reason and I don't know why but for as long as this emulator has been around the people with the login server source has found it necessary to keep us all in binds to run things their way. I really do appreciate the Login but yet again feel I am being held captive if I use it.

I really do not think that everyone having a truly free loginserver for themselves is going to crash this community. Besides the login server there is TONS of work that needs to be done on the emulator itself and this is the ONLY place for people to come together and get that done..

AndMetal
03-30-2009, 04:20 AM
1 recommendation from me: dynamically create an eqhost.txt file to make it easier to switch between servers:


<?php

header('Content-Description: File Transfer');
header('Content-Type: text/plain');
header('Content-Disposition: attachment; filename=eqhost.txt');
ob_clean();
flush();

echo "[LoginServer]\r\n";
echo "#" . $name . "\r\n";
echo "Host=" . $host . ":" . $port . "\r\n\r\n";

?>


Which could result in this:
[LoginServer]
#Cripps Nug Blazers
Host=68.4.48.127:5999

image
03-30-2009, 07:03 AM
I am not going to restore the restrictions of user limits; the server would have to be down for 6 hours total after losing connection. This will be reconsidered later on but not right now.

image
03-30-2009, 08:58 AM
If it ever came to me going poof I'd give it out, either way I want it the way it is now for testing reasons. If you really get bugged that much you can disassemble it. But in the end won't make much difference

Aldest
04-03-2009, 10:07 AM
Thank you for putting this together! We've been using leaf and mini-login but it isn't a stellar solution.

I need to ask this though. I'm, we'll say, of average competency when it comes to this.

If I used PEQ installer and I'm running mini-login can I "upgrade" to this service or do I need to do a new install without the mini-login option and essentially "install" this fresh?

image
04-03-2009, 02:09 PM
Thank you for putting this together! We've been using leaf and mini-login but it isn't a stellar solution.

I need to ask this though. I'm, we'll say, of average competency when it comes to this.

If I used PEQ installer and I'm running mini-login can I "upgrade" to this service or do I need to do a new install without the mini-login option and essentially "install" this fresh?

quite a few people have been converting their database, you just need to make the new accounts you setup to match the previous login id's that is in the character_ table, I suggest reading our forums and post questions should you have any problems.

Aldest
04-03-2009, 02:10 PM
quite a few people have been converting their database, you just need to make the new accounts you setup to match the previous login id's that is in the character_ table, I suggest reading our forums and post questions should you have any problems.

OKay Image, thank you kindly.

I'll do that. I did post an issue on the old thread. I've been working on this with some success. I'll hop over to your forums as well.

image
04-03-2009, 04:13 PM
Thank you for putting this together! We've been using leaf and mini-login but it isn't a stellar solution.

I need to ask this though. I'm, we'll say, of average competency when it comes to this.

If I used PEQ installer and I'm running mini-login can I "upgrade" to this service or do I need to do a new install without the mini-login option and essentially "install" this fresh?

quite a few people have been converting their database, you just need to make the new accounts you setup to match the previous login id's that is in the character_ table, I suggest reading our forums and post questions should you have any problems.

image
04-03-2009, 05:16 PM
Sorry about the double post, sometimes the iphone posts and times out kinda dumb.

neiv2
04-03-2009, 06:43 PM
If I used PEQ installer and I'm running mini-login can I "upgrade" to this service or do I need to do a new install without the mini-login option and essentially "install" this fresh?
I too am coming from a PEQ environment and am of medium technical competence, and I'm still having an issue getting this set up. Image has been patient through it, but I may be at an impasse. It allows me to log in, but never reaches the character select screen. If I can't get this resolved this weekend I will likely just restore my original settings and use the EQEMU login (when it is up, that is).

Aldest
04-03-2009, 07:30 PM
Neiv

I figured it out (at least for my server). It was mentioned before but I didn't pick up on it.

Find your account table with navicat or mysql query browser. Look for the column Isaccount_id. Fill that field with the ID # from login_accounts that you want it to be associated with.

That worked perfectly for us and we didn't even have to muck around with the characters. They were simply there. I hope it works for you!

Aldest
04-03-2009, 07:33 PM
And a new question.

When using PEQ you run a single file that launches minilogin, world and zone. I can get my server working just fine by doing that manually.

Now, PEQ launches zone and world will load as many zones as I tell the DB to. With me doing it separate I have to launch zone over and over again. One per zone. How do I get "X zones in one window?"

neiv2
04-03-2009, 08:20 PM
Thanks Aldest, but those settings were already there, and it continues to fail to hit the character screen. It's frustrating to say the least. So close, but no cigar.

neiv2
04-03-2009, 09:31 PM
Aldest, would you mind posting the contents of your eqemu_config.xml file please?

Aldest
04-04-2009, 09:32 AM
Not at all. Here you are:

<?xml version="1.0">
<server>
<world>
<shortname>shadowrealm</shortname>
<longname>Shadow Realm</longname>

<!-- Only specify these two if you really think you need to. -->
<address>5.2.52.138</address>
<localaddress>5.2.52.138</localaddress>

<!-- Loginserver information. -->
<loginserver>
<host>5.2.52.138</host>
<port>5999</port>
<account>xxxx</account>
<password>xxxx</password>
</loginserver>

<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>some long random string</key>

<!-- Enable and set the port for the HTTP service. -->
<http port="9080" enabled="true" mimefile="mime.types" />
</world>

<!-- Database configuration, replaces db.ini. -->
<database>
<host>localhost</host>
<port>3306</port>
<username>xxxx</username>
<password>xxxx</password>
<db>xxxx</db>
</database>
</server>

neiv2
04-04-2009, 10:45 AM
Can you elaborate on your host? <host>5.2.52.138</host>

Is this a static IP address? All the instructions I have seen specify the use of 127.0.0.1 as the host.

neiv2
04-04-2009, 11:16 AM
Thank you , Aldest; my world is now working. The only two variations that existed between your eqemu_config.xml file and mine were:

(1) there were a lot of extraneous settings in my version regarding chat servers, mail servers, zone default status, launcher configuration, file locations, and directory locations that apparently just do not apply to PEQ. I was attempting to use the eqemu_config.xml file that an AX user posted earlier. I assumed that may have been part of the problem, so I deleted all of those lines.

(2) There are explicit instructions in that eqemu_config.xml file regarding the World address and localaddress; to wit, "<!-- Only specify these two if you really think you need to. (read: You don't) -->." But I noticed that you had populate these fields, so I did as well (with 127.0.0.1).

Now my world works.

Image, you may want to make a sticky note on your forum for PEQ db users, and post Aldest's eqemu_config.xml file as a template to use.

You may also want to include the fact that you must use the INSERT command to populate the login_accounts table with the md5 password, and not use a manual db population process (that tripped me up). That, I think, will save tons in support hours.

neiv2
04-04-2009, 12:00 PM
Now, of course, I have a new issue.

I am able to get into the world, but I am unable to zone to any other zone. Each time I try it, I am pushed back and told, "This zone is not ready to receive visitors yet. Please try again in a few moments."

neiv2
04-04-2009, 12:08 PM
P.S. I am able to zone if I double click zone.exe a few times. But of course, this is not the ideal situation.

Congdar
04-04-2009, 12:33 PM
might be your database tables launcher and launcher_zones
my launcher is
zone | 2
and my launcher_zones is
zone | poknowledge | 0

This gives me two dynamic zones and one static plane of knowledge.

when you start eqlaunch.exe zone the 'zone' has to match what you have in the first column of launcher and launcher_zones.

neiv2
04-04-2009, 02:38 PM
Actually, the problem was that I had forgotten to include eqlaunch in the fire-up sequence : )

All's well now. Thanks.

neiv2
04-04-2009, 03:23 PM
Okay, server is all set up and running. One final question, though. What changes do I need to make in the clients that are logging in? How should their eqhost read, especially if I have used 127.0.0.1 for the server and these are local clients? Should their eqhost files look identical to mine? Anything else that needs to be changed here? My son's client machine cannot login for some reason. Yes, I created his account in the db.

Congdar
04-04-2009, 06:32 PM
127.0.0.1 means THIS computer that you are on. So for your son, 127.0.0.1 would mean his computer.

From a command prompt on the computer running the eqemu server type ipconfig and press the enter key. You will see several lines. You want the numbers from IP Address or on Vista it's IPv4 Address. Usually something like 192.168.1.1 and use that for your sons eqhost.txt file 192.168.1.1:5999

neiv2
04-04-2009, 08:48 PM
That was one of the things we tried earlier. We also tried using the Address that shows up for my server on the Login Server Status page (http://www.eqemulator.net/forums/newreply.php?do=newreply&noquote=1&p=167130). Still no go.

If any PEQ user who uses the Private Login has an idea (Aldest?), that would be great.

Angelox
04-05-2009, 09:57 AM
That post I made somwhere for converting MiniLogin accounts to the new login system was pretty sucky and complicated. Here's my latest one that works from within MySql and is tested as good.

--------------------------------------------------------------------------
--- Converts your MiniLogin accounts to the New login acount system. ---
--- Be sure your 'new_login.login_accounts' is clear before transfer. ---
--- You can change directory settings to what you prefer. ---
--- Linux users need a "world writable" directory (try /tmp ). ---
--- If you don't like the change, MiniLogin will still work. ---
--------------------------------------------------------------------------
SELECT id,name,password FROM ax_classic.account INTO OUTFILE '/eqemu/updates/account_part1.txt'
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

LOAD DATA INFILE '/eqemu/updates/account_part1.txt' INTO TABLE new_login.login_accounts
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n';

UPDATE new_login.login_accounts SET `password` = MD5(`password`) WHERE LENGTH(`password`) > 0 AND (LENGTH(`password`) != 65 AND LOCATE(':', `password`) != 33) AND LENGTH(`password`) != 32;



You can alter the lines/directorys to fit your needs schema new_login is what I named the LS database.
If you had a Public Login account system, then the port will move the names over, but with blank passwords - you'll need to set passwords;
UPDATE login_accounts SET password=md5("NewPassword") WHERE name = 'UserName';
If you don't like what you did, you don't need to revert - since table account has not been altered, you'll be able to choose whichever LS system you want.

Aldest
04-05-2009, 11:30 AM
I'm glad my file helped and I'm sorry I wasn't around sooner to answer your question.

It has been a busy weekend!

Aldest
04-05-2009, 12:51 PM
Ok, I've got a new issue. Hopefully Angelox might have the solution!

I have previously been using leaf networks to get everyone in the same "LAN." It is unreliable and frustrates my users. It did work though.

I switched over to just using a straight connection from the outside to my home IP. It worked great... except for everyone in my household.

Local users could connect to the login server, pick a server, but never make it to character select. I fixed that by putting a host entry on the machines.

Now they can log in but every time they zone they get disconnected with this error message in world:

[Debug] [WORLD__CLIENT_ERR] jud: ID is 0. Is this server connected to minilogin
?
[Debug] [WORLD__CLIENT_ERR] jud: Could not find a minilogin account, verify ip a
ddress logging into minilogin is the same that is in your account table.

Aldest
04-05-2009, 01:04 PM
Disregard the above.

To correct this you need to change your server type from minilogin to public.

Aldest
04-05-2009, 01:06 PM
Actually, the problem was that I had forgotten to include eqlaunch in the fire-up sequence : )

All's well now. Thanks.

How did you get this to work Neiv? When I click eqlaunch it just pops and disappears.

I've just been launching multiple zone.exe for a work around.

neiv2
05-09-2009, 12:42 PM
"How did you get this to work Neiv? When I click eqlaunch it just pops and disappears. I've just been launching multiple zone.exe for a work around."

Aldest. I did not see this post when you posted it. Did you get this to work?

Cripp
05-09-2009, 11:00 PM
make a .bat file that looks kind of like this..


eqlaunch launchername


example:

eqlaunch zones


... the launcher name has to be the same name as whatever the launcher name is in the database.
check the launcher table