diff --git a/Dockerfile b/Dockerfile
index bbb57d7101ed381e338fe4a9bd29f1a1da82d339..872300c5d865ad37c03101367415fc2fa67fed82 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,10 +1,10 @@
 # Base image on OpenJDK 11 JRE
 FROM openjdk:11.0-jre-slim
-LABEL org.label-schema.name="clspigot-docker"
-LABEL org.label-schema.description="Docker Container for an Papermc Server"
-LABEL org.label-schema.vcs-url="https://gitlab.cl.uni-heidelberg.de/tmueller/clspigot-docker/"
-LABEL maintainer="mueller@tobistech.ovh"
-LABEL org.label-schema.schema-version=1.0
+LABEL org.label-schema.name="clspigot-docker" \
+      org.label-schema.description="Docker Container for an Papermc Server" \
+      org.label-schema.vcs-url="https://gitlab.cl.uni-heidelberg.de/tmueller/clspigot-docker/" \
+      maintainer="mueller@tobistech.ovh" \
+      org.label-schema.schema-version=1.0
 
 # Execute all the following instructions in the container as user "root"
 USER root
@@ -24,25 +24,29 @@ ENV MC_VERSION="latest" \
     JAVA_OPTS="-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true" \
 #Man kann nun auch die guid des eigenen benutzers passen und mus somit nichtmehr die rechte des hostsystems anpassen, bitte die GUID eines non-root users nehmen der an dem speicherort zugriff hat.
     GUID=61000 \
-    TZ=Europe/Berlin
-# Copy over the three script files (entrypoint, backup and restore)
-COPY papermc.sh /
-COPY backup.sh /
-COPY restore.sh /
-COPY health.sh /
-COPY test.sh /
+    TZ=Europe/Berlin \
+    TM_BASE_AUTH="tmueller:supercooles_passwort_hier_einfuegen" \
+    TM_BASE_URL="https://tobistechblog.de/uni/initial.tar.gz"
+# Copy over the three script files (entrypoint, backup, restore, helath, test(optional) and crontab
+COPY papermc.sh backup.sh restore.sh health.sh test.sh /
+COPY crontab /etc/cron.d/backup
+
 # Set Timezone
 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
 
-# Create /papermc and /backup directories
-RUN mkdir /papermc /backup
+# Create /papermc and /backup directories and /web for the dynmap
+RUN mkdir /papermc /backup /web
+
+#sets permission for the cronjobs
+RUN chmod 0644 /etc/cron.d/backup
+#starts the service for cron
 
-# Add papermc user and group, then change ownership of /papermc and /backup to this user
-RUN groupadd -g ${GUID} ${papermc_group}
-RUN useradd -g ${GUID} -l -M -s /bin/false -u ${GUID} ${papermc_user}
-RUN chown -R ${papermc_user} /papermc
-RUN chown -R ${papermc_user} /backup
 
+# Add papermc user and group, then change ownership of /papermc and /backup to this user
+RUN groupadd -g ${GUID} ${papermc_group} 
+RUN useradd -g ${GUID} -l -M -s /bin/false -u ${GUID} ${papermc_user} 
+RUN chown -R ${GUID} /papermc/ 
+RUN chown -R ${GUID} /backup/
 
 # Get package lists, install needed packages, then remove the package lists again (to save space)
 # "webp" is needed to generate images with better compression for the dynamic map (optional, needs further configuration in dynmap-plugin´s config file)
@@ -55,8 +59,9 @@ RUN apt-get update && apt-get install -y \
     jq \
     screen \
     webp \
