--- - name: Copy new jar to staging ansible.builtin.copy: src: "{{ spigot_update_dir }}/spigot-{{ minecraft_version }}.jar" dest: "{{ update_staging_dir }}/spigot-{{ minecraft_version }}.jar" owner: "{{ minecraft_user }}" group: "{{ minecraft_group }}" mode: '0644' remote_src: yes - name: Copy current configuration to staging ansible.builtin.synchronize: src: "{{ minecraft_server_dir }}/" dest: "{{ update_staging_dir }}/" rsync_opts: - "--exclude=*.jar" - "--exclude=world*" - "--exclude=logs" - "--exclude=crash-reports" delegate_to: "{{ inventory_hostname }}" - name: Update jar reference in staging ansible.builtin.replace: path: "{{ update_staging_dir }}/start.sh" regexp: 'spigot-.*\.jar' replace: 'spigot-{{ minecraft_version }}.jar' when: spigot_update_ready