From ea9fec99712bc56828a66274b93c204831a49c7e Mon Sep 17 00:00:00 2001 From: amcmanu3 Date: Thu, 20 Apr 2023 16:22:23 -0400 Subject: [PATCH 01/11] Check for python version so we don't just fail out --- main.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/main.py b/main.py index 97a8229f..6c17598c 100644 --- a/main.py +++ b/main.py @@ -27,6 +27,17 @@ if helper.check_root(): time.sleep(5) Console.critical("Crafty shutting down. Root/Admin access denied.") sys.exit(0) +if not sys.version_info.major == 3 and sys.version_info.minor >= 9: + Console.critical( + "Python version mismatch. Python " + f"{sys.version_info.major}.{sys.version_info.minor} detected" + "Crafty requires Python 3.9 or above. Please upgrade python." + ) + time.sleep(5) + Console.critical("Crafty shutting down.") + time.sleep(3) + Console.info("Stopping Crafty.") + sys.exit(0) # pylint: disable=wrong-import-position try: from app.classes.models.base_model import database_proxy From 1855368e068e2b68458ea2ade5d91b8c83b866b3 Mon Sep 17 00:00:00 2001 From: amcmanu3 Date: Thu, 20 Apr 2023 16:29:13 -0400 Subject: [PATCH 02/11] Fix logic and messaging --- main.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/main.py b/main.py index 6c17598c..2338517b 100644 --- a/main.py +++ b/main.py @@ -27,16 +27,16 @@ if helper.check_root(): time.sleep(5) Console.critical("Crafty shutting down. Root/Admin access denied.") sys.exit(0) -if not sys.version_info.major == 3 and sys.version_info.minor >= 9: +if not (sys.version_info.major == 3 and sys.version_info.minor >= 9): Console.critical( "Python version mismatch. Python " - f"{sys.version_info.major}.{sys.version_info.minor} detected" - "Crafty requires Python 3.9 or above. Please upgrade python." + f"{sys.version_info.major}.{sys.version_info.minor} detected." ) + Console.critical("Crafty requires Python 3.9 or above. Please upgrade python.") time.sleep(5) Console.critical("Crafty shutting down.") time.sleep(3) - Console.info("Stopping Crafty.") + Console.info("Crafty stopped. Exiting...") sys.exit(0) # pylint: disable=wrong-import-position try: From 695b2d9d8ca5512eddfeacf8e0effd0cbc213f52 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 8 May 2023 20:11:15 -0400 Subject: [PATCH 03/11] Fix project root error on first start. --- app/classes/shared/tasks.py | 60 ++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/app/classes/shared/tasks.py b/app/classes/shared/tasks.py index dccaf4e3..3ec3c120 100644 --- a/app/classes/shared/tasks.py +++ b/app/classes/shared/tasks.py @@ -763,31 +763,37 @@ class TasksManager: def check_for_old_logs(self): # check for server logs first self.controller.servers.check_for_old_logs() - # check for crafty logs now - logs_path = os.path.join(self.controller.project_root, "logs") - logs_delete_after = int( - self.helper.get_setting("crafty_logs_delete_after_days") - ) - latest_log_files = [ - "session.log", - "schedule.log", - "tornado-access.log", - "session.log", - "commander.log", - ] - # we won't delete if delete logs after is set to 0 - if logs_delete_after != 0: - log_files = list( - filter( - lambda val: val not in latest_log_files, - os.listdir(logs_path), - ) + try: + # check for crafty logs now + logs_path = os.path.join(self.controller.project_root, "logs") + logs_delete_after = int( + self.helper.get_setting("crafty_logs_delete_after_days") + ) + latest_log_files = [ + "session.log", + "schedule.log", + "tornado-access.log", + "session.log", + "commander.log", + ] + # we won't delete if delete logs after is set to 0 + if logs_delete_after != 0: + log_files = list( + filter( + lambda val: val not in latest_log_files, + os.listdir(logs_path), + ) + ) + for log_file in log_files: + log_file_path = os.path.join(logs_path, log_file) + if Helpers.check_file_exists( + log_file_path + ) and Helpers.is_file_older_than_x_days( + log_file_path, logs_delete_after + ): + os.remove(log_file_path) + except: + logger.debug( + "Unable to find project root." + " If this issue persists please contact support." ) - for log_file in log_files: - log_file_path = os.path.join(logs_path, log_file) - if Helpers.check_file_exists( - log_file_path - ) and Helpers.is_file_older_than_x_days( - log_file_path, logs_delete_after - ): - os.remove(log_file_path) From da800370ddbc6965faff8ba1b31ebda0381b0259 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 8 May 2023 20:31:48 -0400 Subject: [PATCH 04/11] Bump orjson to 3.8.12 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 4cbb29e9..3a1bd5e5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,4 +18,4 @@ termcolor==1.1 tornado==6.0 tzlocal==4.0 jsonschema==4.5.1 -orjson==3.6.7 +orjson==3.8.12 From 9611e8539d9e7de8617bec8f54b21bd7f3354919 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 14 May 2023 13:59:47 -0400 Subject: [PATCH 05/11] Add alert for API down --- app/frontend/templates/server/wizard.html | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/frontend/templates/server/wizard.html b/app/frontend/templates/server/wizard.html index aea48f1c..40860bd6 100644 --- a/app/frontend/templates/server/wizard.html +++ b/app/frontend/templates/server/wizard.html @@ -19,7 +19,11 @@
{% if data['online'] %}
-
+
+

Server JARs API unreachable. Please check Crafty's status Page + for more information.

+

{{ translate('serverWizard', 'newServer', data['lang']) }}

@@ -27,6 +31,16 @@

+ {% if data["server_api"] %} +
+ {% else %} +
+ + {% end %} {% raw xsrf_form_html() %}
@@ -145,7 +159,7 @@ data['lang']) }} - +

