[eMule-Web]

[eMule-Web] (http://www.emule-web.de/board/)
-   eMule - Tools (http://www.emule-web.de/board/emule-tools/)
-   -   client credits 1.6 [16.09.2003] (http://www.emule-web.de/board/4743-client-credits-1-6-16-a.html)

Xman 6. September 2003 11:00

Neue Version is out.

Kleine Textänderung bei den 1 Byte-Uploads. Wie ich erfahren habe kommen diese Werte doch etwas anders zustande als zunächst vermutet. Sie kommen auch regulär zustande. Dennoch sind auffallend oft Leecher dabei im Spiel. Löschen kann man diese Datensätze auf jeden Fall, da sie keine brauchbaren Informationen enthalten aber in manchen Fällen den rechtmäßigen Gebrauch des Userhashes unterbinden.


http://home.arcor.de/xman1/vorschau2.jpg

Erklärung zu den Werten:
1) Einfache Berechnung: Gesamtmenge Upload/Anzahl aller Clients
2) Bereinigte Berechnung:
Beispiel: Angenommen ich hab 100 bekannte Clients, so würde bei 1) Gesamtmenge / 100 gerechnet. Tatsächlich hab ich aber vielleicht nur zu 40 der bekannten Clients etwas hochgeladen. Bei der bereinigten Rechnung wird deshalb nur die Anzahl der Clients berücksichtigt, zu denen tatsächlich upload/download stattfand. In diesem Beispiel würde damit quasi berechnet: Gesamtmenge / 40. Somit bekommt man einen realistischen Uploaddurchschnitt.
3) zu 13,64% aller SI-Clients hab ich hochgeladen ohne Download zu bekommen.
4) von 40,76% aller SI-Clients hab ich runtergeladen ohne Upload zu geben.
5) bei 37,71% aller SI-Clients haben wir gegenseitig hoch und runtergeladen
3) + 4) + 5) sollten 100% ergeben. Tatsächlich kann der Wert aber leicht unter 100% liegen. Das liegt daran, daß noch 1-Byte-Uploads in der clients.met vorhanden sind. Diese Clients hatten bisher weder up- noch download (1 Byte zählt nicht) und fallen darum aus dieser Statistik.

rubio 6. September 2003 11:12

Xman, danke fürs Erklären, aber bin ich blind oder is da tatsächlich kein Link??? :shock:

edit:
Sorry, hab ihn gefunden :P Man könnte ja auch mal eher auf die Idee kommen und auf der ersten Seite nachsehen :D

Mulio 6. September 2003 23:07

So wie das Tool aussieht glaub ich dir das es ne menge Arbeit gemacht hat!Wirst du auch mal ne englische version rausbringen? Denke mal wenn du grünes licht gibst ,gibts bestimmt auch paar nicht deutsche user die das tool gerne haben wollen!Verbesser mich wenn nicht aber so ein Tool hats für Emule bis jetzt noch nicht gegeben oder?

Dank für das schöne Teil!!!

Red-Hawk 6. September 2003 23:14

ich schliese mich mal Mulio, an und sage danke Xman.

ich habe 61 1 byte sender entfernt und das tool macht keinerlei probleme oder sonstwas.

bin durschweg zufieden

so long

Xman 7. September 2003 00:15

Mulio,
ne, bisher gibts so ein Tool noch nicht.
Ne englische Version ist eigentlich schon geplant. Blos wer macht die ganze Übersetzung ? ;-) Mein Englisch ist da nicht unbedingt gut genug und ich bin viel zu langsam :mrgreen:

Mulio & Red-Hawk,
freut mich, daß ihr zufrieden seit.

dummbrot 7. September 2003 00:39

1195 enfernt :shock:

Thanks

Blomy 7. September 2003 00:51

@ Xman
you need help for english translations ?
You, Xman, must click here

NaP 7. September 2003 01:20

Xman, ich könnt michma dran versuchen (englisch leistungskurs :roll: ). kommt aber drauf an, wie komplex sich das ganze gestaltet, und wie du dir das überhaupt vorstellst.

*edit, mh, war grad nur auf seite 3, hab da blomys post noch ni gelesen*

Xman 7. September 2003 09:07

danke, daß ihr eure Hilfe anbietet, werd sie dann auch in Anspruch nehmen.

