minecraft: First vesion of ole
This commit is contained in:
parent
72c0b43efc
commit
7b9f2a2dfc
5 changed files with 183 additions and 0 deletions
114
roles/minecraft/tasks/main.yml
Normal file
114
roles/minecraft/tasks/main.yml
Normal file
|
@ -0,0 +1,114 @@
|
|||
---
|
||||
- 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
|
Loading…
Add table
Add a link
Reference in a new issue