View Full Version : Is there anyone know how to run eqemu across mutiple sever
rambus
03-28-2008, 02:41 AM
I wish to run eqemu across two seprate servers, one is for zone.exe and the other is for world.exe and database. can i ask how to make the configuration?
TheLieka
03-28-2008, 05:05 AM
I've never done it before personally, but I believe you'd do it like this:
Server 1 (World Server):
Have the following in your eqemu folder:
World.exe
EMuSharedMem.dll
eqemu_config.xml
eqtime.cfg
opcodes.conf
patch_Anniversary.conf
patch_Live.conf
patch_Titanium.conf
.\worldui
.\templates
spells_us.txt
Server 2 (Zone Server):
Have the following in your eqemu folder:
.\quests
.\maps
.\plugins
Zone.exe
eqemu_config.xml
eqlaunch.exe (if you use it)
EMuSharedMem.dll
eqtime.cfg
eqemu_config.xml for both servers:
<?xml version="1.0">
<server>
<world>
<shortname>Whatever Your Server's Short Name Is</shortname>
<longname>Whatever Your Server's Long Name Is</longname>
<!-- Only specify these two if you really think you need to. -->
<!-- <address>127.0.0.1</address> -->
<!-- <localaddress>127.0.0.1</localaddress> -->
<!-- Loginserver information. -->
<!-- <loginserver> -->
<!-- <host></host> -->
<!-- <port></port> -->
<!-- <account></account> -->
<!-- <password></password> -->
</loginserver>
<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>Some Long String of Text That You Come Up with (must be the same on both servers)</key>
<tcp ip="Read explanation of this at the bottom of the post" port="9000" telnet="disable"/>
<!-- 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>IP Address of Server 1</host>
<port>3306</port>
<username>MySQL Login Name</username>
<password>MySQL Password</password>
<db>Database Name</db>
</database>
</server>
After that's all said and done, set up port forwarding on your router/firewall to send requests over tcp/udp 9000 to your world server's IP address, then ports 7000 - 7100 to your zone server's IP address (depending on how many zones you want to run, each one will need a port, and they increment from 7000 - whatever the last one is).
You will also need to make sure that MySQL is configured to allow your MySQL Login name to connect from the zone server. If you're using "root", the default option in MySQL is to not allow it to connect from any machine other than "localhost". So you'll need to fix that too.
Again, I've never done it, but I believe that would work.
Explanation of "<tcp ip=" tag.
DNS Name of Server 1 (this must be accessible by the public, and zone server, you can accomplish this by creating a host record for the public DNS record, then specifying name and IP in the host record on zone and world servers - i.e. myserver1.dyndns.org = 72.34.56.123 to the public (your public IP), so on your zone server's host file (assuming you're using window: c:\windows\system32\drivers\etc\hosts - open with notepad), you'd make an entry for: myserver1.dyndns.org <tab> 192.168.1.65 (your world server's private IP address). Then on your world server's host file, you'd make an entry for: myserver1.dyndns.org <tab> 192.168.1.65 (your world server's private IP address). Now, when the world or zone servers try to access myserver1.dyndns.org, they will get the internal IP address of your world server, and when players outside of your network try to access myserver1.dyndns.org, they will get your public IP.
Thanks,
Dax
TheLieka
03-28-2008, 06:33 AM
actually the .conf files need to be in the eqemu folder on the Zone server.
Dax
rojadruid
03-28-2008, 03:30 PM
There is a post by me around here some where explaining my setup. I run a number of different computers together for my server. I run anywhwre from 2 to 5 computers to get the server load spread out. Mysql and world with 10 dynamics or soo and the rest of the computers 1 to a continent. with this setup I have 181 zones static 20 dynamic. runs fine with no problems. its all about your xml config file.
rambus
03-28-2008, 04:34 PM
Thx TheLieka for the reply. I had tried this method, but it took about 15mins to boot up the remote zone and when ppl trying to enter this zone, time out occured. Dose anyone know this issue? Or, maybe I forget some contents?
Aramid
03-28-2008, 11:36 PM
Here is where ROJADRUID shows his config files. Take a look and see if your is different...
http://www.eqemulator.net/forums/showthread.php?t=23916
Ven-elexver1
03-30-2008, 10:15 AM
Sup guys. I have been wondering how to boost my server also . I run one pc its sad. 1.2gb,512mb ram,cable 5mb .Have 20 zones Dynamic and one static .only had 6 players on at one time for me lag is not bad but I'm at the server for others I'm not sure. i have a 2 puter also 1.2gb ,256mb ram,router to the cable 5mb.I only use it for game play but i could maybe set it to lighten the load on my first PC. so on PC 2 i will need navicat and mysql set up the same as pc 1 right ? or is it done from the files on pc 1 ? In short what do i need on PC 2 as in programs ?
Aramid
03-30-2008, 05:43 PM
I did this on 2 Linux Boxes today and it's working, so it should work on Windows as well..
The 1st Box has the World running and the 2nd box is running the Zones
You will need to setup a user that can access the MySQL DB from another address and grant them full permissions on the database.
Leave your 1st setup alone and run world on it. Do NOT load up eqlaunch. No changes are necessary to the XML file.
On the second computer to run Zones, all you need for MySQL is the client. Setup the XML file with the host being setup using the 1st computers Lan IP address. For the world local address, also use the 1st computers Lan IPaddress for both the address and localaddress. In the area to set IP/PORT for the tcp connections, also put the 1st machines local ip address aloing with port 9000. The rest I left alone.
Now, only run eqlaunch zone on the 2nd machine.
Now, REMEMBER, you have to change the ZONE PORTS on your ROUTER to forward to the ZONE computer instead of the WORLD computer.
I've only run Dynamic Zones so far, tomorrow I'll setup statics. I'm also running the EQBOTS code as well.
Here is the xml file on my WORLD SERVER:
<?xml version="1.0">
<server>
<world>
<shortname>ROS</shortname>
<longname>ROSWELL AREA 57</longname>
<!-- Only specify these two if you really think you need to. (read: You don't) -->
<!-- <address>XX.XXX.XXX.XX</address> The WAN IP ADDRESS goes here.
<!-- <localaddress>XX.XX.XX.XX</localaddress> --> The LOCAL LAN IP Address Goes here
<!-- Loginserver information. Defaults shown -->
<loginserver>
<host>eqemulator.net</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="localhost" port="9000" telnet="disable"/>
<!-- 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. Defaults are shown -->
<http port="9080" enabled="true" 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="7500"/>
</zones>
<!-- Database configuration, replaces db.ini. Defaults shown -->
<database>
<host>localhost</host>
<port>3306</port>
<username>YourDBUserName</username>
<password>Your DB Password</password>
<db>YOUR DB</db>
</database>
<!-- Launcher Configuration -->
<launcher>
<!-- <logprefix>logs/zone-</logprefix> -->
<!-- <logsuffix>.log</logsuffix> -->
<!-- <exe>zone.exe or ./zone</exe> -->
<!-- <timers> restart="10000" reterminate="10000" initial"20000" interval"2000" </timers> -->
</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>
Here is the ZONE COMPUTER's XML File:
<?xml version="1.0">
<server>
<world>
<shortname>ROS</shortname>
<longname>ROSWELL AREA 57</longname>
<!-- Only specify these two if you really think you need to. (read: You don't) -->
<!-- <address>XX.XX.XX.XX</address>Put the LOCAL LAN ADdress of the WORLD Server here.
<!-- <localaddress>XX.XX.XX.XX</localaddress> -->Put the LOCAL LAN ADdress of the WORLD Server here as well.
<!-- Loginserver information. Defaults shown -->
<loginserver>
<host>eqemulator.net</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="XX.XX.XX.XX port="9000" telnet="disable"/>Put the LOCAL LAN ADdress of the WORLD Server here.
<!-- 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. Defaults are shown -->
<http port="9080" enabled="true" 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="7500" high="7200"/>
</zones>
<!-- Database configuration, replaces db.ini. Defaults shown -->
<database>
<host>XX.XX.XX.XX</host>Put the LOCAL LAN ADdress of the WORLD Server here to conenct to MySQL Server
<port>3306</port>
<username>Your DB USername</username>
<password>Your Db Password</password>
<db>Your DB</db>
</database>
<!-- Launcher Configuration -->
<launcher>
<!-- <logprefix>logs/zone-</logprefix> -->
<!-- <logsuffix>.log</logsuffix> -->
<!-- <exe>zone.exe or ./zone</exe> -->
<!-- <timers restart="10000" reterminate="10000" initial="20000" interval="2000"> -->
</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>
For the actual eqemulator code, I just copied it all from one to the other so nothing would be missing. It's working and thru the router...
Ven-elexver1
04-05-2008, 09:25 AM
Sweet TY for the help.
enkendu
02-17-2009, 11:07 PM
Ok, my questions is sorta like these, i would like to run two servers of EQ one a non-legit and one a progressive, (1) is it possible to run them both on the same machine? my machine is very much able to handle the load, and if this is possible (2) question 2 would be, how would i make it so that whoever logged into my login server would see both of my EQ servers in the servers list?
is that possible? to have one login server direct players to two worlds? i use minilogin through Hamachi.
any leads or help would be appreciated
Yeormom
02-18-2009, 11:17 PM
If you run two servers from the same IP address, they must each have different port numbers. They will both show up and players can connect to both if all ports are properly forwarded assuming you are using a router.
If your machine has plenty of power behind it, the safest way to run multiple servers from the same machine is to virtualize it. Since your obviously running Windows, download Microsoft Virtual Server 2005 R2 and you'll be good to go! There is no charge to license MSVSS now thanks to increased competition.
enkendu
02-19-2009, 07:18 PM
Thank you for the info, now i just have to figure out all the IP stuff.
rojadruid
02-20-2009, 08:57 PM
I belive that port 9000 is hardcoded into either the client or the server and is not changeable if its in the client but the server might be possible but never heard of it being done.
enkendu
02-22-2009, 01:55 AM
so what if i have 2 machines? one machine running one server and the other machine running the other server? but both machines directing thier world IP to the same login server? that way i would only need one login? would that work? or would that be the same as running both servers from the same machine?
rojadruid
02-22-2009, 10:30 AM
so what if i have 2 machines? one machine running one server and the other machine running the other server? but both machines directing thier world IP to the same login server? that way i would only need one login? would that work? or would that be the same as running both servers from the same machine?
This should work as thats the way the public login server works.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.