Windcatcher
06-07-2003, 05:29 AM
People have been asking about making new zones. As some of you are aware, I recently released OpenZone that lets you make .WLD files, but as we all know the EQ client prevents us from adding new zones or even putting new filenames in .S3D archive files. However, given these restrictions, I still think it's possible to add new zones without losing existing ones.
Right now we connect to EQEmu by pointing eqhost.txt at an EQEmu server. Instead, we could place a small program in the middle, point eqhost to that (that is, on localhost), and point that program to the EQEmu server.
This program could sniff all the packets, looking for the zone packet. When it sees one come in from the server with the new zone name, it could check an internal list of all the new zones and perform a redirection. The idea is this: for all of the new zones, export them twice: once for one unused zone and once for another (e.g. neriakd and tutorial, or cshome and tutorial, etc.) Put all the ones coded for one unused zone in one subfolder and all the ones for the other unused zone in the other. Then, the small program picks the appropriate unused zone name, copies the files from the subfolder over to the EQ folder and renames them accordingly, and tells the client that it's going (for example) to the tutorial zone. Voila, new zones without losing any existing ones. You can always back up the tutorial zone so you don't lose it.
As far as I know, a program like this doesn't exist but I don't think it would be too hard for someone familiar with the server code to create it.
WC
Right now we connect to EQEmu by pointing eqhost.txt at an EQEmu server. Instead, we could place a small program in the middle, point eqhost to that (that is, on localhost), and point that program to the EQEmu server.
This program could sniff all the packets, looking for the zone packet. When it sees one come in from the server with the new zone name, it could check an internal list of all the new zones and perform a redirection. The idea is this: for all of the new zones, export them twice: once for one unused zone and once for another (e.g. neriakd and tutorial, or cshome and tutorial, etc.) Put all the ones coded for one unused zone in one subfolder and all the ones for the other unused zone in the other. Then, the small program picks the appropriate unused zone name, copies the files from the subfolder over to the EQ folder and renames them accordingly, and tells the client that it's going (for example) to the tutorial zone. Voila, new zones without losing any existing ones. You can always back up the tutorial zone so you don't lose it.
As far as I know, a program like this doesn't exist but I don't think it would be too hard for someone familiar with the server code to create it.
WC