Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 07-02-2012, 03:54 PM
GLGanjika
Hill Giant
 
Join Date: Feb 2011
Posts: 132
Default Is this ZoneProxy Guide still relavent?

Is this particular zoneproxy guide still relevant? (listed below) -
I noticed its from 2004.

on another note : when I followed it and nothing happened... when i type #zone zonename nothing happens... i dont get an
error like if i type a bs zone name but just nothing happens... zoneproxy does appear to be creating/getting rid of files at start and close but when i open zoneproxy it just shows the window with "backing up zone, restoring zone, etc" but it never moves, its always the same.... if there is a newer guide please some one link it, otherwise -
i'll continue to work on it and try to find a way to get it to work. (btw, I'm using Eqemu 0.8.0 and Zoneproxy 1.5)

On a side note: i would like to say it would be cool to see more documentation and discussion on Zoneproxy, I know of people who think
I'm talking about network proxy's when i say zoneproxy and I think it would be better if we had a more up to date guide, I'd make
one but I'm still learning, I figure if its not done eventually I'll try to get around to it. :S

Code:
Well, according to those who've responded to my poll, some people are having problems getting their OpenZone and ZoneProxy working with EQEmu. Here I'll try as best I can to explain the steps involved and how to perform them.


First let me start with a brief explanation of what the programs do and how everything fits together. OpenZone, as most of you are probably aware, is a program that lets you create EQ zones that you can play in. It lets you export .S3D files, which are the same format as every other zone that comes with the game. The trick is getting the client to actually load them.

The EQ client is hardcoded to only load certain zones: those zones that come from SOE. To get the client to load zones that you or others create with OpenZone (zones it hasn't been explicitly told to allow), we have to make it think that the zone is acceptable. To accomplish this, we use ZoneProxy and a version of the EQEmu server that works with it.

You can get ZoneProxy and OpenZone from the Files link on the EQEmu homepage, but as of this writing you'll need to recompile EQEmu to make it work with ZoneProxy, since no one has as yet released a binary distribution of EQEmu that supports it. I've uploaded the EQEmu source files in which I've made the necessary changes: they're stored alongside ZoneProxy and OpenZone under the package "EQEmu 0.5.3-DR2-ZP". In each of the source files, my chages are bracketed by the comments:

// ZONEPROXY BEGIN
.
.
.
//ZONEPROXY END

These changes are verified to work with EQEmu 0.5.1, and the sections of code seem to be the same in the version of EQEmu 0.5.3-DR2 that I have. If anyone goes through these instructions and can't make it work with 0.5.3, please let me know. Simply put, you should take the changes I made in the source code I uploaded, make the same changes to the 0.5.3 build you want to use, and recompile EQEmu.

Once you've made a version of EQEmu that has the ZoneProxy-friendly changes and have gotten a good compile, it's time to modify your database so it also supports ZoneProxy. The first step in this is to add a new column to the "zone" table called "thirdparty". You can do this with the following SQL command:

alter table zone add thirdparty int(2) unsigned default '0';

For example, assuming your database is called "eq" and you have MySQL installed in C:\MYSQL, you can do the following:

C:
cd\mysql\bin
mysql
use eq
alter table zone add thirdparty int(2) unsigned default '0';
quit


This will add a column called "thirdparty" that contains integers and is normally set to zero.

The next step is to add entries to the zone table for each OpenZone zone you created. If you exported your zone to "deadgulch" (which created deadgulch.s3d, deadgulch_chr.s3d, and deadgulch_obj.s3d), then you need to add an entry where the short_name is "deadgulch". Also make sure to give it a unique value in the zoneidnumber field (800, for example). DO NOT USE 999 as my EQEmu server changes use that as a special value to force zone reloading.

Once you've added the new entries, set the new thirdparty column to 1 for each of the OpenZone zones. That way the EQEmu server will know that they need to be set up using ZoneProxy.

After you've made all these changes, you're ready to try it out. I recommend first using minilogin to do your initial testing to eliminate the possibility of Internet lag. Take the following steps:

1. Copy your OpenZone .S3D files to your EQ client directory.
2. Copy ZoneProxy.exe and ZoneProxy.ini (preferably from ZoneProxy 1.1) to your EQ client directory.
3. Start your recompiled EQEmu server (minilogin, if necessary, then the world and zone servers).
4. Start ZoneProxy. YOU MUST ALWAYS DO THIS BEFORE STARTING YOUR EQ CLIENT.
5. Start your EQ client.
6. Log in as normal. Once you're in, use the #zone command to go to one of your OpenZone zones (e.g. #zone deadgulch). It should work just like normal. If you get a zone unavailable message, try it again -- I've occasionally seen glitches when first entering the world (though never once I'm ingame).


HOW IT WORKS

The process of loading an OpenZone zone is done by making it look like a zone that the client will load. I call this an "alias" zone, and by default it's the tutorial zone (though this can be changed in zoneproxy.ini). When the server is told to send you to a zone and the thirdparty column tells it that the zone is one that the client won't normally load, it sends a message over a socket to the client's ZoneProxy program asking it what the alias zone is. It then tells the client to set up the third party zone (the zone the server wants to use), which means that ZoneProxy will overwrite the alias zone with the third party zone and re-code the files so that they look like the alias zone (don't worry, it backs up the alias zone on startup if necessary and restores it on exit). When ZoneProxy is done it notifies the EQEmu server, and the server then tells the client to zone to the ALIAS zone. The result is that the client thinks it's in the alias zone (e.g. tutorial), but the server knows better. This way you can have as many zones as you want.

WC
__________________
"Be who you are and say what you feel because those who matter don't mind
and those who mind don't matter." - Theodore Seuss Geisel. [Dr. Seuss.]

Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 01:55 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3