Die mehrsprachige Umgestaltung werd ich aber erst später in Angriff nehmen. Die nächsten Tage möchte ich erst mal nicht weiterentwickeln.

Wie ich das ganze technisch löse weiß ich auch noch nicht so hundertprozentig. In VB ist das Handling von Resource-Dateien nicht so schön gelöst wie in C++.
Egal aber wie ich das technisch löse wird sich die Frage auftun wie es später mal aussehen soll. 4 Möglichkeiten:
1. es gibt 2 exe-Dateien, einmal englisch einmal deutsch
oder es gibt im Programm die Möglichkeit die Sprache einzustellen mit folgenden Unterschieden:
2. die Sprache wird nicht "gemerkt" sondern muß jedes mal neu eingestellt werden
3. die ausgewählte Sprache wird per Regestry-Eintrag gespeichert
4. die ausgewählte Sprache wird in einer config-Datei gespeichert

Was euch da am besten gefällt könnt ihr schreiben.

Wenn ich mich dann an die Arbeit mache, werd ich dann einfach mal die deutschen Ressourcen (also Texte) posten.

NaP 7. September 2003 11:31

Ich persönlich würde variante 4 bevorzugen. zb. in einer .ini datei, so wie es emule auch macht.
in dieser .ini datei könnten vielleicht auch die ganzen übersetzungsstrings (zb Beenden=quit) stehen, damit könnte jeder, der ein bisschen deutsch kann, diese ganz einfach in eine andere sprache umwandeln, und wäre nicht auf hilfe von dir (neue exe kompiliern) angewiesen.hab sowas in anderen programmen schon so gesehen.
um den faden schonmal weiter zuspinnen: auf deiner hp könntest du dann die besten übersetzungen in andere sprachen zum dl anbieten, damit man sich nicht unbedingt die mühe machen müsst.

allerdings weiss ich nicht, ob dies mit der .ini datei so in vb machbar ist.

cyrex2001 7. September 2003 11:41

so ähnlich wie es Blacklotus mit der onlinesig macht!
cyrex2001

Xman 7. September 2003 11:42

NaP,
in einer ini-Datei kannst Du nur die Einstellungen speichern.
Die Sprach-Texte müssen in ne andere Datei. Ob ich die dann für jeden zugänglich mache weiß ich nicht. Da besteht halt die Gefahr, daß es verpfuscht wird.
Bei emule hatte man sich ja auch die Varianten überlegt: Resources-Strings leserlich abspeichern oder inner dll. Man entschied sich für die dll.

Übrigens dachte ich mir gleich, daß Variante 4 bevorzugt wird. Das einzige was ich an dieser Variante stört, daß wegen eines einzig notwendigen Eintrags (englisch oder deutsch) welchen man eigentlich in einem einzigen Bit speichern kann, eine komplette zusätzliche Datei verwaltet werden müßte.
Ich persönlich tendiere zu Variante 1, da die exe eh sehr klein ist.

Edol 7. September 2003 21:50

Bei mir sagt Emule, wenn ich die 1kb clients rauswerfe, speichere und dann emule neustarte Creditfile beschädigt...

Edit:
wenn ich nachdem speichern das Prog offen lasse und das nun von 1kbyte befreite clients.met file lade und ohne Änderungen vorzunehmen wieder speicher, kommt die Meldung mit dem kaputten Creditfile nicht.

Das mit dem Setze default klappt nicht.
Er sagt Laufwerkfehler '6':
Überlauf

/Edit

rubio 7. September 2003 22:12

