Visto che ultimamente si fa un gran parlare di leech mod, crediti rubati, crediti che si devono recuperare, ecc. ho deciso di scrivere una piccola guida su come funziona eMule, nella speranza che molti di voi si tranquillizzino <_<
Come sapete eMule funziona con il sistema delle CODE: una volta contattato un client che possiede il file che vi interessa, il vostro eMule entra nella sua coda (che possiamo paragonare ad una lista d'attesa).
L'avanzamento in coda dipende dal tempo di attesa, dalla priorità che l'utente dal quale vogliamo scaricare ha impostato per il file stesso... ed ovviamente dai crediti...Le tue richieste per un file sono nella coda di ogni singolo client che ha un segmento (chunk) del file che ti interessa, non nella tua coda.
Vieni servito di un segmento quando ogni client a cui hai fatto una richiesta decide che e' arrivato il tuo turno. Ogni client e' impostato per dare priorita' diverse ad ogni file e gestisce un pool di richieste completamente diverso, quindi ogni client gestisce la sua coda a modo suo.
Il network e' concepito per dare a tutti la possibilità sia di contribuire che di prelevare contenuti, senza nessuna relazione tra le due cose.
Sostanzialmente il sistema dei crediti altro non fa che "migliorare" lo scambio di segmenti tra tutti quelli che stanno scaricando uno stesso file: se fai upload hai un "premio" e questo è pensato per far condividere maggiormente i file.
Ovviamente esistono i problemi legati alla configurazione della connessione Internet, per esempio le nostre linee sono fortemente asimmetriche quindi abbiamo tutti grande capacita' di download e piccola capacita' di upload, questo di fatto ci trasforma tutti in leecher ("sanguisughe": scarichiamo più di quanto condividiamo).
A livello pratico nel file clients.met (situato nella sottocartella "Config" all'interno della cartella "eMule") non sono memorizzati i tuoi crediti ma quelli degli altri utenti a cui tu hai lasciato scaricare, i tuoi crediti sono sparsi per tutti i file clients.met nei computer dei client che hanno scaricato da te... per questo
non c'è modo di sapere quanti crediti si posseggono.
Altra cosa da considerare è che
i crediti durano solo 5 mesi... se non si riscuotono in tempo utile scadono.
Quindi sul tuo PC non ci sono fisicamente in nessun modo i tuoi crediti... tu puoi riscuoterli solo se ti connetti, connettendoti la prima volta ti viene assegnato un identificativo: l'userhash, questo e' salvato nel file preferences.dat e indetifica univocamente un client nel network.
In pratica per farti riconoscere dai client tuoi debitori devi presentarti con il tuo univoco userhash, solo così puoi riscuotere i tuoi crediti.
Inoltre per preservare il proprio userhash da appropriamenti indebiti il riconoscimento tra due client è affidato ad un sistema crittografico a chave asimmetrica (molto simile al sistema già utilizzato per le transazioni bancarie via internet). Questo sistema è gestito dal file cryptkey.dat.
Ecco spiegata l'importanza dei file clients.met, preferences.dat e cryptkey.dat.
Facendo doppio click su un file (= espandere la lista fonti) nella finestra Trasferimenti , potete controllare la vostra posizione in coda rispetto ad ogni client a fianco della dicitura QR (Queue Rank = punteggio coda).
Per ricevere da un client eMule dovete essere in cima alla sua coda...
Guida di tharghan al Sistema di Crediti Ufficiale
Ogni client ha un punteggio, ed il client con il punteggio piu' alto sta in cima alla coda, quando si libera un upload slot (lo "spazio" che eMule concede per far scaricare) ne prende il posto.
Il punteggio viene cosi' calcolato:
punteggio = tempo in coda * file priority * credits scoreIl "tempo in coda" e' espresso in secondi, ogni secondo e' un punto. In pratica 5 minuti (300 secondi) sono 300 punti.
Il "file priority" varia a seconda del file richiesto. Ad esempio, i files in release hanno una priorita' di 1.8, quelli normali di 0.9, quelli in priorita' bassa 0.2.
Il "credits score" e' un rapporto che spiego piu' in basso.
Ora facciamo un esempio di un client che sta in coda da 10 minuti, senza crediti, e che ha richiesto un file in priorita' release.
Il punteggio sara': 600 * 1.8 * 1 = 1080
Prendiamo invece un client che sta in coda da 30 minuti, sempre senza crediti, ma che richiede un file in priorita' bassa:
1800 * 0.2 * 1 = 360
I tanto famosi CREDITI
Innanzitutto come funziona il "credit score" di un client? Questo valore varia da un minimo di 1 ad un massimo di 10 e la sua formula, in linea generale, è la seguente:
credit score = (bytes ricevuti * 2) / bytes inviatiAd esempio se da un client avete ricevuto 100Mb e ne avete inviati 10:
credit score = (100 * 2) / 10 = 20 (che diventa 10 visto che e' il massimo possibile)
Se invece ne avete ricevuti 100 ed inviati 50:
credit score = (100 * 2) / 50 = 4
Prima ho parlato di formula generale perche' in realta', per evitare che anche chi manda solo 10Mb senza ricevere niente possa evere uno score di 10, la formula che eMule usa e' un po' diversa. E cioe':
score = radice quadrata dei [(bytes ricevuti / 1.000.000) + 2]Ad esempio se riceviamo 10Mb, il risultato è:
radice quadrata di [(10.000.000 / 1.000.000) + 2] = radice quadrata di [10 + 2] = circa 3.8
Ora, per i volenterosi che sono arrivati fino a qui, spieghero' come mai il concetto di "costruirsi i crediti" con il tempo non ha molto senso, come mai non e' vero che si hanno basse velocita' quando si e' appena cambiato l'userhash (anzi...) e come mai sistemi come quello lovelace sono migliori.
Prendiamo l'esempio nostro, della comunita' italiana che si scambia spesso files. E' ipotizzabile avere mediamente, trascorso un po' di tempo, un rapporto dare/avere simile. Magari avremo dato di piu' ad alcuni client, e ricevuto meno da altri, ma alla fine il rapporto e' quello. Prendiamo il caso di un client a cui avete inviato 60Mb, e da cui ne avete ricevuti 50. Il vostro rapporto nella sua coda sara':
(60 * 2) / 50 = 2.4
In pratica nel punteggio della coda avrete un bonus per i crediti di 2.4.
Ora prendiamo un altro utente, immaginiamo un utente nuovo che ha appena installato eMule e che ha un nuovo userhash e quindi zero crediti: un utente simile gli manda un intero chunk, 9.28mb. Sapete che score si prende lui appena arrivato per aver inviato solo quello? 3.4. Si' avete capito bene. Addirittura, anche mandando solo 4Mb avrebbe comunque uno score superiore al vostro. Ed e' vero che il suo score diminuira' dopo aver ricevuto (mentre il vostro rimane su perche' e' piu' duraturo), ma e' anche vero che basta cambiare l'userhash di nuovo per ripetere la stessa situazione. Ecco perche' non ha senso dire che dopo aver cambiato versione ed essere passati alla più recente, si va lenti per via dei crediti spariti, ed ecco perche' lovelace ha implementato nella sua mod un sistema di crediti piu' giusto, basato su quanto effettivamente si e' trasferito nel tempo (e che va da 0,1 a 10, mentre quello di eMule va da 1 a 10), e dove cambiare spesso l'userhash non premia.
Spero di essere stato chiaro anche se capisco che alcuni punti siano difficili da comprendere... I piu' curiosi possono anche chiedermi in quali files dei sorgenti sono salvate tutte queste informazioni.

Altre informazioni da
emule.it: