Unmantained Guida [ULTRAMEGAIPER-RELEASE]BAN & SBAN SYSTEM (CLIENT + SITO). NO BMMATE.

Una guida contrassegnata come Unmantained contiene informazioni su un argomento obsoleto, non più utile o files non aggiornati da parte del creatore.
Stato
Discussione chiusa ad ulteriori risposte.

.Phyton

Utente Electrum
12 Dicembre 2012
181
30
40
128
Ultima modifica da un moderatore:
BAN & SBAN SYSTEM (CLIENT + SITO). NO BMMATE.
BY BODYBUILDER89


How To:

1) Inserire Ban.py nella cartella lib.

Ban.py source: (REQUISITI AVERE URLLIB E URLLIB2 SULLA CARTELLA LIB)

Codice:
import urllib, urllib2
def Ban(pg):
    try:
        tp=open("BanTool.password.txt", "r")
        toolpassword=tp.readline()
        tp.close()
        data=urllib.urlencode({"pg":pg, "toolpassword":toolpassword})
        req=urllib2.Request("http://yourwebsiteofmetin2/ban.php", data)
        res=urllib2.urlopen(req)
        html=res.read()
        if html.find("Bannato con successo") != -1:
            return 0
        elif html.find("Password errata") != -1:
            return -1
        else:
            return -2
    except Exception:
        return -3
def Sban(pg):
    try:
        tp=open("BanTool.password.txt", "r")
        toolpassword=tp.readline()
        tp.close()
        data=urllib.urlencode({"pg":pg, "toolpassword":toolpassword})
        req=urllib2.Request("http://yourwebsiteofmetin2/sban.php", data)
        res=urllib2.urlopen(req)
        html=res.read()
        if html.find("Sbannato con successo") != -1:
            return 0
        elif html.find("Password errata") != -1:
            return -1
        else:
            return -2
    except Exception:
        return -3


2) Inserire un file chiamato BanTool.Password.txt vuoto nella cartella principale del client e darlo solo ai gm e per voi stessi, senno i player possono usare la funzione ban/sban.

3) Scompattare root, recarsi su uichat.py.
Nella funzione OnImeReturn aggiungere:

Codice:
elif text.startswith("/ban "):
    import Ban
    t=text.split(" ", 1)
    nick=t[1]
    banned=Ban.Ban(nick)
    if banned == 0:
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Il player %s è stato bannato con successo!" % nick)
        net.SendChatPacket("/dc %s" % nick)
    elif banned == -1:
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Non puoi bannare il player!")
    elif banned == -2:
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Ban non riuscito!")
    else:
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Errore durante le funzioni di ban!")
elif text.startswith("/sban "):
    import Ban
    t=text.split(" ", 1)
    nick=t[1]
    banned=Ban.Sban(nick)
    if banned == 0:
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Il player %s è stato sbannato con successo!" % nick)
    elif banned == -1:
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Non puoi sbannare il player!")
    elif banned == -2:
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Sban non riuscito!")
    else:
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Errore durante le funzioni di ban!")


4) Aggiungete i file: ban.php, sban.php e MySQL.functions.php nella cartella principale del vostro sito.

ban.php source:

Codice:
<?php


### CONFIGURAZIONE BANTOOL ###


$ip="192.168.1.20"; #DA CAMBIARE
$userdb="root";
$pswdb="ACTUNGWAGHENAGHENNEINNEINNEIN"; #DA CAMBIARE
$pswtool="STICAZZIARRAPATINEGRIDIQUELLAMAIALOTTADICUCCIOLINADETTAELENA"; #DA CAMBIARE


### FINE CONFIGURAZIONE BANTOOL ###


include("Mysql.function.php");
foreach ($_POST as $key=>$value) {
    if (preg_match("/[^a-zA-z0-9_\-\@\.]/", $value)) {
        die("<br><font color='red'>ERRORE</font>: Caratteri non ammessi rilevati, controlla tutti i campi!<br><br>".$form);
    }elseif (strlen($value)==0) {
        die("<br><font color='red'>ERRORE</font>: Compila tutti i campi!<br><br>".$form);
    }
}
$nick=$_POST["pg"];
$psw=$_POST["toolpassword"];
if ($psw==$pswtool) {
$conn=mysql2_connect($ip, $userdb, $pswdb);
$query=mysql2_query($conn, "SELECT account_id FROM player.player WHERE name='$nick';");
$fetch=mysql2_fetch_array($query[1]);
$id=(int)$fetch["account_id"];
$query=mysql2_query($conn, "UPDATE account.account SET status='BLOCK' WHERE id='$id';");
if ($query[0]) {
    echo "Bannato con successo";
}else{
    echo "Ban non riuscito";
}
mysql2_close($conn);
}else{
    echo "Password errata";
}


?>


sban.php source:

Codice:
<?php


### CONFIGURAZIONE BANTOOL ###


