Rework directory structure

This commit is contained in:
2025-12-29 15:44:02 -05:00
parent 8f7aafb024
commit 1003d76756
12 changed files with 358 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
- name: Setup directory
become: true
become_user: root
ansible.builtin.file:
path: "/var/minecraft/{{mc_instance}}"
state: directory
owner: minecraft
group: ansible
- name: Setup cfg file
ansible.builtin.template:
owner: minecraft
src: server.properties.j2
dest: "/var/minecraft/{{mc_instance}}/server.properties"
- name: Download JAR
ansible.builtin.get_url:
url: https://meta.fabricmc.net/v2/versions/loader/1.21.11/0.18.4/1.1.0/server/jar
dest: "/var/minecraft/{{mc_instance}}/server.jar"
- name: Set EULA
ansible.builtin.template:
owner: minecraft
src: eula.txt.j2
dest: "/var/minecraft/{{mc_instance}}/eula.txt"
- name: Install service file
become_user: root
ansible.builtin.template:
src: service.j2
dest: "/etc/systemd/system/minecraft-{{mc_instance}}.service"
- name: Install start script
ansible.builtin.template:
owner: minecraft
src: start.sh.j2
dest: "/var/minecraft/{{mc_instance}}/start.sh"
mode: '550'
- name: Create mods directory
ansible.builtin.file:
path: "/var/minecraft/{{mc_instance}}/mods"
state: directory
- name: Create config directory
ansible.builtin.file:
path: "/var/minecraft/{{mc_instance}}/config"
state: directory
- name: Install mods
ansible.builtin.get_url:
url: "{{item.url}}"
dest: "/var/minecraft/{{mc_instance}}/mods/{{item.dest}}"
loop: "{{mods}}"
- name: Install FabricProxy Config
ansible.builtin.template:
owner: minecraft
src: FabricProxy-Lite.toml.j2
dest: "/var/minecraft/{{mc_instance}}/config/FabricProxy-Lite.toml"
- name: Start service
become_user: root
ansible.builtin.systemd_service:
name: "minecraft-{{mc_instance}}"
enabled: true
state: started

View File

@@ -0,0 +1 @@
secret = "{{proxy_secret}}"

View File

@@ -0,0 +1 @@
eula=true

View File

@@ -0,0 +1,59 @@
#Minecraft server properties
#(File modification date and time)
enable-jmx-monitoring=false
rcon.port={{rcon_port}}
level-seed=
gamemode=survival
enable-command-block=false
enable-query=false
generator-settings={}
enforce-secure-profile=true
level-name=world
motd={{motd}}
query.port=25565
pvp=true
generate-structures=true
max-chained-neighbor-updates=1000000
difficulty=easy
network-compression-threshold=256
max-tick-time=60000
require-resource-pack=false
use-native-transport=true
max-players=20
online-mode=true
enable-status=true
allow-flight=false
initial-disabled-packs=
broadcast-rcon-to-ops=true
view-distance=10
server-ip=
resource-pack-prompt=
allow-nether=true
server-port={{server_port}}
enable-rcon={{rcon_enable}}
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={{rcon_password}}
player-idle-timeout=0
force-gamemode=false
rate-limit=0
hardcore=false
white-list={{mc_whitelist}}
broadcast-console-to-ops=true
spawn-npcs=true
spawn-animals=true
log-ips=true
function-permission-level=2
initial-enabled-packs=vanilla
level-type=minecraft\:normal
text-filtering-config=
spawn-monsters=true
enforce-whitelist=false
spawn-protection=16
resource-pack-sha1=
max-world-size=29999984

View File

@@ -0,0 +1,11 @@
[Unit]
Description= Minecraft server instance {{mc_instance}}
Requires=network.target
[Service]
ExecStart=/var/minecraft/{{mc_instance}}/start.sh
User=minecraft
Group=minecraft
[Install]
WantedBy=default.target

View File

@@ -0,0 +1,3 @@
#!/bin/bash
cd /var/minecraft/{{mc_instance}}
java -Xmx{{max_memory}}M -Xms{{small_memory}}M -jar server.jar -nogui