114 lines
2.4 KiB
YAML
114 lines
2.4 KiB
YAML
---
|
|
- name: install prequisites
|
|
ansible.builtin.package:
|
|
name: java-17-openjdk
|
|
state: installed
|
|
|
|
- name: create group
|
|
ansible.builtin.group:
|
|
name: minecraft
|
|
gid: 1007
|
|
|
|
- name: create user
|
|
ansible.builtin.user:
|
|
name: minecraft
|
|
comment: Service Minecraft
|
|
uid: 1007
|
|
group: minecraft
|
|
create_home: false
|
|
home: /var/empty
|
|
shell: /sbin/nologin
|
|
|
|
- name: create data directory
|
|
ansible.builtin.file:
|
|
path: /export/minecraft
|
|
state: directory
|
|
mode: 0750
|
|
owner: root
|
|
group: minecraft
|
|
|
|
- name: link data directory
|
|
ansible.builtin.file:
|
|
path: /srv/minecraft
|
|
src: /export/minecraft
|
|
state: link
|
|
follow: false
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
|
|
- name: create writable data directories
|
|
ansible.builtin.file:
|
|
path: "/srv/minecraft/{{ item }}"
|
|
state: directory
|
|
mode: 0770
|
|
owner: root
|
|
group: minecraft
|
|
with_items:
|
|
- crash-reports
|
|
- libraries
|
|
- logs
|
|
- versions
|
|
- world
|
|
|
|
- name: accept eula
|
|
ansible.builtin.copy:
|
|
dest: /srv/minecraft/eula.txt
|
|
content: |
|
|
eula=true
|
|
mode: 0640
|
|
owner: root
|
|
group: minecraft
|
|
|
|
- name: create server config
|
|
ansible.builtin.copy:
|
|
dest: /srv/minecraft/server.properties
|
|
src: server.properties
|
|
mode: 0640
|
|
owner: root
|
|
group: minecraft
|
|
|
|
- name: "create {{ item }}"
|
|
ansible.builtin.copy:
|
|
dest: "/srv/minecraft/{{ item }}"
|
|
content: []
|
|
force: false
|
|
mode: 0660
|
|
owner: root
|
|
group: minecraft
|
|
with_items:
|
|
- banned-ips.json
|
|
- banned-players.json
|
|
- ops.json
|
|
- whitelist.json
|
|
|
|
- name: create minecraft binary directory
|
|
ansible.builtin.file:
|
|
path: /usr/local/lib/minecraft
|
|
state: directory
|
|
mode: 0755
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
|
|
- name: download minecraft binary
|
|
ansible.builtin.get_url:
|
|
dest: /usr/local/lib/minecraft/server.jar
|
|
url: >-
|
|
https://launcher.mojang.com/v1/objects/{{ minecraft_sha1sum }}/server.jar
|
|
checksum: "sha1:{{ minecraft_sha1sum }}"
|
|
mode: 0644
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
|
|
- name: create service unit file
|
|
ansible.builtin.copy:
|
|
dest: /etc/systemd/system/minecraft.service
|
|
src: minecraft.service
|
|
mode: 0644
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
|
|
- name: enable service
|
|
ansible.builtin.service:
|
|
name: minecraft
|
|
enabled: true
|
|
state: started
|