I usually add
PHP Code:
xonotic/data/xonotic-data.pk3dir/menu.dat
xonotic/data/xonotic-data.pk3dir/csprogs.dat
xonotic/data/xonotic-data.pk3dir/progs.dat
to zzz_server_x.zip, rename the zip to zzz_server_x.pk3 and move the pk3 to ~/.xonotic/data. You could write a simple script to automate the process. This worked quite well with the N game.
Alternatively, use "./all compile" to recompile and then fs_rescan and restart the map. If there is a problem with your QC then the compile will probably fail and your server will use the previous version.
"fs_rescan" scans all the game dirs and finds any new files
"restart" restarts the current map, which reloads the virtual server and hopefully loads a new server binary.
I used to use bind F4 "fs_rescan ; restart ; defer 4 join_auto"
HTH