diff options
| author | Luke Hoersten <[email protected]> | 2021-07-03 13:23:46 -0500 |
|---|---|---|
| committer | Luke Hoersten <[email protected]> | 2021-07-03 13:23:46 -0500 |
| commit | e4482f91ed5ddbaa350c59858e082235720abacc (patch) | |
| tree | 59e70099ca9f46fe4955e5dd4591ffb4bd356fa7 /minecraft/server/tasks | |
| parent | a9ae275d8aba40baea6156f073314de70dd49ce3 (diff) | |
Added minecraft backup.
Diffstat (limited to 'minecraft/server/tasks')
| -rw-r--r-- | minecraft/server/tasks/adoptopenjdk.yaml | 21 | ||||
| -rw-r--r-- | minecraft/server/tasks/dynmap.yaml | 27 | ||||
| -rw-r--r-- | minecraft/server/tasks/main.yaml | 90 |
3 files changed, 138 insertions, 0 deletions
diff --git a/minecraft/server/tasks/adoptopenjdk.yaml b/minecraft/server/tasks/adoptopenjdk.yaml new file mode 100644 index 0000000..077114e --- /dev/null +++ b/minecraft/server/tasks/adoptopenjdk.yaml @@ -0,0 +1,21 @@ +--- + +- name: configure apt proxy bypass for https + become: yes + copy: src="03adoptopenjdk-direct" dest="/etc/apt/apt.conf.d/03adoptopenjdk-direct" + +- name: add adoptopenjdk apt key + become: yes + apt_key: url="https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public/" + +- name: add adoptopenjdk apt repo + become: yes + apt_repository: repo="deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ buster main" + +- name: update apt package cache + become: yes + apt: upgrade="dist" autoremove="yes" autoclean="yes" update_cache="yes" cache_valid_time="3600" + +- name: install adoptopenjdk hotspot jre 16 + become: yes + apt: name="adoptopenjdk-16-hotspot-jre" diff --git a/minecraft/server/tasks/dynmap.yaml b/minecraft/server/tasks/dynmap.yaml new file mode 100644 index 0000000..07281e3 --- /dev/null +++ b/minecraft/server/tasks/dynmap.yaml @@ -0,0 +1,27 @@ +--- + +- name: create minecraft plugins dir + become: yes + file: + path: "{{minecraft_dir}}/{{item}}" + owner: "{{minecraft_user}}" + group: "{{minecraft_user}}" + mode: "0755" + state: "directory" + loop: + - "plugins" + - "plugins/dynmap" + +- name: download dynmap + become: yes + get_url: + url: "{{minecraft_dynmap_url}}" + dest: "{{minecraft_dir}}/plugins/dynmap.jar" + mode: "0755" + notify: restart minecraft + +- name: configure dynmap + become: yes + template: + src: "configuration.txt.j2" + dest: "{{minecraft_dir}}/plugins/dynmap/configuration.txt" diff --git a/minecraft/server/tasks/main.yaml b/minecraft/server/tasks/main.yaml new file mode 100644 index 0000000..e0f7421 --- /dev/null +++ b/minecraft/server/tasks/main.yaml @@ -0,0 +1,90 @@ +--- + +- name: add minecraft user + become: yes + user: name="{{minecraft_user}}" home="{{minecraft_dir}}" + +- name: install adoptopenjdk + include_tasks: adoptopenjdk.yaml + +- 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 + become: yes + copy: + src: "{{item}}" + dest: "{{minecraft_dir}}/{{item}}" + owner: "{{minecraft_user}}" + group: "{{minecraft_user}}" + loop: + - "eula.txt" + notify: restart minecraft + +- name: configure minecraft ops + become: yes + template: + src: "ops.json.j2" + dest: "{{minecraft_dir}}/ops.json" + owner: "{{minecraft_user}}" + group: "{{minecraft_user}}" + notify: restart minecraft + +- name: install plugins + include_tasks: dynmap.yaml + when: minecraft_fork == "paper" + +- 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}}"} + - {key: "difficulty", value: "{{minecraft_difficulty}}"} + +- 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" |
