PDA

View Full Version : Linux support help


btuch
09-26-2002, 12:31 PM
I'm lookin to get this running all on a linux server. Basically here is my setup:

(eth1 192.168.0.1/29) - Linux Server - (eth0 Public IP)

I currently use my linux server as a firewall, router, mysql server....etc

From an outside IP address running the EQ client, Everything is fine. I tell the client to connect to my public IP x.x.x.x:5999. I login, get into the world server, and then create a character, and get on to start playin.

From an internal private IP, In order to hit the login server, I have to change my client to hit 192.168.0.1:5999 (which is the router side of the linux box). I log into the login server, and then see the world server up. When trying to get into the world server, I get these messages:

Issueing key: LS#3, Key=xxxxxkeystrippedxxx
Client disconnected (eqnc->GetState()=102)
Removing client from ip: 192.168.0.2, port: 3083
36040 New client from ip: 192.168.0.2 port: 3085
Bad/expired session key: ls#3
Removing client from ip:192.168.0.2 port:3085
44540 New client from ip: 192.168.0.2 port: 3085
Bad/expired session key: ls#3
Removing client from ip:192.168.0.2 port:3085
47519 New client from ip: 192.168.0.2 port: 3087

And then the cycle starts again. I know I read that the world server doesn't like private IP space...etc...but its all IP handled by the TCP stack...so it shouldn't matter.

Can anyone help out with this?

Thanks!

-Brian

btuch
09-27-2002, 04:43 AM
After playing with the seup a bit, I got this working.

If I want others to connect, then I have to specify my external IP for al lthe servers. If I want to log on and play from my private LAN, then I need to specify the linux servers internal IP for the servers.

Still don't know why I get the error "Bad/expired session key:", but after about 10 attempts it lets me into the world server.

Wonder if its a bug, where it should never let me in, or always let me in.

Hopefully I can come up with some kind oif firewall port forwarding rules to get it to work both ways.

Symarra
09-27-2002, 08:46 AM
Poor linux users!

btuch
09-27-2002, 09:03 AM
Actually....not "poor linux users" ;)

The challange here is to take a linux server, which is just sitting there idle most of the time, and let it be the server for all this.

The other option would be to run Login, World, and Zone on my Win XP box, and the Admin tool, while playing EQ in a window.

Linux is a work horse, just tryin satisfy it's craving for a "load" :)

-Brian

penfold1972
09-30-2002, 10:24 AM
Here's the way I do it:

I have a redhat linux box behind a firewall/router. My ISP has assigned a DNS name to all of their IP addresses (as most ISP are doing nowadays) and that is what I put in the start up scripts for my EMU server as the $PUB_IP.

on my linux and windows boxes I added an entry for the private IP address of my Linux box and gave it the domainname my ISP uses and an illegeal name (ie eq-server) in the /etc/hosts and C:\winnt\drivers\etc\hosts files.

Now, depending on my mood, I can play on my servers and so can anyone else on the internet. My world server tells the login server the NAME of the host, and everyone on the internet can connect. My windows machine finds the private IP address in my hosts file and connects directly to that IP address. The zone servers start up and find the linux box's IP address in the /etc/hosts file, and connect to the world server. If I am not in the mood for newbie questions, I boot up the server with the illegeal name (eq-server) and if anyone on the internet tries to connect, they can't find the correct IP address and never bother me.

I've never tried the setup with the linux box being the server and firewall. Try using the name game I 'm using and see if it works for you. Remember you can have multiple names per IP address.

And since the host machine only affects the machine you have it edited on, I would play this game for getting minilogin working:

minilogin and client on 192.168.1.1
world and zone on 192.168.1.2

in both host files, have:
192.168.1.1 windows
192.168.1.2 linux my.domainname.com

To use the name game above to get the server up and running. point your eqhost.txt file to connect to windows:5999 instead of eqlogin1.eqemu.net:5999. point your LoginServer.ini file to windows:5999 as well.
I would use the private IP address for the linux box first, and see if that works.

This post might help you play with any further Network Address Translation problems:
http://www.eqemu.net/forums/showthread.php?threadid=1134&highlight=linux+patch

Kolo
09-30-2002, 11:20 AM
You can also setup your own dyndns.org account. They allow up to 5 names (ie: bobsmith.dyndns.org). You can specify via a client to them what your IP is and they update the DNS on their side so all you have to give out is your blah.dyndns.org and everyone can connect.

Now internally on the computer(s) behind this firewall, set a "hosts" file entry to make all blah.dyndns.org entries point to 192.168.0.1 (In win2k this is in winnt/system32/drivers/etc/, win9x its in /windows/)

Setup your server to use the blah.dyndns.org for the address and everyone, internal and external should be able to connect and all play at the same time. If the eqemu server doesnt care which IP it comes in on, it will send its responses back out.

I havent tried this with my Linux server yet, but I probably will when the emu takes a little more shape so I can let my friends outside connect and play along with me.

Kolo
09-30-2002, 11:24 AM
Obetz huh? I work in Obetz....small world