On Fri, Mar 24, 2006 at 03:36:22PM +0100, Tchize wrote: > Kari Pahula a écrit : > >One possibility to handle this is to open everything under maps/ on > >server startup and just give file descriptors from that pool to the > >server whenever it wants to read maps from there. The inodes will > >remain open until the file descriptors are closed and it'll be > >possible to replace or even remove altogether the maps while the > >server is running and the server won't notice a thing. > > > > > What's the point? If you load all maps inode at server startup you'll > risk seriously to hit the maximum file decriptor / process limit of the > os (there are lots of map files), not to mention the waste of memory > (each file descriptor has quite a good amount of various os datas > associated to it).
The point is to be able to install new maps while the server is running. But I can see that just opening everything is not that viable an option. A less intrusive alternative would be to install the maps to a maps/$versionnumber/ directory. That way two versions of the maps could coexist on disk and the server could take whatever steps necessary to get players on to the other mapsets. The debian-mentors mailing list was the first place I asked about how to handle map installs[1]. They thought that upgrading maps should be doable while the server was running. They went as far as to suggest to make upgrading the server possible without disconnecting players. Not a patch that I'd like to try to make. But I would be content to just put a large warning on the map packages in Debian that installing them will trigger a server restart. The current way of silently copying over the old maps with the new ones just seems too hazardous to me. Players may end up stranded who knows where with maps' pathnames changing and whatelse. [1] http://lists.debian.org/debian-mentors/2006/03/msg00319.html _______________________________________________ crossfire mailing list [email protected] http://mailman.metalforge.org/mailman/listinfo/crossfire

