--- layout: docs title: Installation · Docs · MSM tab: docs docsitem: installation --- 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 http://git.io/Sxpr9g -O /tmp/msm && bash /tmp/msm Or on RedHat using: wget -q http://git.io/lu0ULA -O /tmp/msm && bash /tmp/msm Or [suggest a new platform][issues]. 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 http://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 /opt/msm Second, add the user and set permissions sudo useradd minecraft --home /opt/msm sudo chown 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 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 http://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 http://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 sudo msm 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.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][versions] 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 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 worlds load` to create the symlinks needed for the server to recognize new worlds. See [Concepts → Server Layout][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][commands]. [config]: {{ site.baseurl }}/docs/configuration/ [cron]: {{ site.baseurl }}/docs/concepts/cron.html [commands]: {{ site.baseurl }}/docs/commands/ [#26]: https://github.com/marcuswhybrow/minecraft-server-manager/issues/26 [versions]: https://github.com/marcuswhybrow/minecraft-server-manager/blob/latest/versioning/versions.txt [layout]: {{ site.baseurl }}/docs/concepts/layout.html [issues]: https://github.com/marcuswhybrow/minecraft-server-manager/issues