Visit https://github.com/msmhq/msm for more information.
- Very minor - clean up extraneous whitespace by @Next-Door-Tech in [#431][#431]
- Add check for successful server startup by @renderorange in [#428][#428]
- Switch testing to GitHub actions by @renderorange in [#429][#429]
- Fix non-interactive install, and java, software-properties-common, sudo and wget dependencies by @Touratica in [#442][#442]
This includes fixes to the build pipeline by @Next-Door-Tech in [#432][#432], which, along with some tagging issues, prevented release 0.10.0 from being published.
First change log entry in 4 years. There were versions from 0.9.5 to 0.9.10 in the interim period,
which were not reflected in the change log and some of them haven't been tagged.
- Allow snapshots to be downloaded [#369][#369]
- Add dollar sign for interpolation [#389][#389]
- Add new instantiated Systemd unit file [#352][#352]
- Add configurable archive cleanup [#394][#394]
- Fix bash variable expansion for Debian installer [#401][#401]
- Remove invalid java invocation arguments [#403][#403]
- Convert server txt files to json [#405][#405]
- Added versioning support for the following properties. #310 LOG_PATH;WHITELIST_PATH;BANNED_PLAYERS_PATH;BANNED_IPS_PATH;OPS_PATH;OPS_LIST;
- Moved LOG_PATH to the version files.
- Added pre and post 1.7.0 log support #308
- Added check and warning if eula isn't set to true #271
- Fixed version target and default jargroup for backwards compatibility #298
- Project has been moved to it's own organization
- Added "minecraft" default jar group on MSM setup. a39e19
- Added downloading latest Minecraft versions (via versions.json) #169
- Added default DEFAULT_OPS_LIST to msm.conf #195
- Added release and snapshot download support for minecraft jars #214
- Added Arch Linux installer (including systemd support) #217
- Added testing using default shunit2 location if command not found #218
- Added RDIFF backup support #221
- Added RSync backup support #243
- Added unified distro-detecting installer #227
- Added option to create server user as "system" on MSM install #232
- Fixed hidden world storage path error message #282
- Fixed update versioning comparisons. #132
- Fixed annoying "No directory, logging in with HOME=/" message #182
- Fixed deleting running servers #185
- Fixed broken error messages when deactivating worlds and calling commands #188
- Fixed new worlds created outside of world storage directory #191
- Fixed directory nesting when toggling world active state #204
- Fixed
msm restartbroadcasting wrong message to players #196 - Fixed RedHat installing
/etc/cron.d/msmwith incorrect permissions #203 - Fixed RedHat installer to require java package #236
- Fixed cron not reloading after installation #245
- Fixed not following redirects in install scripts #267
- Fixed minor message and comment typos #192, #226, #246
- Refactored install scripts allowing alternate github repos #193
- Fix various typos in MSM and the documentation
- Fix incorrect reference to
$latest_minecraft_version
- Merged pull request #110, which fixes a typo in the cron file
- Made RAMDisk enabled by default in conf file
- Fixed issue #105, which showed it was impossible to disable RAMDisk as suggested by MSM.
- Fixed issue #96, which noted that the
msm jargroup changeurlcommand was not implemented.
- Fixed issue #76, where tab completing "help" or "update" would exit the terminal.
- Made "help" and "update" reserved names to prevent clashing with server names.
- Improved versioning to use the latest Minecraft version by default, and tell the user what's happening and how to control it themselves. Fixes issue #79.
- Improved install script to also create the default minecraft user, and the default install location directories.
- Improved install script to update MSM without input
- Added an MSM install script.
- Fixed bug in update code which prevent cleaning download directory.
- Improved upon 0.8.6 to to prevent MSM complaing when not being invoked by either the "root" or MSM user.
- Prevent script complaing that
This command must be executed as the user "root"after every command. Fixes #77 and #78.
- Fixed
msm updateoutput showing the "created files" section only when files were being updated.
- Fixed logic in
msm updatewhich allowed MSM to think everything was already updated.
- Fixed a bug in
msm updatechecks, which caused acommand not founderror.
- Improved
msm updateoutput to make more sense.
- Added bash completion for
msm update - Improved
msm updateto work when upgrading from older versions, and handle updating the update code.
- Added the
msm updatecommand, which downloads and installs new versions of MSM. - Added the
msm-versionserver config setting. Add this toserver.propertiesto allow MSM to interact correctly with your server (e.g.msm-version=minecraft/1.3.1.) - Removed all confirmation settings, such as
DEFAULT_CONFIRM_SAVE_ONandmsm-confirm-save-alletc, this functionality is handled by new versioning files. - Fixed issues #43, #58, #59, #60, #61, #63, #67 and #68. By accomodating different Minecraft versions using versioning files.
- Fixed issue #69 where pressing tab after
msm configormsm startwould disconnect the terminal session.
- Fixed issue #64 where using server name
alland tab completing caused the terminal to exit.
- Fixed global stop and start commands from failing since 0.7.0.
- Fixed several bugs where the server username was not being used. Affected the
msm <server> worlds backup,msm <server> cmdandmsm <server> cmdlogcommands.
- Fixed issue #54 where setting a server's jar file would fail to create the symbolic link.
- Added
/etc/profile.d/msm.shsupport. Define environment variables there, and both MSM and bash completion scripts will see it. At this point you can add theMSM_SCRIPTandMSM_CONFenvironment variables to tell MSM where you have installed your MSM files:- Add
export MSM_SCRIPT="/path/to/msm"if you have changed it from/etc/init.d/msm. - Add
export MSM_CONF="/path/to/msm.conf"if you have changed it from/etc/msm.conf.
- Add
- Added some simple stopped server unit tests for half the commands.
- Refactored config property loading to be "lazy". Speeds up all commands by only loading from file what is needed.
- Improved whitelist, operator, player ban, ip ban, gamemode and kick commands to support multiple space-separated users.
- Improved whitelist, operator, player ban and ip ban commands to also work when the server is stopped.
- Improved MSM script speed for BASH 4 users (loading config properties is now much faster.)
- Improved BASH completion to also use default settings specified in MSM.
- Removed use of subshells in script (using less means faster code.)
- Closes issue #25 by improving the
msm <server> startcommand to be more robust. It now alerts the user when the server jar to be started cannot be found, and prints out dots for each log line created during startup. The absence of these dots make it simple to spot a hanging server. - Fixed a bug with the
msm <server> saycommand, where it would only accept 2 or more arguments.
- Improved the
msm server listcommand to show active/inactive and running/stopped statuses. Thanks to oldman,j's suggestion.
- Fixed issue #49 where, probably since 0.6.0,
activefiles where not being created upon server start.
- Fixed
test.shto use new settings names.
- Added new command
msm configwhich displays a key value list of all MSM settings in use. Useful for transparency. - Improved
msm <server> config <setting> <value>to list all MSM settings for a server when arguments are omitted. - Updated bash completion script for new commands.
- Refactored the way settings are added globally and for individual servers, making development far simpler.
- Changed several setting names in
/etc/msm.conf:DEFAULT_SERVER_USERis nowDEFAULT_USERNAMEDEFAULT_LOGis nowDEFAULT_LOG_PATHDEFAULT_PROPERTIESis nowDEFAULT_PROPERTIES_PATHDEFAULT_WHITELISTis nowDEFAULT_WHITELIST_PATHDEFAULT_BANNED_PLAYERSis nowDEFAULT_BANNED_PLAYERS_PATHDEFAULT_BANNED_IPSis nowDEFAULT_BANNED_IPS_PATHDEFAULT_OPSis nowDEFAULT_OPS_PATHDEFAULT_JARis nowDEFAULT_JAR_PATHDEFAULT_STOP_MESSAGEis nowDEFAULT_MESSAGE_STOPDEFAULT_STOP_ABORTis nowDEFAULT_MESSAGE_STOP_ABORTDEFAULT_RESTART_MESSAGEis nowDEFAULT_MESSAGE_RESTARTDEFAULT_RESTART_ABORTis nowDEFAULT_MESSAGE_RESTART_ABORTDEFAULT_WORLD_BACKUP_STARTEDis nowDEFAULT_MESSAGE_WORLD_BACKUP_STARTEDDEFAULT_WORLD_BACKUP_FINISHEDis nowDEFAULT_MESSAGE_WORLD_BACKUP_FINISHEDDEFAULT_COMPLETE_BACKUP_STARTEDis nowDEFAULT_MESSAGE_COMPLETE_BACKUP_STARTEDDEFAULT_COMPLETE_BACKUP_FINISHEDis nowDEFAULT_MESSAGE_COMPLETE_BACKUP_STARTED
- Those same name changes also effect
server.propertiesfiles:msm-server-useris nowmsm-usernamemsm-logis nowmsm-log-pathmsm-propertiesis nowmsm-properties-pathmsm-whitelistis nowmsm-whitelist-pathmsm-banned-playersis nowmsm-banned-players-pathmsm-banned-ipsis nowmsm-banned-ips-pathmsm-opsis nowmsm-ops-pathmsm-stop-messageis nowmsm-message-stopmsm-stop-abortis nowmsm-message-stop-abortmsm-restart-messageis nowmsm-message-restartmsm-restart-abortis nowmsm-message-restart-abortmsm-world-backup-startedis nowmsm-message-world-backup-startedmsm-world-backup-finishedis nowmsm-message-world-backup-finishedmsm-complete-backup-startedis nowmsm-message-complete-backup-startedmsm-complete-backup-finishedis nowmsm-message-complete-backup-finished
- The config wiki page is now updated with all of these new setting names for reference.
- Fixed issue #47 where toggling any world's ram status would alwqays effect the first world, alphabetically, instead.
- Added help text line for
msm <server> configcommand.
- Added the
msm <server> config <setting> <new-value>command. Thanks to merging pull request #46 from @cameroncros. - Fixed issue #44 where bash completion failed to work when accessing server conf information.
- Creating a new server now automatically creates a
worldstoragefolder with areadme.txtinside. - Quotations may now be used to delimit
server.propertiesmsm settings.
- Fixed the
msm <server> jar <jar-group> <jar-name>command, which would state the<jar-name>was invalid, when it was not.
- Fixed issue #37 where the
msm stopcommand would hang. Thanks to merging pull request #38 from @escortkeel. - Fixed issue #39 where server jar symlinks were not created. Thanks to merging pull request #40 from @jives.
- Added the
<server> give <player> <item> [amount] [data]command. Closes #34. Thanks to @Vi3GameHkr for the suggestion. - Added the
<server> xp <player> <amount>command. - Fixed the
gamemode,cmdandcmdlogserver commands again. They now accept multiple arguments as intented.
- Fixed the
gamemode,cmdandcmdlogserver commands. They were not previously accessable.
- Fixed [#33][#33], by not assuming there are three invisible characters at the end of every log line.
- Fixed function names which were accidently converted to uppercase.
- Removes an erroneous debug statement. Fixes #32
- Prevented
DEFAULT_SERVER_CONFfrom being a required setting.
- Closes #22, by merging
server.confintoserver.properties. - Removed the
DEFAULT_SERVER_CONFsetting from/etc/msm.conf.
- Improved the
msm <server> worlds ram <world>command to insist the server is stopped. - Refactored global variables to be uppercase. This avoids name clashes.
- Improved the removal of new line characters when reading Minecraft log files. Closes #19
- Improved checks done before reading server files. Closes #20.
- Fixed the
msm <server> restart,msm <server> operator remove,msm <server> time setandmsm <server> time addcommands.
- Fixed
msm <server> stopcommand. Which would fail for server's not first in the list.
- Improved substring approach, which failed on some systems.
- Fixed issue #28. Which prevented the
msm jargroup deletecommand working. - Fixed a typo in the
msm versionhelp text.
- Fixed issue #23 which caused commands to fail registration on some systems.
- Improved command registration to provided more accurate error messages if a command cannot be registered.
- Improved Travis CI to only test the master branch.
- Refactored commands such that they are now registered using a function, rather than one huge swith/case statement.
- Added the "all" keyword which can be used to execute a command for all servers. Closes #16
- Added Travis CI integration for per commit unit testing.
- Improved command error messages to give specific command errors. Closes issue #10.
- Fixed issue #15 which left a "tail" command process running after certain commands.
- Added
test.sh, a script which runsshunit2unit tests. - Added test coverage for all
msm servercommands, except coverage involving running servers. - Added option to override the configuration file used by the MSM script by specifying its path in the
MSM_CONFenvironment variable. - Added Explanatory exit codes for the MSM script (currently 0 and 64-73).
- Improved server creation to not require the "minecraft" jar group to be present.
- Fixed issue [#14][#14] which prevented world names including spaces.
- Fixed a bug listing servers when there were none.
- Fixed a bug where server names containing reserved names anywhere where considered invalid.
- Fixes issue #11. Now running server's cannot be renamed, preventing not being able to stop a server renamed whilst running.
- Fixed issues #12 and #13 thanks to @Jonek01, which prevented the first loaded server from having the correct path, and prevented the same for the first loaded world.
- Added
msm versioncommand, to check your installation version.
- Added
msm <server> worlds on|off <world>command, which activates and deactives worlds. Inactive worlds don't get backed up, cannot be used by the server, but are included in complete server backups. - Added
CHANGELOG.markdown. - Added error messages preventing script use when a required
msm.confsettings is not specified. - Removed fallbacks for settigns not specified in
msm.conf.
- Added bash completion.
- Altered project layout to feature directories for bash_completion, cron and init files. This is useful for dealing with three files all named
msm. - Removed
msm <server> worlds toramas an accessible command. - Fixed a bug preventing
WORLD_STORAGE_PATHfrom being overriden by a server. - Fixed error in
msm.conf
- Added error output for the case when creating a symbolic link for a server's world it is found that a file already exists with that name.
- Added
msm <server> operator listcommand. - Added help output for the
msm <server> jarcommand. - Improved world backups to be WorldEdit snapshot compatible.
- Altered "complete server backups" to zip the directory instead of the contents.
- Removed requiring a server to be running to list whitelisted and blacklisted (banned) players.
- Fixed a bug preventing worlds from getting backed up.
- Fixed a bug preventing actions performed upon server worlds.
- Fixed a bug preventing all server worlds from being moved into or back to disk RAM.
- Fixed a bug preventing server logs from being rolled correctly.
- Fixed a bug preventing
msm <server> connectedfrom working. - Fixed a bug preventing
msm <server> jarfrom working.
- Added in-game messages, and correct pausing and resuming of Minecraft world saving around world backups.
- Added "Backup took n seconds." message to world and complete backups.
- Fixed a bug listing a server's worlds.
- Fixed a bug when stopping all servers in parallel, where a server might not stop at the correct time.
- Fixed a bug preventing world links from being created.
- Fixed a bug where a server stopped as the result of a command would not always be made inactive.
- Refactored and improved protype code.
- Transitioned from managing a single to multiple servers.