minecraft/tasks/main.yaml
author Luke Hoersten <luke@hoersten.org>
Mon, 03 Aug 2020 12:24:13 -0500
changeset 129 7ced28b4207c
parent 125 5a298f7b44f5
child 152 740231770c7c
permissions -rw-r--r--
Added worker restats for uwsgi to reduce memory runaway.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     1
---
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     2
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
     3
- name: add minecraft user
19
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     4
  become: yes
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
     5
  user: name="{{minecraft_user}}" home="{{minecraft_dir}}"
19
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     6
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     7
- name: install jre
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     8
  become: yes
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     9
  apt: name="default-jre-headless"
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    10
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    11
- name: set minecraft fork
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    12
  set_fact: minecraft_url="{{minecraft_vanilla_url}}"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    13
  when: minecraft_fork == "vanilla"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    14
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    15
- name: set minecraft fork
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    16
  set_fact: minecraft_url="{{minecraft_paper_url}}"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    17
  when: minecraft_fork == "paper"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    18
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    19
- name: create minecraft dir
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    20
  become: yes
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    21
  file:
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    22
    path: "{{minecraft_dir}}"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    23
    owner: "{{minecraft_user}}"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    24
    group: "{{minecraft_user}}"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    25
    mode: "0755"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    26
    state: "directory"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    27
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    28
- name: download minecraft
19
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    29
  become: yes
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    30
  get_url:
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    31
    url: "{{minecraft_url}}"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    32
    dest: "{{minecraft_dir}}/server.jar"
19
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    33
    mode: "0755"
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    34
  notify: restart minecraft
19
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    35
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    36
- name: configure minecraft eula and ops
19
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    37
  become: yes
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    38
  copy:
20
9cacee5eec83 Added ops to minecraft role.
Luke Hoersten <luke@hoersten.org>
parents: 19
diff changeset
    39
    src: "{{item}}"
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    40
    dest: "{{minecraft_dir}}/{{item}}"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    41
    owner: "{{minecraft_user}}"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    42
    group: "{{minecraft_user}}"
20
9cacee5eec83 Added ops to minecraft role.
Luke Hoersten <luke@hoersten.org>
parents: 19
diff changeset
    43
  loop:
9cacee5eec83 Added ops to minecraft role.
Luke Hoersten <luke@hoersten.org>
parents: 19
diff changeset
    44
    - "eula.txt"
9cacee5eec83 Added ops to minecraft role.
Luke Hoersten <luke@hoersten.org>
parents: 19
diff changeset
    45
    - "ops.json"
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    46
  notify: restart minecraft
19
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    47
125
5a298f7b44f5 Added dynmap to minecraft.
Luke Hoersten <luke@hoersten.org>
parents: 112
diff changeset
    48
- name: install plugins
5a298f7b44f5 Added dynmap to minecraft.
Luke Hoersten <luke@hoersten.org>
parents: 112
diff changeset
    49
  include_tasks: dynmap.yaml
5a298f7b44f5 Added dynmap to minecraft.
Luke Hoersten <luke@hoersten.org>
parents: 112
diff changeset
    50
  when: minecraft_fork == "paper"
5a298f7b44f5 Added dynmap to minecraft.
Luke Hoersten <luke@hoersten.org>
parents: 112
diff changeset
    51
107
9057b9f9ced8 MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents: 59
diff changeset
    52
- name: create server.properties
9057b9f9ced8 MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents: 59
diff changeset
    53
  become: yes
9057b9f9ced8 MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents: 59
diff changeset
    54
  file:
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    55
    path: "{{minecraft_dir}}/server.properties"
107
9057b9f9ced8 MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents: 59
diff changeset
    56
    state: "touch"
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    57
    access_time: "preserve"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    58
    modification_time: "preserve"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    59
    owner: "{{minecraft_user}}"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    60
    group: "{{minecraft_user}}"
107
9057b9f9ced8 MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents: 59
diff changeset
    61
9057b9f9ced8 MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents: 59
diff changeset
    62
- name: configure server.properties
33
ad75fc2d2853 Added papermc role.
Luke Hoersten <luke@hoersten.org>
parents: 27
diff changeset
    63
  become: yes
ad75fc2d2853 Added papermc role.
Luke Hoersten <luke@hoersten.org>
parents: 27
diff changeset
    64
  lineinfile:
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    65
    path: "{{minecraft_dir}}/server.properties"
107
9057b9f9ced8 MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents: 59
diff changeset
    66
    regexp: "^{{item.key}}="
9057b9f9ced8 MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents: 59
diff changeset
    67
    line: "{{item.key}}={{item.value}}"
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    68
  notify: restart minecraft
107
9057b9f9ced8 MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents: 59
diff changeset
    69
  loop:
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    70
    - {key: "motd", value: "{{minecraft_motd}}"}
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    71
    - {key: "level-seed", value: "{{minecraft_seed}}"}
19
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    72
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    73
- name: install systemd service
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    74
  become: yes
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    75
  template:
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    76
    src: "minecraft.service.j2"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    77
    dest: "/lib/systemd/system/minecraft.service"
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    78
  notify: restart minecraft
19
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    79
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    80
- name: ensure service is started
31de177274a1 Added minecraft server role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    81
  become: yes
111
1c1a911b26aa Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents: 107
diff changeset
    82
  systemd: name="minecraft.service" enabled="yes" state="started"