Changing maps as the controller when connected to a headless server is extremely difficult.
To demonstrate: join a headless server that is not yours (I tested on Summoner). You will likely have a different map set from the server and non-negligible latency.
Then try to switch maps to something alphabetically far away from the current map. There is no map filter on headless, so you must scroll through the whole list of maps.
Frequently, the map will change by itself to something you have already scrolled past (related to latency, or when you have a map that server does not), thus undoing a lot of clicks if you have been clicking quickly.
Eventually you will probably encounter a map that the server has but you don't. The selected map is now "***missing***". Suppose that you do not want to download any new maps, so you decline the download. The map selection now reverts to the alphabetically first map in your set, undoing a lot of your clicks. If you were unable to get the map you wanted to select, you probably will not be able to get it now.
If you
mv ~/.megaglest/maps ~/.megaglest/maps2 (thus removing all non-default maps) it will get somewhat easier to scroll, but users should not have to do that.
Possible solutions (or feature requests?):
*
Make the headless server not need to know anything about the map, so then only the controller's and clients' map sets need to matter.
*Headless server should send the controller a map list upon join, and only those maps that are on both server and controller are scrolled through.
*Make a better selection interface, like a drop-down menu, so that selecting a map does not require temporarily selecting each one of the maps between the current one and the target one.