ansible-role-minecraft/tasks/main.yml

55 lines
2.2 KiB
YAML

#!/usr/bin/ansible-playbook
# vim:ft=ansible:
---
- name: set up system
block:
- name: install required packages
apt: name="{{ minecraft_packages + minecraft_packages_extra }}"
- name: assure server user
user: name=minecraft system=yes home={{ minecraft_home }}
- name: assure operational directory
file: path={{ minecraft_home }} state=directory owner=minecraft group=minecraft mode="3775"
- name: assure systemd unit
template: src=minecraft@.service dest=/etc/systemd/system/minecraft@.service
notify: "restart minecraft {{ minecraft_name }}"
- name: set up minecraft
block:
- name: assure server directory
file: path={{ minecraft_home }}/{{ minecraft_name }} state=directory
- name: accept eula
template: src=eula.txt dest={{ minecraft_home }}/{{ minecraft_name }}/eula.txt
- name: template out env
template: src=env dest={{ minecraft_home }}/{{ minecraft_name }}/env
- name: template start script
template: src=start-server.sh dest={{ minecraft_home }}/{{ minecraft_name }}/start-server.sh mode="0744"
notify: "restart minecraft {{ minecraft_name }}"
- name: template stop script
template: src=stop-server.sh dest={{ minecraft_home }}/{{ minecraft_name }}/stop-server.sh mode="0744"
notify: "restart minecraft {{ minecraft_name }}"
- name: configure server properties
lineinfile:
dest: "{{ minecraft_home }}/{{ minecraft_name }}/server.properties"
line: "{{ item.opt }}={{ item.value }}"
regex: "^{{ item.opt }}=.*"
create: yes
loop: "{{ minecraft_server_properties }}"
notify: "restart minecraft {{ minecraft_name }}"
become: yes
become_user: minecraft
# Paper - A vanilla server with plugin support
- name: set up paper
include_tasks: paper.yml
when: minecraft_paper_install
# Forge - Server- and client-side modloader
- name: set up forge
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
- name: disable service
systemd: name=minecraft@{{ minecraft_name }}.service enabled=no state=stopped
when: not minecraft_enabled