Files
ansible/minecraft_servers/modded_minecraft_server/tasks/main.yaml
2025-12-29 15:31:58 -05:00

61 lines
1.7 KiB
YAML

- 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