-    && rm -rf /var/lib/apt/lists/*
-
+    nano \
+    && rm -rf /var/lib/apt/lists/* \
+    service cron start
 # Execute all following commands as the papermc user
 USER $papermc_user
 
@@ -70,6 +75,8 @@ HEALTHCHECK --interval=10s --timeout=10s --start-period=30s \
 # Container setup, specifies needed ports. May be adjusted or overwritten if plugins need other ports
 EXPOSE 25565/tcp
 EXPOSE 25565/udp
+
 #Specifies the datastructure in the container
 VOLUME /papermc
 VOLUME /backup
+VOLUME /web
diff --git a/README-dev.md.txt b/README-dev.md
similarity index 71%
rename from README-dev.md.txt
rename to README-dev.md
index a248204a9d2a191a604d0abbcf91db2a8e344f6b..6ca1815d5ece5d41cd61fabc742271b750ff0ec9 100644
--- a/README-dev.md.txt
+++ b/README-dev.md
@@ -1,16 +1,16 @@
 # TODOs (Next Merge request)
 
 - [ ] Automatisierung des testscripts, evtl in git so integrieren damit wenn alle essentiellen tests bestanden sind
-und ein Approval gegeben ist automatisch in meinem branch played-around gemerged werden (if possible)
-- [ ] 
+und ein Approval gegeben ist automatisch gemerged werden (if possible)
+- [x] Backupscript unabhängig von essentials machen
+- [x] Alternative Übergangslösung zum verwalten der minecraft configs falls container ohne bind-mounts erstellt wird (z.B. nano)
+- [ ] Dokumentation mit Struktur (z.B. docs/user docs/admin etc)
 
 # Future Plans
 - [ ] Entwikclung einer Weboberfläche für einfache administration (Jedoch keine klassische Ready-to-buy-Lösung sondern eine minimalistische effiziente Variante
 In erster Linie für Verwaltung von Spielinternen dingen wie z.B. Rechteverwaltung, Spielerliste, Banliste, evtl Aktuelle Auslastung etc
 - [ ] Automatische Pluginupdates
-- [ ] 
-- [ ] 
-- [ ] 
+- [ ] inkrementelle Backups zur Effizienteren Speicherplatzbelegung
 - [ ] 
 
 
diff --git a/README.md b/README.md
index d49282c51dff1be339dc8e14f374919a07cac0ad..2539acd1e3c310a42b24ae3031175bc15468ac98 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 Maintainer: Tobias Müller <tmueller@cl.uni-heidelberg.de>
 
-Dieses Image basiert auf der Arbeit von https://github.com/Phyremaster/papermc-docker und wurde so modifiziert, dass nur noch ein Befehl genutzt werden muss, um das Image auf einem beliebigen Server zu starten.
+Dieses Image basiert auf der Arbeit von https://github.com/Phyremaster/papermc-docker und wurde um Sicherheitsanpassungen und weiteren Funktionen erweitert. 
 
 ## :whale: Setup mit Docker
 
@@ -80,12 +80,26 @@ Der Platzhalter `NAME_DER_VARIABLE` wird durch den Namen der Umgebungsvariable e
 | `PAPER_BUILD`     | Nummer des zu verwendenden PaperMC-Builds | `#355`   | Normalerweise irrelevant (kann bei „latest“ belassen werden)                                                                                                                                                                      |
 | `MC_RAM`          | Speichermenge in Mega- oder Gigabyte      | `4G`     | Für die Flags der Java VM, die der Maintainer aktuell nutzt, empfiehlt es sich 6GB minimum zuzuweisen oder maximal 10GB                                                                                                           |
 | `JAVA_OPTS`       | Javaspezifische Parameter                 | *siehe unten* | Nur ändern, wenn es notwendig ist und man weiß, was man tut! Ausnahme: Wenn der Server mit weniger RAM laufen soll, kann man hier die für Spigot üblichen Flags (siehe SpigotMC-Docs) einsetzen, um Aikars Flags zu überschreiben |
+| `TM_BASE_AUTH`    | Passwort für tarball mit vorkonfigurierten Minecraftserver (Nur Uniintern)| passwort | Falls Tarball nicht per .htaccess gesichert (nicht Empfohlen kann diese variable leergelassen werden |
+| `TM_BASE_URL`     | URL unter der, der Tarball heruntergeladen werden kann |  https://example.tld/...  | Wird zusammen mit TM_BASE_AUTH bei bedarf in docker-compose im Abschnitt `environment:` spezifiziert  |
 
 ### Beispiel für javaspezifische Parameter
 
 ```
 -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true
 ```
+## :floppy_disk: Backups
+
+Jeden Tag um 7:30 wird ein Backup des Servers gemacht und unter `/backups` im Container gespeichert. `Backups` wird als eigenes Volume gespeichert.
+Um manuell ein Backup zu initieren geht das entweder (Falls EssentialsX installiert und konfiguriert ist) von minecraft aus per `/backup` 
+ 
+ Zum wiederherstellen eines backups muss folgende befehle vom Haost-System ausgeführt werden:
+ ```
+# docker exec -it papermc_papermc_1 /bin/bash
+$ bash restore.sh
+```
+
+Ihr bekommt die verfügbaren Backups angezeigt und könnt dann das Datum als Auswahl eingeben zum wiederherstellen.
 
 ## :clipboard: Befehle
 
@@ -131,6 +145,10 @@ In diesem Fall stürzt der Minecraft-Server immer wieder ab und wird direkt dana
 
 ## :books: Weitere Ressourcen 
 
+In kürze verfügbar:
+
+- [Read the Docs] (https://gitlab.cl.uni-heidelberg.de/tmueller/clspigot-docker/-/blob/beta/docs/user.md)
+
 Projektsites des ursprünglichen Images von Phyremaster:
 
 - [GitHub](https://github.com/Phyremaster/papermc-docker)
diff --git a/backup.sh b/backup.sh
index 57310d0903b4821cd14482d7a9489c7674db97e8..d97a8c491f2453b24caa9613fd82db364356f02b 100755
--- a/backup.sh
+++ b/backup.sh
@@ -10,8 +10,10 @@ dateformat=$(date +%F_%H)UTC$ext
     else
         mkdir -p $backupdir
     fi
-    tar -czvf $backupdir$dateformat --exclude="plugins/dynmap/web/tiles" --exclude="cache/" --exclude="*.gz" --exclude="spigo*.jar" --exclude="paper*.jar" * 
-	chmod +rw $backupdir$dateformat
+    screen -r mc -p 0 -X stuff "save-off^M" #Sends an input to screen-session conatining the papermc-server to disable world saving from minecraft
+    tar -czf $backupdir$dateformat --exclude="plugins/dynmap/web/tiles" --exclude="cache/" --exclude="*.gz" --exclude="spigo*.jar" --exclude="paper*.jar" papermc/* #creates a compressed tarball of the minecraft folder
+    screen -r mc -p 0 -X stuff "save-on^M" #enables it again
+    chmod +rw $backupdir$dateformat
     echo "Backup complete."
 
 exit 0
\ No newline at end of file
diff --git a/crontab b/crontab
new file mode 100644
index 0000000000000000000000000000000000000000..5fb2ee789257c14423ae55e03192ed70c66acf6c
--- /dev/null
+++ b/crontab
@@ -0,0 +1 @@
+30 7 * * * /papermc/backup.sh
diff --git a/docs/user.md b/docs/user.md
new file mode 100644
index 0000000000000000000000000000000000000000..2af08096c14aaac3435404eb16a5e759039acdde
--- /dev/null
+++ b/docs/user.md
@@ -0,0 +1,7 @@
+# Fachschaftsminecraftserver Dokumentation
+
+Maintainer: Tobias Müller <tmueller@cl.uni-heidelberg.de>
+
+Dieses Image basiert auf der Arbeit von https://github.com/Phyremaster/papermc-docker und wurde so modifiziert, dass nur noch ein Befehl genutzt werden muss, um das Image auf einem beliebigen Server zu starten.
+
+## (emoji_spacer) 
\ No newline at end of file
diff --git a/papermc.sh b/papermc.sh
index 088ea73295379e457f3522d236a6633064635844..7157e397259c61ebe559dd2e3e01fd84f20d14e4 100755
--- a/papermc.sh
+++ b/papermc.sh
@@ -2,8 +2,6 @@
 
 # Configuration
 PAPER_URL=https://papermc.io/api/v2/projects/paper
-TM_BASE_AUTH=tmueller:supercooles_passwort_hier_einfuegen
-TM_BASE_URL=https://tobistechblog.de/uni/initial.tar.gz
 
 # Enter server directory
 cd /papermc
@@ -43,11 +41,11 @@ if [ ! -e ${JAR_NAME} ]
 fi
 
 # Download base plugins, worlds and configuration by Tobias Müller
-#if [ ! -d "plugins" ]
-# then
-#   curl -u ${TM_BASE_AUTH} ${TM_BASE_URL} --output initial.tar.gz
-#   tar -xvzf initial.tar.gz
-#fi
+if [ ! -d "plugins" ]
+ then
+   curl -u ${TM_BASE_AUTH} ${TM_BASE_URL} --output initial.tar.gz
+   tar -xvzf initial.tar.gz
+fi
 
 exec_stop () {
   echo "\n## Recieved SIGINT/SIGTERM; Shutting down container..."
diff --git a/restore.sh b/restore.sh
index b08d95abf75e35468f5883390ca857b414aeeb85..126c5dca9a53768e348716fbba5aed3f01c170c8 100755
--- a/restore.sh
+++ b/restore.sh
@@ -1,8 +1,10 @@
 #!/bin/bash
 #script zum wiederherstellen eines backups
-cd /backups
+cd /backup
 ls -l
 read -p "Gib das auszuwählende backup ein ohne Dateiendung: " var
+echo "Alle Daten werden nach bestätigung gelöscht und das ausgewählte Backup wiederhergestellt."
+read
 rm -r /papermc/*
 tar xvzf $var.tar.gz --directory=/papermc
 echo
diff --git a/test.sh b/test.sh
index 0e85ab7bbffddef9c8db6b2a7228752eb2f1590f..5c34f941d2e01c9a7f6969d3c819d04adede1471 100644
--- a/test.sh
+++ b/test.sh
@@ -9,9 +9,8 @@ if [ $? = 1 ]
       echo "Health: Test_Passed"
 fi
 
-screen -r mc -p 0 -X stuff "backup^M"
-echo "Give it some time to start the backup process..."
-sleep 10
+bash /backup.sh
+
 LEER="true" && ls /backup/* 2> /dev/null > /dev/null && LEER="false"
 if [ $LEER = "true" ]
  then 
@@ -20,8 +19,19 @@ if [ $LEER = "true" ]
    echo "Backup: Test_Passed"
 fi
 
+echo "Log for additional uncatched Problems"
 tail /papermc/logs/latest.log
 
 echo "Optionale Tests:"
+echo "Backup Job in cron found?"
+cat /etc/cron.d/backup
 
-ls -lanR /papermc/plugins/dynmap/web/standalone
\ No newline at end of file
+if [ -d "/papermc/plugins/dynmap/web/standanlone" ]
+ then 
+   echo "Dynmap exists: Test_Passed" 
+   echo "Check permissions manually:"
+   ls -lanR /papermc/plugins/dynmap/web/standalone
+ else 
+   echo "Backup: Test_Failed"
+   echo "Dynmap nicht vorhanden"
+fi
\ No newline at end of file