Von Factorio

Ich spiele in meiner Freizeit unter Anderem ein Spiel namens Factorio.
Kurz zusammengefasst ist Factorio ein Spiel in dem es darum geht eine Produktion zu automatisieren.

Dieses Video erklärt das Konzept des Spiels sehr gut.

https://www.youtube.com/watch?v=KVvXv1Z6EY8

Das Spiel lässt sich mit mehreren Spielern auf einem Server spielen.
Es gibt einen super Docker Container für Factorio, der es einem erlaubt im Handumdrehen einen Server aufzusetzen.

Leider gibt es kein einfaches Feature andere Spieler Maps auf den Server laden zu lassen, also habe ich mit Nextcloud mal eine Lösung zusammengeklöppelt.

Was Ihr braucht:

  • Einen Docker Host auf dem der dtandersen/factorio Container läuft
  • Eine ressource, von der Ihr Savegames herunterladen und eine Datei prüfen könnt

Die Idee:

  • Der Docker Host führt jede Minute ein script (siehe unten) aus

Fügt hierzu in der /etc/crontab folgende Zeile hinzu und benutzt den Pfad, wo Ihr das script abgelegt habt.

* * * * * root /path/to/script.sh

  • In diesem Script wird der Inhalt einer Textdatei in einer Ressource eurer Wahl über ssh geprüft
  • Ist der Inhalt dieser Datei nicht 1, passiert nichts
  • Ist der Inhalt dieser Datei 1 wird das Script ausgeführt

Das Script:

  • Stoppt docker
  • Verschiebt die aktuelle map in ein Backupverzeichnis
  • löscht das aktuelle Savegame
  • Vebindet sich mit einer ressource, *.zip herunter und legt es in das Savegameverzeichnis
  • Ändert den Owner des Savegames, so dass der Docker Container damit arbeiten kann
  • Startet docker wieder
  • Schreibt ein Log in die Ressource

Verzeichnisse:

  • Savegame location, gemounted vom Container /opt/factorio/save

Ihr müsst das Script noch von Hand anpassen, genauso wie ssh keys generieren.
Es ist nicht schön, es ist nicht sauber aber es funktioniert.

 

Cheers,
Ori

 

#!/bin/bash
factorio=$(ssh root@IP 'cat path/to/Checkme.txt')

