diff --git a/.gitignore b/.gitignore index 611281b..f8b6ad3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -inventory.yml \ No newline at end of file +inventory.yml +saves/ \ No newline at end of file diff --git a/download.yml b/download.yml new file mode 100644 index 0000000..0262288 --- /dev/null +++ b/download.yml @@ -0,0 +1,15 @@ +--- +- name: Setup Factorio + hosts: all + remote_user: root + + tasks: + - name: Stop factorio + ansible.builtin.systemd: + state: stopped + name: factorio + + - name: Store file /opt/factorio/saves/my-save.zip + ansible.builtin.fetch: + src: /opt/factorio/saves/my-save.zip + dest: "./saves/" \ No newline at end of file diff --git a/factorio-mod-downloader/mod-downloader.py b/factorio-mod-downloader/mod-downloader.py index f690bf1..f8db775 100644 --- a/factorio-mod-downloader/mod-downloader.py +++ b/factorio-mod-downloader/mod-downloader.py @@ -5,7 +5,7 @@ from os.path import exists def login(username, password): print("> Login for user "+username) - payload = {'username': username, 'password': password', 'api_version':'4'} + payload = {'username': username, 'password': password, 'api_version':'4'} headers = {'content-type': 'application/json'} r = requests.post("https://auth.factorio.com/api-login", data=payload) diff --git a/setup.yml b/setup.yml index 2957dab..fc1018e 100644 --- a/setup.yml +++ b/setup.yml @@ -45,6 +45,19 @@ args: chdir: /opt/factorio/mods/ loop: "{{ mods }}" + + - name: Check if Map exists on server + stat: + path: "/opt/factorio/saves/my-save.zip" + register: mapPreExists + + + - name: Upload Saved file from locale disk to server + ansible.builtin.copy: + src: "./saves/{{ inventory_hostname }}/opt/factorio/saves/my-save.zip" + dest: /opt/factorio/saves/my-save.zip + failed_when: False + when: mapPreExists.stat.exists == False - name: Check if Map exists on server stat: