Tod den Linkern
Tod den Linkern
Heute war mal wieder eine lokale Auferstehungsparty und mal wieder gab es einen Linker. Auf die Frage, wieso er linkt (da es zu dieser Person nicht passt, da sie sonst sehr fair spielt) kam die Antwort: Man kann sich ja sonst nicht gegen andere Linker verteidigen. Ich denke, es ist durchaus möglich (und notwendig!), den Linkern vollkommen den Gar auszumachen.
*Begriffserklärung Linker: Personen, die sich direkt den Angriffslink für NPC herauskopieren, in einem eigenen Fenster öffnen und durch andauerndes Aktualisieren dieses Fensters den anderen in der Schnelligkeit dermaßen überlegen sind, daß diese nicht rechtzeitig reagieren können, um selbst das NPC zu töten.
------------------------------------------------
Zur Idee:
Ich finde, die ID\s sollten dynamisch sein. Beim Erschaffen eines neuen NPC sollte eine zufallsgenerierte Zahl erstellt werden und in einer Tabelle eingetragen werden zusammen mit einem Verweis auf die eigentliche ID. Beim Killn des Monsters wird der Eintrag aus der Tabelle gelöscht. Die Links zum Killn der NPC beziehen sich immer nur auf diese zufallsgenerierte Zahl. Da bei jedem Entstehen des NPC diese wechselt, wird Linken unmöglich.
Zu dieser Zahl: Sie besteht aus einem 2-ziffrigen Präfix und einer z.B. 8 stelligen Zahl. Das Präfix andert sich nicht, die Zahl schon.
Die Zahl wird wie folgt generiert: Ein Zufallsgenerator erzeugt eine Zahl zwischen 1 und 255. Diese wird der zuletzt generierten Zahl aufaddiert. Das Präfix wird alle 2 Stunden um 1 erhöht, um einen Zahlenüberlauf zu verhindern. Somit wird verhindert, daß zufallsgenerierte Zahlen doppelt vergeben werden.
Bsp:
(der Bindestrich und das Rechnen im Dezimalsystem ist nur zur Vereinfachung der Idee, in der Umsetzung ist der Strich natürlich nicht vorhanden und wird Hexadezimal gerechnet).
Es wurde ein NPC erschaffen mit der Zahl: 12 - 14236530 als ID.
Ein weiteres NPC wird respawned und der Zufallsgenerator gibt die Zahl 153 aus.
Somit wird in der Tabelle für das neue NPC die Zahl 12 - 14236683 eingetragen und mit dem NPC verbunden. Alle Links auf dieses NPC beziehen sich daraufhin auf diese Zahl.
Ein weiteres NPC wird respawned und der Zufallsgenerator gibt die Zahl 763 aus. Jedoch ist zwischendurch die Zeitperiode von 2 Stunden abgelaufen. Somit ist die neue ID nicht:
12 - 14237446
sondern
13 - 00000763
Bis das Präfix überläuft (also auf 99 war und mit der nächsten Erhöhung wieder bei 00 startet) kann man davon ausgehen, daß alle NPC, die Nummern hatten, die mit 00 starteten, getötet sind, so daß das kein Problem darstellt.
*Begriffserklärung Linker: Personen, die sich direkt den Angriffslink für NPC herauskopieren, in einem eigenen Fenster öffnen und durch andauerndes Aktualisieren dieses Fensters den anderen in der Schnelligkeit dermaßen überlegen sind, daß diese nicht rechtzeitig reagieren können, um selbst das NPC zu töten.
------------------------------------------------
Zur Idee:
Ich finde, die ID\s sollten dynamisch sein. Beim Erschaffen eines neuen NPC sollte eine zufallsgenerierte Zahl erstellt werden und in einer Tabelle eingetragen werden zusammen mit einem Verweis auf die eigentliche ID. Beim Killn des Monsters wird der Eintrag aus der Tabelle gelöscht. Die Links zum Killn der NPC beziehen sich immer nur auf diese zufallsgenerierte Zahl. Da bei jedem Entstehen des NPC diese wechselt, wird Linken unmöglich.
Zu dieser Zahl: Sie besteht aus einem 2-ziffrigen Präfix und einer z.B. 8 stelligen Zahl. Das Präfix andert sich nicht, die Zahl schon.
Die Zahl wird wie folgt generiert: Ein Zufallsgenerator erzeugt eine Zahl zwischen 1 und 255. Diese wird der zuletzt generierten Zahl aufaddiert. Das Präfix wird alle 2 Stunden um 1 erhöht, um einen Zahlenüberlauf zu verhindern. Somit wird verhindert, daß zufallsgenerierte Zahlen doppelt vergeben werden.
Bsp:
(der Bindestrich und das Rechnen im Dezimalsystem ist nur zur Vereinfachung der Idee, in der Umsetzung ist der Strich natürlich nicht vorhanden und wird Hexadezimal gerechnet).
Es wurde ein NPC erschaffen mit der Zahl: 12 - 14236530 als ID.
Ein weiteres NPC wird respawned und der Zufallsgenerator gibt die Zahl 153 aus.
Somit wird in der Tabelle für das neue NPC die Zahl 12 - 14236683 eingetragen und mit dem NPC verbunden. Alle Links auf dieses NPC beziehen sich daraufhin auf diese Zahl.
Ein weiteres NPC wird respawned und der Zufallsgenerator gibt die Zahl 763 aus. Jedoch ist zwischendurch die Zeitperiode von 2 Stunden abgelaufen. Somit ist die neue ID nicht:
12 - 14237446
sondern
13 - 00000763
Bis das Präfix überläuft (also auf 99 war und mit der nächsten Erhöhung wieder bei 00 startet) kann man davon ausgehen, daß alle NPC, die Nummern hatten, die mit 00 starteten, getötet sind, so daß das kein Problem darstellt.
-
- Nachtgonk
- Beiträge: 256
- Registriert: 7. Jul 2004, 12:20
oO(ich wusste nicht mal, dass das so möglich ist - gleich mal ausprobieren *gg*)Oo
Den Teil mir der technsichen Umsetzung hab ich überlesen. Wenn die Idee kommen soll, wird Sotrax wissen, wie das am besten und performantesten in die Engine zu implementieren ist.
Zur Idee selbst:
Absolut nützlich, sinnvoll und gut! Daumen rauf und Idee rein!
Den Teil mir der technsichen Umsetzung hab ich überlesen. Wenn die Idee kommen soll, wird Sotrax wissen, wie das am besten und performantesten in die Engine zu implementieren ist.
Zur Idee selbst:
Absolut nützlich, sinnvoll und gut! Daumen rauf und Idee rein!
- holy knight
- großer Laubbär
- Beiträge: 3847
- Registriert: 31. Jul 2005, 01:03
- Wohnort: Österreich
- Dark Paladin
- Gelbbart-Yeti
- Beiträge: 1894
- Registriert: 17. Sep 2004, 17:25
- Wohnort: Karibik
- Kontaktdaten:
Ich halte die Servermehrbelastung für vertretbar im Vergleich zum Nutzen der Sache. [Beitrag gekürzt zum Trafficsparen!]
Zuletzt geändert von Prinegon am 13. Aug 2005, 03:22, insgesamt 1-mal geändert.
-
- Nachtgonk
- Beiträge: 256
- Registriert: 7. Jul 2004, 12:20
- fireburn
- Zauberer der Bergwiesen
- Beiträge: 670
- Registriert: 12. Nov 2003, 20:08
- Wohnort: Oz
- Kontaktdaten:
Quasi inhaltsleere Posts machen keinen Sinn, genausowenig ellenlange Posts die evtl. 1% der User inhaltlich verstehen. Man muss ein Mittelding finden. 
Zum Thema: Solche Leute sind zwar lästig (mache deswegen nicht mehr bei sogenannten Auferstehungs-Partys mit), aber es ist halt nur bei diesen Auferstehungen mit mehreren Leuten so dass man so einfach bescheissen kann. Woanders macht das kaum Sinn. Also ist fraglich ob sich der Aufwand deswegen lohnt.