$ip="192.168.1.20"; #DA CAMBIARE
$userdb="root";
$pswdb="ACTUNGWAGHENAGHENNEINNEINNEIN"; #DA CAMBIARE
$pswtool="STICAZZIARRAPATINEGRIDIQUELLAMAIALOTTADICUCCIOLINADETTAELENA"; #DA CAMBIARE


### FINE CONFIGURAZIONE BANTOOL ###


include("Mysql.function.php");
foreach ($_POST as $key=>$value) {
    if (preg_match("/[^a-zA-z0-9_\-\@\.]/", $value)) {
        die("<br><font color='red'>ERRORE</font>: Caratteri non ammessi rilevati, controlla tutti i campi!<br><br>".$form);
    }elseif (strlen($value)==0) {
        die("<br><font color='red'>ERRORE</font>: Compila tutti i campi!<br><br>".$form);
    }
}
$nick=$_POST["pg"];
$psw=$_POST["toolpassword"];
if ($psw==$pswtool) {
$conn=mysql2_connect($ip, $userdb, $pswdb);
$query=mysql2_query($conn, "SELECT account_id FROM player.player WHERE name='$nick';");
$fetch=mysql2_fetch_array($query[1]);
$id=(int)$fetch["account_id"];
$query=mysql2_query($conn, "UPDATE account.account SET status='OK' WHERE id='$id';");
if ($query[0]) {
    echo "Sbannato con successo";
}else{
    echo "Sban non riuscito";
}
mysql2_close($conn);
}else{
    echo "Password errata";
}


?>


MySQL.functions.php source:

Codice:
<?php


function mysql2_connect($host, $user, $pass){
    try { 
        $pdo=new PDO("mysql:host=$host", $user, $pass); 
        return $pdo;
    }
    catch(PDOException $e) {
        die("Errore collegamento al database!");
        return false;
    }
}


function mysql2_query($pdo, $query){
    $query=$pdo->prepare($query);
    return array($query->execute(), $query);
}


function mysql2_fetch_array($query){
    return $query->fetch(PDO::FETCH_BOTH);
}


function mysql2_fetch_object($query){
    return $query->fetch(PDO::FETCH_OBJ);
}


function mysql2_result($query, $campo){
    $array=mysql2_fetch_array($query);
    return $array[$campo];
}


function mysql2_close($pdo){
    $pdo=null;
}


?>


--- Vi fa fatica leggere? se scaricate c'è scritto tutto più o meno come fare più velocemente! ---

Download Link:

https://mega.co.nz/#!4FlSUIAA!Dr8UAnCu5dlYJP7LuoqtaxIL1TJrp7xkWzWP7cB_cEU

---------- NON SERVE LO SCAN! SONO 2 PY E UN TXT
----------

CREDITI: bodybuilder89, nessun fake, nessuna cazzata.
 
Discreto, per fungere potrebbe anche fungere. L'unico effetto collaterale, e anche molto fastidioso è il freeze che verrà a crearsi non appena il client cercherà di risolvere l'indirizzo ed aspettare una risposta dal server. Usare dei thread, o comunque effettuare la richiesta url in maniera asincrona aiuterebbe moltissimo.

In più, il fatto che sia nel server che nel client la password è salvata in chiaro, espone il tutto a vari rischi di sicurezza.
 
Re: [ULTRAMEGAIPER-RELEASE]BAN &amp;amp; SBAN SYSTEM (CLIENT + SITO). NO BMMATE.

la password è salvata in chiaro

--------------------------------------------------------------------------------

Il txt per la password lo date solo ai gm :) e lo terranno loro nel client :)


- - - Updated - - -

Discreto, per fungere potrebbe anche fungere. L'unico effetto collaterale, e anche molto fastidioso è il freeze che verrà a crearsi non appena il client cercherà di risolvere l'indirizzo ed aspettare una risposta dal server. Usare dei thread, o comunque effettuare la richiesta url in maniera asincrona aiuterebbe moltissimo.

In più, il fatto che sia nel server che nel client la password è salvata in chiaro, espone il tutto a vari rischi di sicurezza.

Dipende tutto dalla velocità del sito, da me usando anche threading cambiava poco...

- - - Updated - - -

Scan antivirus?
Screen?
Guida?
Un po di ordine?

Se questa è una [ULTRAMEGAIPER-RELEASE] immagino cosa è Amaz Primeminer.

SCAN? AHAHA E PER COSA PER UN RAR CON DENTRO 2 PY E UN TXT, MADDAI.
 
Re: [ULTRAMEGAIPER-RELEASE]BAN &amp;amp; SBAN SYSTEM (CLIENT + SITO). NO BMMATE.

la password è salvata in chiaro

--------------------------------------------------------------------------------

Il txt per la password lo date solo ai gm :) e lo terranno loro nel client :)


- - - Updated - - -



Dipende tutto dalla velocità del sito, da me usando anche threading cambiava poco...
La risoluzione di un indirizzo dipende dai DNS, e non sempre e veloce
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom