nolte.minecraft
ansible-minecraft
This is a version of the project at https://github.com/devops-coop/ansible-minecraft/. Big thanks for the original work!
This role sets up Minecraft or Spigot to run using systemd.
Features
- Works with both vanilla Minecraft and Spigot
- Supports Debian (version 9 and higher), Ubuntu (14.04, 16.04, 18.04), CentOS 7 & 8, and Fedora (29 - 34)
- Safely stops the Minecraft server with a command when using systemd
- Uses Docker and Molecule for integration testing
- Manages user access controls (ACLs)
- Manages Bukkit/Spigot plugins
- Manages the
server.properties
file - Allows adding extra tasks at specific points during execution
Things Not Included
- Installing a Java Runtime. You'll need to do this before using this role. You can use nolte/ansible-role-msopenjdk to do it.
- Handling backups and recovery
- Running health checks like Minecraft-Region-Fixer
- Managing services like filebeat or prometheus
- Installing extra tools like rcon-cli
These are important but not part of this role! You can find examples at nolte/minecraft-infrastructure.
How to Use
By default, this role will set up a Vanilla Minecraft Server.
Installation
To install, run:
ansible-galaxy install nolte.minecraft
Or add the following to your requirements.yml
file:
- name: nolte.minecraft
Then execute:
ansible-galaxy install -r requirements.yml
Usage
Here is an example of how to use the role in a playbook:
- hosts: minecraft
roles:
- { role: nolte.minecraft, minecraft_whitelist: ["jeb_", "dinnerbone"]}
Requirements
- Python 3.x on the machine running Ansible to create user access controls
- Ansible 2.7.0 or higher on the control machine to get the Minecraft version
- A compatible Java Runtime must already be installed to start and configure Minecraft on the target system.
Contributing
To help out, the best way is to use this role to set up your own Minecraft server! We appreciate any bug reports.
If you want to contribute to the project, here are some ways to help:
- Add support for other servers like Cuberite.
- Write integration tests for Minecraft or Spigot configurations.
- Share useful hooks.
- Correct any spelling mistakes...
License
Apache 2.0
Important Note
To use this installation role, you must accept the Minecraft EULA. By using this role, you agree to it. You can accept it by setting an environment variable like this: export mc_accept_eula=true
(the default is false
if you disagree).