Configure the Role

This role should fix two Problems, firstly Configure the Server and secondly Install Plugins.

Configure the Server

This Role will be install by default a vanilla server to the configured Server Directory. You will find a full list of configuration attributes on Role variables.

Example

- hosts: minecraft
  roles:
     - { role: nolte.minecraft, minecraft_whitelist: ["jeb_", "dinnerbone"]}

Install Plugins

The plugins will installed to the Configured Plugins Location into a Release subfolder like plugins/releases/{pluginsets}/*.jar and finaly link to plugins/shared.

The plugins/shared Directory will be linked to server/shared/plugins all Plugin Runtime-data of your server will be stored under plugins/shared, see FileSystem Structure.

Example Plugin Source Config file
      minecraft_plugins_set_version: "minimal"
      minecraft_plugin_sets:
        minimal:
          vault:
            src: https://media.forgecdn.net/files/2615/750/Vault.jar
          permissionsEx:
            src: https://media.forgecdn.net/files/909/154/PermissionsEx-1.23.4.jar
            dest: PermissionsEx.jar
            config:
              - src: "{{ playbook_dir }}/molecule/resources/playbooks/templates/config_permissionex.yml.j2"
                dest: PermissionsEx/config.yml
          multiverseCore:
            src: https://ci.onarandombox.com/job/Multiverse-Core/lastSuccessfulBuild
            dest: Multiverse-Core.jar
            type: "jenkins_latest"
            jenkins_artefact_path: "/artifact/target"
            force: true
            validate_certs: false
          tne:
            src: https://github.com/TheNewEconomy/TNE-Bukkit/releases/download/0.1.1.8/TNE-0.1.1.8.zip
            type: "archive"

Configure Plugin Download Source

Directly Download a *.jar from a Webserver, like media.forgecdn.net.

type (optional)

default direct jar

"jenkins_latest" used for load the latest successful build.

"archive" used for load and unpack some Archive from remote.

src

The Download Source from the Plugin.

dest (optional)

The local jar name, like PermissionsEx.jar

force (optional)

overwrite allways existing plugins, (default: false).

validate_certs (optional)

If false, SSL certificates will not be validated, look (Ansible Doc, validate_certs) (default: true).

jenkins_artefact_path (optional)
system group Minecraft runs as (default: /artifact/target)
only usable with type: "jenkins_latest"
config (optional)
To automatical configure a plugin create a Jinja templatefile at your Playbook templates folder, and add a config: entry.
The dest: path is relative to the plugins/shared folder.
You can set a list of dict`s like:
...
config:
  - src: "{{ playbook_dir }}/templates/config_permissionex.yml.j2"
    dest: PermissionsEx/config.yml
...