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:
Code:
<?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:
Code:
<?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...