Documentation

Installation

Note: You must have both sudo and cron install on your system for MSM to function properly.

Install MSM on a Debian server (Ubuntu etc.) by pasting this line in your terminal:

wget -q https://git.io/Sxpr9g -O /tmp/msm && bash /tmp/msm

Or on RedHat using:

wget -q https://git.io/lu0ULA -O /tmp/msm && bash /tmp/msm

Or suggest a new platform.

You can paste the links in your browser to read the script that will be executed. Or, if you don’t want to trust a script, install MSM manually:

Manual Installation

  1. This script uses the following tools: screen, rsync, zip, jq. Let’s install them:

     sudo apt-get update
     sudo apt-get install screen rsync zip jq
    
  2. Download MSM’s default configuration file, then read through it and change anything you want. Be sure to carry any changes you make forwards through this guide.

     sudo wget https://git.io/6eiCSg -O /etc/msm.conf
    
  3. Create the user and directories MSM needs:

    First create the folder where MSM will store server, jars, and other files:

     sudo mkdir -p /opt/msm
    

    Second, add the user and set permissions

     sudo useradd minecraft --home /opt/msm
     sudo chown -R minecraft:minecraft /opt/msm
     sudo chmod -R 775 /opt/msm
    

    If you want to store your world folders in RAM for a performance boost, create this directory in ramdisk (/dev/shm is the default in Ubuntu):

     sudo mkdir /dev/shm/msm
     sudo chown -R minecraft:minecraft /dev/shm/msm
     sudo chmod -R 775 /dev/shm/msm
    
  4. Download the MSM script and place it in /etc/init.d:

     sudo wget https://git.io/J1GAxA -O /etc/init.d/msm
    
  5. Set script permissions, and integrate script with startup/shutdown:

     sudo chmod 755 /etc/init.d/msm
     sudo update-rc.d msm defaults 99 10
    
  6. Create a shortcut so we can use just type msm:

     sudo ln -s /etc/init.d/msm /usr/local/bin/msm
    
  7. Ask MSM to update, getting the latest files:

     sudo msm update
    
  8. Setup MSM’s included cron script for scheduled tasks and force cron to load script:

     sudo wget https://git.io/pczolg -O /etc/cron.d/msm
     sudo service cron reload
    

    If you understand cron, give it a read and alter the timings to your liking.

  9. Create a jar group to manage current and future Minecraft versions:

     sudo msm jargroup create minecraft minecraft
    
  10. Create a new server, and tell it to use the latest of those Minecraft jars:

    sudo msm server create <server-name>
    sudo msm <server-name> jar minecraft
    
  11. Start your new server:

    Before you start make sure to let MSM know which version of Minecraft you are running by adding the following line to /opt/msm/servers/<server-name>/server.properties

    msm-version=minecraft/1.7.0
    

    The available strings are currently:

    • minecraft/1.2.0
    • minecraft/1.3.0
    • minecraft/1.7.0 and above
    • craftbukkit/1.2.0
    • craftbukkit/1.3.0 and above

    See versioning/versions.txt for the up to the minute list.

    Once that clunky step it out the way (I’m working on making it more transparent) let’s start the server:

    sudo msm <server-name> start
    
  12. Move generated worlds to the world storage folder:

    When a Minecraft server starts for the first time, it generates a new world according to the level-name entry in server.properties, which is world by default.

    MSM requires that you move this newly generated world (and any accompanying folders such as world_nether or world_the_end in the case of CraftBukkit) to a new directory which you must create inside of the server root folder called worldstorage.

    After moving them, run sudo msm <server-name> worlds load to create the symlinks needed for the server to recognize new worlds.

    See Concepts → Server Layout for further explanation.

Check Out The Commands

If stuck, you can always type msm help for a quick list of all commands, or if you want to know more about a command read the command documentation.