mirror of
https://github.com/msmhq/msm.git
synced 2024-08-30 18:12:35 +00:00
131 lines
4.6 KiB
Markdown
131 lines
4.6 KiB
Markdown
---
|
|
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 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][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 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 /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 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][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 <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][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
|