This repository has been archived on 2020-08-22. You can view files and clone it, but cannot push or open issues or pull requests.
ansible/games.yml

110 lines
6.7 KiB
YAML

---
- hosts: games
vars:
apt:
packages:
- { package: "openjdk-13-jre-headless", state: present }
- { package: "unzip", state: present }
- { package: "mono-complete", state: present }
systemd:
services:
- { name: "paper-server", enabled: true, action: restarted }
- { name: "factorio", enabled: true, action: restarted }
- { name: "tshock", enabled: true, action: restarted }
file:
- { path: "/etc/paper", owner: "nobody", group: "nogroup", mode: "760", state: directory }
- { path: "/etc/factorio", owner: "nobody", group: "nogroup", mode: "760", state: directory }
- { path: "/etc/factorio/config", owner: "nobody", group: "nogroup", mode: "760", state: directory }
- { path: "{{ minecraft.paths.data }}/plugins", owner: "nobody", group: "nogroup", mode: "760", state: directory }
- { path: "{{ minecraft.paths.data }}/worlds", owner: "nobody", group: "nogroup", mode: "760", state: directory }
- { path: "{{ minecraft.paths.data }}/plugins/Essentials", owner: "nobody", group: "nogroup", mode: "760", state: directory }
- { path: "{{ minecraft.paths.data }}/plugins/WorldGuard", owner: "nobody", group: "nogroup", mode: "760", state: directory }
- { path: "{{ minecraft.paths.data }}/plugins/WorldGuard/worlds", owner: "nobody", group: "nogroup", mode: "760", state: directory }
- { path: "{{ minecraft.paths.data }}/plugins/WorldGuard/worlds/{{ minecraft.settings.level_name }}", owner: "nobody", group: "nogroup", mode: "760", state: directory }
- { path: "{{ minecraft.paths.data }}/plugins/bPermissions", owner: "nobody", group: "nogroup", mode: "760", state: directory }
- { path: "{{ minecraft.paths.data }}/plugins/bPermissions/global", owner: "nobody", group: "nogroup", mode: "760", state: directory }
- { path: "/opt/terraria", owner: "nobody", group: "nogroup", mode: "760", state: directory }
mounts:
- { uuid: 'adee3616-5461-4279-b587-fea73ba468a9', dest: '{{ minecraft.paths.data }}', state: 'mounted', fstype: 'xfs' }
- { uuid: '652d7dff-ca35-418d-b6dc-f50814adccba', dest: '{{ factorio.paths.data }}', state: 'mounted', fstype: 'xfs' }
- { uuid: 'a6df145a-42f3-41a3-8135-4c16b3692db1', dest: '{{ terraria.paths.data }}', state: 'mounted', fstype: 'xfs' }
factorio:
paths:
data: "/mnt/factorio"
bind:
address: "0.0.0.0"
port: "{{ global.games.factorio.port }}"
terraria:
world: "Main"
bind:
ip: "{{ ansible_ens10.ipv4.address }}"
port: "{{ global.games.terraria.port }}"
paths:
data: "/mnt/terraria"
configs:
- "config.json"
- "sscconfig.json"
minecraft:
paths:
data: "/mnt/minecraft"
plugins:
- { url: "https://rymatemc.co.uk/jenkins/job/bPermissions/184/artifact/bukkit/build/libs/bPermissions-Bukkit-2.12.4-all.jar", name: "bPermissions-Bukkit-2.12.4-all.jar" }
- { url: "https://ci.ender.zone/job/EssentialsX/926/artifact/Essentials/target/EssentialsX-2.17.2.112.jar", name: "EssentialsX.jar" }
- { url: "https://ci.ender.zone/job/EssentialsX/926/artifact/EssentialsAntiBuild/target/EssentialsXAntiBuild-2.17.2.112.jar", name: "EssentialsXAntiBuild.jar" }
- { url: "https://ci.ender.zone/job/EssentialsX/926/artifact/EssentialsChat/target/EssentialsXChat-2.17.2.112.jar", name: "EssentialsXChat.jar" }
- { url: "https://ci.ender.zone/job/EssentialsX/926/artifact/EssentialsGeoIP/target/EssentialsXGeoIP-2.17.2.112.jar", name: "EssentialsXGeoIP.jar" }
- { url: "https://ci.ender.zone/job/EssentialsX/926/artifact/EssentialsProtect/target/EssentialsXProtect-2.17.2.112.jar", name: "EssentialsXProtect.jar" }
- { url: "https://ci.ender.zone/job/EssentialsX/926/artifact/EssentialsSpawn/target/EssentialsXSpawn-2.17.2.112.jar", name: "EssentialsXSpawn.jar" }
configs:
- "server.properties"
- "ops.json"
- "whitelist.json"
- "plugins/bPermissions/config.yml"
- "plugins/Essentials/motd.txt"
- "plugins/bPermissions/global/groups.yml"
- "plugins/bPermissions/global/users.yml"
- "plugins/Essentials/config.yml"
- "plugins/WorldGuard/worlds/world/regions.yml" # Uses level_name but cannot be used because of "loops"
local_plugins:
- "plugins/worldguard-bukkit-7.0.2.jar"
- "plugins/worldedit-bukkit-7.1.0.jar"
- "plugins/Vault.jar"
files:
- "server-icon.png"
listen:
ip: '{{ ansible_ens10.ipv4.address }}'
port: '{{ global.games.minecraft.port }}'
settings:
players: '24'
rcon:
enabled: "true"
port: 25575
password: "{{ vault_minecraft.rcon.password|default() }}"
motd: "\\u00A74\\u00A7l[RedXen]\\u00A7r \\u00A76Now more stable than ever on AMD Epyc\\u00A7r\\n\\u00A71Public server - hosted by \\u00A74redxen.eu"
whitelist: "false"
difficulty: "medium"
online: "true"
build_height: 256
view_distance: 12
level_name: "world"
gamemode: "survival"
pvp: "true"
spawn_protection: 32
vault:
roles:
- "minecraft"
- "factorio"
firewall:
- { port: "{{ factorio.bind.port }}", ipv: "v4", proto: "udp" }
- { port: "{{ factorio.bind.port }}", ipv: "v6", proto: "udp" }
roles:
- vault
- mounts
- apt
- file
- factorio
- minecraft
- terraria
- systemd
- firewall