--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/minecraft/tasks/main.yaml Fri Jul 03 12:01:00 2020 -0500
@@ -0,0 +1,78 @@
+---
+
+- name: add minecraft user
+ become: yes
+ user: name="{{minecraft_user}}" home="{{minecraft_dir}}"
+
+- name: install jre
+ become: yes
+ apt: name="default-jre-headless"
+
+- name: set minecraft fork
+ set_fact: minecraft_url="{{minecraft_vanilla_url}}"
+ when: minecraft_fork == "vanilla"
+
+- name: set minecraft fork
+ set_fact: minecraft_url="{{minecraft_paper_url}}"
+ when: minecraft_fork == "paper"
+
+- name: create minecraft dir
+ become: yes
+ file:
+ path: "{{minecraft_dir}}"
+ owner: "{{minecraft_user}}"
+ group: "{{minecraft_user}}"
+ mode: "0755"
+ state: "directory"
+
+- name: download minecraft
+ become: yes
+ get_url:
+ url: "{{minecraft_url}}"
+ dest: "{{minecraft_dir}}/server.jar"
+ mode: "0755"
+ notify: restart minecraft
+
+- name: configure minecraft eula and ops
+ become: yes
+ copy:
+ src: "{{item}}"
+ dest: "{{minecraft_dir}}/{{item}}"
+ owner: "{{minecraft_user}}"
+ group: "{{minecraft_user}}"
+ loop:
+ - "eula.txt"
+ - "ops.json"
+ notify: restart minecraft
+
+- name: create server.properties
+ become: yes
+ file:
+ path: "{{minecraft_dir}}/server.properties"
+ state: "touch"
+ access_time: "preserve"
+ modification_time: "preserve"
+ owner: "{{minecraft_user}}"
+ group: "{{minecraft_user}}"
+
+- name: configure server.properties
+ become: yes
+ lineinfile:
+ path: "{{minecraft_dir}}/server.properties"
+ regexp: "^{{item.key}}="
+ line: "{{item.key}}={{item.value}}"
+ notify: restart minecraft
+ loop:
+ - {key: "motd", value: "{{minecraft_motd}}"}
+ - {key: "level-seed", value: "{{minecraft_seed}}"}
+
+- name: install systemd service
+ become: yes
+ template:
+ src: "minecraft.service.j2"
+ dest: "/lib/systemd/system/minecraft.service"
+ notify: restart minecraft
+
+- name: ensure service is started
+ become: yes
+ systemd: name="minecraft.service" enabled="yes" state="started"