Installation

  1. Update the system packages:

    $ sudo apt-get update
    $ sudo apt-get upgrade
    
  2. Install the depencies:

    $ sudo apt-get install python3 python3-pip screen openjdk-7-jre-headless
    

    Note, that the EMSM needs at least Python 3.2 to run.

  3. Install the EMSM Python package from PyPi:

    $ sudo pip3 install --pre emsm
    

    This will also install all EMSM Python depencies.

  4. Create the user, that should run the EMSM:

    $ sudo addgroup --system --no-create-home --group minecraft
    $ sudo adduser  --system --no-create-home --ingroup minecraft minecraft
    
  5. Create the instance folder. This folder will later contain all worlds and server executables:

    $ sudo mkdir /opt/minecraft
    
  6. Create the /opt/minecraft/minecraft.py EMSM launcher and add it to the global PATH:

    #!/usr/bin/env python3
    
    #/opt/minecraft/minecraft.py
    
    import emsm
    
    # Make sure, the instance dir is correct.
    emsm.run(instance_dir="/opt/minecraft")
    
    $ sudo chmod +x /opt/minecraft/minecraft.py
    $ sudo ln -s /opt/minecraft/minecraft.py /usr/bin/minecraft
    
  7. Make sure the /opt/minecraft/ directory is owned by the minecraft user:

    $ sudo chown -R minecraft:minecraft /opt/minecraft
    
  8. Execute the EMSM:

    $ sudo minecraft emsm --version
    
  9. That’s it. Your instance directory should now look like this:

    |- /opt/minecraft
        |- conf
        |- logs
        |- minecraft.py
        |- plugins
        |- plugins_data
        |- server
        |- worlds
    

You probably want to use some plugins like the guard, initd or backups plugin. So don’t forget to take a look at their documentation later.

Troubleshooting

WrongUserError

If you run the application under another user than minecraft, you have to edit the conf/main.conf configuration file before you call the EMSM the first time otherwise you will get a WrongUserError:

[emsm]
user = foobar