From 3262b5fd15b4eb7623d5b1971137dcd5969ab903 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 14 May 2023 14:23:06 -0400 Subject: [PATCH 06/11] Add grayscale warning over creation when api down --- app/classes/shared/helpers.py | 10 +++++++ app/classes/web/server_handler.py | 6 +++- app/frontend/templates/server/wizard.html | 35 +++++++++++++++++++---- 3 files changed, 44 insertions(+), 7 deletions(-) diff --git a/app/classes/shared/helpers.py b/app/classes/shared/helpers.py index 9efb8b0a..e545d4aa 100644 --- a/app/classes/shared/helpers.py +++ b/app/classes/shared/helpers.py @@ -301,6 +301,16 @@ class Helpers: except Exception: return False + @staticmethod + def check_address_status(address): + try: + requests.get(address, timeout=1) + time.sleep(1) + requests.get(address, timeout=1) + return True + except: + return False + @staticmethod def check_port(server_port): try: diff --git a/app/classes/web/server_handler.py b/app/classes/web/server_handler.py index 8b533bdf..f452be33 100644 --- a/app/classes/web/server_handler.py +++ b/app/classes/web/server_handler.py @@ -143,7 +143,11 @@ class ServerHandler(BaseHandler): "not a server creator or server limit reached" ) return - + page_data["server_api"] = False + if page_data["online"]: + page_data["server_api"] = self.helper.check_address_status( + "https://serverjars.com/api/fetchTypes" + ) page_data["server_types"] = self.controller.server_jars.get_serverjar_data() page_data["js_server_types"] = json.dumps( self.controller.server_jars.get_serverjar_data() diff --git a/app/frontend/templates/server/wizard.html b/app/frontend/templates/server/wizard.html index 40860bd6..13875cc8 100644 --- a/app/frontend/templates/server/wizard.html +++ b/app/frontend/templates/server/wizard.html @@ -19,10 +19,6 @@
{% if data['online'] %}
-
-

Server JARs API unreachable. Please check Crafty's status Page - for more information.

@@ -39,6 +35,28 @@ #creation_wizard { -webkit-filter: grayscale(1); } + .api-alert{ + position:absolute; + top:-5px; + left:0; + font-size: 50px !important; + color:#fff; + background:rgb(0,170,170); + opacity:.4; + width:100%; + height:100%; + z-index: 100; + } + .api-alert p { + margin: 0; + position: absolute; + top: 50%; + left: 50%; + text-align: center; + font-size: 20px; + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + } {% end %} {% raw xsrf_form_html() %} @@ -160,10 +178,15 @@ - -

+ {% if not data["server_api"] %} +
+

Server JARs API unreachable. Please check Crafty's status Page + for more information.

+ {% end %}
+ {% end %}
From d02fe1cb6c595815efc5b8cf3b07c7fed6f42403 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 14 May 2023 14:35:23 -0400 Subject: [PATCH 07/11] Add translation --- app/frontend/templates/server/wizard.html | 6 +++--- app/translations/en_EN.json | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/frontend/templates/server/wizard.html b/app/frontend/templates/server/wizard.html index 13875cc8..5f6c1ef4 100644 --- a/app/frontend/templates/server/wizard.html +++ b/app/frontend/templates/server/wizard.html @@ -180,9 +180,9 @@ {% if not data["server_api"] %}
-

Server JARs API unreachable. Please check Crafty's status Page - for more information.

+

 {{ translate('error', 'serverJars1', data['lang']) }} {{ translate('error', 'craftyStatus', data['lang']) }} +  {{ translate('error', 'serverJars2', data['lang']) }}

{% end %}
diff --git a/app/translations/en_EN.json b/app/translations/en_EN.json index de5da99a..eeef6673 100644 --- a/app/translations/en_EN.json +++ b/app/translations/en_EN.json @@ -186,7 +186,10 @@ "terribleFailure": "What a Terrible Failure!", "superError": "You must be a super user to complete this action.", "fileError": "File type must be an image.", - "migration": "Crafty's main server storage is being mirgated to a new location. All server starts have been suspended during this time. Please wait while we finish this migration" + "migration": "Crafty's main server storage is being mirgated to a new location. All server starts have been suspended during this time. Please wait while we finish this migration", + "serverJars1": "Server JARs API unreachable. Please check", + "craftyStatus": "Crafty's status page", + "serverJars2": "for the most up to date information." }, "footer": { "allRightsReserved": "All rights reserved", @@ -614,4 +617,4 @@ "manager": "Manager", "selectManager": "Select Manager for User" } -} +} \ No newline at end of file From 0da89ff642575b1df0b1dc560b80ff38f5db5556 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Sun, 14 May 2023 21:42:15 +0100 Subject: [PATCH 08/11] Update changelog !577 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff1a912a..cb25167d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ - Fix Auth'd servers in roles | Refine server ordering ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/574)) - Fix import loop detection ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/575)) ### Tweaks -TBD +- Check for python version so we don't just fail out on unsupported python versions ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/577)) ### Lang TBD

