minecraft: First vesion of ole
This commit is contained in:
parent
72c0b43efc
commit
7b9f2a2dfc
5 changed files with 183 additions and 0 deletions
2
roles/minecraft/defaults/main.yml
Normal file
2
roles/minecraft/defaults/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
minecraft_sha1sum: c8f83c5655308435b3dcf03c06d9fe8740a77469
|
12
roles/minecraft/files/minecraft.service
Normal file
12
roles/minecraft/files/minecraft.service
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Minecraft Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=minecraft
|
||||
Group=minecraft
|
||||
WorkingDirectory=/srv/minecraft
|
||||
ExecStart=/usr/bin/java -Xmx2048M -Xms1024M -jar /usr/local/lib/minecraft/server.jar nogui
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
54
roles/minecraft/files/server.properties
Normal file
54
roles/minecraft/files/server.properties
Normal file
|
@ -0,0 +1,54 @@
|
|||
#Minecraft server properties
|
||||
#Mon Mar 07 18:44:22 UTC 2022
|
||||
enable-jmx-monitoring=false
|
||||
rcon.port=25575
|
||||
level-seed=
|
||||
gamemode=survival
|
||||
enable-command-block=false
|
||||
enable-query=false
|
||||
generator-settings={}
|
||||
level-name=world
|
||||
motd=A Minecraft Server
|
||||
query.port=25565
|
||||
pvp=true
|
||||
generate-structures=true
|
||||
difficulty=easy
|
||||
network-compression-threshold=256
|
||||
require-resource-pack=false
|
||||
max-tick-time=60000
|
||||
use-native-transport=true
|
||||
max-players=20
|
||||
online-mode=true
|
||||
enable-status=true
|
||||
allow-flight=false
|
||||
broadcast-rcon-to-ops=true
|
||||
view-distance=10
|
||||
server-ip=
|
||||
resource-pack-prompt=
|
||||
allow-nether=true
|
||||
server-port=25565
|
||||
enable-rcon=false
|
||||
sync-chunk-writes=true
|
||||
op-permission-level=4
|
||||
prevent-proxy-connections=false
|
||||
hide-online-players=false
|
||||
resource-pack=
|
||||
entity-broadcast-range-percentage=100
|
||||
simulation-distance=10
|
||||
rcon.password=
|
||||
player-idle-timeout=0
|
||||
force-gamemode=false
|
||||
rate-limit=0
|
||||
hardcore=false
|
||||
white-list=false
|
||||
broadcast-console-to-ops=true
|
||||
spawn-npcs=true
|
||||
spawn-animals=true
|
||||
function-permission-level=2
|
||||
level-type=default
|
||||
text-filtering-config=
|
||||
spawn-monsters=true
|
||||
enforce-whitelist=false
|
||||
resource-pack-sha1=
|
||||
spawn-protection=16
|
||||
max-world-size=29999984
|
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
|
|
@ -12,3 +12,4 @@ id user group notes
|
|||
1004 docker docker docker registry
|
||||
1005 backup backup
|
||||
1006 mongod mongod
|
||||
1007 minecraft minecraft
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue