PDA

View Full Version : Complete EQEMU LAN Setup Guide


Bently
04-02-2002, 07:20 PM
Okay, I have quietly been following EQemu for some time, and have since now registered a forum account, so now im gonna make use of it.

How do I get EQemu working on a LAN you say?

I will tell you the exact steps, but first I will assume one very simple fact:

Your computers run windows.

Before I continue, I must say this. Windows XP operates differently to what I am about to write. A followup post will address windows XP LANs.

Before trying this, please read it ALL from start to finish so you dont miss anything. I will make side notes as I go on various things, although I wont make them obvious (eg. headings)

Part 1.
Setting up your network.

Firstly, ensure all computers are physically plugged in to the hub/switch.

Ensure all computers have a network (ethernet) card installed and working.

Navigate to: Start Menu > Settings > Control Panel
Double click on "Network"

Now, ensure you have the following, and only the following components installed:

Client for microsoft Networks
Microsoft family logon
Dial-Up Adapter
Network Card
(In my case it says NETGEAR FA311 Fast Ethernet PCI Adapter, so its pretty easy to recognise, and so should yours)
IPX/SPX-compatible protocal
TCP/IP
File and printer sharing for microsoft networks

IPX/SPX is a very debatable topic. Some say dont install it, but I do simply for the compatabillity. I frequent LAN parties and some games we play only use the IPX protocal so it comes in handy.

Dont be alarmed if IPX/SPX and TCP/IP "bind" themselves to your network card and Dialup adapter, as this is normal, and good.

Left click on the IPX/SPX protocal binded to your network card (indicated by a -> then your network card) then click "properties".
Use the tab buttons up the top to navigate to "advanced" then click on "Frame Type". Auto works here, and is stable, but I generally change this to "Ethernet 802.3".

Do the same as above to TCP/IP but instead of changing it to "Ethernet 802.3" under advanced, ensure under "IP Address", that it is set to "Obtain IP address automatically".

Under the identification tab back out where it shows installed components (IPX, TCP/IP, network card etc) navigate to the "Identification" tab up the top. Give your computer a name then make sure its "workgroup" is set to "Home" or some other name that ALL computers will have.

Doing this to all computers will give you a working network configuration.

Part 2.
A working Internet Gateway

So, now you need a primary computer in which all other computers recieve an IP address from when the boot up huh? (Remember the "obtain IP address automatically" part).

This is guaranteed to be the easiest part, however ONLY do it on the computer you dial up to the internet from, as this will be your internet gateway from now on.

Navigate to Start Menu > Settings > Control Panel
Double click on "Add/Remove Programs" then click on the "Windows Setup" tab up the top.

Double click on "Internet Tools" then check "Internet Connection Sharing". Be sure you have a blank 1.44MB Floppy disk handy, as you will need it to make a client disk.

Dit dit dit okay its installed it. You may or may not have to restart your computer. Now it will run you through the setup program.

Take these things to mind when doing this:

The adapter you connect to the internet on is your computers MODEM.

The adapter that connects you to your network is your NETWORK CARD.

Your Workgroup that you set to all the other computers. 9/10 times by default this setup program will say MSHOME. Change this you your workgroup!!

Please read it all carefully as you go through it.

Now that your gateway is setup, its INTERNAL Network IP address will become 192.168.0.1, however its INTERNET IP Address will be independantly different.

NEVER GIVE OUT YOUR INTERNET IP ADDRESS TO THOSE YOU DONT KNOW. YOUR INTERNAL IP ADDRESS IS SAFE HOWEVER AS HUNDREDS, EVEN MILLIONS OF PEOPLE USE IT, AND ITS MEANINGLESS ON THE INTERNET.

Part 3.
Filling in the missing link.

Okay, now what you say?
Now you walk around and run the program on the client disk you made, on all the other computers you want setup. Easy.

Remember the following, as usual:

The adapter you connect to the internet on is your computers MODEM.

The adapter that connects you to your network is your NETWORK CARD.

Your Workgroup MUST be the same as the Gateway's.

Depending, and if the stars are smiling on you, each computer you do will be setup in order.

192.168.0.2
192.168.0.3
192.168.0.4 etc. etc.

Your subnet mask will be 255.255.255.0, but this does not affect you in any major way, im just saying it in case you want to know, or you need to know it for something else.

Well done. You did it. A working network that has a shared internet connection also (Very handy). I know some computer technitions that cant do this so I have to hand it to you :)

Part 4.
Setting up the EMU.

Okay. Now I assume you will run all of the server consoles on the internet gateway computer you setup, so all you should really have to do is change your LoginServer.ini file, your db.ini file and eqhosts.txt file to reflect the following.

LoginServer.ini
************
[LoginServer]
loginserver=192.168.0.1
worldname=Unnamed <- Your server name here
locked=false
account=
password=
worldaddress=192.168.0.1
loginport=5999

db.ini
************
[Database]
host=localhost (Try 192.168.0.1 here if you like*)
user=MySQLUsername
password=MySQLPassword
database=MySQL Database name (eq, everquest etc.**)

*If you get an error then in world.exe, put "localhost" back here.
**Whatever you called your MySQL eqemu database.

eqhosts.txt
************
[Registration Servers]
{
"192.168.0.1:5999"
}
[Login Servers]
{
"192.168.0.1:5999"
}

zone server *.bat file (what ever you have it named)
************
@echo off
start zone9x freporte 192.168.0.1 9001 192.168.0.1
exit
cls

Total EMU Bootup *.bat file
************
@echo off
start MiniLogin.exe
start World.exe
start ZoneBoot.bat <- This is your zone *.bat file
exit
cls

Part 5.
Running the server.

Okay, lets give it al whirl.

Double click on your new ServerBoot.bat file (see above).
Open up eqw.exe, ensure your desktop is set to 16 bit colour.
Use the Name "eqemu" and the apssword "eqemu" to login.
Make a character.
Play.

*Final Tips*
To create an *.bat file, open notepad and enter the information required, for example;

@echo off
start MiniLogin.exe
exit
cls

Save it as something, in this case, Minilogin.txt.
Open My Computer then goto:

View > Folder Options > View and then uncheck "Hide file extensions of known file types".

Rename the file extension to .bat, so we are left with Minilogin.bat.

Well done.
Alternativly, right click on a copy of an existing *.bat file and select "edit".

Note. *.bat. the * indicates a wildcard character. This means anything. subsitute whatever into this. So if your bat file is named bob then the * represents bob on your computer :).


Enjoy.

Bently

Bently
04-02-2002, 07:46 PM
In addition to all this, I noticed some of you people have routers. Im sorry, but I have not had much experience with routers and home LANs.

Routers acting as a gateway for the internet would indicate to me a different type of network (Yes! There are different types, much like there are different RAID types.) and hence, different IP's handed out.

We just stick to using a switch, whether or not this is the same (Directs packets to the correct IP address, instead of mirroring out out to every computer) im not sure, but from what I know, routers are different in the sense they not only direct network traffic, but they also direct it on the fastest route by communicating to other routers and asking them if they will handle the packet.

Having a router may affect your IP addresses so what I said above may not apply to you. Its a damn easy way though, and works perfect for EQemu.

Answers to a few other questions:

No. Clients should not have to run minilogin.exe and world.exe when connecting to the host, just ensure that any setup files (I mean this in the sense of any files needing to be configured prior to EQemu working, the *.ini files etc.) are pointed to the hosts IP.
You will know if its getting through because the hosts minilogin.exe console window will report connections. Logically all they should have to change is the eqhost.txt file and be using eqw.exe version 2.21. (Untested though).

No. Other accounts made in the Admin tool will not be unique. They all use the eqemu profile, and thus the characters are shared.

No. I dont recommend using the same character as another client. This would indefinatly cause problems with how the database interprets two different "streams" of player data going into the one character file.

No. Im not sure if this setup works over a virtual network. I hope to get a friend that lives in a different state than me to get EQemu setup and connect to my server.

jackfrostint
04-02-2002, 09:36 PM
It's actually quite easy to get LAN play going on..

basically just edit out all the 'localhost' information and replace it with your real IP in almost everything...

Should look like this:

NOTE: Host machine is where the worldserver is run. Client machines are the machines on your network that you want to connect and play.



LoginServer (host machine)
----------------------------------
loginserver=Real IP (10.0.0.x, 192.168.x)
worldname=RandomServer
locked=false
account=
password=
worldaddress=Real IP (10.0.0.x, 192.168.1.x)
loginport=5999

LoginServer (client machine)
-----------------------------------
loginserver=Host's IP
worldname=
locked=
account=
password=
worldaddress=Host's IP:9000
loginport=5999

