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 restart
broadcasting wrong message to players #196 - Fixed RedHat installing
/etc/cron.d/msm
with 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 changeurl
command 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 update
output showing the "created files" section only when files were being updated.
- Fixed logic in
msm update
which allowed MSM to think everything was already updated.
- Fixed a bug in
msm update
checks, which caused acommand not found
error.
- Improved
msm update
output to make more sense.
- Added bash completion for
msm update
- Improved
msm update
to work when upgrading from older versions, and handle updating the update code.
- Added the
msm update
command, which downloads and installs new versions of MSM. - Added the
msm-version
server config setting. Add this toserver.properties
to 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_ON
andmsm-confirm-save-all
etc, 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 config
ormsm start
would disconnect the terminal session.
- Fixed issue #64 where using server name
all
and 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> cmd
andmsm <server> cmdlog
commands.
- Fixed issue #54 where setting a server's jar file would fail to create the symbolic link.
- Added
/etc/profile.d/msm.sh
support. Define environment variables there, and both MSM and bash completion scripts will see it. At this point you can add theMSM_SCRIPT
andMSM_CONF
environment 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> start
command 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> say
command, where it would only accept 2 or more arguments.
- Improved the
msm server list
command to show active/inactive and running/stopped statuses. Thanks to oldman,j's suggestion.
- Fixed issue #49 where, probably since 0.6.0,
active
files where not being created upon server start.
- Fixed
test.sh
to use new settings names.
- Added new command
msm config
which 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_USER
is nowDEFAULT_USERNAME
DEFAULT_LOG
is nowDEFAULT_LOG_PATH
DEFAULT_PROPERTIES
is nowDEFAULT_PROPERTIES_PATH
DEFAULT_WHITELIST
is nowDEFAULT_WHITELIST_PATH
DEFAULT_BANNED_PLAYERS
is nowDEFAULT_BANNED_PLAYERS_PATH
DEFAULT_BANNED_IPS
is nowDEFAULT_BANNED_IPS_PATH
DEFAULT_OPS
is nowDEFAULT_OPS_PATH
DEFAULT_JAR
is nowDEFAULT_JAR_PATH
DEFAULT_STOP_MESSAGE
is nowDEFAULT_MESSAGE_STOP
DEFAULT_STOP_ABORT
is nowDEFAULT_MESSAGE_STOP_ABORT
DEFAULT_RESTART_MESSAGE
is nowDEFAULT_MESSAGE_RESTART
DEFAULT_RESTART_ABORT
is nowDEFAULT_MESSAGE_RESTART_ABORT
DEFAULT_WORLD_BACKUP_STARTED
is nowDEFAULT_MESSAGE_WORLD_BACKUP_STARTED
DEFAULT_WORLD_BACKUP_FINISHED
is nowDEFAULT_MESSAGE_WORLD_BACKUP_FINISHED
DEFAULT_COMPLETE_BACKUP_STARTED
is nowDEFAULT_MESSAGE_COMPLETE_BACKUP_STARTED
DEFAULT_COMPLETE_BACKUP_FINISHED
is nowDEFAULT_MESSAGE_COMPLETE_BACKUP_STARTED
- Those same name changes also effect
server.properties
files:msm-server-user
is nowmsm-username
msm-log
is nowmsm-log-path
msm-properties
is nowmsm-properties-path
msm-whitelist
is nowmsm-whitelist-path
msm-banned-players
is nowmsm-banned-players-path
msm-banned-ips
is nowmsm-banned-ips-path
msm-ops
is nowmsm-ops-path
msm-stop-message
is nowmsm-message-stop
msm-stop-abort
is nowmsm-message-stop-abort
msm-restart-message
is nowmsm-message-restart
msm-restart-abort
is nowmsm-message-restart-abort
msm-world-backup-started
is nowmsm-message-world-backup-started
msm-world-backup-finished
is nowmsm-message-world-backup-finished
msm-complete-backup-started
is nowmsm-message-complete-backup-started
msm-complete-backup-finished
is 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> config
command.
- 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
worldstorage
folder with areadme.txt
inside. - Quotations may now be used to delimit
server.properties
msm 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 stop
command 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
,cmd
andcmdlog
server commands again. They now accept multiple arguments as intented.
- Fixed the
gamemode
,cmd
andcmdlog
server 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_CONF
from being a required setting.
- Closes #22, by merging
server.conf
intoserver.properties
. - Removed the
DEFAULT_SERVER_CONF
setting 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 set
andmsm <server> time add
commands.
- Fixed
msm <server> stop
command. 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 delete
command working. - Fixed a typo in the
msm version
help 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 runsshunit2
unit tests. - Added test coverage for all
msm server
commands, except coverage involving running servers. - Added option to override the configuration file used by the MSM script by specifying its path in the
MSM_CONF
environment 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 version
command, 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.conf
settings 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 toram
as an accessible command. - Fixed a bug preventing
WORLD_STORAGE_PATH
from 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 list
command. - Added help output for the
msm <server> jar
command. - 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> connected
from working. - Fixed a bug preventing
msm <server> jar
from 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.