Log in

View Full Version : Assuming NAT is my problem


Phantomwalker
05-02-2011, 08:19 PM
Hey guys and gals,

Let me start off by apologizing for asking what I'm sure you guys may find completely obvious. I'm taking a crack at this EQEmu thing for the first time. So far all I've been able to do is setup a server using minilogin which allows local LAN connections. Anyone outside of my LAN I've had very little luck with making it work. I know there are like a thousand threads on here about how people can't figure this out. I've tried following at least 4 to 5 guides, most of which appear to be so old their content doesn't even make sense anymore.

Here's my reference material that I have been actively looking at today:
http://www.eqemulator.org/forums/showthread.php?t=32980
http://www.eqemulator.org/forums/showthread.php?t=25898
http://www.eqemulator.net/wiki/wikka.php?wakka=ws70845mysql5
http://www.eqemulator.org/forums/showthread.php?t=22382
http://www.eqemulator.org/forums/showthread.php?t=27594
http://www.eqemulator.net/wiki/wikka.php?wakka=MiniLoginSetup
http://www.eqemulator.net/wiki/wikka.php?wakka=MiniLogin
http://www.eqemulator.net/wiki/wikka.php?wakka=RouterFix
http://www.eqemulator.net/wiki/wikka.php?wakka=NatFix

And now I am looking at something along this line:
http://www.eqemulator.org/forums/showthread.php?t=22081

(I'll post my files below)
Anyway needless to say I've tried everything I can remotely think of to get minilogin to accept external connections. (At one point it did. I'm not sure what I was doing to make it do that but when I found out that my friend and I couldn't play together from his house I started tinkering again.) So I've found I can't use 2 clients behind one IP and expect to get on my server. (at least at this point I'm pretty sure without some crazy witchcraft that I can't.)

So my question is. If I go back to setting my eqemu_config.xml, LoginServer.ini back to the point where it worked from within my LAN (which is most likely the default...) what queries would I need to do to my database to go back to using the EQEMU login servers? Because I really want to be able to play with my friends. Each having a single account some possibly being behind the same IP (as in 3 people in one household)

My only concern really about using the public EQEmu servers is... if I can both make my server show up in the public lists (now that I've messed it up by configuring it with minilogin) but yet still keep it semi private. If it's locked people cannot login correct? or can they? Does locked just prevent new players/accounts from joining the server?

I'm hosting on a 1mb connection that has numerous people abusing it and I doubt that much more then 4-5 players would have much fun on it. But we do want to be able to have our own server so we can make our own rules and generally be somewhat asinine without pissing off the community... :) Thus the reason I ask about this. I'd rather only have accounts I've personally approved play on my server for the time being.

Does anyone have a link they can point me to that might explain some of that?

So ultimately I guess the question is: Should I start over with a guide that doesn't mention minilogin (even though this server is working with all the new SQL imports and the freshest SVN content)? or is it as easy as executing a query to strip out the minilogin stuff and go back to using public login server?

And if I go back to the public login server can I have 2 clients behind one NAT'ed router connect to my server without so much fuss? So if I go to my friends house I can actually play with him instead of just watch him play because only 1 of us can be on the server at a time?

Thanks in advance.

Here's my config files...

eqemu_config.xml:

<?xml version="1.0">
<server>
<world>
<shortname>nightfall</shortname>
<longname>Nightfall's Dagger</longname>

<!-- Only specify these two if you really think you need to. (read: You don't) -->
<address>asdf.dyndns.org</address>
<localaddress>192.168.1.209</localaddress>

<!-- Loginserver information. Defaults shown -->
<loginserver>
<host>127.0.0.1</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver>

<!-- Server status. Default is unlocked -->
<!--<locked/>-->
<!-- <unlocked/> -->

<!-- Sets the ip/port for the tcp connections. Both zones and console (if enabled). Defaults are shown -->
<tcp ip="asdf.dyndns.org" port="9000" telnet="enable"/>

<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>wedontwantzombiesonourlawn1234567</key>

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

<!-- Chatserver (channels) information. Defaults shown -->
<!--
<chatserver>
<host>channels.eqemulator.net</host>
<port>7778</port>
</chatserver>
-->
<!-- Mailserver (in-game mail) information. Defaults shown -->
<!--
<mailserver>
<host>channels.eqemulator.net</host>
<port>7779</port>
</mailserver>
-->

<zones>
<defaultstatus>0</defaultstatus>

<!-- Sets port range for world to use to auto configure zones -->
<ports low="7000" high="7100"/>
</zones>

<!-- Database configuration, replaces db.ini. Defaults shown -->
<database>
<host>localhost</host>
<port>3306</port>
<username></username>
<password></password>
<db>peq</db>
</database>

<!-- Launcher Configuration -->
<launcher>
<!-- <logprefix>logs/zone-</logprefix> -->
<!-- <logsuffix>.log</logsuffix> -->
<!-- <exe>zone.exe or ./zone</exe> -->
<!-- <timers restart="10000" reterminate="10000"> -->
</launcher>

<!-- File locations. Defaults shown -->
<files>
<!-- <spells>spells_us.txt</spells> -->
<!-- <opcodes>opcodes.conf</opcodes> -->
<!-- <logsettings>log.ini</logsettings> -->
<!-- <eqtime>eqtime.cfg</eqtime> -->
</files>
<!-- Directory locations. Defaults shown -->
<directories>
<!-- <maps>Maps</maps> -->
<!-- <quests>quests</quests> -->
<!-- <plugins>plugins</plugins> -->
</directories>
</server>



LoginServer.ini

[LoginServer]
loginserver=192.168.1.209
#loginserver2=
loginport=5998
#loginport2=
worldname=nightfall
worldaddress=192.168.1.209
locked=false
#account=
#password=

[WorldServer]
Defaultstatus=
Unavailzone=

[ChatChannelServer]
worldshortname=
chataddress=
chatport=

[LoginConfig]
ServerMode=MiniLogin
ServerPort=5998



(These are current as of right now which does not allow me to login from outside my network)

I also have a line in my hosts file on the server pointing asdf.dyndns.org to 127.0.0.1 right now in an attempt to get this thing to let me login outside of my LAN.

I will probably try to get this back to the settings required to make it work on the LAN connection only tonight. But I was hoping someone could point me in the right direction for removing minilogin from the equation so I wouldn't have to try and delete my entire peq database and start from scratch.

Sorry for the super long winded n00b post. :) And thanks in advance. :)
(P.S. asdf.dyndns.org is not really my DNS, I replaced the real goods for this post to protect all guilty parties, so don't expect any ping or telnet commands to work for that address. :P )

-Phantomwalker

Phantomwalker
05-08-2011, 01:01 PM
Never mind. I followed a combo of 3 other guides, and started over from scratch with the EQEmuLoginServer.exe thing instead. That seems to be working great. :)

-Phantomwalker

Xevious
05-08-2011, 01:35 PM
Lol. Sounds like you took the same path I did. Good luck on that. The guide here helped me the most:

http://www.eqemulator.org/forums/showthread.php?t=31783

but even it seemed a little out of date. I took a few logical assumptions on changes I found along the way and so far so good.