boot5zones.bat (10.0.0.x is where your REAL IP goes, only run on host machine)
--------------------
@echo off
start zonent . 10.0.0.x 7800 10.0.0.x
start zonent . 10.0.0.x 7801 10.0.0.x
start zonent . 10.0.0.x 7802 10.0.0.x
start zonent . 10.0.0.x 7803 10.0.0.x
start zonent . 10.0.0.x 7804 10.0.0.x
exit
cls

eqhost.txt (Host machine)
--------------------------------
[Registration Servers]
{
"localhost:5999"
}
[Login Servers]
{
"localhost:5999"
}

eqhost.txt (Client machine)
----------------------------------
[Registration Servers]
{
"HOST IP:5999"
}
[Login Servers]
{
"HOST IP:5999"
}



This *WILL* work with the Minilogin, however, you can only use one account. Have everyone log in on the same account, and make a new character. In that case, you can only have up to 8 people playing at one time, until the full login server is released to the public..

Word up.

-j

1010101
04-03-2002, 03:36 AM
Nicely done, Bently.

- 1010101
(http://www.gameroom.com/1010101)

Bently
04-04-2002, 07:19 PM
Okay, I spoke to a good friend of mine who knows a great deal about networking.

Routers...

I now know routers operate differently to switches and hubs. Routers have the abillity to read and manipulate the headers of a packet of data, where as switches, like I said before, simply read it and then pass it on to the correct destination.

So yes it is possible to have a router as an internet gateway, which I find very cool :) although in terms of costs, they are much more expensive than switches or hubs.

Now, after considering this, I have come to the conclusion that it would not change the way EQemu works over a network, however I donot know yet if they expose your home network to the outside, as many people use them in conjunction with high-speed internet (ADSL, Cable, Satelite etc.) and you can see what this would cause. Just remember to put the host computers (The system running the EQemu server consoles) IP address in the config files and zone *.bat files.

If you cant see, then Ill tell you :)

If it does expose it then its best not to mouth off your home IP's as someone could potentially access your network from the outside (Internet if you will) and we all know this is a bad thing.

Again I dont know how firewalls protect networks running through a router.

Im still looking into XP networking and the Emu.

Bently

Bently
04-04-2002, 07:52 PM
More information on firewalls.

I believe routers need a hardware based firewall to completely protect a network, unless you are just protecting the individual computers with their own software based firewall.

In general though, if you do have a router, dont give out your network IP address :p

Other than that, should not make a difference to how EQemu will run over a LAN.

Bently

Lurker_005
04-05-2002, 12:39 AM
Some comments on routers and firewalls:

The basics of a router is it allows 2 separate networks to talk together. IE the internet, and your local network. The router looks at network packets, and anything not meant for your local network it routes to the WAN port (internet)

The basics for a firewall is that it blocks, or allows packets based on the rules programmed into it. Unless you use a linux computer, or a commercial type router the rules will usually be to allow or deny packets meant for a list of ports.

For the broadband users out there, if you have more than 1 computer, you should consider getting a "SOHO" type router. There are several out there for under $100 that also have a 4 port 10/100 switch built in. Linksys, Netgear, and D-Link come to mind. This allows your local computers to talk together on a local private lan, while still accessing the internet. They use NAT (network address translation) that in itself is some small protection. They also include a simple but functional firewall (allows or denies access to various ports). Some also include port forwarding. This allows routing selected ports exclusively to a specified computer on your local network. This makes that port on that computer appear to be directly on the internet.

I hope this gives you all some useful information, and not a bunch of new questions :D

Bently
04-05-2002, 12:41 AM
- The following will just be some quick notes -

I got my LAN server running again tonight after my HDD crashed a few weeks ago.

At first I experienced problems such as eqw.exe bringing up errors (DX8 something .dll), getting kicked back to the server selection screen after hitting the enter world button at the character selection screen.

Here is what you MUST make sure you do if you experience problems. I strongly suggest you make another copy of EQ on your HDD to run the emulator from.

Ensure your desktop colour depth is set to 16 bit.

Delete all *.opt files from your emulator's everquest directory.

Delete eqclient.ini and eqhardware.ini from your emulator's everquest directory.

Use EQW version 2.21.

Drop your current database in mySQL and then create a new one labled eq. I say eq because I changed mine from Everquest and im not sure if that helped but I may have. Use the db.sql packaged with the emu version 0.2.6

