[eMule-Web]  

Zurück   [eMule-Web] > eMule > eMule MODs - Allgemein

eMule MODs - Allgemein Alles zu den eMule-MODs, die unsere Anforderungen für 'saubere' MODs erfüllen.

Antwort
 
LinkBack Themen-Optionen
Alt 23. March 2007, 21:08   #16
MODder
 
Benutzerbild von Spike2
 
Registriert seit: 23.03.2007
Ort: im hohen Norden :)
Beiträge: 26



Zitat:
Zitat von Daisuke Beitrag anzeigen
[1] In wie weit bevorzugt Shareaza andere shareaza-clients vor eMule-clients? mir ist bewusst, dass shareaza eMule und besonders den mods in vielen dingen hinterherhinkt, doch wäre eine Bevorzugung von Shareaza-Clients absolut unbeabsichtigt.
So etwas war bei Shareaza mal angedacht (ich kann den Link gerne noch einmal heraussuchen). Außerdem war 'raza früher closed source, auch das trägt nicht unbedingt dazu bei, daß man diesem Client nun mehr Vertrauen entgegenbringt

Zitat:
[2] Wie genau emuliert "Emulate Others" Shareaza um die angebliche Benachteiligung auszugleichen?
Das kann ich Dir genau beantworten, weil "emulate Shareaza" größtenteils von mir stammt:
1) Shareaza sendet eine andere Edonkey-Version (0x3D, eMule sendet 0x3C). 'Raza wurde mal von den Servern gebannt aufgrund eines derben Bugs, und gefixte 'razas sollten sich dann mit dieser neuen ID ausweisen, daß sie nicht vom Server gebannt werden. Hieran identifizieren sich auch neuere Shareazas, wird also vom emulate nachgeahmt.
2)
Code:
 
if (thePrefs.IsEmuShareaza() && GetClientSoft() == SO_SHAREAZA)
{
CTag tagMuleVersion(CT_EMULE_VERSION,
(SO_SHAREAZA << 24) |
(2 << 17) |
(2 << 10) |
(1 << 7) |
(0 )
);
tagMuleVersion.WriteTagToFile(data);
Die Versions-Daten, die gesendet werden, entsprechen denen von Shareaza. Ich habe in einem "Sandbox-Experiment" mit zwei Rechnern - einer mit eMule mit emulate, der andere mit 'raza - das emulate getestet - es klappt, aber nur, wenn man beides emuliert. Am Userhash wird nix geändert.

Zitat:
Zitat von Verlierer Beitrag anzeigen
Da es bei Shareaza aber keinen Uploadzwang gibt - oder zumindest gab - hab ich nix dagegen, dass dieser Client gestraft wird.
Shareaza wird durch das emulieren in keiner Art und Weise gestraft. Es entstehen dem Client keinerlei Nachteile.

Zitat:
Zitat von aalerich Beitrag anzeigen
Ehrlich gesagt würde ich denken, das wäre eher eine Frage fürs offizielle Board; ich glaube nicht, daß sich hier jemand mit dem Feature wirklich auskennt. Generell dürften sich wohl nur sehr wenige intensiver damit befaßt haben.
Hehe, doch ich *g* Von mir stammt ja "emulate Shareaza" und "emulate lphant"

Zitat:
Zitat von Xman Beitrag anzeigen
der ganze emulieren-Quark beruht auf den Userhash.
Das Emulieren von eDonkey/Hybrid und MLdonkey beruht (unter anderem!) auf dem Userhash. Das von 'raza und lphant nicht. Aber meine Tests haben ergeben, daß zumindest das Emulieren von eDonkey/Hybrid zu einer besseren Kommunikation zwischen beiden Clients führt - die nehmen mehr von mir, geben mir aber auch mehr. Für Interessierte hier der gesamte emulate-Code:

Code:
 
// [ionix] emulate other // WiZaRd: optimized!
uchar hash[16]; 
MEMCOPY(hash,thePrefs.GetUserHash(), 16);
if (thePrefs.IsEmuMLDonkey() && GetClientSoft() == SO_MLDONKEY)
{
if(GetHashType() == SO_OLD_MLDONKEY)
{
hash[5] = 'M'; //WiZaRd::Proper Hash Fake :P
hash[14] = 'L'; //WiZaRd::Proper Hash Fake :P
if(thePrefs.IsLogEmuEvents())
AddModLogLine(false,_T("[EMULATE] Emuliere MLDonkey's Hash für alten MLdonkey: %s"),DbgGetClientInfo());
}
//else use default hash
}
else if ((thePrefs.IsEmueDonkey() && GetClientSoft() == SO_EDONKEY)
|| (thePrefs.IsEmueDonkeyHybrid() && GetClientSoft() == SO_EDONKEYHYBRID))
{
uint8 random = (uint8)(rand()%_UI8_MAX); //Spike2, avoid C4244
hash[5] = random == 14 ? random+1 : random; //WiZaRd::Avoid eMule Hash
random = (uint8)(rand()%_UI8_MAX); //Spike2, avoid C4244
hash[14] = random == 111 ? random+1 : random; //WiZaRd::Avoid eMule Hash
if (GetClientSoft() == SO_EDONKEY && thePrefs.IsLogEmuEvents()) 
AddModLogLine(false,_T("[EMULATE] Emuliere eDonkey's Hash: %s"),DbgGetClientInfo());
else if (GetClientSoft() == SO_EDONKEYHYBRID && thePrefs.IsLogEmuEvents())
AddModLogLine(false,_T("[EMULATE] Emuliere eDonkeyHybrid's Hash: %s"),DbgGetClientInfo());
}
data->WriteHash16(hash);
// [ionix] emulate other
...
Code:
 
// eD2K Version
// Spike2 - emulate Shareaza - START
if (thePrefs.IsEmuShareaza() && GetClientSoft() == SO_SHAREAZA)
{
CTag tagVersion(CT_VERSION,SHAREAZAEMUVERSION);
tagVersion.WriteTagToFile(data);
if(thePrefs.IsLogEmuEvents())
AddModLogLine(false,_T("[EMULATE] Emuliere Shareaza's ed2k-Protokoll: %s"),DbgGetClientInfo());
}
else 
{
// Spike2 - emulate Shareaza - END
CTag tagVersion(CT_VERSION,EDONKEYVERSION);
tagVersion.WriteTagToFile(data);
}
....
Code:
 
// Spike2 - emulate Shareaza - START
if (thePrefs.IsEmuShareaza() && GetClientSoft() == SO_SHAREAZA)
{
CTag tagMuleVersion(CT_EMULE_VERSION,
(SO_SHAREAZA << 24) |
(2 << 17) |
(2 << 10) |
(1 << 7) |
(0 )
);
tagMuleVersion.WriteTagToFile(data);
if(thePrefs.IsLogEmuEvents()){
AddModLogLine(false,_T("[EMULATE] Emuliere Shareaza: %s"),DbgGetClientInfo());}
}
// Spike2 - emulate Shareaza - END
// Spike2 - emulate lPhant - START
else if (thePrefs.IsEmuLphant() && GetClientSoft() == SO_LPHANT)
{
CTag tagMuleVersion(CT_EMULE_VERSION,
(SO_LPHANT << 24) |
(2 << 17) |
(9 << 10) |
(0 << 7)
);
tagMuleVersion.WriteTagToFile(data);
if(thePrefs.IsLogEmuEvents()){
AddModLogLine(false,_T("[EMULATE] Emuliere lPhant: %s"),DbgGetClientInfo());}
}
// Spike2 - emulate lPhant - END
// Spike2 - enhanced emulate MLdonkey / eDonkey / eDonkeyHybrid
else if (thePrefs.IsEmuMLDonkey() && GetClientSoft() == SO_MLDONKEY)
{
CTag tagMuleVersion(CT_EMULE_VERSION,
(SO_MLDONKEY << 24) |
(2 << 17) |
(7 << 10) |
(3 << 7)
);
tagMuleVersion.WriteTagToFile(data);
if(thePrefs.IsLogEmuEvents()){
AddModLogLine(false,_T("[EMULATE] Emuliere MLdonkey: %s"),DbgGetClientInfo());}
}
else if (thePrefs.IsEmueDonkey() && GetClientSoft() == SO_EDONKEY)
{
CTag tagMuleVersion(CT_EMULE_VERSION,
(SO_EDONKEY << 24) |
(10405 << 17)
);
tagMuleVersion.WriteTagToFile(data);
if(thePrefs.IsLogEmuEvents()){
AddModLogLine(false,_T("[EMULATE] Emuliere eDonkey: %s"),DbgGetClientInfo());}
}
else if (thePrefs.IsEmueDonkeyHybrid() && GetClientSoft() == SO_EDONKEYHYBRID)
{
CTag tagMuleVersion(CT_EMULE_VERSION,
(SO_EDONKEYHYBRID << 24) |
(10405 << 17)
);
tagMuleVersion.WriteTagToFile(data);
if(thePrefs.IsLogEmuEvents()){
AddModLogLine(false,_T("[EMULATE] Emuliere eDonkeyHybrid: %s"),DbgGetClientInfo());}
}
// Spike2 - enhanced emulate MLdonkey / eDonkey / eDonkeyHybrid
else 
{
// eMule Version
CTag tagMuleVersion(CT_EMULE_VERSION, 
//(uCompatibleClientID << 24) |
(CemuleApp::m_nVersionMjr << 17) |
(CemuleApp::m_nVersionMin << 10) |
(CemuleApp::m_nVersionUpd << 7) 
| (UINT(DBG_VERSION_BUILD)) //>>> WiZaRd::ClientAnalyzer
// (RESERVED ) 
);
tagMuleVersion.WriteTagToFile(data);
}
Bei weiteren Fragen zu den emulates - einfach fragen
__________________
---------------------------------------------------------
PowerShare / 2 AntiLeechSys / IP2Country / emulate other
....and many, many other things !
eMule Spike2-Mod
Spike2 ist offline   Mit Zitat antworten
Alt 24. March 2007, 00:04   #17
Board Methusalem
 
Benutzerbild von aalerich
 
Registriert seit: 31.05.2004
Beiträge: 2.800

Zitat:
Zitat von Spike2 Beitrag anzeigen
Hehe, doch ich *g*
Eine gute Gelegenheit für ein Willkommen.

Ansonsten würde ich mich um die Hybriden nicht mehr kümmern, die waren einmal (Wowereit würde sagen "Und das ist auch gut so!")

Mit freundlichen Grüßen
aalerich

aalerich ist offline   Mit Zitat antworten
Alt 26. March 2007, 06:12   #18
taz
Newbie
 
Benutzerbild von taz
 
Registriert seit: 26.02.2007
Beiträge: 3

@Spike2 - Great to see u around, welcome onboard !

I do not read,write or speak German (I'm using Elmundo via FoxLingo on FireFox) - however I'm trying to follow discussion.
Is the code u "quoted" part of spike-2.09 or is it going to be inserted in next revision ?

taz ist offline   Mit Zitat antworten
Alt 4. April 2007, 18:23   #19
MODder
 
Benutzerbild von Spike2
 
Registriert seit: 23.03.2007
Ort: im hohen Norden :)
Beiträge: 26

Hi Taz,

it is already part of Spike2 0.9.

Greetz--

Spike2
__________________
---------------------------------------------------------
PowerShare / 2 AntiLeechSys / IP2Country / emulate other
....and many, many other things !
eMule Spike2-Mod
Spike2 ist offline   Mit Zitat antworten
Antwort

Lesezeichen


Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen: "Emulate Others" Mehr Informationen?


  1. Bluescreen "BAD POOL CALLER" beim "eseln"
    Hard- und Software Allgemein - 30. June 2008 (8)
  2. Pfad für "downloads.txt" und "downloads.bak" ändern (Vista)
    eMule Allgemein - 27. November 2007 (6)
  3. emule-Suche "funktioniert" nicht mehr richtig
    Mülltonne - 8. May 2007 (1)
  4. Webdienst "ed2kHistory Power" funktioniert nicht mehr.
    Xtreme MOD - 4. October 2006 (5)
  5. GMX-Spamfilter gegen "GMX-Updates" und "-News"?
    Allgemeines OffTopic - 4. September 2006 (7)
  6. Kann "Portforwarding" und/oder "Portmapping" nicht finden
    DSL Router - 14. August 2005 (7)
  7. "eMule_Secure" will bei mir nicht mehr funktionieren.
    eMule Allgemein - 15. February 2005 (0)
  8. Emule kriegt keine "Verbindung" mehr hin
    DSL Router - 9. January 2004 (4)
  9. "Hide Overshare" und "Downloadtimeout" ?
    eMule MODs - Allgemein - 3. August 2003 (11)
  10. "blockieren" und "verstecken" von parts?
    eMule MODs - Allgemein - 28. July 2003 (13)
  11. Hilfe!! Komme nicht mehr auf "Home"=http://192.168
    DSL Router - 22. February 2003 (4)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
PAGERANK