Zum Thema: Solche Leute sind zwar lästig (mache deswegen nicht mehr bei sogenannten Auferstehungs-Partys mit), aber es ist halt nur bei diesen Auferstehungen mit mehreren Leuten so dass man so einfach bescheissen kann. Woanders macht das kaum Sinn. Also ist fraglich ob sich der Aufwand deswegen lohnt.
Rape is no laughing matter unless you're raping a clown.
Du hast recht, daß Linken sich hauptsächlich noch bei Auferstehungspartys lohnt, seitdem die Salzkristallcamper wegfallen (die das auch sehr gerne gemacht haben). Ebenso kommt noch GdW, Schrumpflink beim Klauenbarterein, lebende Bergspitze, Wegelagerer, ZdB in Frage, halt die Viecher, wo sich mehrere Leute drum kloppen könnten.
Man sollte bedenken, daß bei den Auferstehungspartys die Linker auffallen, ansonsten nicht. Wenn jemand in seinem Fenster die Top10 seiner liebstgekillten Viecher aufgelistet hat, ist er immer noch der schnellere, wenn er mit einem anderen aufs Feld kommt, da er sich bewegt hat, fällt es aber nicht auf.
Zur Frage lohnt sich das? Wenn irgendeine Person einen Trick herausgefunden hätte, das Geld von der Stiftung 10 mal am Tag abzuholen, also nicht 300 GM, sondern 3000 GM täglich zu bekommen, würdest du doch auch nicht sagen: Ach dieser Aufwand, daß zu verändern, für den einen lohnt es sich doch nicht, oder? Eine Auferstehungsparty z.B. beim Wegelagerer mit einem Linker ist genau daß, nur daß dieser Typ dann nicht nur 10 mal das Stiftungsgeld kassiert, die ersten 10 anderen, die auf die Stiftung kommen und Geld abholen wollen, bekommen im Ausgleich dafür keins. Solche unfairen Methoden bringen mehr, als man denken mag.
Zum Programmieraufwand: Im wesentlichen wären ein Zufallsgenerator, eine Datenbank und ein paar kleinere Operationen (Suchmethode, Schreiben, Lesen) zu implementieren. Da PHP ja eine Sprache ist, die auf Datenbanken basiert, wird es wahrscheinlich schon effiziente Methoden geben. Der direkte Zugriff auf die NPC-ID muß unterbunden werden und ein indirekter Zugriff über die zufällige ID geschaffen. Das ist alles, was zu tun ist.
Zur Belastung: Ich hatte bereits geschrieben (was nun wegeditiert ist), daß eigentlich nur das Heraussuchen des Angriffslinks aufwendig ist, da die Liste durchlaufen werden muß und man keine Sortierung nutzen kann.
Das kann man beschleunigen, indem man nicht allen NPC eine Zufallsid gibt, sondern nur den Top 50 der Linkopfer. Bedeutet: Es muß immer noch für jedes NPC diese Liste durchlaufen werden, um zu sehen, ob die ID dabei ist, aber die Liste ist höchstens 50 Einträge lang.
Nachteil: Beim Empfangen eines Angriffsbefehls kann man die Liste nicht mehr direkt anspringen, sondern muß sie auch durchlaufen, damit niemand erfolg haben kann mit einem Link, dem in der Liste ein Zufallslink zugeordnet wurde.
Man sollte bedenken, daß bei den Auferstehungspartys die Linker auffallen, ansonsten nicht. Wenn jemand in seinem Fenster die Top10 seiner liebstgekillten Viecher aufgelistet hat, ist er immer noch der schnellere, wenn er mit einem anderen aufs Feld kommt, da er sich bewegt hat, fällt es aber nicht auf.
Zur Frage lohnt sich das? Wenn irgendeine Person einen Trick herausgefunden hätte, das Geld von der Stiftung 10 mal am Tag abzuholen, also nicht 300 GM, sondern 3000 GM täglich zu bekommen, würdest du doch auch nicht sagen: Ach dieser Aufwand, daß zu verändern, für den einen lohnt es sich doch nicht, oder? Eine Auferstehungsparty z.B. beim Wegelagerer mit einem Linker ist genau daß, nur daß dieser Typ dann nicht nur 10 mal das Stiftungsgeld kassiert, die ersten 10 anderen, die auf die Stiftung kommen und Geld abholen wollen, bekommen im Ausgleich dafür keins. Solche unfairen Methoden bringen mehr, als man denken mag.
Zum Programmieraufwand: Im wesentlichen wären ein Zufallsgenerator, eine Datenbank und ein paar kleinere Operationen (Suchmethode, Schreiben, Lesen) zu implementieren. Da PHP ja eine Sprache ist, die auf Datenbanken basiert, wird es wahrscheinlich schon effiziente Methoden geben. Der direkte Zugriff auf die NPC-ID muß unterbunden werden und ein indirekter Zugriff über die zufällige ID geschaffen. Das ist alles, was zu tun ist.
Zur Belastung: Ich hatte bereits geschrieben (was nun wegeditiert ist), daß eigentlich nur das Heraussuchen des Angriffslinks aufwendig ist, da die Liste durchlaufen werden muß und man keine Sortierung nutzen kann.
Das kann man beschleunigen, indem man nicht allen NPC eine Zufallsid gibt, sondern nur den Top 50 der Linkopfer. Bedeutet: Es muß immer noch für jedes NPC diese Liste durchlaufen werden, um zu sehen, ob die ID dabei ist, aber die Liste ist höchstens 50 Einträge lang.
Nachteil: Beim Empfangen eines Angriffsbefehls kann man die Liste nicht mehr direkt anspringen, sondern muß sie auch durchlaufen, damit niemand erfolg haben kann mit einem Link, dem in der Liste ein Zufallslink zugeordnet wurde.
- fireburn
- Zauberer der Bergwiesen
- Beiträge: 670
- Registriert: 12. Nov 2003, 20:08
- Wohnort: Oz
- Kontaktdaten:
Bevor diese kleinen Zahlenbildchen kamen gab es bei der Goldmine oder beim Sieben eine zusätzliche Variable im Link, sah glaub ich so oder so ähnlich aus: "arrive_eval=arbeiten&checkid=2536347", die hat sich immer geändert. Evtl. könnte man das selbe auch bei den NPCs machen, würde das Problem auch lösen. Naja, wenn Sotrax so einen Schutz einbauen will, wird er eh wissen wie das am performantesten zu bewerkstelligen ist. 

Rape is no laughing matter unless you're raping a clown.
Wer ist online?
Mitglieder in diesem Forum: Google [Bot] und 13 Gäste