if (echo $factorio | grep -q "1")
then
service docker stop
cp /opt/factorio/saves/save.zip /opt/factorio/backup_save/save.zip
rm -rf /opt/factorio/saves/*
scp root@IP:/path/to/savegame/\*.zip /opt/factorio/saves/.
chown -R 845:845 /opt/factorio/saves

service docker start

ssh root@192.168.122.79 'echo "0" > path/to/Checkme.txt'
ssh root@192.168.122.79 'echo "Server rebooted at $(date +\%d-\%m-\%Y-\%H-\%M-\%S)" >> path/to/RebootLog.txt'
factorio=0
else
echo "DEBUG ME SEMPAI"
fi


Migrating a calendar from one nextcloud to another

This article will show you how to download a calendar from a nextcloud and upload it to another.

Export

First login to the nextcloud that you want to export the calendar from and change to the calendar app.
Klick on the three dots on the left hand side and select Download.

The calendar will be downloaded to your machine as a .ics file.
If you plan on exporting multiple calendars, you should rename these files.

Import

If you have exported all the calendars that you want to export, login to the new nextlcloud.
Change to the calendar app and go to Settings & Import in in the lower left hand corner.

The settings will expand and you can choose Import Calendar.
Upload the .ics file you have previously downloaded.

In the window opening after the upload you can decider if you want to import the calendar items into a existing calendar or create a new one.
I choose New calendar in this example.

By clicking on the green check symbol the import process starts.
Please do not interrupt it.

Afterwards the import should be complete.
Please keep in mind that your new calendar is not shared with anyone on the new cloud yet.
If you did share it on the old NextCloud and want to share it on this one as well, you will have to share it again.

Cheers,
Ori


Android calendar and contacts synchronisation

In this post I will show you how to setup your android to sync with the nextcloud.

The idea is to be able to see the NextCloud calendar appointments on the Adroid device and be able to add new ones on it.

Since adding CalDAV (calendar) and CardDAV (contacts) to android is not supported nativley you will have to install a 3rd party tool. I choose to use the open source tool DAVdroid for that.

If you have a few bucks to spare, are lazy or both please buy the app in the app store and support the developers.

(If you do, you can skip the first 6 steps)

Since DAVdroid is open source you can get the app for free. This is how you get the apk.

1) Visit the DAVdroid seite and click on Open Source > download the App on F-Droid

2) Download the APK

3) Your device will warn you about instaling software from unknown sources.
Go to settings.

4) Here you can allow the installation from unknown sources "once".

5) Disable the android battery life optimizer as it can interrupt the DAVdroid sync.

6) Click the plus in DAVdroid

8) Here you can insert the connection details of your NextCloud

https://<URL>/nextcloud/remote.php/dav/principals/users/USER/

If you are unsure, just copy them.
Go to the calendar and click on Settings & Import in the lower left corner.

At the URL replace USER with the login name !

9)Now define wether you want to sync calendar and/or contacts and click on the two arrows on the top to trigger a manual synchronisation.

Thats it.
The connection is established and contacts should get uploaded.

Also calendar objects should start appearing and you should be able to create them.

 

Cheers,
Ori


Setup iOS filesync

In this aritcle I want to show you how you can setup a filesync on an iOS device.
The idea is that famely members can use the nextcloud to access photos made by an iPad or drop files on the device.

Preparing the accounts

Login to your NextCloud using an administrative account and go to Users.

Create a new user for the iPad.
This user will later be used to sync the iPad with the NextCloud.

 

Setting up the synchronisation

Download the NextCloud app from the app store.

Login to the app using the newly created NextCloud app.

Delete the default folders and create a folder that you want to share with others.
I called this folder iPadFN.

Go to '...', select share and then select the users or groups that you want to share the devices content with.

Then enter the folder you just shared.
Create some folders for the type of files you want to share.
In my case this would be books and photos.

Select the three dots on the folder you want to upload your pictures to.
Click on folder for automatic upload.
You need to do this BEFORE you change the settings of what gets uploaded.

Then go to More > Settings > Automatic Uploads and tweak the settings the way you want them.
In the end select upload entire camera storage.
This will apply the changes and is probably going to take a while.

Thats it, the setup is complete.
When the device is connected to a wifi pictures should get uploaded automaticly.

Now you just have to drop some files in the shared folder...

 

 

... and they get synched to the device.

 

Cheers,
Ori


Android Kalender- und Kontaktsynchronisation

In diesem Artikel zeige ich euch, wie Ihr den Kalender in der Nextcloud mit dem Kalender auf eurem Android synchronisiert.
Die Idee ist, dass ihr auf eurem Telefon sofort in der Cloud eingetragene Termine seht und selbst hinzufügen könnt.

Da Android die Einbindung von CalDAV (Kalender) und CardDAV (Kontakte) nicht unterstützt müssen wir diese Funktion erst installieren.
Hierfür nutzen wir DAVdroid. Wenn ihr das Kleingeld habt, unterstützt bitte die Entwickler, indem ihr die Software im PlayStore kauft.
(Ihr könnt die ersten 6 Schritte dann überspringen)

DAVdroid ist open source.
In diesem Artikel zeige ich, wie Ihr die APK gratis bekommt und dann die NextCloud anbindet.

1) DAVdroid Seite besuchen und bei Open Source
auf download the App on F-Droid klicken

 

 

2) Hier die APK herunterladen

 

3) Euer Handy warnt euch davor,
Software aus unbekannten Quellen zu installieren.

Geht zu Einstellungen

4) Hier sagt Ihr jetzt, dass euer Handy "einmalig"
eine Software aus unbekannter Quelle installieren darf

5) Die Akku Leistungsoptimierung von Android deaktivieren,
da sie sonst die Synchronisierung von DAVdroid stoppt

6) In DAVdroid auf das Plus klicken

8) Hier die Verbindungsdaten der Nextcloud eingeben

https://<URL>/nextcloud/remote.php/dav/principals/users/USER/

Wenn Ihr euch nicht sicher seid, kopiert Sie aus der NextCloud.
Geht dazu in den Kalender und erweitert unten links die Ansicht "Settings &Import"

Achtung: Bei URL eure Nextcloud und bei USER in der Serveradresse den Loginnamen verwenden!

9)Jetzt festlegen, ob ihr die Kontakte der Nextcloud
und die Kalender synchronisieren wollt und oben rechts auf die Pfeile klicken um die Synchronisation manuell anzustoßen

 

Damit ist die Verbindung hergestellt und Ihr könnt Kontakte hochladen.

 

Auch Termine sollten jetzt in eurem Kalender sichtbar werden und Ihr könnt neue Einträge anlegen.

 

Cheers,
Ori


iOS Dateisynchronisation herstellen

In diesem Artikel möchte ich euch zeigen, wie Ihr mit NextCloud eine Dateisynchronisation von einem iOS Gerät einrichten könnt.
Die Idee ist es, dass alle Personen in meinem Haushalt über die NextCloud auf die Fotos eines iPad zugreifen und Daten auf das Gerät laden können.

Account vorbereiten

Meldet euch hierzu an eurer NextCloud mit einem Administrativen Account an und geht auf Benutzer / Users.

Legt einen neuen Benutzer für das iPad an.
Dieser wird verwendet um die Daten der iPads mit der NextCloud zu synchronisieren.

Synchronisation einrichten

Ladet euch auf dem iOS Gerät die NextCloud App aus dem App store herunter.

Meldet euch mit dem neu erstellten Account in der NextCloud App an.

Löscht die Standard Ordner und Dateien und legt einen Ordner an, den Ihr für andere Personen freigeben wollt.
Ich habe diesen Ordner iPadFN genannt.

Geht auf '...', wählt Teilen aus klickt anschließend auf Benutzer oder Gruppen hinzufügen und fügt hinzu, mit wem Ihr den Inhalt des Geräts teilen wollt.

Wechselt anschließend in den geteilten Ordner und legt neue Ordner für die Art der Dateien an, die Ihr synchronisieren wollt.
In meinem Fall sind das Bücher und Photos.

Geht bei dem Ordner in den eure Photos hochgeladen werden sollen auf die drei Punkte und wählt Ordner für automatisches hochladen aus.
Es ist wichtig, dass ihr diesen Schritt ausführt BEVOR Ihr die Einstellungen für automatisches Hochladen anpasst.

Danach geht auf Mehr > Einstellungen > Automatisches Hochladen und passt die Einstellungen so an, wie Ihr sie haben wollt.
Wählt als letztes Den kompletten Kameraspeicher hochladen aus.
Wenn Ihr diese Option auswählt werden die Änderungen übernommen und angewendet, dies kann erstmal eine Weile dauern.

Damit ist die Einrichtung schon abgeschlossen.
Wenn das Gerät mit dem W-Lan verbunden ist, sollten Fotos die Ihr mit dem iPad macht, sofort in die Cloud geladen werden.

Jetzt müsst Ihr nur noch Dokumente in den Ordner legen ...

 

 

... und könnt sie euch direkt mit dem iPad ansehen.

 

Cheers,
Ori


Kalender von einer Nextcloud auf die andere verschieben

In diesem Artikel soll es darum gehen, wie man Kalender in der Nextcloud exportieren und importieren kann.

Export

Meldet euch zunächst auf der Nextcloud an, von der Ihr den Kalender exportieren wollt und wechselt in die Kalender App.
Hier klickt ihr auf der linken Seite die drei Punkte ... an wählt Download.

Der Kalender wird dann als eine .ics Datei auf euren Computer heruntergeladen.
Wenn Ihr vorhabt mehrere Kalender zu exportieren empfiehlt es sich, die Dateien nach dem Herunterladen umzubenennen.

Import

Wenn Ihr alle Kalender exportiert habt, die Ihr umziehen wollt, meldet euch bei der neuen Nextcloud an.
Wechselt dort in die Kalender App und klickt in der Fußzeile Settings & Import an.

Hierdurch erweitert sich die Ansicht bei Settings & Import.
Klickt auf Import Calendar und wählt den Kalender aus, den Ihr importieren wollt.

In dem folgenden Dialog könnt Ihr euch entscheiden, ob die Termine in einen bestehenden Kalender übernommen werden sollen.
Ich wähle hier New calendar, damit ein neuer Kalender angelegt wird.

Mit einem Klick auf das grüne Häkchen wird der Importvorgang angestoßen.
Unterbrecht diesen bitte nicht.

Anschließend sollte der Import eures Kalenders abgeschlossen sein.
Bedenkt, dass die Kalender-Freigaben nicht auf die neue Cloud mit übertragen wurden.
Ihr müsst eure Kalender also neu Freigeben.

Cheers,
Ori


Calendar Synchronisation - iPhone

In this article I will show you how to sync the calendar in Nextcloud with the one on an iPhone.
The idea is that you can create an event in the cloud and it will be on your phone within seconds.

 

1) Go to Preferences

2) Select accounts and passwords

3) Add account

4) Select type "different"

5) At calendar select CalDAV-Account

6) Add the data fron the nextcloud

Attention: behind /users/ you will need to put your login name!

Now you can test if you
can add Nextcloud events in your calendar.

7) Select Calendar

8) Create a new event

9) Now you can choose...

10) ... if the Event shoud be set up locally
or in the nextcloud

Cheers,
Ori


Nextcloud Kaldersynchronisation mit iPhone

In diesem Artikel zeige ich euch, wie Ihr den Kalender in der Nextcloud mit dem Kalender auf eurem iPhone synchronisiert.
Die Idee ist, dass ihr auf eurem Telefon sofort in der Cloud eingetragene Termine seht und selbst hinzufügen könnt.

 

1) Zuerst müsst Ihr in die Einstellungen wechseln

2) Hier wählt Ihr dann Accounts und Passwörter

3) Einen neuen Account hinzufügen

4) Vom Typ "Andere"

5) Unter Kalender einen CalDAV-Account hinzufügen

6) Hier die Daten der Nextcloud eingeben

Achtung: Bei BENUTZER in der Serveradresse den Loginnamen verwenden!

Nun könnt ihr testen,
ob ihr Termine sehen und Erstellen könnt.

7) Kalender auswählen

8) Neuen Termin erstellen

9) Unter Kalender könnt Ihr nun wählen...

10) ... ob der Termin lokal auf dem iPhone
oder in der Nextcloud
eingetragen wird.

Cheers,
Ori