- 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