diff --git a/app/classes/controllers/servers_controller.py b/app/classes/controllers/servers_controller.py
index 79ec384e..fc8ff3e8 100644
--- a/app/classes/controllers/servers_controller.py
+++ b/app/classes/controllers/servers_controller.py
@@ -529,8 +529,7 @@ class ServersController(metaclass=Singleton):
     def check_for_old_logs(self):
         servers = HelperServers.get_all_defined_servers()
         for server in servers:
-            logs_path = os.path.split(server["log_path"])[0]
-            latest_log_file = os.path.split(server["log_path"])[1]
+            logs_path, latest_log_file = os.path.split(server["log_path"])
             logs_delete_after = int(server["logs_delete_after"])
             if logs_delete_after == 0:
                 continue
diff --git a/app/classes/shared/main_controller.py b/app/classes/shared/main_controller.py
index 95599384..f1515031 100644
--- a/app/classes/shared/main_controller.py
+++ b/app/classes/shared/main_controller.py
@@ -280,9 +280,7 @@ class Controller:
                 return str(int(gibs * 1024))
 
             def _wrap_jar_if_windows():
-                return (
-                    f'"{full_jar_path}"' if Helpers.is_os_windows() else full_jar_path
-                )
+                return f'"{server_file}"' if Helpers.is_os_windows() else server_file
 
             server_command = (
                 f"java -Xms{_gibs_to_mibs(min_mem)}M "
@@ -339,8 +337,7 @@ class Controller:
             stop_command = "stop"
 
         log_location = data.get("log_location", "")
-        if log_location == "":
-            # TODO: different default log locations for server creation types
+        if log_location == "" and data["create_type"] == "minecraft_java":
             log_location = "./logs/latest.log"
 
         if data["monitoring_type"] == "minecraft_java":
@@ -404,7 +401,6 @@ class Controller:
             backup_path.replace(" ", "^ ")
 
         server_file = f"{server}-{version}.jar"
-        full_jar_path = os.path.join(server_dir, server_file)
 
         # make the dir - perhaps a UUID?
         Helpers.ensure_dir_exists(server_dir)
@@ -433,15 +429,15 @@ class Controller:
             server_command = (
                 f"java -Xms{Helpers.float_to_string(min_mem)}M "
                 f"-Xmx{Helpers.float_to_string(max_mem)}M "
-                f'-jar "{full_jar_path}" nogui'
+                f'-jar "{server_file}" nogui'
             )
         else:
             server_command = (
                 f"java -Xms{Helpers.float_to_string(min_mem)}M "
                 f"-Xmx{Helpers.float_to_string(max_mem)}M "
-                f"-jar {full_jar_path} nogui"
+                f"-jar {server_file} nogui"
             )
-        server_log_file = f"{server_dir}/logs/latest.log"
+        server_log_file = "./logs/latest.log"
         server_stop = "stop"
 
         new_id = self.register_server(
@@ -458,7 +454,9 @@ class Controller:
         )
 
         # download the jar
-        self.server_jars.download_jar(server, version, full_jar_path, new_id)
+        self.server_jars.download_jar(
+            server, version, os.path.join(server_dir, server_file), new_id
+        )
 
         return new_id
 
@@ -534,7 +532,7 @@ class Controller:
                 f"-Xmx{Helpers.float_to_string(max_mem)}M "
                 f"-jar {full_jar_path} nogui"
             )
-        server_log_file = f"{new_server_dir}/logs/latest.log"
+        server_log_file = "./logs/latest.log"
         server_stop = "stop"
 
         new_id = self.register_server(
@@ -614,7 +612,7 @@ class Controller:
                 f"-jar {full_jar_path} nogui"
             )
         logger.debug("command: " + server_command)