Bei mir sagt er auch "credit file is corrupted and will be replaced" :(
In der 1.0 trat der Fehler nicht auf, ob der Trick von Edol bei mir auch funzt hab ich nicht ausprobiert.

Xman 7. September 2003 23:29

Edol, rubio,
danke für eure Rückmeldung.

Bei den vielen Variablen die bei der 1.1 dazukamen hab ich mich einmal vertippt. Dies aber an einer ungünstigen Stelle. Dadurch wurde die falsche Anzahl in die clients.met eingetragen und emule erkannte sie dann als defekt an.
Dummerweise tritt dieser Fehler nur in einer bestimmten Konstelation auf, die ich beim Testen natürlich nicht berücksichtigte.

Bug gefixed. Sollte nun in der 1.2 alles wieder funktionieren.

Edol,
der Laufwerkfehler ist mir allerdings unklar, wie der zustande kommen kann. :roll:

rubio 8. September 2003 00:21

Dank Xman für das fixe Bugfix :D

Solltest du dich der Einführung einer englischsprachigen Version doch für Lösung 4 (cfg Datei) entscheiden, dann könntest du direkt nen Counter einbauen, der die "all-time deleted 1Byte Uploader" anzeigt und diesen Wert auch in der cfg ablegen... nur so als kleines Gimmick für einen Statistikfreak wie mich :wink:

Edol 8. September 2003 21:01

1. Prob mit dem beschädigten Creditfile ist weg.

2.Jetzt kommt aber ein aber :shock: :
Wenn ich bei Alte Clients nur unsichere anwähle und bei Tage null eingebe, sollte er doch alle unsicheren Clients entfernen.
Er sagt dann aber 387alte, unsichere Datensätze entfernen. Fortfahren ?
Das ist aber genau die Anzahl der SI Clients, die ohne Si sind 2143.
Er löscht dann aber die unsicheren Clients, was richtig ist.

3.Die Anzahl Si und ohne Si also 387+2143=2530 stehen bei Gesamt, aber die gleiche Zahl steht auch noch bei alte Clients.
Es kann doch kaum sein, dass die gesamten Clients alle alt sind oder?

4.Was komisch ist, wenn ich wie zuallererst geschrieben, die 1Byte upload entferne speichere und Emule dann starte funzt es und Emule zeigt dann die 2530 bekannten Clients an. Edit: Obwohl die auch unter alte clients registriert sind /Edit
Lösche ich dann die wie bei 2. beschriebenen die unsicheren Clients (2143),starte dann Emule sagt er 0 bekannte Clients.

5. Alleine schon um die 1Byte Uploader rauszuhauen lohnt sich dein Prog.

Edit
Dein Prog.name heißt immer noch 1.1
/Edit

Xman 8. September 2003 21:40

ok, bei den alten clients entfernen hab ich noch nen fetten Bug gefunden.
Mach mich da morgen dran. Vorerst empfehle ich die Funktionmal lieber nicht zu verwenden.

Edol, bist n wirklich guter Tester, Danke!

Xman 8. September 2003 21:58

Edol,
ich geh das Programm grad durch... allerdings hat der gefundene Bug eigentlich nichts mit Deinen Zahlen zu tun.
zu 2) würde mich wundern wenn das genau die Zahl der SI clients ist. Bei mir ist das nicht so, wird nämlich auch ganz anders berechnet.
zu 3) sowas kann eigentlich nur passieren, wenn nirgend ein Datum eingetragen ist.
zu 4) das kommt wohl vom erwähten Bug

Sobald ich sie hab werd ich mal Deine clients.met unter die Lupe nehmen ;-)

PS: Die Anzahl der alten Clients kann leicht "unrichtig" sein. C++ errechnet das Datum ganz anders als VB. Da muß ich also umrechnen. Hier kommen Rundungsfehler ins Spiel, was dazu führen kann, daß z.B. ein Client der 30 Tage alt ist nur als 29 Tage alt anerkannt wird. Ist nicht weiter schlimm, werd dennoch mal schauen was ich da noch optimieren kann.

Xman 9. September 2003 18:28

new Version is out.

2 Bugs gefixed welche beim Löschen alter Clients zu fehlern führten. Die 2 Bugs waren mir beim testen nicht aufgefallen, da sie sich unter Umständen gegenseitig wieder aufhoben. Danke an Edol, durch ihn hab ich sie gefunden.


Datum-Berechung der Clients hat nun keine Rundungsfehler mehr.

Desweiteren hab ich das Handling leicht geändert. Bisher wurde ein Client als Alt erkannt wenn sein Datum < als die angegebenen Tage war. Nun wird er als alt erkannt wenn er <= angegebene Tage ist. Dieser Schritt war notwendig, da sonst beim Versuch alle unsicheren Clients zu löschen (Tage=0) die heutigen Clients nicht berücksichtigt würden.

Mulio 9. September 2003 19:55

Xman würdest du mir empfehlen meine nicht SI Clienten zu löschen?

Xman 9. September 2003 22:29

schwierige Frage...
ich hab es eingebaut weil ich da schon nen Sinn drin sehe. Gerade was die Leecher betrifft so werden die nicht mehr viel zum stehlen haben. Andererseits ist das natürlich schon ein großer Eingriff. Schließlich verlieren dann wahnsinnig viele Clients ihre Credits bei Dir. (Du verlierst ja zum Glück keine ;-) )

Ich mag Dir keine Empfehlung geben. Ausprobieren kannst es aber allemal. ;-)

Mulio 10. September 2003 17:40

Seh das ähnlich so hab ich irgendwann nur noch Si clienten und die leechers bleiben draussen 642 nicht si werd ich löschen(Ausserdem find ich sollten die meisten eh si benutzen)Die die es nicht tun haben bei mir nun halt pech gehabt :wink:

Edol 10. September 2003 18:04

Bei mir meldet Emule, wenn ich unter "alte Clients" den Punkt bei "nur unsichere" setze, die unsicheren Clients dann lösche und speichere, Creditfile beschädigt.., unabhängig welche Anzahl von Tagen ich eingebe. Nachdem Speichern habe ich das Prog. offen gelassen und probiert das Creditfile neuzuladen, aber er hat das alte geladen (noch mit den unsicheren Clients), anschließend hängt das Prog.
Auch wenn ich nicht nicht abspeichere, lässt sich danach zb: "1 Byte upload entfernen" öffnen, aber das wird nicht ausgeführt und dann hängt das Prog.

Wenn ich statt "nur unsichere" "Alle" anwähle scheint es keine Probleme zu geben (es waren keine mit der Mindestanforderung (60 Tage) vorhanden).

Edit
Bei Mulio scheint es geklappt zu haben, die unsicheren Clients zu löschen, vielleicht liegts an meinem PC oder meiner Blödheit :? :roll: :mrgreen:
/Edit

Xman 10. September 2003 18:20

Edol,
ohweh, Du machst mir Baucschmerzen :mrgreen:
Aber schon gut, wenn ich jemand wie Dich hab der wirklich alles auf Herz und Nieren prüft. Ich schaus mir nochmal an ob ich was finde das noch nicht so ganz 100% ist.

Xman 10. September 2003 18:38

ok, hab den Fehler gefunden...
bei der letzten Codeänderung änderte ich ja ab, daß clients als alt erkannt werden wenn sie <= angegebener Tage sind. An 4 Stellen hab ich aus dem "<" ein "<=" gemacht, an der 5. Stelle vergessen :evil:
Ok, werd ich später richten.
thx Edol

Edol 10. September 2003 19:59

Zitat:

Zitat von Xman
Edol,
ohweh, Du machst mir Baucschmerzen :mrgreen:

:mrgreen:

Zitat:

Zitat von Xman
an der 5. Stelle vergessen :evil:

Kleinvieh macht auch Mist. :lol: :roll:

Xman 10. September 2003 21:13

Zitat:

Zitat von Edol
Kleinvieh macht auch Mist. :lol: :roll:

tja, und wenn dieses Kleinvieh auch nur nen Fehler unter einer ganz bestimmten Voraussetzung bringt, dann ist er umso schwieriger zu finden. Aber Gott sei dank gibt es Leute wie Dich ;-)

Ok, das "=" ist nun drin. Wer jetzt noch nen Bug findet, da weiß ich noch nicht ob ich ihn erschieße oder mit 1 Million Euro belohne :mrgreen:

Xman 11. September 2003 16:15

ok, hab noch nen ziemlich dubiosen Fehler gefunden.
Im Gegensatz zu jeder anderen Programmiersprache wo der Variablen-Typ einer Operation nach klaren Regeln definiert wird, macht VB dies nach Lust und Laune. Das konnte dazu führen, daß die clients.met 2 Byte zu wenig hat und damit unlesbar wurde.

gefixed.

Edol 11. September 2003 16:25

Zitat:

Zitat von Xman
Wer jetzt noch nen Bug findet, da weiß ich noch nicht ob ich ihn erschieße oder mit 1 Million Euro belohne :mrgreen:

Welches von beidem machst du nun? :mrgreen:

