[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