-        server_log_file = f"{new_server_dir}/logs/latest.log"
+        server_log_file = "./logs/latest.log"
         server_stop = "stop"
 
         new_id = self.register_server(
@@ -677,7 +675,7 @@ class Controller:
         else:
             server_command = f"./{server_exe}"
         logger.debug("command: " + server_command)
-        server_log_file = "N/A"
+        server_log_file = ""
         server_stop = "stop"
 
         new_id = self.register_server(
@@ -746,7 +744,7 @@ class Controller:
         else:
             server_command = f"./{server_exe}"
         logger.debug("command: " + server_command)
-        server_log_file = "N/A"
+        server_log_file = ""
         server_stop = "stop"
 
         new_id = self.register_server(
diff --git a/app/classes/web/ajax_handler.py b/app/classes/web/ajax_handler.py
index d78a4f0b..44ba6b34 100644
--- a/app/classes/web/ajax_handler.py
+++ b/app/classes/web/ajax_handler.py
@@ -1,5 +1,6 @@
 import os
 import html
+import pathlib
 import re
 import logging
 import time
@@ -62,7 +63,9 @@ class AjaxHandler(BaseHandler):
             if full_log:
                 log_lines = self.helper.get_setting("max_log_lines")
                 data = Helpers.tail_file(
-                    Helpers.get_os_understandable_path(server_data["log_path"]),
+                    # If the log path is absolute it returns it as is
+                    # If it is relative it joins the paths below like normal
+                    pathlib.Path(server_data["path"], server_data["log_path"]),
                     log_lines,
                 )
             else:
diff --git a/app/classes/web/routes/api/servers/server/action.py b/app/classes/web/routes/api/servers/server/action.py
index 2ae77f62..2360b172 100644
--- a/app/classes/web/routes/api/servers/server/action.py
+++ b/app/classes/web/routes/api/servers/server/action.py
@@ -70,12 +70,10 @@ class ApiServersServerActionHandler(BaseApiHandler):
         FileHelpers.copy_dir(server_data.get("path"), new_server_path)
 
         # TODO get old server DB data to individual variables
-        new_server_command = str(server_data.get("execution_command")).replace(
-            server_uuid, new_server_uuid
-        )
+        new_server_command = str(server_data.get("execution_command"))
         new_server_log_file = str(
             self.helper.get_os_understandable_path(server_data.get("log_path"))
-        ).replace(server_uuid, new_server_uuid)
+        )
 
         new_server_id = self.controller.servers.create_server(
             new_server_name,
diff --git a/app/classes/web/routes/api/servers/server/logs.py b/app/classes/web/routes/api/servers/server/logs.py
index b29333f6..641a1163 100644
--- a/app/classes/web/routes/api/servers/server/logs.py
+++ b/app/classes/web/routes/api/servers/server/logs.py
@@ -1,5 +1,6 @@
 import html
 import logging
+import pathlib
 import re
 from app.classes.models.server_permissions import EnumPermissionsServer
 from app.classes.shared.server import ServerOutBuf
@@ -44,7 +45,9 @@ class ApiServersServerLogsHandler(BaseApiHandler):
         if read_log_file:
             log_lines = self.helper.get_setting("max_log_lines")
             raw_lines = self.helper.tail_file(
-                self.helper.get_os_understandable_path(server_data["log_path"]),
+                # If the log path is absolute it returns it as is
+                # If it is relative it joins the paths below like normal
+                pathlib.Path(server_data["path"], server_data["log_path"]),
                 log_lines,
             )
 
diff --git a/app/classes/web/server_handler.py b/app/classes/web/server_handler.py
index 71615bb0..e2913f5f 100644
--- a/app/classes/web/server_handler.py
+++ b/app/classes/web/server_handler.py
@@ -225,13 +225,11 @@ class ServerHandler(BaseHandler):
 
                     # TODO get old server DB data to individual variables
                     stop_command = server_data.get("stop_command")
-                    new_server_command = str(
-                        server_data.get("execution_command")
-                    ).replace(server_uuid, new_server_uuid)
+                    new_server_command = str(server_data.get("execution_command"))
                     new_executable = server_data.get("executable")
                     new_server_log_file = str(
                         Helpers.get_os_understandable_path(server_data.get("log_path"))
-                    ).replace(server_uuid, new_server_uuid)
+                    )
                     backup_path = os.path.join(self.helper.backup_path, new_server_uuid)
                     server_port = server_data.get("server_port")
                     server_type = server_data.get("type")
diff --git a/app/translations/en_EN.json b/app/translations/en_EN.json
index 55f1d4cc..312b2a6a 100644
--- a/app/translations/en_EN.json
+++ b/app/translations/en_EN.json
@@ -305,7 +305,7 @@
         "serverIP": "Server IP",
         "serverIPDesc": "IP Crafty should connect to for stats (Try a real ip instead of 127.0.0.1 if you have issues)",
         "serverLogLocation": "Server Log Location",
-        "serverLogLocationDesc": "Absolute full path to the log file",
+        "serverLogLocationDesc": "Path to the log file",
         "serverName": "Server Name",
         "serverNameDesc": "What you wish to call this server",
         "serverPath": "Server Working Directory",
diff --git a/app/translations/fi_FI.json b/app/translations/fi_FI.json
index 66f0be89..640480d3 100644
--- a/app/translations/fi_FI.json
+++ b/app/translations/fi_FI.json
@@ -328,7 +328,7 @@
         "serverIP": "Palvelimen IP-osoite",
         "serverIPDesc": "IP-osoite, johon Craftyn tulisi muodostaa yhteys tilastojen saamiseen (Kokeile todellista ip:tä \"127.0.0.1\" sijaan, jos sinulla on ongelmia)",
         "serverLogLocation": "Palvelimen lokin sijainti",
-        "serverLogLocationDesc": "Absoluuttinen polku lokitiedostoon",
+        "serverLogLocationDesc": "Polku lokitiedostoon",
         "serverName": "Palvelimen nimi",
         "serverNameDesc": "Miksi haluat kutsua tätä palvelinta",
         "serverPath": "Palvelimen työkansio",