feat: Fixes in DB engines, SQL queries, added and improved Python management scripts, changed max level.

This commit is contained in:
Mind Rapist
2025-11-14 17:51:57 +02:00
parent 7a11534957
commit 3c8089c443
11 changed files with 293 additions and 72 deletions

103
clear.py Normal file
View File

@@ -0,0 +1,103 @@
#!/usr/bin/env python3
import os
import sys
import shutil # Import shutil for recursive directory deletion
def print_green(text):
print("\033[1;32m" + text + "\033[0m")
def print_magenta_prompt():
print("\033[0;35m> ", end="", flush=True)
def main():
"""
Cleans up specified files from the game server's channels directory.
"""
# List of files to remove, including file extensions.
FILES_TO_CLEAN = ['.core', 'syserr.log', 'syslog.log', '.txt', 'pid', 'stdout']
# 🌟 NEW: File in the current directory to remove
ROOT_FILES_TO_CLEAN = ['pids.json']
# The base directory to start the cleanup from.
# This assumes the script is run from the root of the game installation.
root_dir = os.getcwd() # The script's execution directory
base_dir = os.path.join(root_dir, 'channels')
print_green("Starting cleanup...")
# --- 1. Clean up files in the root directory (where 'channels' is) ---
print(f"Scanning '{root_dir}' for root files...")
for filename in ROOT_FILES_TO_CLEAN:
file_path = os.path.join(root_dir, filename)
if os.path.exists(file_path):
try:
os.remove(file_path)
print(f" - Removed '{filename}' from root.")
except OSError as e:
print(f" - Error removing '{filename}': {e}")
# --- 2. Clean up 'channels' directory and its subdirectories ---
print_green("Starting cleanup in '" + base_dir + "'...")
if not os.path.exists(base_dir):
print(f"Error: Directory '{base_dir}' not found.")
sys.exit(1)
# Use os.walk to recursively search for files.
for root, dirs, files in os.walk(base_dir, topdown=False):
# Determine if the current directory is a target for cleanup.
is_target_dir = False
if os.path.basename(root) in ['auth', 'db']:
is_target_dir = True
elif os.path.basename(os.path.dirname(root)).startswith('channel') and os.path.basename(root).startswith('core'):
is_target_dir = True
if is_target_dir:
print(f"\nScanning '{os.path.relpath(root, base_dir)}'...")
# 🌟 NEW: Empty the 'log' subdirectory if it exists
log_dir_path = os.path.join(root, 'log')
if os.path.exists(log_dir_path) and os.path.isdir(log_dir_path):
print(f"\nScanning '{os.path.relpath(root, base_dir)}'...")
print(f" - Cleaning 'log' directory in '{os.path.relpath(root, base_dir)}'")
try:
# Iterate over all files and directories inside the 'log' folder
for item in os.listdir(log_dir_path):
item_path = os.path.join(log_dir_path, item)
if os.path.isdir(item_path):
# If it's a directory, recursively delete it
shutil.rmtree(item_path)
print(f" - Removed directory: '{item}'")
else:
# If it's a file, delete the file
os.remove(item_path)
print(f" - Removed file: '{item}'")
except OSError as e:
print(f" - Error cleaning 'log' directory at '{os.path.relpath(log_dir_path, base_dir)}': {e}")
for filename in files:
for file_to_clean in FILES_TO_CLEAN:
if filename.endswith(file_to_clean):
file_path = os.path.join(root, filename)
try:
os.remove(file_path)
print(f" - Removed '{os.path.relpath(file_path, base_dir)}'")
except OSError as e:
print(f" - Error removing '{file_path}': {e}")
print_green("\nCleanup complete.")
if __name__ == "__main__":
try:
main()
finally:
print("\033[0m", end="", flush=True)