Merge branch 'dev' into bug/server-creation-no-servers

This commit is contained in:
Zedifus 2022-07-05 23:36:17 +01:00
commit 6406cdf66a
3 changed files with 30 additions and 24 deletions

View File

@ -4,7 +4,8 @@
### New features ### New features
None None
### Bug fixes ### Bug fixes
None - Remove redundant path check on backup restore ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/390))
- Fix issue with stats pinging on slow starting servers ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/391))
### Tweaks ### Tweaks
None None
### Lang ### Lang

View File

@ -266,6 +266,7 @@ class Stats:
"Unable to read the server icon due to the following error:", exc_info=e "Unable to read the server icon due to the following error:", exc_info=e
) )
if ping_obj: if ping_obj:
try:
ping_data = { ping_data = {
"online": online_stats.get("online", 0), "online": online_stats.get("online", 0),
"max": online_stats.get("max", 0), "max": online_stats.get("max", 0),
@ -274,6 +275,15 @@ class Stats:
"server_version": ping_obj.version, "server_version": ping_obj.version,
"server_icon": server_icon, "server_icon": server_icon,
} }
except:
ping_data = {
"online": online_stats.get("online", 0),
"max": online_stats.get("max", 0),
"players": online_stats.get("players", 0),
"server_description": "",
"server_version": "",
"server_icon": server_icon,
}
else: else:
ping_data = { ping_data = {
"online": online_stats.get("online", 0), "online": online_stats.get("online", 0),

View File

@ -783,26 +783,21 @@ class Controller:
def rename_backup_dir(self, old_server_id, new_server_id, new_uuid): def rename_backup_dir(self, old_server_id, new_server_id, new_uuid):
server_data = self.servers.get_server_data_by_id(old_server_id) server_data = self.servers.get_server_data_by_id(old_server_id)
server_obj = self.servers.get_server_obj(new_server_id)
old_bu_path = server_data["backup_path"] old_bu_path = server_data["backup_path"]
ServerPermsController.backup_role_swap(old_server_id, new_server_id) ServerPermsController.backup_role_swap(old_server_id, new_server_id)
if not Helpers.is_os_windows(): backup_path = old_bu_path
backup_path = Helpers.validate_traversal(
self.helper.backup_path, old_bu_path
)
if Helpers.is_os_windows():
backup_path = Helpers.validate_traversal(
Helpers.wtol_path(self.helper.backup_path),
Helpers.wtol_path(old_bu_path),
)
backup_path = Helpers.wtol_path(str(backup_path))
backup_path.replace(" ", "^ ")
backup_path = Path(backup_path) backup_path = Path(backup_path)
backup_path_components = list(backup_path.parts) backup_path_components = list(backup_path.parts)
backup_path_components[-1] = new_uuid backup_path_components[-1] = new_uuid
new_bu_path = pathlib.PurePath(os.path.join(*backup_path_components)) new_bu_path = pathlib.PurePath(os.path.join(*backup_path_components))
if os.path.isdir(new_bu_path): server_obj.backup_path = new_bu_path
if Helpers.validate_traversal(self.helper.backup_path, new_bu_path): default_backup_dir = os.path.join(self.helper.backup_path, new_uuid)
os.rmdir(new_bu_path) try:
os.rmdir(default_backup_dir)
except:
logger.error("Could not delete default backup dir")
self.servers.update_server(server_obj)
backup_path.rename(new_bu_path) backup_path.rename(new_bu_path)
def register_server( def register_server(