Edol 11. September 2003 16:29

Zitat:

Zitat von Edol
Bei mir meldet Emule, wenn ich unter "alte Clients" den Punkt bei "nur unsichere" setze, die unsicheren Clients dann lösche und speichere, Creditfile beschädigt.., unabhängig welche Anzahl von Tagen ich eingebe. Nachdem Speichern habe ich das Prog. offen gelassen und probiert das Creditfile neuzuladen, aber er hat das alte geladen (noch mit den unsicheren Clients), anschließend hängt das Prog.
Auch wenn ich nicht nicht abspeichere, lässt sich danach zb: "1 Byte upload entfernen" öffnen, aber das wird nicht ausgeführt und dann hängt das Prog.

Mit der 1.5 kommt dieser Fehler bei mir nicht mehr vor, mit der 1.4 schon.

TheMatrix 11. September 2003 16:50

Bei mir wurden 2100 Clienst gelöscht!! :(

Xman 11. September 2003 16:55

TheMatrix,
das wurde Dir zuvor aber auch so angezeigt ?

Edol,
ich mach das von beiden was mich weniger Geld kostet :mrgreen:

Der dumme Microsoft-Fehler den ich heute fand war aber schon ärgerlich. Der war auch wahnsinnig unkalkulierbar. Nun ja, den hab ich auch dank Dir gefunden, Edol.

TheMatrix 11. September 2003 18:06

Ich habe das Tool benutzt, heißt die credits.met geladen und dann auf 1byte Upload geklickt und es würden 2100 clients gelöscht jetzt habe ich das Gefühl das mein Down jetzt besser läuft!
Kann das sein oder Irre ich mich?

@Xman ja würde es wieso fragst du?

cyrex2001 11. September 2003 18:13

Xman, gibst denn täglich eine neue version? :mrgreen:
big thanks for the tool!
cyrex2001

Xman 11. September 2003 18:18

TheMatrix,
ich wollte nru außschließen, daß mein Programm bei Dir nen Fehler machte. Deine Aussage klang oben nämlich so ;-)

zu den 1 Byte Uploads:
Wenn Du diese Datensätze löscht, werden praktisch die Leute rausgelöscht, die keine Credits haben. Sind praktisch überflüssige Datensätze. In sehr vielen Fällen kommen diese Eintragungen durch Leecher, die einen Userhash geklaut haben. Wenn Du die Datensätze löscht hat praktisch wieder der rechtmäßige Besitzer des Hashes Chancen Credits bei Dir zu erwerben.
Das kann sich natürlich auch auf den Download auswirken, da Du nun ja schließlich die Richtigen belohnst. Allerdings kann ich mir nicht vorstellen, daß dies binnen kurzer Zeit zu spürbar besseren Ergebnissen führt.

@all:
bereits vor geraumer Zeit hab ich den offiziellen emule-devs von dieser Leecherproblematik erzählt. Mir wurde darauf nur mitgeteilt, wie legal 1 Byte uploads zustandekommen. Ich hatte allerdings nicht den Eindruck, daß man das Problem ernst nimmt.
Allerdings ist seit gestern zu lesen, daß der offizielle emule bald CIDE verpaßt bekommt. Vielleicht ist das die Antwort auf besagte Leecherproblematik.

Xman 11. September 2003 18:21

@cyrex2001:
Ich hoffe nicht.:mrgreen: Jetzt sollten schon alle Bugs raus sein. Waren bisher zwar nur alles Kleinigkeiten, aber Kleinigkeiten mit großer Wirkung.

TheMatrix 11. September 2003 18:37

@Xman

Danke für die Ausfühliche Info, aber ich habe in der Tat den eindruck das es besser läut wo ich den Esel neugestartet habe fing diese sofort anzuladen.
An den Einstellungen habe ich nichts verändert!

John Mason 12. September 2003 10:30

sehr gute arbeit! Respekt! aber was ist SI?

Xman 12. September 2003 11:02

John Mason,
SI= Secure Identification. Ein RSA-Schlüssel der bei Clients ab 0.29b zusätzlich gespeichert wird. Mit Hilfe dieses Schlüssel wird sichergestellt, daß die erworbenen Credits nicht durch Leecher gestohlen werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:57 Uhr.

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


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102