View Single Post
  #1  
Old 12-26-2003, 06:37 PM
Windcatcher
Demi-God
 
Join Date: Jan 2002
Posts: 1,175
Default ZoneProxy-friendly changes to 0.5.3DR2

I've updated my copy of EQEmu 0.5.1 to make it work with ZoneProxy (and hence OpenZone zones), and it is tested and working (except for the GM #goto command in third-party zones; using it forces the client to reload the zone--I don't know why). I then made the same changes to 0.5.3DR2. It compiles, but I'm not equipped to test it on my setup (the code is exactly the same where the changes were made and I'm highly confident that it will work).

I've built a small ZIP file with the changed 0.5.3DR2 source code files, but I'm reluctant to put this in the Admin Tool download area. I'd really like for someone to get this into the server CVS repository so the server will be ZoneProxy compatible from here on out. It is *not* necessary that clients connecting to such a server have ZoneProxy. If a client doesn't have ZoneProxy running, the server tells the client that the third-party zone is unavailable. If a client wants to use third-party zones, they must have ZoneProxy running *before* starting the EQ client (see the ZoneProxy instructions for a full explanation).

ZoneProxy compatibility requires a small change to the database so the server knows which zones are third-party and which aren't:

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

Basically, set the thirdparty field to zero (0) for all zones that come from SOE and one (1) for all zones created with OpenZone. Regarding the zone ID, I recommend starting with numbers that definitely won't interfere with any potential SOE zone IDs (I started with 800). DO NOT USE 999.

My changes to the server code use zone ID 999 under certain circumstances to force a zone reload. At some point this might have to be changed to 9999 to make absolutely sure there is no conflict, but I seriously doubt it will ever be necessary.
Reply With Quote