2 mesaje
  • Mesaje: 14
  • Reacții: 19
  • Mesaje utile: 1
  • Status: Pierd vremea ^.^
  • Server: almeu.ro
  • Regat: Jinno
  • Contact:

    Medalii

    Salutare tuturor,

    Echipa din spatele proiectelor automate de la RegalHost.eu a decis să împărtășească cu întreaga comunitate un instrument esențial pentru orice administrator de server. Știm cât de frustrant este să pierzi accesul la baza de date sau să te lupți cu erori de sintaxă între versiuni diferite de MySQL sau MariaDB (în special noua eroare 1348 pe MariaDB 10.11+).

    Din dorința de a ridica standardele de administrare și pentru a ajuta la funcționarea mai rapidă a fiecărui proiect de Metin2, vă prezentăm AETERNA V1000.

    🚀 De ce să folosești acest script?
    Nu mai este nevoie să scrii manual zeci de rânduri de comandă în consola FreeBSD. Cu o interfață intuitivă, totul se rezolvă prin apăsarea tastelor 1, 2 sau 3.

    ✅ Caracteristici Principale:
    Compatibilitate Universală: Rulează pe absolut orice versiune de FreeBSD și orice motor de bază de date (MySQL 5.5 - 8.0 sau MariaDB 5.5 - 11.x).
    Auto-Detecție .cnf: Scriptul este un „detectiv” inteligent. Caută automat fișierul de configurare activ în sistem.

    Protocol de Recuperare (Emergency Reset): Dacă scriptul nu găsește niciun fișier de configurare, creează unul optimizat pe loc și resetează parola root@localhost pentru a-ți reda accesul imediat.
    Audit Tehnic în Timp Real: Îți arată direct în meniu dacă ai accesul Navicat blocat sau dacă setările de rețea sunt corecte.
    Multi-Language (7 Limbi): Interfață completă în Română, Engleză, Turcă, Cehă, Germană, Poloneză și Maghiară. Toate mesajele de eroare și notificările sunt traduse.
    Optimizare Navicat: Deblochează automat accesul extern și setează parametrii optimi de conexiune.

    🛠️ Ce face scriptul mai exact?
    Analizează mediul de lucru (locație binar, datadir, versiune).
    Oprește serviciile în siguranță pentru a evita coruperea tabelelor.

    Porneste motorul în modul de reparație (Safe Mode).
    Injectează parola nouă folosind o strategie triplă (ALTER USER / SET PASSWORD / UPDATE), asigurând succesul pe orice versiune.

    Curăță fișierele PID și socket-urile blocate.
    Repornește baza de date și îți oferă acces instant.

    VIDEO: https://drive.google.com/file/d/1YHte3L ... ysqc-/view

    Instalare rapidă:
    Code:
    ee reset-mysql.sh
    # Lipiți codul scriptului, salvați și ieșiți.
    chmod +x reset-mysql.sh
    ./reset-mysql.sh
    Code:
    #!/bin/sh
    
    # =================================================================
    # AETERNA V1000 - ULTIMATE ARCHITECT | FULLY MULTILINGUAL
    # =================================================================
    
    E=$(printf '\033'); C_M="${E}[1;34m"; C_S="${E}[1;32m"; C_R="${E}[1;31m"; C_Y="${E}[1;33m"; C_W="${E}[1;37m"; C_0="${E}[0m"
    [ -z "$L" ] && L="RO"
    LAST_OP="NONE"
    
    # --- [ MOTORUL DE TRADUCERI INTEGRAL ] ---
    lang() {
        case $L in
            "CZ") t_m1="OPRAVA"; t_m2="LOGY"; t_m3="JAZYK"; t_m4="KONEC"; t_st="STAV"; t_cfg="KONFIG"; t_bad="ŠPATNÉ"; t_ok="DOBRÉ"; t_wait="ČEKEJTE PROSÍM..."; t_pass="NOVÉ HESLO:"; t_found="KONFIGURACE NALEZENA V:"; t_notfound="KONFIGURACE NENALEZENA! RESETOVÁNÍ root@localhost PRO ZOTAVENÍ..."; t_audit="TECHNICKÝ AUDIT"; t_net="SÍŤOVÝ PŘÍSTUP"; t_nav="NAVICAT PŘÍSTUP"; t_err="KRITICKÁ CHYBA MOTORU!";;
            "TR") t_m1="ONARIM"; t_m2="LOGLAR"; t_m3="DIL"; t_m4="CIKIS"; t_st="DURUM"; t_cfg="YAPILANDIRMA"; t_bad="KOTU"; t_ok="IYI"; t_wait="LUTFEN BEKLEYIN..."; t_pass="YENI SIFRE:"; t_found="YAPILANDIRMA BULUNDU:"; t_notfound="YAPILANDIRMA BULUNAMADI! KURTARMA ICIN root@localhost SIFIRLANIYOR..."; t_audit="TEKNIK DENETIM"; t_net="AG ERISIMI"; t_nav="NAVICAT ERISIMI"; t_err="KRITIK MOTOR HATASI!";;
            "DE") t_m1="REPARATUR"; t_m2="LOGS"; t_m3="SPRACHE"; t_m4="ENDE"; t_st="STATUS"; t_cfg="KONFIG"; t_bad="SCHLECHT"; t_ok="GUT"; t_wait="BITTE WARTEN..."; t_pass="NEUES PASSWORT:"; t_found="KONFIGURATION GEFUNDEN UNTER:"; t_notfound="KONFIGURATION NICHT GEFUNDEN! RESET root@localhost ZUR WIEDERHERSTELLUNG..."; t_audit="TECHNISCHES AUDIT"; t_net="NETZWERKZUGRIFF"; t_nav="NAVICAT ZUGRIFF"; t_err="KRITISCHER MOTORFEHLER!";;
            "PL") t_m1="NAPRAWA"; t_m2="LOGI"; t_m3="JEZYK"; t_m4="WYJSCIE"; t_st="STATUS"; t_cfg="KONFIG"; t_bad="ZLE"; t_ok="DOBRZE"; t_wait="PROSZE CZEKAC..."; t_pass="NOWE HASLO:"; t_found="KONFIGURACJA ZNALEZIONA W:"; t_notfound="NIE ZNALEZIONO KONFIGURACJI! RESETOWANIE root@localhost W CELU ODZYSKANIA..."; t_audit="AUDYT TECHNICZNY"; t_net="DOSTEP SIECIOWY"; t_nav="DOSTEP NAVICAT"; t_err="KRYTYCZNY BLAD SILNIKA!";;
            "HU") t_m1="JAVITAS"; t_m2="NAPLO"; t_m3="NYELV"; t_m4="KILEPES"; t_st="ALLAPOT"; t_cfg="BEALLITAS"; t_bad="ROSSZ"; t_ok="JO"; t_wait="KEREM VARJON..."; t_pass="UJ JELSZO:"; t_found="KONFIGURACIO TALALHATO:"; t_notfound="KONFIGURACIO NEM TALALHATO! root@localhost RESETELÉSE A HELYREÁLLÍTÁSHOZ..."; t_audit="MUSZAKI ELLENORZES"; t_net="HALOZATI HOZZAFERES"; t_nav="NAVICAT HOZZAFERES"; t_err="KRITIKUS MOTORHIBA!";;
            "EN") t_m1="REPAIR"; t_m2="LOGS"; t_m3="LANG"; t_m4="EXIT"; t_st="STATUS"; t_cfg="CONFIG"; t_bad="BAD"; t_ok="GOOD"; t_wait="PLEASE WAIT..."; t_pass="NEW PASSWORD:"; t_found="CONFIG FOUND AT:"; t_notfound="CONFIG NOT FOUND! RESETTING root@localhost FOR RECOVERY..."; t_audit="TECHNICAL AUDIT"; t_net="NETWORK ACCESS"; t_nav="NAVICAT ACCESS"; t_err="CRITICAL ENGINE ERROR!";;
            *)    t_m1="REPARARE"; t_m2="LOGURI"; t_m3="LIMBA"; t_m4="IESIRE"; t_st="STATUS"; t_cfg="CONFIG"; t_bad="RAU"; t_ok="BINE"; t_wait="VA RUGAM ASTEPTATI..."; t_pass="PAROLA NOUA:"; t_found="CONFIGURATIE GASITA IN:"; t_notfound="CONFIGURATIE NEGASITA! RESETARE root@localhost PENTRU RECUPERARE..."; t_audit="AUDIT TEHNIC"; t_net="ACCES RETEA"; t_nav="ACCES NAVICAT"; t_err="EROARE CRITICA MOTOR!";;
        esac
    }
    
    find_cfg() {
        CFG_FINAL=""
        for f in /var/db/mysql/my.cnf /usr/local/etc/my.cnf /etc/my.cnf /usr/local/etc/mysql/my.cnf; do
            [ -f "$f" ] && CFG_FINAL="$f" && break
        done
        
        if [ -z "$CFG_FINAL" ]; then
            lang
            printf "\n${C_R} [!] $t_notfound ${C_0}\n"
            printf "[mysqld]\nbind-address = 0.0.0.0\nmax_connections = 1000\nquery_cache_size = 64M\n" > /var/db/mysql/my.cnf
            CFG_FINAL="/var/db/mysql/my.cnf"
            service mysql-server stop >/dev/null 2>&1
            /usr/local/bin/mysqld_safe --skip-grant-tables --skip-networking >/dev/null 2>&1 &
            sleep 6
            mysql -u root <<EOF
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
    FLUSH PRIVILEGES;
    EOF
            pkill -9 mysqld; pkill -9 mariadbd; sleep 2; service mysql-server start >/dev/null 2>&1
        fi
        echo "$CFG_FINAL"
    }
    
    analyze() {
        for b in /usr/local/libexec/mariadbd /usr/local/libexec/mysqld /usr/local/bin/mariadbd /usr/local/bin/mysqld; do [ -x "$b" ] && BIN="$b" && break; done
        CFG_A=$(find_cfg)
        DDIR=$(grep -i "^datadir" "$CFG_A" 2>/dev/null | cut -d'=' -f2 | tr -d ' ')
        [ -z "$DDIR" ] && DDIR="/var/db/mysql"
        V_A=$(mysql -V 2>/dev/null | grep -oE '[0-9]+\.[0-9]+' | head -1)
        echo "$BIN|$CFG_A|$DDIR|$V_A"
    }
    
    show_audit() {
        lang; E_A=$(analyze); C_A=$(echo "$E_A" | cut -d'|' -f2)
        printf "\n${C_W}--- $t_audit: $(basename "$C_A" 2>/dev/null || echo "DEFAULT") ---${C_0}\n"
        if [ -f "$C_A" ]; then
            grep -E "^bind-address *= *0.0.0.0" "$C_A" >/dev/null && printf " ${C_S}[$t_ok]${C_0} $t_nav\n" || printf " ${C_R}[$t_bad]${C_0} $t_nav\n"
            grep "^skip-networking" "$C_A" | grep -v "#" >/dev/null && printf " ${C_R}[$t_bad]${C_0} $t_net\n" || printf " ${C_S}[$t_ok]${C_0} $t_net\n"
        fi
    }
    
    execute_repair() {
        lang; E_R=$(analyze); B=$(echo "$E_R" | cut -d'|' -f1); C=$(echo "$E_R" | cut -d'|' -f2); D=$(echo "$E_R" | cut -d'|' -f3)
        service mysql-server stop >/dev/null 2>&1
        pkill -9 mysql; pkill -9 mysqld; pkill -9 mariadbd; sleep 2
        rm -f /tmp/omni.sock "$D"/*.pid
        $B --datadir="$D" --user=mysql --skip-grant-tables --skip-networking --socket=/tmp/omni.sock >/tmp/omni.log 2>&1 &
        printf "${C_Y} $t_wait ${C_0}"
        for i in 1 2 3 4 5 6 7 8 9 10; do printf "◈"; sleep 1; done; echo ""
        if [ ! -S /tmp/omni.sock ]; then printf "${C_R} [!] $t_err ${C_0}\n"; read p; return; fi
        mysql --socket=/tmp/omni.sock -u root -N -e "SELECT User, Host FROM mysql.user" > /tmp/u.lst
        echo "${C_M}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${C_0}"
        idx=1; while read -r u h; do printf "  ${C_Y}[%d]${C_0} %s@%s\n" "$idx" "$u" "$h"; eval "u$idx=\$u"; eval "h$idx=\$h"; idx=$((idx+1)); done < /tmp/u.lst
        echo "${C_M}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${C_0}"
        printf " ID: "; read id; USR=$(eval echo \$u$id); HST=$(eval echo \$h$id)
        [ -z "$USR" ] && { pkill -9 mysqld; pkill -9 mariadbd; return; }
        printf " $t_pass "; read PW
        mysql --socket=/tmp/omni.sock -u root <<EOF >/dev/null 2>&1
    FLUSH PRIVILEGES;
    ALTER USER '$USR'@'$HST' IDENTIFIED BY '$PW';
    SET PASSWORD FOR '$USR'@'$HST' = PASSWORD('$PW');
    UPDATE mysql.user SET Password=PASSWORD('$PW'), Host='%' WHERE User='$USR' AND Host='$HST';
    FLUSH PRIVILEGES;
    EOF
        pkill -9 mysqld; pkill -9 mariadbd; sleep 2; service mysql-server start >/dev/null 2>&1
        LAST_OP="$USR"
    }
    
    while true; do
        lang; E_M=$(analyze); C_M_P=$(echo "$E_M" | cut -d'|' -f2); D_M_P=$(echo "$E_M" | cut -d'|' -f3); V_M_P=$(echo "$E_M" | cut -d'|' -f4)
        sockstat -4l | grep :3306 >/dev/null && S_D="${C_S}ONLINE${C_0}" || S_D="${C_R}OFFLINE${C_0}"
        clear
        printf "${C_M}┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓${C_0}\n"
        printf "┃ ${C_W}AETERNA V1000 - ULTIMATE${C_0}     ${C_W}VER: ${C_Y}%-10s${C_M}┃${C_0}\n" "$V_M_P"
        printf "┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫${C_0}\n"
        printf "┃ ${C_W}$t_st: %-18s  ${C_W}USER: ${C_Y}%-11s${C_M}┃${C_0}\n" "$S_D" "$LAST_OP"
        printf "┃ ${C_W}$t_cfg: ${C_M}%-39s┃${C_0}\n" "${C_M_P:-DEFAULT}"
        printf "┃ ${C_W}DATA:   ${C_M}%-39s┃${C_0}\n" "$D_M_P"
        printf "${C_M}┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛${C_0}\n"
        show_audit
        printf "\n  ${C_M}[1]${C_0} $t_m1  ${C_M}[2]${C_0} $t_m2  ${C_M}[3]${C_0} $t_m3 ($L)  ${C_M}[4]${C_0} $t_m4\n"
        printf "\n > "; read opt
        case $opt in
            1) execute_repair;;
            2) [ -f /tmp/omni.log ] && tail -n 20 /tmp/omni.log || echo "No Logs"; read p;;
            3) printf " RO/EN/TR/CZ/DE/HU/PL: "; read L; L=$(echo "$L" | tr 'a-z' 'A-Z');;
            4) exit 0;;
            *) service mysql-server start >/dev/null 2>&1;;
        esac
    done

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț
  • Mesaje: 16
  • Reacții: 12
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • Medalii

    E pe privat link-ul , ai nevoie de invitatie :D

    🔥 Hai pe Discord! - Chat activ și support direct

    Te așteptăm și pe serverul de Discord - aici ne-am strâns toată comunitatea de Metin2 din România.

    Alătură-te acum!
    Suntem aproape: 
    Robot Discord
    Roboțelu'
    Anunț
    Scrie răspuns

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “Tutoriale”

    Informații

    Utilizatori ce navighează pe acest forum: Marius221, poldv98, Titan și 3 vizitatori

    Discord ID copiat: