49 lines
2.3 KiB
YAML
49 lines
2.3 KiB
YAML
#!/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
|