Ansible playbook to configure my (private) Minecraft server. The philosophy here is that everything should be configured here and deployed over Ansible. Any manual changes to the server configuration will likely be overwritten.
- Paper server
- Systemd service
- mcrcon to interact with the console
- Daily server backups
- Lighttpd server (with SSL) for access to DynMap
- Vault
- EssentialsX
- Spark
- DynMap
- LuckPerms
- DeadChest
- Multiverse (Core, Portals, Inventories)
- Ubuntu 24.04
- A user capable of sudoing
- Pipenv (for Python dependencies) on your workstation -
pip install pipenv
- Clone this repository
- Get the vault password and put it in a file named
vault-password
. You can, of course, start from scratch. All "secret" variables are proxied invars.yml
. - Install the required Python packages
source .envrc # done automatically if you have direnv pipenv install
production
- Server inventorygroup_vars/servers/vars.yml
- Configuration valuesgroup_vars/servers/vault.yml
- Secret configuration values/files
and/templates
- Config files for the Minecraft server itself
$ ansible-playbook main.yml --user <remote_user>