mirror of
https://github.com/msmhq/msm.git
synced 2024-08-30 18:12:35 +00:00
* Set dependency installation as non-interactive Fixes: apt waits for user input when installing dependencies #439 * Add sudo and wget as dependencies Fixes: Installer assumes system has sudo and wget installed #440 * Add openjdk-17-jre-headless as dependency The script will install openjdk-17-jre-headless if java isn't installed already. The choice for version 17 was motivated by the fact it is the latest LTS version and also that it is required for running Minecraft 1.18 and above. Fixes: Make java an MSM installation dependency? #295 * Add software-properties-common as dependency The Debian script now installs software-properties-common if not installed, so it can use add-apt-repository. Fixes: Installer assumes software-properties-common is installed on debian system #441 * Fix broken whitespace |
||
---|---|---|
.github/workflows | ||
bash_completion | ||
cron | ||
init | ||
installers | ||
versioning | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.markdown | ||
LICENSE.markdown | ||
msm.conf | ||
README.markdown | ||
test.sh |
Minecraft Server Manager

A single init script which makes running multiple Minecraft/Bukkit servers easier for us admins.
Quick Installers
Install MSM on a debian box:
wget -q http://git.io/Sxpr9g -O /tmp/msm && bash /tmp/msm
Or install MSM under RedHat:
wget -q http://git.io/lu0ULA -O /tmp/msm && bash /tmp/msm
Getting Started
- Install MSM on your box.
- Visit the docs for help with getting started.
- Fork and contribute your own modifications.
- Not a coder? Post an issue with your idea for MSM instead.
- Read the changelog to get a picture of how MSM has evolved over time.
MSM is released under the GPLv3 licence, which is included in the repository here. I'm open to suggestions where licencing is concerned.
Features
As well as starting, stopping and restarting MSM has the following features:
- One script handles multiple servers, run two or more servers on one machine.
- Can create and start new servers with a single command, downloads the jars for you.
- Periodically makes WorldEdit snapshot compatible backups of your worlds.
- Backup the entire server directory for complete protection.
- Load world's into RAM for faster access (reduces lag).
- Easily configurable global defaults, with per server overrides if needed.
- Apply server commands to one, multiple, or all servers in one go (useful for whitelisting a player on all servers.)
- Tab completion for all commands, makes everything faster and getting started a breeze.
- Keep server logs organsied by periodically "rolling" them.
- Organises jar files into groups (such as minecraft and craftbukkit) and links each server to a single jar. Includes automated download of new versions.
- Plethora of in-game commands (whitelist, blacklist, operator, gamemode, kick, say, time, toggledownfall, save)
- Send commands straight to the server via the command line.
Support
- If you find a problem with MSM and you think the problem is one that requires changing code submit an issue via GitHub.
Upcoming features
- QuickBackup: If you store your backups non-locally (maybe on a NAS), QuickBackup optionally creates a backup locally for speed, and then moves it after your players are building again! My initial testing shows a 54 second network backup confaltes to 23 seconds of in-game time.
- Restore: Roll-back to an old world or whole server backup automatically.
Versioning
MSM uses semantic version numbers to better describe what code one might have installed, and indicate backwards incompatible changes.
Releases will be numbered in the following format:
<major>.<minor>.<patch>
And constructed with the following guidelines:
- Breaking backward compatibility bumps the major (and resets the minor and patch)
- New additions without breaking backward compatibility bumps the minor (and resets the patch)
- Bug fixes and misc changes bumps the patch
For more information on SemVer, visit http://semver.org/.
Acknowledgements
This code grew out of an old version of Ahtenus' Minecraft Init Script.