Make sure you are running the latest everquest version as of April the 5th 2002. This is a MUST.

Using the admin tool, delete the eqemu profile and recreate it as the same name, set it to server op status and id = 1, isaccountid = blank.

At first, test everything running as localhost with no fancy IP's. If you get the green light, and it works fine (ie. you can get into the game and walk around), then set your *.ini files in the emulator directory to reflect your actual network IPs.

In Summary, this is my setup.

File structure -

C:\
Games
Emulated Everquest
Emulator
Admin Tool

You can guess what goes where.
Fresh copy of my online EQ renamed to "Emulated Everquest".
Emulator extracted from zip file to "Emulator".
Admin Tool extracted from zip file to "Admin Tool".

HOST COMPUTER SETTINGS (My computer is IP 192.168.0.133 so substitute host IP into there when you see it)

db.ini -

[Database]
host=localhost (This can stay localhost as only the host machine needs access to the DB)
user=********* (mysql username)
password=********* (mysql password)
database=eq (as a rule of thumb, always name it eq :) )

loginserver.ini -

loginserver=192.168.0.133 (host IP here)
worldname=Bently's Warzone!
locked=false
account=
password=
worldaddress=192.168.0.133:9000 (Host IP here, and world Port)
loginport=5999

eqhost.txt -

[Registration Servers]
{
"localhost:5999"
}
[Login Servers]
{
"localhost:5999"
}

Note: This is assuming you will play on the host machine. More to follow.

CLIENT COMPUTER SETTINGS

eqhost.txt -

[Registration Servers]
{
"192.168.0.133:5999" (Must change this to IP of loginserver computer)
}
[Login Servers]
{
"192.168.0.133:5999" (Must change this to IP of loginserver computer)

}

Why only eqhost.txt you say?
Well, when we think about it, your client is connecting to your server. Like below.

Host <---------------------------> Client
world.exe eqw.exe (Everquest the game)
mysql (The DB)
minilogin.exe
zonexx.exe

The host is doing all the hard stuff like running the zones, accessing the DB for characters etc.

The client is just playing EQ, but instead of sending data into the net to goto VI, it gets sent to your host machine, who handles it.

So really, only the host needs to run mysql, world.exe, minilogin.exe, and the zones. The client just needs the modified eqhost.txt to connect to your hosts minilogin.exe and hence the other server consoles. Its sort of sharing everything between two computers.

Again, this is why 2 people using the same character is a big no no.

Im confused :) but you get the idea.

Host does serverside stuff.
Client does clientside stuff ONLY.

We know the developers of the emu did not intentionally implement LAN play but believe me, it works.

If you need an help at all, please email me at Bently@Blazemail.com with a full description of your problem, your loginserver.ini file, your db.ini file (minus passwords/usernames), your zoneserver *.bat file.

Bently

Bently
04-05-2002, 12:51 AM
Thanks Lurker.

Very helpfull Indeed.

I knew what it did, but could not grasp how it handled its role as an internet gateway (In terms of how it shared the connection, Ie. How does a computer/program know that the connection is on the router.). In every diagram I have seen yes, they are the first to recieve any incoming data packets, and thus they direct them to the correct location.

I did read that some had built in firewall functions (Why not? They read the packet header anyway to send it to the right place, why not be able to say no as well :) ). Some switches now however act like routers also (type 3 switches).

Sort of like this yes.

**********************Internet********************
*************************|***********************
Comp ---- Hub 1 --------------- Router --------------- Hub 2 ---- Comp
**********|******************************|********
********Comp**************************Comp******


Anyway, as long as we know that a router wont change things.

Bently

Bently
04-05-2002, 12:52 AM
Gah, that did not turn out the way it as meant to. :(

Edit:
Sort of fixed it :p

Bently
04-05-2002, 01:59 AM
After poking around with my newly running server (Thank god its back :) ) I must tell you all. If you are running windows XP, in all its forms, and you know you have a working network then I see no reason why, for the most part, my information on running the Emu over a LAN wont work.

If your network works, then really, the steps to follow when setting up the emulator is exactly the same on either operating system.

Yes you can mix and match. Windows 98 hosted servers will work perfectly fine with an XP client, this I have tested extensivly.

Amidst this, could you honestly be bothered repeating yourself for the most part, only changing the steps required to setup a LAN under XP (Really, it does it all by itself :) ).

Take care, have fun.

Bently