Go to file
2023-04-29 23:48:36 +12:00
.github/workflows Merge pull request #429 from renderorange/switch-testing-to-github-actions 2023-04-29 19:11:28 +12:00
bash_completion Removed extraneous whitespace 2021-11-24 13:58:33 -08:00
cron Removed extra whitespace in whitespace-only lines 2021-11-24 13:58:33 -08:00
init Merge pull request #428 from renderorange/update-to-print-error-if-error-on-startup 2023-04-29 19:10:36 +12:00
installers Merge pull request #442 from Touratica/master 2023-04-29 19:14:29 +12:00
versioning Added newline to end of file if missing 2021-11-24 13:58:33 -08:00
.gitignore Ignore directories starting with an underscore. 2012-06-04 21:08:03 +01:00
CHANGELOG.markdown Update change log for tags 0.10.1 and 0.11.0 2023-04-29 23:48:36 +12:00
LICENSE.markdown Fixed a formatting error. 2012-06-08 05:20:31 +02:00
msm.conf Merge pull request #403 from renderorange/remove-invalid-java-invocation-arguments 2020-12-03 22:20:23 +13:00
README.markdown Remove travis build link from README 2021-11-13 20:50:50 -06:00
test.sh Remove invalid java invocation arguments 2020-09-26 23:43:46 -05:00

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

Or suggest a new platform.

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

  1. 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.