Role variables
The following variable defaults are defined in defaults/main.yml.
minecraft_versionMinecraft version to install (default:
latest)Examples:
minecraft_version: latest minecraft_version: 1.10 minecraft_version: 1.9.1 minecraft_version: 16w21a
minecraft_eula_acceptaccept the Minecraft eula License, must accepted by the Role User (default:
false)minecraft_urlMinecraft download URL (default:
https://s3.amazonaws.com/Minecraft.Download/versions)minecraft_usersystem user Minecraft runs as (default:
{{ minecraft_server }})minecraft_groupsystem group Minecraft runs as (default:
{{ minecraft_server }})minecraft_basedirdirectory base variable for the Minecraft installation (default:
/opt/minecraft)
minecraft_homedirectory to install Minecraft Server to (default:
{{minecraft_basedir}}/server)
minecraft_pluginsdirectory to install Minecraft Plugins to (default:
{{minecraft_basedir}}/plugins)minecraft_max_memoryJava max memory (
-Xmx) to allocate (default:1024M)minecraft_initial_memoryJava initial memory (
-Xms) to allocate (default:1024M)minecraft_service_namesystemd service name or Supervisor program name (default:
minecraft)minecraft_supervisor_nameDEPRECATED: Supervisor program name (default:
{{ minecraft_service_name }})minecraft_whitelistlist of Minecraft usernames to whitelist (default:
[])minecraft_opslist of Minecraft usernames to make server ops (default:
[])minecraft_banned_playerslist of Minecraft usernames to ban (default:
[])minecraft_banned_ipslist of IP addresses to ban (default:
[])minecraft_server_propertiesdictionary of server.properties entries (e.g.
server-port: 25565) to set (default:{})minecraft_serverchoose between
minecraftorspigot(default:minecraft)minecraft_server_java_opsadditional java ops like remote debug
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005(default: none)
Logging
minecraft_external_log_conf(optional) type Dicthandle a external Log4j2 Config used RollingRandomAccessFileAppender, controlling LogRotate, Maximal LogFile Size, and maximum keeped logs.
Examples:
minecraft_external_log_conf: conf_file: log4j2.xml template: log4j2.xml.j2 fileName: /var/log/minecraft/server.log filePattern: /var/log/minecraft/server_%d{yyyy-MM-dd}.log.gz rollover: 5 sizeBased: 10MB
Hooks and run stages
ansible-minecraft organizes execution into a number of run stages:
setupinstall prerequisites (e.g., Java)
create Minecraft user and group
downloadfetch the latest version of from the launcher API
download Minecraft
installsymlink version to
minecraft_server.jaragree to EULA
aclconfigure server ACLs (whitelist, banned players, etc.)
configureset
server.properties
start(re)start server
You can execute custom tasks before or after specific stages. Simply specify a task include file using the relevant role variable:
- hosts: minecraft
roles:
- role: devops-coop.minecraft
minecraft_hook_before_start: "{{ playbook_dir }}/download-world-from-s3.yml"
The available hooks are:
minecraft_hook_before_setuprun before
setuptasksminecraft_hook_after_setuprun after
setuptasksminecraft_hook_before_downloadrun before
downloadtasksminecraft_hook_after_downloadrun after
downloadtasksminecraft_hook_before_installrun before
installtasksminecraft_hook_after_installrun after
installtasksminecraft_hook_before_startrun before
starttasksminecraft_hook_after_startrun after
starttasks