2026-01-17 19:07:32 +02:00
|
|
|
|
# Setup colors
|
|
|
|
|
|
RED="" GREEN="" YELLOW="" BLUE="" MAGENTA="" CYAN="" RESET=""
|
|
|
|
|
|
if [ -t 1 ] || { [ -n "$TERM" ] && [ "$TERM" != "dumb" ]; }; then
|
|
|
|
|
|
# Helper to get color code (tput or ANSI fallback)
|
|
|
|
|
|
if command -v tput >/dev/null 2>&1 && tput setaf 1 >/dev/null 2>&1; then
|
|
|
|
|
|
_c() { tput setaf "$1"; }
|
|
|
|
|
|
_r() { tput sgr0; }
|
|
|
|
|
|
else
|
|
|
|
|
|
_c() { printf '\033[0;3%dm' "$1"; }
|
|
|
|
|
|
_r() { printf '\033[0m'; }
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
RED=$(_c 1) GREEN=$(_c 2) YELLOW=$(_c 3)
|
|
|
|
|
|
BLUE=$(_c 4) MAGENTA=$(_c 5) CYAN=$(_c 6)
|
|
|
|
|
|
RESET=$(_r)
|
|
|
|
|
|
unset -f _c _r
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
#Function to print colored text
|
|
|
|
|
|
printc() {
|
|
|
|
|
|
local text="$1"
|
|
|
|
|
|
|
|
|
|
|
|
# Replace tags with color codes (or empty string if not supported)
|
|
|
|
|
|
text="${text//\{RED\}/$RED}"
|
|
|
|
|
|
text="${text//\{GREEN\}/$GREEN}"
|
|
|
|
|
|
text="${text//\{YELLOW\}/$YELLOW}"
|
|
|
|
|
|
text="${text//\{BLUE\}/$BLUE}"
|
|
|
|
|
|
text="${text//\{MAGENTA\}/$MAGENTA}"
|
|
|
|
|
|
text="${text//\{CYAN\}/$CYAN}"
|
|
|
|
|
|
text="${text//\{RESET\}/$RESET}"
|
|
|
|
|
|
printf "%b\n" "$text"
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# Logger function to print messages with different colors based on level
|
|
|
|
|
|
logger() {
|
|
|
|
|
|
local level="$1"
|
|
|
|
|
|
local message="$2"
|
|
|
|
|
|
|
|
|
|
|
|
case "${level^^}" in
|
|
|
|
|
|
"INFO") printc "{BLUE}ℹ $message{RESET}" ;;
|
|
|
|
|
|
"WARN") printc "{YELLOW}⚠ $message{RESET}" ;;
|
|
|
|
|
|
"ERROR") printc "{RED}⨯ $message{RESET}" ;;
|
|
|
|
|
|
"SUCCESS") printc "{GREEN}✓ $message{RESET}" ;;
|
|
|
|
|
|
*) printc "$message" ;;
|
|
|
|
|
|
esac
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# Function to extract downloaded server files
|
|
|
|
|
|
extract_server_files() {
|
|
|
|
|
|
logger info "Extracting server files..."
|
|
|
|
|
|
SERVER_ZIP="server.zip"
|
|
|
|
|
|
|
|
|
|
|
|
if [ -f "$SERVER_ZIP" ]; then
|
|
|
|
|
|
logger success "Found server archive: $SERVER_ZIP"
|
|
|
|
|
|
|
|
|
|
|
|
# Extract to current directory
|
|
|
|
|
|
unzip -o "$SERVER_ZIP"
|
|
|
|
|
|
|
|
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
|
|
logger error "Failed to extract $SERVER_ZIP"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
logger success "Extraction completed successfully."
|
|
|
|
|
|
|
|
|
|
|
|
# Move contents from Server folder to current directory
|
|
|
|
|
|
if [ -d "Server" ]; then
|
|
|
|
|
|
logger info "Moving server files from Server directory..."
|
2026-06-18 00:17:53 +03:00
|
|
|
|
cp -a Server/. .
|
2026-01-17 19:07:32 +02:00
|
|
|
|
rm -rf ./Server
|
|
|
|
|
|
logger success "Server files moved to root directory."
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# Clean up the zip file
|
|
|
|
|
|
logger info "Cleaning up archive file..."
|
|
|
|
|
|
rm "$SERVER_ZIP"
|
|
|
|
|
|
logger success "Archive removed."
|
|
|
|
|
|
else
|
|
|
|
|
|
logger error "Server archive not found at $SERVER_ZIP"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
}
|