This commit changes the default server files from txt to json.
The only exception is ops.txt which is still populated with users
from DEFAULT_OPS_LIST on server creation. Until msm is updated to
correctly populate ops.json on startup, msm relies on minecraft
server's mechanism to convert ops.txt.
Fixes issue #404
The UseConcMarkSweepGC, CMSIncrementalPacing, and AggressiveOpts
arguments are no longer supported in current versions of Java.
Java fails to start with them present.
Additionally, having less specific default invocation options
allows supporting more versions of Java and makes for less
maintenance into the future as options are deprecated.
Invocation options can be added to individual server configs, or
to the global config, if the user wants to change the defaults.
Fixes issue #402
Add some settings in msm.conf :
- boolean flags to enable or not zip original backup system or
rdiff-backup
- path where to store rdiff-backup world backups
- number of days to keep
- nice parameter
Settings are now registered using the register_setting and
register_server_setting functions. Settings registered via the first
function can be overridden in /etc/msm.conf, and settings registered
via the second function may also be overridden in server.properties.
Additionally, global variables are now better protected from confusion
with stronger namespacing.
Several settings have changed there names, these can be seen in the
diff for `msm.conf`. The same name changes also take effect in all
`server.properties files.
`msm <server> config` now displays a list of all setting when arguments
are omitted.
`msm config` is a new command which lists all setting values.
Moves a world between the "worldstorage" and "worldstorage_inactive"
directories. Inactive worlds do not get loaded (symlinked) or backed up
etc. but are include in complete server backups.
Bit of a monster commit here, refactored the init code to bring this
change.