Menu principale

News:

Ritornati online con una nuova veste grafica

[GUIDA] Configurare un server eDonkey

Aperto da heternova, 30 Maggio 2003, 14:33:24

Discussione precedente - Discussione successiva

heternova

Vuoi metter su un server eD2k? Hai già un server ma hai problemi?
Allora leggi la guida qui sotto


[span style=\'color:red\']Configurazione ottimale di un server per la rete eDonkey
v. 16.38 (traduzione del testo di Diesel)[/span]


(Mi spiace ma gli screenshots non sono riuscito a trasferirli - non è così grave)  B)


Introduzione

La rete eDonkey esiste ormai da due anni ed ha raggiunto più di  mezzo milione di utilizzatori che approfittano dei suoi vantaggi. Circa 250.000 persone sono connesse in modo permanente. Sfortunatamente non ci sono abbastanza risorse in servers per accogliere più users: otterrete un semplice "Can't connect to: 213.46.52.13", al posto di approfittare dei vantaggi di eDonkey... Per questo motivo ho scritto questo articolo: spero che ci possiate trovare tutto ciò che cercate per configurare il vostro server! Non abbiate paura della mole di questa guida, la gestione di un server per la rete eDonkey è molto più semplice di quanto la mole di questa guida faccia credere ;-)
In effetti, questa raccolta descrive in maniera abbastanza approfondita la configurazione di un server e, spero, di tutti i problemi che potrebbero verificarsi. Nessuna domanda dovrebbe restare senza risposta. Si tratta di una descrizione del sistema, dell'installazione di un server sotto diversi sistemi operativi, della spiegazione di ogni variabile della cartella d'installazione e dell'adattamento a dipendenza della potenza della CPU, dalla banda di connessione alla rete alle possibilità intrinseche del server. Così potrete ottenere per gli utilizzatori il massimo dal server senza rovinarvi.

Motivazioni

Cosa spinge una persona a mettere in piedi un server? Si tratta soprattutto della riconoscenza della comunità e il desiderio di rafforzare le giovani strutture che permettono lo scambio di infromarzioni P2P. Ci sono inoltre ragioni politiche (copyright, informazioni gratuite): questi motivi mi hanno spinto a lanciare un server. Ma prima di tutto dovete sapere che è penalizzante lanciare un server: il vostro computer non dovrebbe essere utilizzato che per questo, in quanto la funzione di server consuma molte delle risorse della macchina. Se siete collegati a Internet attraverso una linea DSL, dovete accettare di avere a disposizione meno potenza per surfare e scaricare, in quanto il server prenderà una parte della banda disponibile (a dipendenza del numero di utilizzatori). Infischiandocene dei possibili problemi, siamo fieri di sostenere la rete eDonkey e di promuovere l'aumento del numero di utilizzatori.


La legge

Ci si potrebbe interrogare sulla legalità della creazione di un tale server o il rischio di possibili problemi giuridici. Il più noto Naspster ha dovuto appendere il server alla parete dopo le ripetute denunce delle organizzazioni e le majors per la protezione del copyright... Avvertimento: insisto nel ricordare che non sono un giurista! Conosco solamente la situazione giuridica in Germania, e ciò che so, l'ho appreso da altri gestori di server. Quindi vi ringrazio di rinunciare a denunciarmi se in futuro potrete incappare in problemi giuridici.

Non vi è finora nessuna legge che proibisce di mettere a disposizione un server di indicizzazione dei files pronti ad essere scambiati. Ciò è molto logico in quanto nessuno di questi file si trova fisicamente sul server... Alcuni avvocati americani hanno argomentato durante il processo Napster, che mettere a disposizione un server di indicizzazione è una complicità alla violazione dei diritti di riproduzione. Un proverbio tedesco dice: "Sul mare e davanti alla Corte la tua vita è nelle mani di Dio". Secondo me, di un ipotetico processo in Germania  non si può prevedere la conclusione. Al contrario di società come Napster, che hanno una struttura centralizzata, i servers eDonkey sono amministrati da cittadini isoltati e indipendenti. Ogni utilizzatore dovrebbe essere inoltre perseguito individualmente se un tale processo si avverasse: problemi in vista per la procura pubblica.

Esistono casi nei quali le associazioni di controllo dei diritti di riproduzione abbiano chiesto ai fornitori di acceso a Internet di impedire ad alcuni clienti di mettere a disposizione determinati servers. L'ISP scrive quindi al suo cliente di non fornire dati protetti dal diritto di riproduzione. E tutto si ferma qui. In questi casi, non vi erano degli amministratori di server eDonkey, ma utilizzatori di Napster e Gnutella. Il mio server gira da marzo 2001 e non ho mai avuto problemi; nemmeno il mio ISP mi rompe scatole a causa dell'enorme traffico prodotto.


Il principio del sistema eD2k

Il sistema fu concepito come ibrido, una condensazione delle migliori idee di Napster e di Gnutella, oltre a nuove idee originali. eD2k comprende le enormi qualità dei predecessori ma non i loro difetti. Ci sono ovviamente dei difetti, come per esempio il fastidioso aggiornamento degli indirizzi IP quando un ISP ridistribuisce gli indirizzi, o l'assenza di funzionalità del DNS dinamico (DNS-Lookup), ma d'altra parte ricordatevi che eDonkey è ancora giovane: ci saranno quindi significative evoluzioni nel futuro...





Questo schema mostra chi scambia quale informazione con chi. Le connessioni tra i servers non figurano: essi comunicato tra di loro a intervalli regolari. Così anche un server appena entrato "in servizio" conoscerà la lista dei servers disponibili seplicemente avendone interrogato uno solo.

Un client ha bisogno di un indirizzo IP (e del numero della porta, se la porta standard 4661 non è utlizzata) di un server per connettersi a lui. Visto che il numero IP degli utilizzatori cambia sovente,  può succedere che il client non conosca l'indirizzo di alcun server. In questo caso gli è impossibile connettersi. Ma vi è sempre una soluzione: alcuni amministratori di server con numero IP dinamico usufruiscono dei "redirectors" (DynDNS/DynIP/...) che determinano un domain statico a partire da un IP dinamico (p. Es. "Little Red Corvette" – Server: "lrc.dyndns.org).

Determinando il DNS (p. Es. "ping lrc.dyndns.org") il server DNS rileva l'indirizzo IP corrente, che può quindi essere semplicemente aggiunto alla lista dei servers del client. Ci sono inoltre diversi siti che ospitano liste aggiornate di servers, come la Maurice Serverlist (http://www.thedonkeynetwork.com/pl/tdn.pl) o slug's quicklinks (http://bse.doesntexist.org/ed2k/index). Lo scopo principale di questo sistema apparentemente complesso è quello di impedire la distruzione della rete. Non vi è un solo e unico server centrale (come Napster), che garantisce il funzionamento dell'insieme del sistema. TUTTI possono gestire un server. Se un server si ferma, il sistema non subisce contraccolpi nel suo insieme: ma solo un server. Importante il fatto che si può far funzionare un server con indirizzo IP dinamico; pochi utilizzatori dispongono di un IP fisso. Gli ISP hanno proceduto in questo modo volendo evitare una massa di traffico importante, che avrebbe portato a costi superiori. Fortunatamente vi sono servizi di DynDNS che rendono facile l'aggiornamento dell'IP corrente per il clients...



Il materiale indispensabile

Potete far girare un server su qualsiasi PC che sia almeno un Pentium 100 e con una Ram da 128Mo per poter fornire delle risposte in tempi soddisfacenti alle richeste inoltrate. Le risposte verranno date via RAM. Non è possibile usare il disco duro per questi dati, a causa del tempo di risposta troppo lento. Ho fatto girare un server per 500 users che utilizza 30 Mo, quindi con 64Mo e un OS leggero dovreste averne abbastanza, a patto che tutte le risorse siano destinate al server. Per lanciare un server su un PC lento come un Pentium 100, bisognerebbe diminuire il numero di utilizzatori: su un Pentium 100 con Linux (il più efficace degli OS server) il server eDonkey può generare 800 clients al massimo. Se ve ne fossero di più potrebbero verificarsi dei sovraccarichi e delle perdite di pacchetti: cosa assolutamente da evitare, altrimenti il nostro server verrà boicottato dagli utilizzatori.


La connessione alla rete

Le porte necessarie sono: TCP4661  e 4662 e UDP4665 ! Lo sottolineo perché sovente ci si dimentica e poi, quando qualcosa non va... il server fa schifo.
Se dovesse esserci un firewall o un router bisognerà aprire le porte specifiche e rindirizzarle sull'indirizzo IP privato del server: il router responsabile del trasferimento deve sapere verso quale indirizzo deve rilocalizzare le porte specifiche. Ci sono troppi dispositivi differenti disponibili perché io possa essere oltremodo preciso a questo proposito, quindi vi prego di consultare la guida del vostro router o firewall.

A questo proposito, Windows XP possiede un filtraggio integrato dei pacchetti che influenza di conseguenza il lavoro corretto del server. Ecco come disattivarli. Importante: qui non si fa assistenza per il firewall. Se il vostro server non funziona, molto probabilmente vi è un muro di fuoco che blocca le porte da qualche parte. Esistono così tanti firewall sul mercato che non posso dare una risposta per ogni modello e marca. La prima volta che lanciate il server sarebbe meglio disattivare totalmente firewall e router, giusto per sapere se senza di loro tutto procede bene. Se con la riattivazione il server non funzionerà più...bé almeno saprete dove sta il problema.
Ci sono sul mercato firewall con filtraggio dei pacchetti (come ZoneAlarm). La maggior parte delle volte sono completamente sovraccaricati dal flusso dei pacchetti generati dal server eDonkey. Avranno bisogno di molti cicli CPU per analizzare tutti i pacchetti in modo da determinarne la loro conformità. Stesso discorso per i routers a basso costo, per i quali una massa di 500 users rappresenta già una mole di lavoro non indifferente. Se volete un firewall software, provate tiny personal firewall (tinysoftware.com) che funziona bene sulla mia macchina.

Non è possibile determinare con esattezza quale sia la giusta potenza della banda: a dipendenza di quanti utilizzatori si voglio supportare e di quante richieste in contemporanea vengono effettuate, la disponibilità di Kb cambierà sensibilmente.
Come detto qui sopra tutto dipende dall'ambiente in cui vi muovete. Una connessione ISDN a 64kb/s rappresenta il minimo per poter soddisfare 500 utilizzatori. Una ADSL a 128kb/s in upload e 768kb/s in download è sufficente  per 1500 users: consiglio utile è quello di tener d'occhio la velocità di uscita dell'ADSL, perché quando il flusso in uscita perde colpi, allora il flusso in entrata diminuisce anch'esso in maniera importante: in effetti, ogni pacchetto scaricato deve essere confermato, ciò che richiede una velocita di trasmissione più elevata. Se non vi è una disponibilità, la conferma occupa più tempo e l'emettitore (fonte) non fornirà più pacchetti fin tanto che non riceverà la "conferma di ricezione" del pacchetto precedentemente inviato. Non potete farci niente, se non limitare la potenza d'uscita leggermente al disotto del massimo disponibile.


I nuovi problemi...

... e la loro soluzione


Quale sitema operativo?

I migliori OS per far girare eDonkey sono Linux, Windows 2000 e XP. Windows 9x e ME non sono consigliabili in quanto permettono solo 100 connessioni simultanee, senza tener conto che sono troppo lenti. Anche se avete un computer molto veloce, vi sarà impossibile servire più di 100 clienti alla volta. Il server diventa molto lento e instabile. Quando ci sono 100 clients connessi non è più possibile aprire un sito web perché il numero massimo di connessioni è stato raggiunto. Ci vuole quindi Linux, Win2k o XP. Se volete che il server lavori da solo nel suo piccolo angolo, allora scegliete Linux. Egli è piccolo, leggero e veramente il più rapido degli OS disponibili oggi. Se non avete esperienza di Linux, avrete probabilmente qualche reticenza a servirvene, ma vi incoraggio a fare almeno un tentativo. Secondo me Linux rappresenta il futuro, ed essere già capaci ad utilizzarlo vuol dire mettere un'ipoteca sul proprio futuro. Migliaia di generosi utilizzatori del pinguino vi possono aiutare a installare, configurare e trovare soluzioni ai problemi. Ma se volete restare in casa Gates, non c'è nessun problema: il server girerà in modo console su entrambi. In termini di prestazioni, gli OS di Microsoft funzionano il 15% in meno in rapporto a Linux, e ci vuole più RAM per l'OS: dunque dimensionate la RAM in funzione dell'OS.





Installazione sotto Windows 2000 e XP

In effetti il termine "installazione" è inadeguato, visto che dovete solo scaricare dserverv.16.38.zip (thedonkeynetwork.com/pl/downloads.pl/eDonkey/dserver.zip) e decompressatelo in un repertorio creato ad hoc. Ci troverete due file: "dserver.exe" e "donkey.ini". La configurazione di donkey.ini è descritta più sotto. Il server si esegue solamente lanciando dserver.exe da una finestra di comando con un doppio click nell'esploratore, o con il "ServerMaker".



Installazione sotto Linux

Come con Windows, scaricate dserverv16.38.gz  (thedonkeynetwork.com/pl/downloads.pl/eDonkey/dserver.gr) e decompressatelo in una cartella appositamente creata. Esso conterrà il file "dserver". Esso è l'esecutibile binario. Dovrete scrivere a mano il "donkey.ini" con un text editor come spiegato più sotto, e registrarlo nello stesso dossier di "dserver". Potete lanciare manualmente il server scrivendo "./dserver", o se volete, attraverso uno script.


Configurazione di "donkey.ini"

Ecco il cuore del soggetto: ogni variabile del server eDonkey è definita in questo file. Una volta lanciato, dserver legge il donkey.ini. Le modifiche che apporterete a donkey.ini non saranno effettive fin tanto che il server non verrà lanciato. Molto importante: il server è suscettibile, non supporta gli insulti (Syntax-Errors). Non interpreta i comandi isolati e non gli piaccioni i comandi poco chiari. Se avete paura di sbagliare, piuttosto di fare tutto da soli vi conviene utilizzare il donkey.ini-configurator del sito TheDonkeyNetwork (http://www.thedonkeynetwork.com/pl/tdn.pl?site=server_configurator.html).

[server]

Questo comando fa partire il processo di controllo. Esso deve essere inserito tra parentesi quadre. È importante che non vi sia nessun spazio dopo l'ultima parentesi. Causerebbe problemi al server e probabilmente non funzionerebbe (non per niente si chiama mulo). I comandi seguenti sono solo esempi.

Name=TheDonkeyNetwork

Il nome del server, così come appare al client. Potete scegliere la combinazione alfanumerica  che preferite.

Desc=Celeron 366, 320MB RAM, Cable

Descrizione del server, come per "name=". Tutto è permesso.

thisIP=217.74.93.105


Attenzione!!!!! (l'IP "217.74.93.105" è solo un esempio). Indica al server il proprio indirizzo IP pubblico!!!! All'avvio, il server mostra questo indirizzo con il quale lavorerà e l'invia agli altri servers. Siate certi che l'IP inserito corrisponda all'indirizzo IP pubblico della vostra macchina. La maggior parte dei problemi di configurazione vengono da qui. Se volete essere sicuri al 100% di quale sia il vostro indirizzo IP pubblico corrente, provate con IP-Requester (http://netsurf.ccn.net/kommunikation/c_ipadresse.htm). L'indirizzo trovato con questo sito è senz'ombra di dubbio il vostro, quindi potete inserirlo nella stringa "thisIP=xxx.xxx.xxx.xxx". Dovete aver l'indirizzo in forma numerica, perché una stringa alfanumerica come xyz.dyndns.org non funziona, in quanto il server è incapace di una risoluzione DNS. Più avanti troverete degli scripts di recupero per gli indirizzi IP dinamici, in modo che questa operazione sia automatizzata. Se lasciate "thisIP=" in bianco, il server tenterà di indovinare l'indirizzo da solo, ciò che solitamente finisce in un grand'errore.

Port=4711

Qui indicherete su quale porta il server sarà raggiungibile. Normalmente si tratta della porta TCP 4661. Se volete utilizzare la porta default 4661, questo comando può essere tralasciato. Se per una ragione qualunque questa porta non è disponibile, potete utilizzarne un'altra. Ovviamente il numero della porta dovrete comunicarlo, altrimenti.... È comunque consigliabile utilizzare la 4661, in modo da evitare malintesi. Il valore normale della porta per la rete eDonkey è: TCP 4661.

seedIP=217.74.93.105

Attenzione!!! (l'IP "217.74.93.105" è solo un esempio). Come il nome lo suggerisce, ("seed" significa origine, fonte, germe, grano,...) si tratta del luogo dove il server si connette al resto della rete, e che dovrebbe essere un altro server, sempre disponibile, in modo che la vostra macchina lo trovi sistematicamente: è il primo server al quale si connette il vostro di server. All'inizio il vostro server invia il proprio numero IP e il suo numero di porta, poi riceve in cambio tutti gli indirizzi IP che conosce il proprio server-fonte. Questi indirizzi sono scritti nella propria banca dati. Quando viene spento, la lista viene registrata sull'hard con il nome "ServerList.met". All'avvio seguente, la variabile seedIP non è più necessaria, in quanto il server dispone di un ampio numero d'indirizzi IP nella sua lista di servers "ServerList.met". Ma un server deve assolutamente funzionare in quel momento all'indirizzo dato nella variabile seedIP. In caso contrario il vostro server non potrà raggiungere la rete eDonkey. Vengono accettate solamente entrate numeriche, le entrate alfanumeriche non funzionano a questo stadio dello sviluppo. Potete lasciare "seedIP" in bianco, se vi è un file "ServerList.met" recente sul disco duro. Se il vostro server è rimasto inattivo parecchi giorni, è possibile che nessun indirizzo salvato sulla serverlist sia più attuale, e il server non potrà più raggiungere la rete. In questo caso potrete ottenere facilmente una lista server.met grazie a Maurice (http://www.thedonkeynetwork.com/cgi-thedonkeynetwork/serverlist/serverlist.pl/server.met?template=server.met) o SLUG (http://www.bdlo.de/images/ed2k/min/server.met).
Io consiglio di lasciare ServerList.met in bianco, e copiare una recente lista nella cartella del server, perché si potrà disporre di un maggior numero di servers operativi già all'avvio ed è meglio avere una lista di indirizzi IP piuttosto che uno solo disponibile.

seedPort=4771

Attenzione!!!! Se il "seed-Server" funziona con un'altra porta che non sia la 4661, questo dato vi interessa molto. 90% dei servers utilizzano la porta 4661: se abbiamo una "serverList.met" locale recente nel repertorio del server, si può lasciare la stringa in bianco... Il valore di seedPort per default è 4661.

logFile=true/false

Attenzione!!!! Al posto di mostrare i logs, potete scegliere di scriverli sul disco, ciò che impedisce completamente l'uscita a schermo. "true" significa "attivato", "false" significa "disattivato". Se preferite una cartella log piuttosto dell'uscita a schermo, scegliete true piuttosto che false. Altrimenti il contrario. Non utilizzate entrambi, potrebbe scoppiarvi in faccia il desktop. Il valore per default di "LogFile" è "false".

verbose=true/false

Se volete che ogni notifica del sistema venga mostrata, allora dovrete attivare "verbose" (dandole il valore di "true"). Normalmente non è necessario che ogni piccolo avvinemento venga mostrato a schermo, perché i messaggi utili "normali" spariscono troppo velocemente. Non siate sorpresi: anche se il valore di verbose è "false", come lo è per default, il server invia sempre un messaggio "ERROR:unknow type MetaTag:MakeTag() 72". Non tenetene conto, funziona benissimo, ma non domandatemi cosa sia perché non lo so!!

public=true/false

Questo comando indica al server se deve inviare il suo indirizzo IP agli altri servers. È fondamentale per la rete che questo comando sia "true", altrimenti nessuno saprà che il vostro server esiste (fintanto che non l'avrete detto a qualcuno). Il vostro server potrà partecipare alla rete solo se "public=true"!!! Attenzione: il valore per default di "public" è "false", dunque se volete che il vostro server si connetta con gli altri, dovete assolutamente intervenire.

threads=5

Questo comando definisce quanti compiti simultanei possono essere eseguiti. Gli OS come Linux, Windows 2000 e XP sono in grado di eseguire molteplici compiti praticamente simultaneamente (anche se è solo un effetto della velocità, in quanto i PC trattano i comandi in modo sequenziale e non simultaneo). La mia esperienza dice che un numero troppo elevato di processi può essere nocivo.Ogni processo, anche se inattivo, occupa tempo e una quantità di memoria. Se preparate un server per 100 persone, vi consiglio di fissare il numero di threads a 5. In nessun caso il numero dovrà superare il 30 se avete un computer lento. ([1GHz): il vostro computer rallenterà vistosamente e perderà memoria, senza nessun beneficio in contropartita. Perché la documentazione ufficiale consiglia la combinazione 5/100 è un mistero. Questo vorrebbe dire 100 processi per 2000 clients: il server non ne avrebbe mai bisogno di così tanti! Se avete un computer molto rapido (]1,5GHz), potete provare a vedere se con più di 30 processi funziona: potrebbe migliorare i risultati.

tableSize=3089

Attenzione!!!! La table è la banca dati delle cartelle e dei clients. Senza addentrarsi troppo nei dettagli tecnici, DEVE essere un numero primo. Sembra che la grandezza abbia poca importanza. Il valore nella cartella .ini è per default "3089", ed è un numero primo. Ho provato altri numeri primi senza notare alcuna differenza. Fate come me: tenetevi per buono il numero già inserito "tableSize=3089". In tutti i casi, il server funziona anche senza "tableSize".
maxClients=1500

Attenzione!!!! Questa è la definizione del numero di  users che si possono avere sul server simultaneamente. Se il valore "maxClient" è raggiunta, il messaggio "Can't connect to..." appare nell'interfaccia client quando si tenta di connettersi.
Dovete cercare il miglior valore per il vostro server: se essa è fissata troppo in basso, perderete delle risorse, se invece è troppo alta, si possono verificare perdite di pacchetti, e il server potrebbe rispondere ai clients in modo molto lento o addirittura non rispondere. Dovrete inoltre tener conto delle ore di punta, e quindi calcolare una riserva sufficente, per ovviare al forte volume di dati inscritti nella tavola d'indicizzazione: la grandezza dei dati ha un'influenza diretta sul bisogno di memoria. Se la macchina inizia a "swappare" (cioè scrivere sul disco duro con un rumore poco rassicurante), vi converrà abbassare il numero di clients. Se il vostro server è saturo, e constatate che il numero di servers attivi in "vs" (View Servers) decresce, vuol dire che state già perdendo un numero importante di pacchetti. La vostra macchina si trova ai limiti di utilizzo. I clients ottengono solo alcuni numeri IP di servers quando si connettono, perché le loro richieste abbisognano di molto tempo. Se ciò vi accade, dove verificare se il server dispone di memoria a sufficenza e se la banda è abbastanza larga . Per tutti questi parametri esistono dei tools di sorveglianza utili anche per la distribuzione Linux (ad. Es. "TOP" per l'utilizzo CPU e memoria, e "IPTRAF" per quella della banda). Piccola info: il server Little Red Corvette gira con Linux su AMD K6 III 400MHz (66MHz FSB, Intel TX) con 256 Mo di RAM e una T-DSL a 128/768 Kbits/s, con una variabile .ini "type=key".

type=key/substring (key OR substring)

Attenzione!!! Potete utilizzare il metodo di ricerca più rapido della versione 38, che è raccomandato. In situazione normale e a un livello di CPU del 50%, ci sono dei picchi di performances, che portano la macchina per più secondi o addirittura minuti al 100%. Questi picchi portano alla perdita di pacchetti già descritta. Potete evitare tutto ciò attivando "type=key". Ora potete regolare il valore "maxClients=" a un valore tale che se il server si trova saturo, l'utilizzazione media della CPUsarà del 70% circa. Osserverete che i picchi di performance sono rari e più brevi. Il valore per default di "type" è "key", quindi nel modo rapido di attività.

console=true/false

Questo comando indica al server  di autoeseguirsi. Ovviamente se il server è lanciato automaticamente non utilizzerete più i comandi "a schermo". Se "console=true" dovete lanciare il server con la tastiera, mentre se "console=false", non è necessario, ma è poi impossibile introdurre un comando via tastiera e niente figurerà a schermo. Sebbene le due opzioni vadano benissimo, preferisco gettare un occhio a ciò che il server fa, e controllare il numero di servers che esso conosce (dando il comando "vs"). Il valore per default di "console" è "true", quindi tastiera attivata.

minVersion=57

Attenzione!!!! Indica che nessuna inferiore alla v.57 non potrà connettersi al server. Sembra pertinente regolare questo valore quando si verifica un update del client, ma si deve fare attenzione a non esagerare, ad esempio permettendo l'ingresso solo all'ultima versione del software client, che solo in pochi potrebbero aver adottato. Se "minVersion" non è definito, tutte le versione andranno bene.
maxVersion=58

Attenzione!!! Definisce la versione massima con cui si può accedere al server. Anche in questo caso è meglio lasciare la variabile in bianco, in modo da permettere a tutte le versioni (anche quelle sperimentali) di poter accedere al server.

welcome[0]=Benvenuti sulla rete dell'asino
welcome[1]=Scambiate i vostri files e la vostra connessione

Si tratta di un messaggio di benvenuto che è inviato al client quando egli si connette al server. Attenzione ai numeri dati, essi devo essere seguenti. I messaggi di benvenuto non devono essere troppo lunghi, altrimenti la loro emissione richiederà  maggiori risorse.

Un file donkey.ini completo e operativo è simile al seguente:

server]

name=TheDonkeyNetwork
desc=Celeron 366, 320MB RAM, Cable
thisIP=213.47.54.71
port=2000
verbose=false
public=true
threads=3
type=key
tableSize=3089
maxClients=500
keywordSearch=true
welcome[0]=Welcome on TheDonkeyNetwork
welcome[1]=***************************
welcome[2]=- Edonkey..Server -
welcome[3]=- share your Files and your upload Bandwith

Quando tutti i dati sono corretti, donkey.ini deve essere registrato in una cartella del server, e il server è pronto ad essere lanciato. Dovete ovviamente essere connessi a Internet. Dopo tre secondi potete già dare l'ordine "vs" per vedere la lista dei servers dalla vostra cartella serverList.met. Se non c'è un indirizzo IP dopo la parola "WORKING", c'è un errore.








Comandi del server

Help Desk

La maggior parte delle volte, gli inizi non sono conformi alle aspettative. Grazie a questa documentazione, andrà sicuramente meglio tra poco. Se non ci sono servers mostrati da "vs" (ViewServers) 15 secondi dopo l'avvio del server, provate con:

1. Non ci sono eventuali errori di battitura (ortografia) in donkey.ini? Con Linux, assicuratevi che donkey.ini (il nome del file) è scritto in minuscolo!

2. L'indirizzo IP visualizzato all'avvio è lo stesso di quello verificato con IP-Requester? In caso contrario, correggetelo in donkey.ini. Si tratta di uno degli errori tipici!

3. La variabile "seedIP" corrisponde veramente a un server eDonkey? Cercate di connettervi con un client. Guardate se la porta del server è corretta.

4. C'è un router che pratica NAT (Network Adress Translation/Masquerading)? Se sì, regolate la ridirezione delle porte del router per le porte TCP:4661, 4662, 4663 e UDP:4665 verso l'indirizzo IP privato del server! Se il protocollo UDP non è disponibile il server non funzionerà.
Con Windows XP: fate attenzione che il gioco di filtri delle porte per default sia disattivata (cliccare su Start-Parametri-Connessioni rete – Doppio click sull'entrata corrispondente alla vostra connessione Internet a banda larga – Click di destra, mostrate le proprietà – Onglet "Avanzato" – mettere una croce su "Proteggere il mio computer..." – Parametri, Onglet "Servizi" cliccate su "Aggiungere" – Aggiungete le porte 4661, 4662, 4663 in "TCP", e la porta 4665 in "UDP", convalidare e riavviare – è fatto (la sequenza può essere differente a seconda della connessione LAN o PPPoE...intuizione ragazzi, intuizione ;-)

5. C'è un firewall tra il server e Internet? Se sì, fate come indicato più in alto – dovete cancellare le porte in questione! (p.e. per "ZoneAlarm" sotto "security" regolate i due cursori su "Low", ma ancora meglio sarebbe disinstallare ZoneAlarm...).

6. Se sotto Linux meno di 1015 clients possono connettersi al server, malgrado la disponibilità di risorse, provate il seguente comando: "ultimit –n 32000". Grazie a ciò, si potranno sorpassare i 5000 clienti per server... se la vostra macchina ne può supportare così tanti.... ;-) Il comando deve essere utilizzato nella console del server, e prima di lanciare il server, altrimenti non funziona!

7. Se non ci sono più di 100 clients su un server w9x/ME, non siate sorpresi: questi OS non possono supportare di più a causa della loro TCP/IP di m***a.

8. Se non vi è possibile aprir più nessun sito Internet con w9x/ME mentre 100 clients sono connessi al vostro server, vuol dire che avete raggiunto il numero massimo di connessioni.

9. Se il server (win32) si ferma poco dopo averlo lanciato, con il seguente messaggio d'errore:



(versione XP del messaggio). Verificate che non avete attivato l'utilizzazione di un proxy in Internet Explorer (Opzioni Internet/Connessioni/Parametri Rete). Se è il caso, il server si schianta in partenza. Soluzione: disattivare l'opzione inutile, o arrangiatevi per non aver più bisogno di un proxy.


Automatizzazione

Se avete una connessione a Internet con un indirizzo IP dinamico, non vedrete l'ora di leggere ciò che segue:

1. Chiamata automatica: se il vostro ISP rompe la connessione ogni 24 ore, la vostra macchina dovrà rilanciare la connessione autonomamente.

2. Identificazione IP: visto che ad ogni nuova connessione ricevete un nuovo indirizzo IP, dovete modificare la varibile "thisIP" di donkey.ini. Dopodiché bisogna rilanciare il server. Durante questo periodo, un conto di ridirezione può essere aggiornato simultaneamente, in modo che la ridirezione vada verso il giusto indirizzo IP.

Automatizzazione sotto Linux

La maggior parte dei discepoli di Linux ama gli scripts e sa che non c'è niente di peggio che adattare una configurazione di server attraverso una GUI. Allora siate onesti con voi stessi e gettate un colpo d'occhio allo script per  Linux-SuSE 7.0. Non so se funziona con altri SuSE, o con altri distributori di Linux: tocca a voi provare.
Chiamata automatica: troverete qui una guida specifica a tutte le distribuzioni SuSE. A titolo di esempio T-DSL on SuSE 7.0 Configuration (http://sdb.suse.de/de/sdb/html/hoe_adsl_pppoe.html).
Arresto automatico del server, identificazione IP, modifica del donkey.ini, riavvio del server update del ridirettore. Il seguente script (così funziona il mio server) è concatenato alla fine di /ect/ppp/ip-up. Ovviamente lo script e donkey.ini devono essere adeguati alle vostre esigenze. Stessa cosa per l'update  del ridirettore e la lista delle biblioteche. Programmi necessari: SCREEN (distribuzione SuSE o server FTP) per lanciare il server con lo script. DDUP (www.tucow.de) per aggiornare il conto DynDNS.

##################### DEBUT ###################
##################### Arrêt du serveur courant ############
killall dserver &
sleep 15
killall -9 dserver
sleep 10
##################### Ecriture du nouveau donkey.ini ######
echo \"[server]
name=LePontAuxAnes
desc=T'en veux un, de serveur? Juste fais-le!
logFile=false
tableSize=3089
threads=5
type=kye
console=true
maxClients=1300
public=true
verbose=false
thisIP=$4
minVersion=58
seedIP=217.74.93.105
welcome[0]=Bienvenue dans ma Petite Bleue Deudeuche
welcome[1]=AMD Zebulon-10Ghz, 256To RAM, Outel TX, SuSE Linux 9.0, max. 3,14159 Users, ouvert tous les jours, Aquì se habla español
welcome[2]=Le mot du sysop: partage tes fichiers, ta bande passante, ta femme...heu non, excuse :-((
welcome[3]=T'en veux un, de serveur? Juste fais-le! Tu trouveras toute l'aide possible à:
welcome[4]=Please jette un œil à: www.eff.org (Electronic Frontier Foundation)
\" ] /usr/donkey/donkey.ini
############# Lancement du serveur#########################
sleep 5
cd /usr/donkey
screen -d -m ./dserver
echo \"`date`: $4\" ]] /usr/donkey/bla
##################### Exec mise à jour de DynDNS ############
ddup --host lrc.dyndns.org
##################### FAIM ################################

Questo è tutto. Come vedete, il server è nel dossier /urs/donkey. Se il vostro dossier è differente, c'è una piccola correzione da fare. Vi domanderete: "Che fine ha fatto il comando "screen"?". Il server ha bisogno di un terminale come ricettore delle entrate della tasteira e per inserire sullo schermo quello che si vuole. Esso viene lanciato con "screen –d –m ./dserver". Quando il server già gira, potete richiamarlo a schermo con un semplice "screen –r" nel bash Linux.
Ora il server può girare mesi senza l'intervento di nessuno. Se la connessione è interrotta dall'ISP, lo script ferma il server, determina il nuovo indirizzo IP, modifica il donkey.ini, rilancia il server e aggiorna il conto DynDNS. Buon lavoro, eh?

Automatizzazione sotto Win2000/XP

Come nel caso dello script per Linux, ecco la risposta grafica per gli utilizzatori di Windows: con Win, è molto più facile automatizzare, grazie al buon lavoro di G@bba! (gabba@phreaker.net). Il programma che ha scritto configura il server 16.38 e gestisce il suo arresto. Il pacchetto sm100d22.zip (www.thedonkeynetwork.com/pl/downloads.pl/tools/sm100d22.zip) domanda prima interattivamente i dati necessari a donkey.ini (assistenza evitando gli errori di sintassi) e lancia il server. Riesce a detettare l'interruzione della connessione, la ristabilisce e fa ripartire il server con il nuovo indirizzo IP. Penso che il programma è talmente intuitivo che ulteriori descrizioni sono superflue. Ecco un colpo d'occhio:
Scaricate il pacchetto e decompressatelo nel dossier del server. Ne esiste anche una versione con installatore automatico (www.thedonkeynetwork.com/pl/downloads.pl/tools/sm100dsetup.zip). Dopo di ché lanciate ServerMaker.exe. A schermo apparirà:



Ho attivato  ,,LAN(behind a router)", perché il mio server vive dietro un router in una macchina che ha un indirizzo IP privato (type:192.168.x.x; 169.254.x.x; 10.x.x.x o 172.16.0.1 a 172.31.255.254). Per fare in modo che ServerMaker possa determinare l'indirizzo IP corretto, dovette attivare l'opzione corrispondente. Quasi sempre, il modem DSL (o RNIS/ISDN o analogico/RTC) è direttamente connesso alla macchina sulla quale gira il server. L'indirizzo IP corretto non dovrebbe essere qui, perché ServerMaker lo troverà (automaticamente) sullo schermo seguente. Se cliccate su "server-config" come nell'immagine qua sopra, un'altra finestra si apre, nella quale potete giocare con i dati di donkey.ini.



Il bottone "detect IP" (al centro in alto). In questo modo, il giusto indirizzo IP (pubblico) è determinato senza nessun errore. I parametri seguenti sono molto importanti:

1. L'indirzzo IP e il numero di porta del "seed-server" (server fonte) desiderato. È un indirizzo di un server e-Donkey operativo (come spiegato in dettaglio più in alto). Maurice' Serverlist fornisce migliori esempi.
2. La casella "Public Server" deve essere crociata per fare in modo che il server faccia parte della rete eDonkey.
3. Attivate "enable console"! Può sempre servire!
4. Il commutatore d'attivazione del modo di ricerca più veloce... attivatelo!
5. Secondo la mia esperienza, 5 processi (threads per gli intimi) sono assolutamente sufficenti.
6. "tablesize":3089 è un numero primo, quindi va bene.
7. "Allow min client version": in modo che non vi sia nessuna vecchia o nuovissima versione che non possa girare sul server, lasciate sia "min" che "max" in bianco.

In più dovete introdurre il nome del server, una breve descrizione e un messaggio di benvenuto. Una volta fatto tutto, cliccate su "Save" in alto a sinistra per registrare il donkey.ini. Poi "leave" e fate pure partire il server con "StartServer" nella finestra principale. Nota: troverete un'icona in basso a destra dello schermo, che rappresenta il ServerMaker.
Ecco qualche istruzione elementare, che dovrebbe essere sufficiente per l'inizio. Potete anche automatizzare il vostro server Windows2000/XP. NdT: Stillman conferma che se voi utilizzate la forma modificata del server scaricabile più sopra, pensate a chiamarlo "nserver2.exe" di Lugdunum in "dserver.exe" se volete usare il ServerMaker.




In conclusione...
...l'autore sogna un nuovo spirito di condivisione, per quanto ciò sia possibile.
Una volta, un vecchio mi disse che dare era meglio che prendere; conosceva l'asino o pensava solamente "che l'ultima camicia non ha tasche" Chi può dirlo? Allora mettete da parte un po' la vostra voglia di download e migliorate la situazione per l'upload.
Inoltre mettere in piedi un server ha anche un significa politico: è una specie di lotta contro lo strapotere delle majors discografiche, delle compagnie cinematografiche, di tutti coloro che ci impongono il copyright.
Da quando l'uomo esiste c'è sempre stato lo scambio e la copia. Quand'ero bambino ci si scambiavano le cassette con le copie delle canzoni preferite, e anche se trent'anni fa Internet ancora non esisteva, l'industria musicale incassava già dividendi perché esisteva una tassa sugli stereo che potevano registrare e sulle cassette. Ovviamente tutti devono guadagnarsi la propria vita, ma ora si sta andando troppo lontano. Le leggi sono troppo restrittive, si vuole arrivare a proibire lo scambio di contenuti in generale. Qui si tratta di una pesante messa in discussione della libertà personale. David Thoerau ha scritto nell'"Obbligo della disobbedienza civile"... immaginate solamente le future generazioni, ditevi che dovranno poter vivere liberamente come noi. Questo è meramente politico, ognuno ha la propria opinione e io la rispetto.

Tutti i miei ringraziamenti ai programmatori della rete eD2k, senza le vostre idee non avrebbe mai visto la luce: Jeb McCaleb, Steven Price, Daniel Eriksson, Jonathan Clark, Enoch Moeller, Laurens Lenoir, Edward Ho, Ben Crofoot e Kobus Jooste. Grazie a tutti! Non è stata una str...ta!
© Diesel

Tradotto dal tedesco all'inglese da Stillman, dall'inglese al francese da Verrac, dal francese all'italiano da Heternova