N00bs und andere Spielereien Marc Ruef | 11.06.2005 Meine Freundin ist Kindergarten-Lehrerin und ich hab ihr versprochen, dass ich mit ihren Kleinen dieses Jahr auf die Kindergartenreise mitkomme. Na ja, das ist sicher ne lustige Abwechslung, dach ich mir. Oh mein Gott! Nun denn, der Tag war härter, weder jedes Meeting, das ich bisher mit einem Kunden hatte. Als ich gestern um 18:00 Uhr nach Hause kam konnte ich nur noch an zwei Dinge denken: Zum Glück hab ich keine Kinder und nun muss ich dringend schlafen. Mein "Kindergartenreise-Kater" hält bis jetzt an. Ich werde wohl heute höchstens ins Kino gehen und sehen, wie Herr Pitt und Frau Jolie sich gegenseitig aus dem Weg räumen wollen. Für mehr Action bin ich definitiv nicht zu haben. Die Geschichte hat aber auch eine gute Seite in der Hinsicht, dass ich beim Spazieren durch den Wald über die eine oder andere Sache nachdenken konnte. Seit dem Erscheinen des Online-Rollenspiels "World of Warcraft" (WoW) am 11. Februar diesen Jahres spiele ich das Spiel regelmässig. Mittlerweile bin ich schon Level 56 und jage langsam meinen Rüstungssets nach. Wer mich kennt weiss, dass ich mir die Dinge gerne so einfach wie möglich mache. In Bezug auf Computer heisst dies: Er soll die Drecksarbeit machen und mir bleibt das Vergügen. In WoW wird eine aufkommende Programmiersprache namens LUA sowie entsprechende APIs zum Spiel angeboten. Die Umgebung ist ähnlich C und funktioniert ganz passabel. Meine ersten Gehversuche habe ich mit multidimensionalen Sprachmakros (http://wow.gamona.de/index.php?seite=macros&mode=detail&mid=61) gemacht. Dabei wird aus verschiedenen Textblöcken ein Spruch generiert und ausgegeben. Typische Floskeln wie Begrüssungen und "Beschimpfungen" können so schnellstens umgesetzt werden. Da ich mit der Limitierung dieser Ingame-Makros mit ihren maximal 255 Zeichen nicht so zufrieden war, habe ich mit den Möglichkeiten der UI Addons beschäftigt. Diese werden explizit geladen und können aus dem Spiel angesprochen werden. Letzte Woche habe ich solches ein Slash-Kommando implementiert, das mir eben diese Arbeit der ursprünglichen Makros abnimmt und diese noch um weitere Funktionalitäten erweitert (z.B. automatisches Erkennen des aktuellen Standorts, Wetters, des Channels des Gegenübers, seiner Klasse/Rasse, usw.). Die Leute sind immerwieder erstaunt, wie schnell ich während des Kampfes chatten kann ... Na ja, kein Wunder, wenn ich das alles mit einem simplen Mausklick umsetze ;) ! Die Möglichkeiten im Spiel diesbezüglich sind sehr interessant. So ist es realisierbar, dass auf eingehende Chat-Meldungen geachtet und auf diese regiert wird. Die Portierung meines KI-ChatBots war natürlich mein erster Gedanke. Mir kam desweiteren die Idee, dass ich durch diesen Hook ein Remote-Control-Utility umsetzen könnte. Wie man dies von Backdoors à la SubSeven und NetBus kennt, wird auf einem System der Server installiert, auf dem anderen der Client. Die Kommunikation findet durch ein eigens geschriebenes Applikations-Protokoll statt, das den WoW-Chat als Transportmedium nutzt. Meines Erachtens ist die ganze Idee ein netter proof-of-concept, den ich so noch nie gesehen habe. Ein weiterer Beweis in zweierlei Hinsicht: Viele Firewalls (Application Gateways) können getunnelten Verkehr - vor allem bei exotischen Applikationen wie Spielen - nicht richtig analysieren und filtern. Zudem wird es gerne unterschätzt, dass jegliche Umgebung, in der sich Programmcode ausführen lässt, sich in der Regel auch korrupter Programmcode (z.B. Viren oder Backdoors) realisieren lässt. Falls mein Kopfweh und die Beinschmerzen von gestern bald nachlassen, werde ich mich hinsetzen und die ersten Codezeilen schreiben. Jetzt geh ich mich aber lieber nochmals hinlegen und die angenehme Ruhe geniessen...