From dec5560abf21398f27e0764f4744497784a308ff Mon Sep 17 00:00:00 2001 From: Zedifus Date: Sun, 14 May 2023 21:59:21 +0100 Subject: [PATCH 09/11] Update changelog !579 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb25167d..412a802e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Fix incompatible buildx provenance meta, causing digest issues on GL/DH container registries ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/582)) - Fix Auth'd servers in roles | Refine server ordering ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/574)) - Fix import loop detection ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/575)) +- Fix Cargo errors on Ubuntu 23.04 installs ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/579)) ### Tweaks - Check for python version so we don't just fail out on unsupported python versions ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/577)) ### Lang From d3822b82d52fd6939f4f9598c69823fd8748c3d9 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Sun, 14 May 2023 22:19:17 +0100 Subject: [PATCH 10/11] Update changelog !580 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 412a802e..2bb38301 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - Fix Auth'd servers in roles | Refine server ordering ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/574)) - Fix import loop detection ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/575)) - Fix Cargo errors on Ubuntu 23.04 installs ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/579)) +- Fix project root error on first start ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/580)) ### Tweaks - Check for python version so we don't just fail out on unsupported python versions ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/577)) ### Lang From 93c06c852221cbc819a0aa3cbdf42ae609c1b75b Mon Sep 17 00:00:00 2001 From: Zedifus Date: Sun, 14 May 2023 22:36:49 +0100 Subject: [PATCH 11/11] Update changelog !581 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bb38301..2cb87465 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - Fix project root error on first start ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/580)) ### Tweaks - Check for python version so we don't just fail out on unsupported python versions ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/577)) +- Show warning for serverjars API connection issues ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/581)) ### Lang TBD