WC3 Patch v1.24 - das erste Zeitalter Warcraft 3's neigt sich dem Ende - und ein neues wartet

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • WC3 Patch v1.24 - das erste Zeitalter Warcraft 3's neigt sich dem Ende - und ein neues wartet

      Heute am 09.06.2009 2.09 PM P.S.T hat Blizzard wichtige Informationen über den schon lange angekündigten Patch 1.23b/1.24 preisgegeben, welcher sich maßgeblich auf die Warcraft 3 Modding Szene auswirken wird - und demnach auch ihr Flaggschiff DotA. Die momentane open Beta dieses Patches läuft auf dem Server 'Westfall (ClassicBeta)', welcher unter dan ganz normalen Servern im BNet gefunden werden kann.
      Auf Grund der Tatsache, dass diese Änderungen nicht jedermann verständlich sein werden, da fortgeschrittene Kenntnisse mit dem Editor und der Scriptsprache JASS benötigt werden, versuche ich diese in einem F.A.Q. möglichst verständlich zu beantworten.


      [Quelle]

      Q1: Schwer zu verstehen? Sag uns doch erstmal um welche Änderungen es sich denn in dem Patch handeln wird

      A1: Der nächste Patch wird einige grundlegende Änderungen an der Spiel-Engine vornehmen.
      Wie den meisten von euch bekannt ist, hatte Blizzard in letzter Zeit vermehrt mit Problemen zu kämpfen, in denen Spieler Schad- und Femdcode in die Map einschleußten (Warcraft Virus) oder Ungenauigkeiten beim Abgleich von Maps ausnutzten um sich mit einer modifizierten Kartenvesion in Spiele einzuloggen (Collided Maps). Diese Probleme hatten mehr oder weniger etwas mit einem, unter dem Namen 'Return-Bug' bekannten Compiling-Glitch der WC3-Scriptsprache JASS zu tun - der in der nächsten Version nun beseitigt werden soll.

      Q2: Also wird eigentlich nur ein weiterer Bug gefixt? Für mich klingt das nach etwas gutem und überfälligem.

      A2: Ja, normalerweise freut man sich immer über überfällige Bugfixes, aber nicht so bei diesem. Der Return-Bug ist seit Anbegin der Warcraft-Zeit ein essentieller Bestandteil in der Modding und Scripting-Szene von WC3. Hier ein Versuch euch die rolle dieses Bugs nahezubringen:

      Die Scriptsprache JASS ist zu 100% funktionsbasiert. Funktionen kennt ihr alle aus dem Mathematik Unterricht. Das sind diese lustigen Gleichungen in denen ihr einen (oder mehrere) Wert(e) einsetzten könnt und zu diesem Wert dann ein spezifisches Ergebnis ermittelt wird.
      Die Funktionen in JASS verhalten sich ganz ähnlich, auch wenn sie nicht prinzipiell nur auf Zahlen beruhen müssen.
      Das hier ist beispielsweise die funktion in der der Return-Bug ausgenutzt wird.

      Quellcode

      1. function H2I takes handle h returns integer
      2. return h
      3. return 0
      4. endfunction


      Dieses kleine Script mag euch vielleicht verwirrend vorkommen, allerdings ist es recht simpel. Die Funtion mit dem Namen 'H2I', was für 'Handle To Integer' steht, hat als Eingabewert einen Wert vom Typ 'Handle' und einen Ausgabewert vom Typ 'Integer'. Während 'Handle' die Gesamtheit aller komplexen Objekte-Daten in JASS beschreibt, ist 'Integer' ein simpler Ganzzahlen-Wert. Die beiden 'return'-Befehle innerhalb des Funktionsfeldes geben sowohl Zeitpunkt als auch Wert der Rückgabe an. Wenn die function den return-Befehl durchführt endet die function aprupt. Kein weiter Befehl aus der Befehlskette wird weiter ausgeführt. Lediglich der Wert der hinter 'return' steht wird nun als Endergebnis der Funktion zurückgegeben. Der typ des zurückgegebenen Wertes muss immer mit dem im Funktionskopf festgelegtem Datentyp (hier 'returns integer') übereinstimmen.
      Und hier kommen wir zum entscheidendem Punkt. Es ist eine Lüge. Der Wertetyp muss nicht immer übereinstimmen. Der WC3 Compiler überprüft nämlich lediglich den letzten in der Funktion stehenden return-Befehl und dieser ist in unserem Fall ja 'return 0', also gäbe er den Wert 0 (ein Ganzzahlen-Wert) zurück, was den Compiler zufrieden stelle. Dass darüber ein return versucht, einen völlig unpassenden Datentyp zurückzugeben ignoriert er.
      Wenn wir die Funktion nun ausführen wird der erste return-Befehl, welcher den Handle-Wert zurückgibt zuerst ausgeführt, da Funktionen immer von oben nach unten ablaufen. Da nach einem return-Befehl die Funktion endet, wird der 'echte' return-Befehl mit dem Wert 0 komplett ignoriert - und dient demnacht tatsächlich nur dazu um den Compiler auszutricksen.
      Aber was macht die Funktion denn nun, wenn sie ein komplexes Objekt, bestehend aus vielen simplen Daten hat aber einen Integer zurückgeben soll? Ganz einfach: sie schnappt sich den nächst-gelegenen Integer-Wert innerhalb der komplexen Struktur, und wie es der Zufall will ist das im Fall von Warcraft 3 ganz einfach die Objekt ID. Die Hundemarke - in Form einer individuellen Ganzzahl für jedes beliebige Objekt.
      Das tolle ist, dass sich von diesem Zahlenwert, also der 'Hundemarke' mit Hilfe des Return-Bugs ganz einfach wieder auf das gewünschte Objekt schließen lässt.
      Nun, dass allein ist noch nicht wirklich sinnvoll, gäbe es da nicht das so genannte 'Gamecache'. Das ist eine Art textbasierte Hashtabelle - also eine 2 demensionale Tabelle in der Spalte und Zeile nicht durch Zahlen sondern durch Namen definiert sind und in der man nicht komplexe Daten wie strings, reals und integers speichern kann. Und da wir dank des Return-Bugs nun quasi alle komplexen Objekte in nicht-komplexe 'umwandeln' können und wir zu allem überfluss wie Hundemarken der Objekte auch noch als Namen für Zeile und Spalte in der Tabelle definieren können.
      Das alles ermöglicht es uns, jedes Objekt auf beliebig viele andere verweisen zu lassen, diese von dem Objekt aus abrufen zu lassen und umgekehrt. Man kann quasi seine Globalen Variablen flexibel erstellen und auch nich an andere Objekte binden was uns ein unheimlich flexibles System ermöglicht, ohne dass Multiplayer-fähige Spells wie in DotA garnicht möglich wären.

      Q3: Ich habe hoffentlich alles mehr oder weniger verstanden und habe nun Angst vor den Konsequenzen, die dieser Bug-Fix für DotA haben könnte. Ist DotA überhaupt noch spielbar ohne den Return-Bug?


      A3: Die Antwort ist sowohl nein als auch ja. Es wird euch nicht allzusehr erfruen zu hören, dass das nein erstmal überwiegen wird. Sobald der Return-Bug behoben wird, werden keine der, unter IceFrog entwickelten DotA Maps - inklusive der Version 6.60, mehr spielbar sein.
      Die gute Nachricht ist, dass Blizzard ein Ersatzsystem für den Verlust des Return-Bugs anbietet. Dieses System bietet insgesamt 97 neune JASS natives (Grundfunktionen), darunter eine mit welcher man die ID (also die Hundemarke) von Objekten auslesen kann. Da leider die Verknüpfung mit anderen Objekten über das Gamecache nicht mehr möglich sein wird, da zum Abrufen des Objektes wieder der Return-Bug von nöten ist, liefert Blizzard ein eigens für den Zweck der Objektverknüpfung entwickeltes Hash-Tabellen System mit, welches natives für jeden einzelnen Objekttyp in JASS bietet. Leider ist dieses Tabellensystem nicht mehr textbasiert sondern werden diesmal die Spalten und Zeilen ganz klassisch durch Ganzzahlen definiert. Das mag logisch klingen, nimmt den ursprünglichem System aber leider sämtliche Übersicht.
      Anstatt das man Unit_1 unter der Kategorie "RelatedUnit" an Unit_2 heftet muss man jetzt Unit_1 unter der Kategorie 1 an Unit_2 heften. Das erschwert die Sache für die Scripter extrem...

      Q4: Omg, das klingt alles schrecklich kompliziert. Kann IceFrog nicht einfach die Entwicklung von DotA auf v1.23 beruhen lassen? Soll die DotA Community doch einfach bei dieser Version bleiben und eben komplett auf alternative Hosting-Platformen zurückgreifen. BNet sux eh voll und so...

      A4: Ja, das wäre in der Tat eine Lösung, aber eine dämliche - und genauso sieht das auch IceFrog. Dieser hat angekündigt DotA für den jeweils aktuellen Warcraft Patch zu entwickeln was bedeutet dass ein Umstieg auf 1.24 obligatorisch sein wird.

      Q5: Halt warte! Heißt dass ich auf Patch v.1.24 umsteigen werde MUSS?

      A5: Ja, zumindest wenn du die aktuelle DotA-Version spielen willst.

      Q6: Also muss ich davon ausgehen, in nächster Zeit einigen Aufwand betreiben zu müssen, um wieder DotA spielen zu können?

      A6: Nein, das einzige was du machen musst ist Warcraft up to date halten und warten bis IceFrog eine kompatible Version released. Den Mehraufwand haben nur die Entwickler (d.h. IceFrog und viele Andere - mich inbegriffen).

      Q7: Ich hatte nie Probleme mit Viren in meiner Map und da Collided Maps seit dem letzten Patch nicht mehr funktionieren, frage ich mich, ob dieses Update denn wirklich nötig ist?

      A7: Diese Frage kann ich nur schwer beantworten. Ich weiß nicht wie kritisch dieser Bug genau war, bin aber der Meinung, dass jede noch so kleine Sicherheitslücke geschlossen gehört. Desweiteren wird dies nicht der einzige Fix in dem Patch sein.

      Q8: Hmm, ich bin immer noch nicht davon überzeugt. Bringt denn der Bug-Fix neben der besseren Sicherheit auch noch andere Vorteile die vielleicht greifbarer sind?

      A8: Definitiv! Sobald die Map auf den neuen Patch abgestimmt ist wird die Community wahrscheinlich begeistert sein. Das text-basierte Gamecache was vom jetztigen System verwendet wird ist nur mit einem Word zu beschrieben: laaaaaaaannnnnngsssssssaaaaaam. Und vielleicht noch unzuverlässig. Auf jeden Fall ist das Gamecache alles andere als optimal. Es mag zwar konfortabel sein, ist aber wie schon gesagt sehr langsam, im Multiplayer Modus schwer zu synchonisieren und recht unausgereift. So werden beispielsweise viele der berüchtigten 'fatal Errors' durch Probleme mit dem Lesen des GameCaches ausgelöst.
      Die neuen einfachen HashTables sind schneller, verbrauchen weniger Speicher, sind synchronosations-technisch besser zu handhaben und sollten sowohl die Rechner- als auch die Netztwerkperformance deutlich verbessern.

      Ihr seht also, es ist kein Weltuntergang. Ein wenig Fassungslosigkeit und Gemeckere sind vor der Einsicht dennoch erwünscht.

      Das Wort "Würde" kennen manche Menschen nur noch als Konjunktiv II in dem Satz: "Für Geld würde ich alles machen."
    • Irgendwie habe ich jetzt Angst ins Bnet zu gehen und das dann mein WCIII geupdated wird un dihc dann kein DotA mehr spielen kann :-/ okay das heißt dann für mich kein Bnet mehr bis die 1.24 Version von DotA draußen ist :-/

      Aber war gut das du das heir reingestellt hast!!! :thumbsup:
    • Sic schrieb:

      Irgendwie habe ich jetzt Angst ins Bnet zu gehen und das dann mein WCIII geupdated wird un dihc dann kein DotA mehr spielen kann :-/ okay das heißt dann für mich kein Bnet mehr bis die 1.24 Version von DotA draußen ist :-/
      Der neue Patch ist noch in der Beta-Phase und du lädst ihn nur runter wenn du den Beta-Server 'Westfall (ClassicBeta)' besuchst. Wenn du das tust lädst du automatisch den neuen Patch, aber selbst das ist nicht weiter schlimm da du, sobald du einen der etablierten Server betrittst Warcraft sofort wieder downgradest.

      Das Wort "Würde" kennen manche Menschen nur noch als Konjunktiv II in dem Satz: "Für Geld würde ich alles machen."
    • lol ich hoffe nur icefrog ist schnell genug fertig die neue map zu coden, oder blizzard wartet auf ihn, was ich am meisten glaube, stellt euch vor tausende leute könnten kein dota mehr spielen wegen dem bugfix xD

      vielleicht verbessert sich aber die performance wirklich merklich in sachen delay und und und , das wäre ein riesenschritt für dota, fänd ich gut.
    • Ich find die Auswirkungen auf DotA nicht so schlimm wie die, auf jegliche andere Funmap. Da ist wohl meine gesamte Mapsammlung für den Arsch und viele der Maps werden auch nicht weiter unterstützt, also muss man davon ausgehen, dass sie nicht auf 1.24 upgegradet werden.
    • DooM3sT schrieb:

      Das betrifft doch jetzt vor allem nur komplexere Funmaps, die mit diesem Bug gearbeitet haben, oder ist das für alle relevant?
      Das betrifft sämtliche Maps die den Return Bug in irgendeiner Art und Weise benutzt haben - und das sind sehr viele. Nicht alle Maps die in dieses Raster fallen sehen so komplex aus wie DotA. Du musst damit rechnen, dass ein Großteil deiner Funmaps nach dem Patach nicht mehr funktionieren wird.

      Incognito schrieb:

      Ich find die Auswirkungen auf DotA nicht so schlimm wie die, auf jegliche andere Funmap. Da ist wohl meine gesamte Mapsammlung für den Arsch und viele der Maps werden auch nicht weiter unterstützt, also muss man davon ausgehen, dass sie nicht auf 1.24 upgegradet werden.
      Ja, das ist sehr ärgerlich da viele Projekte die nicht mehr on-Developement sind unspielbar sein werden, und ich gehe davon aus dass auch einige Projekte die eigentlich noch sehr aktiv entwickelt werden auf Eis gelegt werden da es einen großen Aufwand bedarf, auf die neue Version umzustellen. Und da ca. 60% der Warcraft 3 Mapping Community eh nur noch auf SCII wartet...

      Tja, sieht so aus als würde Blizzard jetzt komplett auf DotA umsteigen.

      Naja, zumindest den GUI Nutzern wird ein Gefallen getan, da das neue Handle System auch im GUI verfügbar ist. Vielleicht werde ich mal nen Guide dazu schreiben.

      Das Wort "Würde" kennen manche Menschen nur noch als Konjunktiv II in dem Satz: "Für Geld würde ich alles machen."
    • Yak schrieb:

      DooM3sT schrieb:

      Das betrifft doch jetzt vor allem nur komplexere Funmaps, die mit diesem Bug gearbeitet haben, oder ist das für alle relevant?
      Das betrifft sämtliche Maps die den Return Bug in irgendeiner Art und Weise benutzt haben - und das sind sehr viele. Nicht alle Maps die in dieses Raster fallen sehen so komplex aus wie DotA. Du musst damit rechnen, dass ein Großteil deiner Funmaps nach dem Patach nicht mehr funktionieren wird.

      Incognito schrieb:

      Ich find die Auswirkungen auf DotA nicht so schlimm wie die, auf jegliche andere Funmap. Da ist wohl meine gesamte Mapsammlung für den Arsch und viele der Maps werden auch nicht weiter unterstützt, also muss man davon ausgehen, dass sie nicht auf 1.24 upgegradet werden.
      Ja, das ist sehr ärgerlich da viele Projekte die nicht mehr on-Developement sind unspielbar sein werden, und ich gehe davon aus dass auch einige Projekte die eigentlich noch sehr aktiv entwickelt werden auf Eis gelegt werden da es einen großen Aufwand bedarf, auf die neue Version umzustellen. Und da ca. 60% der Warcraft 3 Mapping Community eh nur noch auf SCII wartet...

      Tja, sieht so aus als würde Blizzard jetzt komplett auf DotA umsteigen.

      Naja, zumindest den GUI Nutzern wird ein Gefallen getan, da das neue Handle System auch im GUI verfügbar ist. Vielleicht werde ich mal nen Guide dazu schreiben.

      noooooooooooooooooooooooo
      Tides of Blood tot ffs!!!!!!!!!!!!!!!!!!!
      Besser als Dota allemal. Man stinkt das.
      [18:19] <basher-> inferno- hat immer recht
    • Wie schauts denn aus Yak, hat IceFrog noch Lust auf so viel Arbeit?
      Ich weiß halt nicht inwiefern du mit unserem Gott zu tun hast, aber das ganze hört sich nach viel Arbeit an.

      Ansonsten kann man eig. sagen, dass wir froh sein können, dass blizzard so viel wert auf DotA legt...
      it ain't nothing but a peanut
    • ProudBavarian schrieb:

      Wie schauts denn aus Yak, hat IceFrog noch Lust auf so viel Arbeit?
      Ich weiß halt nicht inwiefern du mit unserem Gott zu tun hast, aber das ganze hört sich nach viel Arbeit an.
      Darüber würde ich mir keine Gedanken machen.

      IceFrog schrieb:

      In the near future there will be important updates to the Warcraft 3 engine. I know there are various communities around the world that still use the 1.20 patch. However, it is important to the development of DotA for players to have the latest Blizzard patches (blizzard.com/us/patches/). There will always be new security features as well as map development functionality in future patches to provide a better experience for everyone and the game needs to be able to utilize them.

      Source: IceFrog's Blog

      IceFrog schrieb:

      I still plan on continuing DotA development for a long time, a couple years at the very least. The next update, 6.60, is nearing the end of its design and testing phase. The translation phase will also be starting shortly. There is still a little bit more work to do on fixing some specific content, but it's finally approaching completion. I will post another update here in the near future.

      Source: IceFrog's Blog

      Blizzard schrieb:

      We’ll be working closely with the map creators of many popular custom maps on Battle.net to ensure that they’re consistently playable online throughout this process.

      Source: Battle.Net-Forums

      Das Wort "Würde" kennen manche Menschen nur noch als Konjunktiv II in dem Satz: "Für Geld würde ich alles machen."
    • Incognito schrieb:

      Ich find die Auswirkungen auf DotA nicht so schlimm wie die, auf jegliche andere Funmap. Da ist wohl meine gesamte Mapsammlung für den Arsch und viele der Maps werden auch nicht weiter unterstützt, also muss man davon ausgehen, dass sie nicht auf 1.24 upgegradet werden.


      hab ich auch direkt dran gedacht -.-
      Empty your mind.
      Be formless shapeless like water.
      Now you put water into a cup, it becomes the cup.
      You put water into a bottle, it becomes the bottle.
      You put it into a teapot, it becomes the teapot.
      Water can crash, or it can flow!

      Be like water, my friend.
    • Darg0 schrieb:

      Incognito schrieb:

      Ich find die Auswirkungen auf DotA nicht so schlimm wie die, auf jegliche andere Funmap. Da ist wohl meine gesamte Mapsammlung für den Arsch und viele der Maps werden auch nicht weiter unterstützt, also muss man davon ausgehen, dass sie nicht auf 1.24 upgegradet werden.


      hab ich auch direkt dran gedacht -.-

      Ich net, aber jetzt wo ihr sagt -.-'
    • Also wird der kommende Patch lediglich Bugfixes enthalten und nicht an der Spielbalance von wc3 schrauben?
      Ich persönlich finde es krass, dass diese "Sicherheitslücke" bereits seit so vielen Jahren besteht. Zu den Virusmaps kam es ja erst vor kurzer Zeit aber theoretisch wäre diese Möglichkeit immer da gewesen, oder?
      T
      R
      I
      G
      G
      E
      R
      E
      D
    • Midna schrieb:

      Also wird der kommende Patch lediglich Bugfixes enthalten und nicht an der Spielbalance von wc3 schrauben?
      Ich persönlich finde es krass, dass diese "Sicherheitslücke" bereits seit so vielen Jahren besteht. Zu den Virusmaps kam es ja erst vor kurzer Zeit aber theoretisch wäre diese Möglichkeit immer da gewesen, oder?
      Ja sicher, allerdings wird das was nicht bekannt ist auch nicht behoben.
      Und von Änderungen in der Spielbalance weiß ich nichts - was heißt dass ich diese auch nicht ausschließen werde.

      Das Wort "Würde" kennen manche Menschen nur noch als Konjunktiv II in dem Satz: "Für Geld würde ich alles machen."
    • ich bin mal nen bischen neugierig. also verstanden hab ich, wie es vorher funktionierte und wie es jetzt funktionieren wird. aber was das problem dabei ist, ist mir nicht klar. wo ist da die sicherheitslücke? hab ich das überlesen?
    • affe89 schrieb:

      ich bin mal nen bischen neugierig. also verstanden hab ich, wie es vorher funktionierte und wie es jetzt funktionieren wird. aber was das problem dabei ist, ist mir nicht klar. wo ist da die sicherheitslücke? hab ich das überlesen?
      Durch das Sicherheitsleck konnte Fremdcode in Maps eingebunden und durch einen Fehler in der Warcraft 3 Engine ausgeführt werden. Der Return-Bug stand im direkten Zusammenhand mit diesem Engineglitch und wird demnach auch zusammen mit diesem behoben. Der Return-Bug war also nicht für die Sicherheitslücke verantwortlich sondern teilte sich den Ursprung mit dieser.
      Das ist zumindest das, was Leute sagen, die mehr Ahnung von den Warcraft-internen Prozessen haben.

      TwiXX schrieb:

      die frage die sich mir stellt ist jene, wie lange wir noch gewohnt ins bnet connecten können und unsre map spieln können, wann soll denn der neue patch rauskommen, ich mein, wenn er schon in der beta phase ist, kanns ja nichmehr alzu lang dauern.
      Soweit ich weiß steh momentan noch kein Termin for das offizielle Release des neuen Patches fest, da IceFrog in Blizzard aber bekanntlich in direktem Kontakt stehen wird er wohl mehr darüber wissen und pünktlich eine Spielbare Version veröffentlichen. Das ist zumindest das was ich glaube.

      Das Wort "Würde" kennen manche Menschen nur noch als Konjunktiv II in dem Satz: "Für Geld würde ich alles machen."