[crossfire] Changing maps from under a running server
Mark Wedel
mwedel at sonic.net
Sat Mar 25 01:18:31 CST 2006
A lot of this depends on the changes to the maps in questions.
In lots of cases, updating the maps won't cause any problem - the new maps
might have new exits, but those not being available until reloaded isn't a problem.
The only time I can see it being a problem when map files are renamed, such
that the exit of a map currently in memory doesn't go to the right destination.
That doesn't happen that frequently. However, even in that case, a simple
solution would be to load a copy of the new map, see if there is an exit at/near
the exit we are trying to use, and use the destination for that.
IF there are major changes to maps, there really isn't a very good solution,
other than the idea of mapsets as tchize mentions. But in that case, the server
would have to load all the maps of a mapset (or at least make a copy of them),
as otherwise you could still get the case that player enters map A, explores
around, map is changed such that exit to map B now puts him in solid rock, etc
The idea of a secondary (new maps) directory would work, but also has the same
issues as above, and you can't necessarily copy over new maps just one one
resets locally because there may be dependencies.
Note also there are other issues. New maps may have new archetypes, which
exist in the latest server, but perhaps not in memory of the running server. So
you now get the case of needing a mechanism to read in new archetypes, images,
treasurelists, etc.
All in all, seems a lot simpler to just restart the server than try to sort
all of this out.
More information about the crossfire
mailing list