From d325f47cd9ec871bbbffb546c7fbc97274bd2b03 Mon Sep 17 00:00:00 2001 From: Salt Date: Sat, 9 Jan 2021 04:02:38 -0600 Subject: [PATCH] Separate out tasks into different files --- tasks/forge.yml | 48 +++++++++++++++++++++++++++++++++++++++++ tasks/main.yml | 57 ++++++------------------------------------------- tasks/paper.yml | 11 ++++++++++ 3 files changed, 65 insertions(+), 51 deletions(-) create mode 100644 tasks/forge.yml create mode 100644 tasks/paper.yml diff --git a/tasks/forge.yml b/tasks/forge.yml new file mode 100644 index 0000000..2425def --- /dev/null +++ b/tasks/forge.yml @@ -0,0 +1,48 @@ +#!/usr/bin/ansible-playbook +# vim:ft=ansible: +--- +- name: set up forge + block: + - name: template out modpack installer + template: src=install-modpack.sh dest={{ minecraft_home }}/{{ minecraft_name }}/install-modpack.sh mode="0755" + - name: download forge + get_url: dest={{ minecraft_home }}/{{ minecraft_name }}/installer.jar url={{ minecraft_forge_downloadurl }} + register: download_forge + - name: install forge + command: + chdir: "{{ minecraft_home }}/{{ minecraft_name }}" + argv: [ "/usr/bin/java", "-jar", "./installer.jar", "--installServer" ] + notify: restart minecraft {{ minecraft_name }} + when: download_forge is changed + - name: link to forge jar + file: path={{ minecraft_home }}/{{ minecraft_name }}/server.jar src={{ minecraft_forge_jar_name }} state=link + - name: install modpack + block: + - name: download modpack + get_url: dest={{ minecraft_home }}/{{ minecraft_name }}/modpack.zip url={{ minecraft_forge_packurl }} + register: download_modpack + - name: install modpack + block: + - name: assure modpack unzip directory + file: path={{ minecraft_home }}/{{ minecraft_name }}/modpack state=directory + - name: unpack zip + unarchive: src={{ minecraft_home }}/{{ minecraft_name }}/modpack.zip dest={{ minecraft_home }}/{{ minecraft_name }}/modpack remote_src=yes + - name: run installer + command: + chdir: "{{ minecraft_home }}/{{ minecraft_name }}" + argv: [ "bash", "./install-modpack.sh" ] + notify: "restart minecraft {{ minecraft_name }}" + when: download_modpack is changed + when: minecraft_forge_packurl is defined + - name: install mods + get_url: dest="{{ minecraft_home }}/{{ minecraft_name }}/mods" url={{ item }} + loop: "{{ minecraft_forge_mods }}" + notify: "restart minecraft {{ minecraft_name }}" + when: minecraft_forge_mods is iterable and minecraft_forge_mods != None + - name: remove mods + file: path={{ minecraft_home }}/{{ minecraft_name }}/mods/{{ item }} state=absent + loop: "{{ minecraft_forge_mods_remove }}" + notify: "restart minecraft {{ minecraft_name }}" + when: minecraft_forge_mods_remove is iterable and minecraft_forge_mods_remove != None + become: yes + become_user: minecraft diff --git a/tasks/main.yml b/tasks/main.yml index cbaa888..3dcc2cb 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -30,61 +30,16 @@ notify: "restart minecraft {{ minecraft_name }}" become: yes become_user: minecraft + + # Paper - A vanilla server with plugin support - name: set up paper - block: - - name: download paper - get_url: url={{ minecraft_paper_downloadurl }} dest={{ minecraft_home }}/{{ minecraft_name }}/server.jar - notify: "restart minecraft {{ minecraft_name }}" - # TODO: Manage configs for plugins, auto-install plugins - become: yes - become_user: minecraft + include_tasks: paper.yml when: minecraft_paper_install + # Forge - Server- and client-side modloader - name: set up forge - block: - - name: template out modpack installer - template: src=install-modpack.sh dest={{ minecraft_home }}/{{ minecraft_name }}/install-modpack.sh mode="0755" - - name: download forge - get_url: dest={{ minecraft_home }}/{{ minecraft_name }}/installer.jar url={{ minecraft_forge_downloadurl }} - register: download_forge - - name: install forge - command: - chdir: "{{ minecraft_home }}/{{ minecraft_name }}" - argv: [ "/usr/bin/java", "-jar", "./installer.jar", "--installServer" ] - notify: restart minecraft {{ minecraft_name }} - when: download_forge is changed - - name: link to forge jar - file: path={{ minecraft_home }}/{{ minecraft_name }}/server.jar src={{ minecraft_forge_jar_name }} state=link - - name: install modpack - block: - - name: download modpack - get_url: dest={{ minecraft_home }}/{{ minecraft_name }}/modpack.zip url={{ minecraft_forge_packurl }} - register: download_modpack - - name: install modpack - block: - - name: assure modpack unzip directory - file: path={{ minecraft_home }}/{{ minecraft_name }}/modpack state=directory - - name: unpack zip - unarchive: src={{ minecraft_home }}/{{ minecraft_name }}/modpack.zip dest={{ minecraft_home }}/{{ minecraft_name }}/modpack remote_src=yes - - name: run installer - command: - chdir: "{{ minecraft_home }}/{{ minecraft_name }}" - argv: [ "bash", "./install-modpack.sh" ] - notify: "restart minecraft {{ minecraft_name }}" - when: download_modpack is changed - when: minecraft_forge_packurl is defined - - name: install mods - get_url: dest="{{ minecraft_home }}/{{ minecraft_name }}/mods" url={{ item }} - loop: "{{ minecraft_forge_mods }}" - notify: "restart minecraft {{ minecraft_name }}" - when: minecraft_forge_mods is iterable and minecraft_forge_mods != None - - name: remove mods - file: path={{ minecraft_home }}/{{ minecraft_name }}/mods/{{ item }} state=absent - loop: "{{ minecraft_forge_mods_remove }}" - notify: "restart minecraft {{ minecraft_name }}" - when: minecraft_forge_mods_remove is iterable and minecraft_forge_mods_remove != None - become: yes - become_user: minecraft + include_tasks: forge.yml when: minecraft_forge_install and minecraft_forge_version is defined + - name: enable service systemd: name=minecraft@{{ minecraft_name }}.service enabled=yes state=started when: minecraft_enabled diff --git a/tasks/paper.yml b/tasks/paper.yml new file mode 100644 index 0000000..179c77c --- /dev/null +++ b/tasks/paper.yml @@ -0,0 +1,11 @@ +#!/usr/bin/ansible-playbook +# vim:ft=ansible: +--- +- name: set up paper + block: + - name: download paper + get_url: url={{ minecraft_paper_downloadurl }} dest={{ minecraft_home }}/{{ minecraft_name }}/server.jar + notify: "restart minecraft {{ minecraft_name }}" + # TODO: Manage configs for plugins, auto-install plugins + become: yes + become_user: minecraft