| author | Luke Hoersten <luke@hoersten.org> |
| Fri, 27 Mar 2026 14:56:43 -0500 | |
| changeset 253 | 4ca131e557dc |
| parent 239 | c3e3169399a8 |
| permissions | -rw-r--r-- |
| 19 | 1 |
--- |
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 | 4 |
become: yes |
| 174 | 5 |
user: name="{{minecraft_user}}" home="{{minecraft_parent_dir}}/minecraft" shell="/bin/false" system="yes" |
| 19 | 6 |
|
| 178 | 7 |
- name: install java |
| 177 | 8 |
become: yes |
|
239
c3e3169399a8
Updated java version and disabled geyser due to too old jde.
Luke Hoersten <luke@hoersten.org>
parents:
178
diff
changeset
|
9 |
apt: name="openjdk-21-jre-headless" |
| 19 | 10 |
|
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
11 |
- name: create minecraft dir |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
12 |
become: yes |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
13 |
file: |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
14 |
path: "{{minecraft_dir}}" |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
15 |
owner: "{{minecraft_user}}" |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
16 |
group: "{{minecraft_user}}" |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
17 |
mode: "0755" |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
18 |
state: "directory" |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
19 |
|
|
253
4ca131e557dc
Fixed paper build URL and nginx logging off.
Luke Hoersten <luke@hoersten.org>
parents:
239
diff
changeset
|
20 |
- name: get minecraft download info |
|
4ca131e557dc
Fixed paper build URL and nginx logging off.
Luke Hoersten <luke@hoersten.org>
parents:
239
diff
changeset
|
21 |
uri: |
|
4ca131e557dc
Fixed paper build URL and nginx logging off.
Luke Hoersten <luke@hoersten.org>
parents:
239
diff
changeset
|
22 |
url: "https://api.papermc.io/v2/projects/paper/versions/{{minecraft_paper_version}}/builds/{{minecraft_paper_build}}" |
|
4ca131e557dc
Fixed paper build URL and nginx logging off.
Luke Hoersten <luke@hoersten.org>
parents:
239
diff
changeset
|
23 |
return_content: yes |
|
4ca131e557dc
Fixed paper build URL and nginx logging off.
Luke Hoersten <luke@hoersten.org>
parents:
239
diff
changeset
|
24 |
register: minecraft_build_info |
|
4ca131e557dc
Fixed paper build URL and nginx logging off.
Luke Hoersten <luke@hoersten.org>
parents:
239
diff
changeset
|
25 |
|
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
26 |
- name: download minecraft |
| 19 | 27 |
become: yes |
28 |
get_url: |
|
|
253
4ca131e557dc
Fixed paper build URL and nginx logging off.
Luke Hoersten <luke@hoersten.org>
parents:
239
diff
changeset
|
29 |
url: "https://fill-data.papermc.io/v1/objects/{{minecraft_build_info.json.downloads.application.sha256}}/paper-{{minecraft_paper_version}}-{{minecraft_paper_build}}.jar" |
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
30 |
dest: "{{minecraft_dir}}/server.jar" |
| 19 | 31 |
mode: "0755" |
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
32 |
notify: restart minecraft |
| 19 | 33 |
|
|
155
4d45841961e7
Added ops template to main.
Luke Hoersten <luke@hoersten.org>
parents:
153
diff
changeset
|
34 |
- name: configure minecraft eula |
| 19 | 35 |
become: yes |
36 |
copy: |
|
| 163 | 37 |
src: "eula.txt" |
38 |
dest: "{{minecraft_dir}}/eula.txt" |
|
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
39 |
owner: "{{minecraft_user}}" |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
40 |
group: "{{minecraft_user}}" |
|
155
4d45841961e7
Added ops template to main.
Luke Hoersten <luke@hoersten.org>
parents:
153
diff
changeset
|
41 |
notify: restart minecraft |
|
4d45841961e7
Added ops template to main.
Luke Hoersten <luke@hoersten.org>
parents:
153
diff
changeset
|
42 |
|
|
4d45841961e7
Added ops template to main.
Luke Hoersten <luke@hoersten.org>
parents:
153
diff
changeset
|
43 |
- name: configure minecraft ops |
|
4d45841961e7
Added ops template to main.
Luke Hoersten <luke@hoersten.org>
parents:
153
diff
changeset
|
44 |
become: yes |
| 163 | 45 |
copy: |
46 |
src: "{{minecraft_ops_file}}" |
|
|
155
4d45841961e7
Added ops template to main.
Luke Hoersten <luke@hoersten.org>
parents:
153
diff
changeset
|
47 |
dest: "{{minecraft_dir}}/ops.json" |
|
4d45841961e7
Added ops template to main.
Luke Hoersten <luke@hoersten.org>
parents:
153
diff
changeset
|
48 |
owner: "{{minecraft_user}}" |
|
4d45841961e7
Added ops template to main.
Luke Hoersten <luke@hoersten.org>
parents:
153
diff
changeset
|
49 |
group: "{{minecraft_user}}" |
| 163 | 50 |
when: minecraft_ops_file is defined |
51 |
notify: restart minecraft |
|
52 |
||
53 |
- name: configure minecraft whitelist |
|
54 |
become: yes |
|
55 |
copy: |
|
56 |
src: "{{minecraft_whitelist_file}}" |
|
57 |
dest: "{{minecraft_dir}}/whitelist.json" |
|
58 |
owner: "{{minecraft_user}}" |
|
59 |
group: "{{minecraft_user}}" |
|
60 |
when: minecraft_whitelist_file is defined and minecraft_whitelist == "true" |
|
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
61 |
notify: restart minecraft |
| 19 | 62 |
|
|
162
a7a64ed07204
Added Geyser minecraft plugin. Cleaned up minecraft role.
Luke Hoersten <luke@hoersten.org>
parents:
156
diff
changeset
|
63 |
- name: create minecraft plugins dir |
|
a7a64ed07204
Added Geyser minecraft plugin. Cleaned up minecraft role.
Luke Hoersten <luke@hoersten.org>
parents:
156
diff
changeset
|
64 |
become: yes |
|
a7a64ed07204
Added Geyser minecraft plugin. Cleaned up minecraft role.
Luke Hoersten <luke@hoersten.org>
parents:
156
diff
changeset
|
65 |
file: |
|
a7a64ed07204
Added Geyser minecraft plugin. Cleaned up minecraft role.
Luke Hoersten <luke@hoersten.org>
parents:
156
diff
changeset
|
66 |
path: "{{minecraft_dir}}/plugins" |
|
a7a64ed07204
Added Geyser minecraft plugin. Cleaned up minecraft role.
Luke Hoersten <luke@hoersten.org>
parents:
156
diff
changeset
|
67 |
owner: "{{minecraft_user}}" |
|
a7a64ed07204
Added Geyser minecraft plugin. Cleaned up minecraft role.
Luke Hoersten <luke@hoersten.org>
parents:
156
diff
changeset
|
68 |
group: "{{minecraft_user}}" |
|
a7a64ed07204
Added Geyser minecraft plugin. Cleaned up minecraft role.
Luke Hoersten <luke@hoersten.org>
parents:
156
diff
changeset
|
69 |
mode: "0755" |
|
a7a64ed07204
Added Geyser minecraft plugin. Cleaned up minecraft role.
Luke Hoersten <luke@hoersten.org>
parents:
156
diff
changeset
|
70 |
state: "directory" |
|
a7a64ed07204
Added Geyser minecraft plugin. Cleaned up minecraft role.
Luke Hoersten <luke@hoersten.org>
parents:
156
diff
changeset
|
71 |
|
|
125
5a298f7b44f5
Added dynmap to minecraft.
Luke Hoersten <luke@hoersten.org>
parents:
112
diff
changeset
|
72 |
- name: install plugins |
|
162
a7a64ed07204
Added Geyser minecraft plugin. Cleaned up minecraft role.
Luke Hoersten <luke@hoersten.org>
parents:
156
diff
changeset
|
73 |
include_tasks: "{{item}}.yaml" |
|
164
ae19501f5251
Updated minecraft to be multi-world and minimized world size.
Luke Hoersten <luke@hoersten.org>
parents:
163
diff
changeset
|
74 |
loop: "{{minecreat_plugins_enabled}}" |
|
125
5a298f7b44f5
Added dynmap to minecraft.
Luke Hoersten <luke@hoersten.org>
parents:
112
diff
changeset
|
75 |
|
|
107
9057b9f9ced8
MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents:
59
diff
changeset
|
76 |
- 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
|
77 |
become: yes |
|
9057b9f9ced8
MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents:
59
diff
changeset
|
78 |
file: |
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
79 |
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
|
80 |
state: "touch" |
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
81 |
access_time: "preserve" |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
82 |
modification_time: "preserve" |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
83 |
owner: "{{minecraft_user}}" |
|
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
84 |
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
|
85 |
|
|
9057b9f9ced8
MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents:
59
diff
changeset
|
86 |
- name: configure server.properties |
| 33 | 87 |
become: yes |
88 |
lineinfile: |
|
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
89 |
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
|
90 |
regexp: "^{{item.key}}=" |
|
9057b9f9ced8
MC separate world files dont work. Had to move main dir.
Luke Hoersten <luke@hoersten.org>
parents:
59
diff
changeset
|
91 |
line: "{{item.key}}={{item.value}}" |
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
92 |
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
|
93 |
loop: |
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
94 |
- {key: "motd", value: "{{minecraft_motd}}"} |
|
164
ae19501f5251
Updated minecraft to be multi-world and minimized world size.
Luke Hoersten <luke@hoersten.org>
parents:
163
diff
changeset
|
95 |
- {key: "level-name", value: "{{minecraft_world_name}}"} |
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
96 |
- {key: "level-seed", value: "{{minecraft_seed}}"} |
| 153 | 97 |
- {key: "difficulty", value: "{{minecraft_difficulty}}"} |
| 163 | 98 |
- {key: "white-list", value: "{{minecraft_whitelist}}"} |
99 |
- {key: "enforce-whitelist", value: "{{minecraft_whitelist}}"} |
|
100 |
- {key: "view-distance", value: "{{minecraft_view_distance}}"} |
|
101 |
- {key: "snooper-enabled", value: "false"} |
|
| 19 | 102 |
|
103 |
- name: install systemd service |
|
104 |
become: yes |
|
105 |
template: |
|
|
164
ae19501f5251
Updated minecraft to be multi-world and minimized world size.
Luke Hoersten <luke@hoersten.org>
parents:
163
diff
changeset
|
106 |
src: "[email protected]" |
|
ae19501f5251
Updated minecraft to be multi-world and minimized world size.
Luke Hoersten <luke@hoersten.org>
parents:
163
diff
changeset
|
107 |
dest: "/lib/systemd/system/[email protected]" |
|
111
1c1a911b26aa
Made minecraft role support vanilla and paper forks.
Luke Hoersten <luke@hoersten.org>
parents:
107
diff
changeset
|
108 |
notify: restart minecraft |
| 19 | 109 |
|
110 |
- name: ensure service is started |
|
111 |
become: yes |
|
|
164
ae19501f5251
Updated minecraft to be multi-world and minimized world size.
Luke Hoersten <luke@hoersten.org>
parents:
163
diff
changeset
|
112 |
systemd: name="minecraft@{{minecraft_world_name}}.service" enabled="yes" state="started" |