Back to directory
msmhq avatar

msm

An init script for managing Minecraft servers. Read more below about its uses, features, and usage.

Clone repository

git clone https://github.com/msmhq/msm.git

1,265

Stars

221

Forks

84

Watchers

GPL-3.0

License

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.

Releases

Apr 29, 2023

Download .zip

What's Changed

Very minor - clean up extraneous whitespace by @Next-Door-Tech in #431 Add check for successful server startup by @renderorange in #428 Switch testing to GitHub actions by @renderorang...

Apr 29, 2023

Download .zip

This replaces release 0.10.0 which was never published due to tagging and build pipeline issues.

Allow snapshots to be downloaded [#369][#369] Add dollar sign for interpolation [#389][#389] Add new i...

Allow snapshots to be downloaded (#369)

Oct 10, 2018

Download .zip

Fix 'Unable to locate package jq' (#367)

fix "latest version" issue caused be JSON format change (#364)