EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::MiniLogin (https://www.eqemulator.org/forums/forumdisplay.php?f=629)
-   -   How to make proper startup files for Mini-Login use (https://www.eqemulator.org/forums/showthread.php?t=25898)

Angelox 08-07-2008 07:45 PM

How to make proper startup files for Mini-Login use
 
I keep seeing the same 'ol mistakes, for some reason, really a lot lately.
First, let me explain about your LAN and your IP address;
127.0.0.1 means 'localhost' which in turn means the computer you are at, and no others. Any any incoming requests, that you point to 'localhost' will result in the originating request seeing his/her own PC and not yours. Sooo, you need to not use 127.0.0.1 or 'localhost' in your ini files, regardless of what you see posted elsewhere.
I've always had LANs since the DOS days, my first LAN was a 'Novel Lite" floppy-run LAN. I hope I have learned something about it all by now.
I always keep static IPs on which ever PCs I might use for work I'm doing. I keep an index card with the names and ips assigned to each machine, so they will always be the same, even on a full, OS re-install. currently, my LAN has 4 static ips, and 2 dynamic.
Your server should be static and also your client. You don't need to do this, but life will be nicer if you don't have to worry about your LAN IP changing when you least expect it.
Keep in mind, you're working from with in your LAN, so you should be looking at all LAN related IPs (192.168.*.*) if with whatever method you use you come up with an ip that doesn't start with '192.168.', then you got the wrong IP. If you plan on inviting players from outside your LAN (the Internet), that can be done also - I'll show you how later. First, get your LAN play running.
How to make your XP machine static; go to network places > network connections > select 'properties' > and 'interenet protocol TCP/IP' 'properties' will reveal it all.
Lets say you set your 'server' machine to 192.168.2.105, here are the way your two config files should look,
eqemu_config.xml;
Code:

<?xml version="1.0">
<server>
        <world>
                <shortname>classic</shortname>
                <longname>Angelox Classic 2008</longname>
                <!-- Only specify these two if you really think you need to. -->
                <address>192.168.2.105</address>
                <localaddress>192.168.2.105</localaddress>
               
                <!-- Loginserver information.  -->
        <loginserver>
                <host>192.168.2.105</host>
                <port>5999</port>
                <account></account>
                <password></password>
        </loginserver>
        <unlocked></unlocked>
      <!-- Sets the shared key used by zone/launcher to connect to world -->
                <key>kiw9083wdfgesiwud</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>eq</username>
                <password>databasepassword</password>
                <db>ax_classic</db>
        </database>
</server>

and the loginserver.ini;
Code:

# READ README.TXT

[LoginServer]
loginserver=192.168.2.105
#loginserver2=
loginport=5999
#loginport2=
#worldname=
#worldaddress=
#locked=false
#account=
#password=

[WorldServer]
Defaultstatus=
Unavailzone=

[ChatChannelServer]
worldshortname=
chataddress=
chatport=

[LoginConfig]
ServerMode=MiniLogin
ServerPort=5999

Since 'ServerMode=MiniLogin' you have to make the change in your MySql Database table 'variables' under 'LoginType' to 'MiniLogin' 'too.
All eqhost.txt files incuding if you have a client on the server should read like this;
Code:

[LoginServer]
Host=192.168.2.105:5999

This is exactly what I have, I have tested on my windows and Linux servers, they work fine.

Firewalls: if you are behind a router, you don't really need it, you can disable it. Routers have 'hardware' firewall, which is better, unless of course you have someone in the family that likes to download anything, browses like a crazy person, and takes anything anyone gives them (because its free). Then you have to 'not share' any drives to that PC in the LAN, they can get a virus (probably will), and spread via shared drives you might have. Also, you could password -protect your drives from others in the LAN. But outside your LAN, your router will take care of you.

That's it for now, if a Mod or Admin will please sticky this thread, I'll continue build on it, and explain other stuff such as internet play into the LAN.

Angelox 08-08-2008 08:43 AM

Setting up your MiniLogin to accept users from the Interenet
 
Most all of us have dynamic ips (IP address that changes everytime the modem resets). So, in order for players to be able to find you, you'll need to set up a dynamic IP. I use http://www.dynip.com/, Eventually, you have to pay them, but there are free services such as http://www.dyndns.com/. In my case, my dns is blackwater.dynip.com, so I'll use myself as an example.
Here's my eqemu_config.xml (192.168.2.105 and blackwater.dynip.com are pointed/belong to the same machine, 192.168.2.105 is LAN ip and blackwater.dynip.com Internet ip);
Code:

<?xml version="1.0">
<server>
        <world>
                <shortname>classic</shortname>
                <longname>Angelox Classic 2008</longname>
                <!-- Only specify these two if you really think you need to. -->
                <address>blackwater.dynip.com</address>
                <localaddress>192.168.2.105</localaddress>
               
                <!-- Loginserver information.  -->
        <loginserver>
                <host>192.168.2.105</host>
                <port>5999</port>
                <account></account>
                <password></password>
        </loginserver>
        <unlocked></unlocked>
      <!-- Sets the shared key used by zone/launcher to connect to world -->
                <key>ko898odhus77iwud</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>eq</username>
                <password>lansing222</password>
                <db>ax_classic</db>
        </database>
</server>

And my LoginServer.ini;
Code:

[LoginServer]
loginserver=blackwater.dynip.com
#loginserver2=
loginport=5999
#loginport2=
#worldname=
#worldaddress=
#locked=false
#account=
#password=

[WorldServer]
Defaultstatus=
Unavailzone=

[ChatChannelServer]
worldshortname=
chataddress=
chatport=

[LoginConfig]
ServerMode=MiniLogin
ServerPort=5999

The clients from the Internet eqhost.txt file should look like this;
Code:

[LoginServer]
Host=blackwater.dynip.com:5999

The clients from within the LAN, might need to have different eqhost.txt files;
Code:

[LoginServer]
Host=192.168.2.105:5999

or you can make a HOST file on your client with this entry;
Code:

192.168.2.105          blackwater.dynip.com
then you can use;
Code:

[LoginServer]
Host=blackwater.dynip.com:5999

The idea is to let the server know you are coming from within the LAN, and not use your Internet ip. This way you can play from as many clients in the LAN as you wish, and still get players from outside the LAN (Internet).

Ports on your router that need to be opened;
3306/udp, 5999/udp, 9000/udp, 7000-7010/udp, 5999/tcp, 3306/tcp, 7000-7010/tcp
ports 7000-7010 are variable, pending on how many dynamic and static zones you start up. If you use 5 dynamic zones and 5 static, then 7000-7010, is ok, if you start more, then increase the amount accordingly.

Demdadar 08-19-2008 10:28 AM

Hello again Angelox.


I have modified almost everything that you said. The only thing I can't seem to change is the MYSQL Minilogin setting, basically because I sourced the database via commands at ms-dos, and I simply don't know how to modify a variable from ms-dos... Also I have tried using a front-end like SQLyog but for some reason it gives me "Error 1405" denied access, so I was forced to do it via ms-dos.

However I tried it (modified everything correctly but the mysql) and the server detected the client and it's IP. But, it stays "Connecting to the login server" for about half a minute, and then I guess the connection goes timeout and it disconnects me (Removes my client). But at least it recognizes me.

Well, the point now I think it's, how to modify the minilog setting variable at the mysql via ms-dos?

Thank you once again...

Andrew80k 08-19-2008 11:49 AM

Code:

update variables set value='MiniLogin' where varname='LoginType';

Demdadar 08-19-2008 03:18 PM

Thank you Andrew80k..

Sadly I have encountered a new problem. I no longer can access to mysql via ms-dos, getting the error I got before (access denied, 1045).

However, now I can get there via SQLyog. But, under the table "Variables" all I can see is 2 folders... One for "Columns" and another one for "Indexes".

When I view the data at variables, I can't see the "LoginType" no where. All I do see is:

MOTD
disablecommandline
PersistentZoneState
decaytime 1 54
decaytime 55 100
Max_AAXP
ZSPassword
loglevel
MerchantsKeepItems
GuildWars
leavecorpses
holdzones
ailevel

And that's all. I tried applying the code you gave me but nothing happened after all.

Is my database too old, maybe? Btw, I can't understand how now happens the inversa that happened before (Now I can login via SQLyog and not in ms-dos, when before it was the contrary) Too strange if you ask me :/

Any ideas...? Or should I just start over/change database?

Thank you very much, don't know what would I do without your help...

Angelox 08-19-2008 04:02 PM

This should work;
Code:

INSERT INTO variables VALUES ("LoginType","Minilogin","Set this to Minilogin to login using a minilogin server :)","10/26/2006 2:36:01 PM");
But I don't understand why you don't have that already what version and typ database are you using?

Demdadar 08-19-2008 04:26 PM

It didn't worked :/ When I start minilogin I get "Server mode: Standalone" even after all the changes. I'm quite sure the problem is the old database. I wanted to try running a EQemu 4.4...

For now i'll try using a newer one in this PC and see if i've got the same problems.

Andrew80k 08-19-2008 04:56 PM

Quote:

Originally Posted by Demdadar (Post 154506)
It didn't worked :/ When I start minilogin I get "Server mode: Standalone" even after all the changes. I'm quite sure the problem is the old database. I wanted to try running a EQemu 4.4...

For now i'll try using a newer one in this PC and see if i've got the same problems.

Yup, you're database is older than what we are currently at with the code, but there are some folks out there running some old versions of the emu. They might be able to help you. I myself don't know much about the older versions though so can't help with it. If you want to start with the newer stuff, grab the latest peq installer and that should get you going pretty quick.

GeorgeS 09-03-2008 12:02 AM

Stickified - good info here - even learned something from this!

GeorgeS

Congdar 09-03-2008 09:04 PM

Tip: When you download the MiniLogin6.2.zip file(is there a newer one?), it comes with an opcodes.conf file. Don't use it. It doesn't have all the opcodes. Use the opcodes.conf file that comes with the latest build.
You only need the MiniLogin.exe and the LoginServer.ini files.

Angelox 09-10-2008 08:22 AM

This package contains Leslamarch's launcher, and Aerewen's PHP IPFixer (instructions are in the PHP script).
Once set up, you won't need to be setting account IPs in the database for yourself or anyone else, and, if you have at least a 'shallow' understanding of PHP ( I do!), you can alter it all and make it look real nice.

ChaosSlayer 09-25-2008 12:57 PM

you may want to include a LINK to wher actualy download the Mini Login software - I just tried finding it starting of main page and it took me like 20 min :cool:

http://sourceforge.net/project/showf...group_id=88515

wicapirate 10-19-2008 10:47 AM

Angelox
Will that zip allow me to run EQ on a LAN with no internet access?

Angelox 10-19-2008 11:01 AM

Quote:

Originally Posted by wicapirate (Post 158632)
Angelox
Will that zip allow me to run EQ on a LAN with no internet access?

I don't know which zip you're talking about, but Minilogin is for LAN or the client can be with the same machine as the server , so you don't need internet or even a LAN.
What I have posted at my site are packages I thought would make it all easier for you (granted you follow the instructions).

cubber 02-04-2009 01:42 PM

Thank you for this, I have had minilogin running under linux in the past but this made it much simpler to get away from the Public loginserver hell. I never new there was a web tool published to create your own gimp public server with minilogin. It is perfect for my setup after some modifications.

One thing you may want to note in the guide is that it is necessary to forward "UDP" port 5999 to your server on your firewall in order to allow public access to the minilogin server.

Second I see that accounts and passwords are limited to "9" characters on the web tool. This is not practical since some of my old users had account names greater than 9 characters with passwords greater than 9 characters. Granted when you switch from public to this type of login all of thier passwords are set to "blank" as far as minilogin is concerned they still have the same usernames. So you will need to go in and add passwords for thier accounts in your db in order for them to log in. In order to change the 9 character limit edit these lines in the index.php file:

Code:

<td width="326" align="left" valign="top"><input name="username" type="text" class="formelements" id="username" size="40" maxlength="9" />
to

Code:

<td width="326" align="left" valign="top"><input name="username" type="text" class="formelements" id="username" size="40" maxlength="25" />
to increase the username to 25 characters

and

Code:

<td align="left" valign="top"><input name="password" type="password" class="formelements" id="password" size="40" maxlength="9" />
to

Code:

<td align="left" valign="top"><input name="password" type="password" class="formelements" id="password" size="40" maxlength="25" />
to increase the password size to 25


All times are GMT -4. The time now is 03:46 AM.

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