src.nth.io/

summaryrefslogtreecommitdiff
path: root/minecraft/server/tasks
diff options
context:
space:
mode:
authorLuke Hoersten <[email protected]>2021-07-03 13:23:46 -0500
committerLuke Hoersten <[email protected]>2021-07-03 13:23:46 -0500
commite4482f91ed5ddbaa350c59858e082235720abacc (patch)
tree59e70099ca9f46fe4955e5dd4591ffb4bd356fa7 /minecraft/server/tasks
parenta9ae275d8aba40baea6156f073314de70dd49ce3 (diff)
Added minecraft backup.
Diffstat (limited to 'minecraft/server/tasks')
-rw-r--r--minecraft/server/tasks/adoptopenjdk.yaml21
-rw-r--r--minecraft/server/tasks/dynmap.yaml27
-rw-r--r--minecraft/server/tasks/main.yaml90
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"