2010 beginnt …
17. Januar 2010
Frohes neues Jahr!
Während der Auszeit habe ich hinter den Kulissen weiter an dem Neubau der Infrastruktur für Aufwertungen (enhancements) gearbeitet, in die wir in Zukunft so ziemlich alles kampfsystemrelevantes und auch die Zauber einhängen wollen.
Ausserdem gibt es zu berichten, dass die grossen Memleaks des letzten Jahres jetzt vorüber sind und Avalon wieder ohne wöchentlichen Neustart läuft. Dazu hatte ich die Verarbeitung von verschachtelten V-Items geändert (damit keine Selbstreferenzen entstehen, mit denen der Driver nicht so gut umgeht) und einige ähnliche Situationen im Kernparser behoben.
Weiterhin gesammelte Kleinigkeiten:
- Einen Workaround eingebaut, mit dem man jetzt Eisenrohlinge auch über “nimm rohling aus eisen” korrekt ansprechen kann. Zuvor ging das nur über das Wort “metall”.
- Die Düsterklinge wird bald auf den Skill Doppelklingenschwert umgestellt.
- “ausruestung -r” arbeitet nun rekursiv durch mehrere Ebenen.
- “ausruestung -b” zeigt die zum Behalten markierten Gegenstände (nochmal) separat an.
- In Anfängergegenden liegen jetzt auch kleine Geldsummen in den Monsterleichen.
- Rüstungen können jetzt immer im Plural mit “rüstungen” angesprochen werden.
- zusätzlich zu “ich;” (ich-Kommando mit Semikolon) gibt es nun auch “ichs” oder “&des(xtian)”. Siehe “hilfe ich” für mehr Informationen dazu.
- Das automatische Folgen von Ambiestern in Flüssen kommt nun nicht mehr durcheinander (siehe ldmud Version 3.3.719).
- Wenn alte Aliase inzwischen als auf Standardaliase realisiert wurden, bekommt man beim Einloggen einen Hinweis darauf.
Für mehr als nur Stichworte habe ich jetzt keine Zeit. Frohes Mudden!
nochmal KMuddy und MXP
30. November 2009
Die offene MXP Bibliothek libmxp ist in einer neuen Version 0.2.4 erschienen, die die bekannten Bugs mit Avalon behebt.
KMuddy Benutzern empfehle ich, die neue Lib zu holen, zu kompilieren und dann den Clienten neu zu kompilieren.
Schöner Nebeneffekt für Avalon: Die anderen Clienten (wintin, mudmagic), die diese offene Bibliothek verwenden, werden in neuen Versionen dann auch besser mit uns klarkommen.
Dank an die beteiligten Programmierer.
gestern etwas holprig
26. November 2009
Wah, gestern ist mal wieder alles auf einmal schiefgelaufen: Eine Partition ist uns vollgelaufen, beim Neustarten hat ein regulär vorgesehenes Driverupdate nur Schwierigkeiten gemacht und ein paar Änderungen an der Mudlib waren schlechter verdaulich als angenommen. Alles Auf Ein Mal!
Das heisst, an einer Stelle habe ich den Fehler gemacht und auf meinen Bildschirm geguckt und mich gewundert, wieso Avalon nicht mehr reagierte und schwupps waren 3 Stunden fort …
Aber mit Hannes, unserem Sysadmin, der immer zur Stelle ist, haben wir es schliesslich wieder hingekriegt und wir konnten beruhigt schlafen gehen ;)
… und meine 5 lästigsten Fehler
10. November 2009
Hier wird nach den fünf lästigsten Fehlern gefragt, die einem einfallen, – und auch schon rege diskutiert. Ich will mich dem mal anschliessen, obwohl ich nicht weiss, ob ich ganz die Sache wirklich aus Spielersicht betrachten kann. Meine fünf lästigsten Fehler sind:
- Es gibt nicht genug Anreize für das Mentorenprogramm.
- Gruppenkampf: Bessere Übersichtsmöglichkeiten wären schön. Aus dem Gruppenkampf kann man noch mehr machen.
- PK (schwarzes Buch) wird kaum beachtet und durchgeführt. Dabei ist gegenseitige Spielerinteraktion immer das Interessanteste.
- und 5.: Ich würde mich der Sache mit den LP und dem Fernkampf anschliessen.
xt
Aufruf zum Clientupdate
27. Oktober 2009
Dieses Jahr haben einige Clientprogramme neue Versionen bekommen, von denen die Spieler direkt profitieren können:
- CMUD hat gerade die Version 3.11 (beta) veröfentlicht, welche einige Bugfixes enthält, für Probleme, die ich mit Avalon gemeldet hatte. Benutzer, die CMUD verwenden, sollten sich überlegen auf diese Version zu gehen. CMUD ist der Nachfolger von zMUD, welches nicht mehr gepflegt wird! – Ja, ich weiss, dieser Client ist kostenpflichtig. Wer ihn jedoch bereits bezahlt (hat), sollte sich das Update holen.
- Mudlet Benutzer sollten mindestens die Beta 15 Version verwenden. Features, die später im Jahr nach Avalon kommen sollen, würden sonst einen Programmabsturz bewirken.
- Kildclient Benutzer können die Version 2.9.0 verwenden. Hinweis: Diese wird bei Debian stable (noch) nicht mitgeliefert.
- KMuddy wurde auf den Stand 1.0.1 erhöht und bringt viele Verbesserungen mit, seit der eher verbreiteten Version 0.7/0.8. Die neuen Versionen benötigen allerdings KDE4. (ich suche übrigens auch jemanden, der KMuddy >= 1.0 mit unserer MXP Implementierung testet).
- MushClient Benutzer können ihren Clienten auch umsonst auf den neuesten Stand halten, dieser ist 4.44 im Augenblick
Es hat sich in der letzten Zeit gezeigt, dass zMUD Benutzer immer mehr Schwierigkeiten haben und haben werden, da der Client seit mehreren Jahren nicht mehr weitergepflegt wird und alle Bugfixes dafür nach CMUD fliessen. Darunter befinden sich einige recht kritische, so dass Leute, die an zMUD hängen, sich überlegen sollten auf ein aktuelles CMUD umzusteigen.
zMUD und CMUD Anpassungen
19. Oktober 2009
Die letzten Tage habe ich das alte zMUD und (das neue, so heisst das Nachfolgeprogramm:) CMUD mal ausgepackt und wieder auf Kompatibilität zu Avalon geprüft.
Dabei habe ich einige Dinge gefunden, die ich selber noch anpassen musste, und ein paar Macken in diesen Clienten, wie das nunmal so ist. Das schöne ist, dass Avalon inzwischen die Clientversionen unterscheiden kann und ich die lokalen Workarounds um Clientmacken für alte Versionen anschalten kann, für neuere dann wieder abschalten.
Und weil die Hälfte meiner Probleme eh MXP befassten, habe ich gleich noch ein paar Schmankerl für die Benutzer dieser beiden Clienten eingebaut: Sie sehen jetzt beim Login (wenn die Leitung keine zu grosse Latenz hat) unseren schönen Avalon-Banner GRAFISCH, statt als ASCII-Art, und ein paar Textzeilen in derselben Schriftart, die in der Homepage verwendet wird. (das sind beides MXP-Features, die aber MushClient wohlgemerkt nicht kennt!)
Falls man die Schriftartänderung allerdings mitbekommen möchte, muss man Diesen Font installiert haben. Muss man nicht, braucht man nicht (*), ist nur ne kleine Spielerei. Aber sieht nett aus!
(*) Es würde ja schliesslich keinen Sinn für uns machen so etwas zu implementieren, wenn es für alle Spieler unbedingt notwendig wäre, aber nur ein/zwei Clienten es darstellen können.
Falls irgendwer, der CMUD oder zMUD benutzt noch Darstellungsprobleme hat, wäre ich dankbar, falls er diese melden könnte.
ps: Am vergangenen Freitag und Samstag hatten einige wenige Mushclient-Benutzer übrigens Probleme beim Einloggen gehabt. Das betraf sicherlich nur 1/50 der Musclient-Nutzer. Diese Problem sind inzwischen aus der Welt geschafft, aber auch hier gilt: Falls so etwas nochmal auftritt. Bitte unbedingt einen Fehler absetzen! Sonst kriege ich es vielleicht nicht mit.
Operas Mausbewegungen
18. Oktober 2009
Eines der anderen Dinge, die ich an Opera mag merke ich, jetzt wo ich gerade an Firefox sitze: Die schnelle Steuerung per Mausbewegung.
Mit einem Klick der Maus und einer kleinen Bewegung aus dem Handgelenk kann man sehr gut, sehr schnell die üblichsten Aktionen ausführen. Zum Beispiel ist RECHTSKLICK + Maus-nach-links-bewegen ein Zurückblättern oder mit RECHTSKLICK + Maus-nach-unten-bewegen öffnet man einen Link in einem neuen Tab.
Das klingt nicht nach viel, aber das ist eines dieser Dinge an diesem Browser, über die man nicht groß reden braucht, aber die auch einfach unheimlich praktisch sind. Man spart sich so das Herumfahren des Mauszeigers über den halben Bildschirm oder das Aufklappen von Kontextmenüs. Wie angenehm das ist, merkt man erst, wenn man vor einem anderen Browser sitzt.
zum Expertenterminal
17. Oktober 2009
Avalon verwendet eine Art automatische Client-Erkennung, um zu verstehen, welche Fähigkeiten der Client des Benutzers hat und evtl Kompatibilitätsschalter zu aktivieren, denn manche Clienten haben ja Probleme, wie bekannt ist, Dinge wie MXP oder kursiven Text anzuzeigen. Wie funktioniert das?
In erster Linie bekommt Avalon vom Clienten den sog. Terminal-Typ zugesandt. Das ist eine Abfrage, die im Telnet-Protokoll vorgesehen ist. Clienten wie Mushclient sind angehalten dort so etwas wie “mushclient” zurückzugeben, doch leider sind diese Angaben nicht immer eindeutig. Gerade ältere oder kleinere Clienten oder Linux-Shells geben ziemlich generische Meldungen wieder.
Dann muss Avalon Heuristiken anwenden und anhand anderer zur Verfügung stehender Daten erraten, um welchen Clienten es sich am ehesten handeln könnte. Dazu verwenden wir weitere in erweiterten Telnet-Protokollen verwendeten Abfragen, Informationen wie MXP, TLS/SSL Verschlüsselung, MCCP Kompression und auch ein Quäntchen Raterei.
Deswegen sollte man seinen Terminal-Typ auch nicht eigens ändern (manche Clienten erlauben leider diese Möglichkeit).
Unter “terminal experte” werden diese Daten (etwas versteckt, schliesslich sind sie ja wirklich nur etwas für Fortgeschrittene) angezeigt.
Dort steht dann neben dem Terminal-Typ auch die “Terminal-Geschmacksrichtung“. Letztere ist nichts offizielles, sondern einfach Avalons eigene Klassifizierung. Anhand dieser entscheidet das MUD, was der Client darstellen kann und was nicht.
Es folgen eine Reihe von Einstellungen, die man besser nicht anfassen sollte, es sei denn man weiss genau, was man damit bewirkt. In ihrem unveränderten Zustand schnellen diese Einstellungen auf ihren Standardwert zurück, der von der Terminal-Geschmacksrichtung vorgegeben wird.
Die bisherigen Einstellungen sind:
- MXPSPERRE: MXP Avalonseitig abstellen. Nach Änderung sollte man speichern und neu einloggen. Clienten können MXP nicht ohne weiteres im Onlinebetrieb abschalten. Hiermit werden hauptsächlich automatisch defekte Clienten behandelt.
- EOR oder GA: Spezielle Zeichen am Ende jedes Prompts schicken. Manche Clienten können darauf reagieren. Im Allgemeinen muss man hier nichts verändern, wenn man nicht an den Prompteinstellungen seines Clienten selber herumspielt.
- TITLEBAR: Unter Linux/X-Windows kann man in Xterm (-artigen) Fenstern die Kopfzeile hiermit ändern, so dass sie den Charnamen und die Welt (Avalon) anzeigt. Funktioniert leider noch nicht unter KDE4 Konsole.
- SESSION: Unter Linux/KDE kann man im Programm Konsole hiermit den Sesseionnamen ändern. Wirkt mit TITLEBAR zusammen. Funktioniert leider noch nicht unter KDE4 Konsole.
- EINZEILIG: Sofern es geht, wird versucht den Promt in einer Zeile auszugeben. Das ist vor allem hilfreich bei Clienten, die den Prompt gerne in das Eingabefeld schreiben, wie Tinyfugue oder KMuddy. Der Standardprompt ist darauf angepasst so geschrumpft werden zu können. Ist Geschmackssache.
- KEEPALIVE: Nützlich, wenn man hinter einem Router steht, der gerne mal die Leitung kappt, wie die üblichen WLan/DSL-Router es tun. Alle paar Minuten werden Daten über die Leitung geschickt, was sie am Leben hält. Dies hat aber keinen Einfluss auf die Idlezeit des Spielers. Das kann man ohne Probleme immer anlassen.
Noch ein Wort zum Verändern dieser Einstellungen. Falls ihr denkt, dass Avalon die falschen Grundeinstellungen für einen Clienten wählt oder einen exotischen Clienten nicht korrekt erkennt, meldet dies bitte (per fehler-Befehl), damit wir die Standarderkennung aktualisieren können.
Nachtrag: In Zukunft wird Avalon dank einer MXP-Versionserkennung besser mit Clientversionen umgehen können. Wenn ihr also mit einem alten Client spielt, das MUD euch aber fälschlicherweise als modernere Version dieses Clienten erkennt und ihr manche Features explizit abschalten müsst, weil sie in der alten Version noch nicht unterstützt wurden, meldet auch dies. Ich kann euch da entgegenkommen.
weitere Kleinigkeiten
16. Oktober 2009
Noch ein paar Kleinigkeiten aus den letzten Monaten, die nicht wichtig genug waren, um in die Zeitung zu gelangen:
- Monster mit Waffen etwas geschwächt. Es wäre schön hier Feedback, speziell von Runenschmieden, zu bekommen.
- Neues Standardalias: nlg für “nimm letztgenanntes”
- Neues Standardalias: tw für “trink wasser”. Zur Erinnerung: Wenn man diese neuen Standardaliase bereits andersweitig vergeben hat ist das kein Problem, da individuelle Aliase Vorrang haben vor Standardaliasen.
- Standardaliase für Berufe (Gilden und Zünfte) sind nun möglich. Einige wenige sind schon definiert. Eine Übersicht bekommt man mit standardaliase – dort unter “Beruf”.
- Das Kommando statue um zu erstarren.
- Statt mp kann man nun auch verlauf tippen. Das soll für Neulinge praktisch sein.
- Die Tipps des Tages werden für Neulinge nicht ganz so früh ausgegeben. Sie verwirren am Anfang nur.
- Beim Einloggen gibt es nun eine klitzekleine Verzögerung. In dieser Zeit versucht Avalon Daten vom Clienten zu bekommen, damit es u.a. weiss, wie es den Loginbildschirm ausgeben soll.
- Mit MXP kann man nun das “weiter” bei langen Texten anklicken.
- Kursive Texte werden an manchen Stellen für Sprachausgabler nicht mehr ausgegeben. Dies schien gelegentlich zu Problemem zu führen, speziell beim “ausruestung”-Kommando.
- “kanal anwesende” ist dasselbe wie “kanal wer”. (Dies mag für Neulinge natürlicher sein, da ihnen per Tipp eh “anwesende” statt “wer” beigebracht wird.)
- Nach einem “z frieden” gelten alle Beteiligten wirklich nicht mehr als “im Kampf”. Dies kann allerdings ca 2 Sekunden dauern.
- Spieler im Koma kann man nun nicht mehr aus Versehen töten.
- Mentoren können Mentanden in Gruppen aufnehmen, auch wenn ihre Level zu weit auseinanderliegen. (bugfix, sollte schon längst geklappt haben)
- Es gibt nun die Kommandos muster, was auf Betrachten verweist, und bewege, was wie gehen funktioniert (“bewege mich NACH osten” funktioniert nun auch).
- In Räumen und in der Werliste werden Spielernamen fett ausgegeben, wenn sie längere Zeit abwesend sind, dagegen kursiv, bzw. für Clienten, die das nicht darstellen können, in Klammern. In Räumen werden Spieler vor idelnde Spieler vor Statuen vor Skelette vor anderen Lebewesen vor Leichten vor anderen Gegenständen vor Autoloadern sortiert ausgegeben. So hat man sofort eine Übersicht über das Wichtigste, wenn man einen neuen Raum betritt.
- Die Meldung, dass das Gegenüber lange abwesend ist, wird auch beim Betrachten von Spielern oder Anreden ausgegeben.
- Diverse Bugfixes beim Zaehlen.
- Bei der Clienterkennung Tinyfugue 4 und 5, CMUD und zMUD getrennt, um auf deren neuen Features eingehen zu können.
- Parser: Wenn ein Teil der Eingabe nicht gefunden wird (zB weil man sich vertippt), wird der nicht gefundene Teil kursiv ausgegeben (sofern der Client das darstellen kann, sonst in Anfuehrungszeichen). So sieht man genau, wo man sich evtl. vertippt hat oder warum etwas nicht gefunden wurde.
… und noch Haufenweise andere Bugfixes und Kleinigkeiten. Dies sind jetzt nur diejenigen Änderungen, ich ich erstmal erwähnenswert fand, und die noch nicht anderswo öffentlich gemacht wurden. Ein Blick in die Avalon-Zeitung ersetzt dies Auflistung also nicht.
August und September
15. Oktober 2009
Lange nichts mehr geschrieben hier. Aber das heisst nicht, dass ich untätig war. Avalon hat in den letzten 2 Monaten viele Neuerungen gehabt: 2 neue Administratoren, mehrere neue und fleissige Lehrlinge, einige wichtige Änderungen wie die Sache mit dem Tod und wieder regelmässige Spielerzahlen über 50 Anwesende in den Abendstunden.
Auch im Kleinen sind die üblichen Feinarbeiten stetig vorangekommen. Morgen werde ich in Auszügen davon berichten. Ich habe mir aber auch meine älteren Blogeinträge durchgelesen und die Notizen dazu herausgefischt. Die meisten Verbesserungswünsche, die ich dort selbst anspreche, also quasi als Notizen an mich, und noch umsetzen wollte, bin ich inzwischen angegangen:
- Ausschaltbare MXP Unterstützung (automatisch für KMuddy) – siehe “terminal expert”, bzw “terminal MXPSPERRE”.
- “betrachte ding”, dann “betrachte VERTIPPER”, dann “betrachte anderes ding” funktioniert nun, da der Vertipper nicht mehr gemerkt wird und die Wahl von “anderes” beeinflusst.
- Haufenweise Parserfixes mit der freundlichen Unterstützung vieler Spieler.
Und auch meine Testssuite für VItems wird im Augenblick intensiv genutzt, da ich die Verarbeitung verschachtelter VItems total umbaue, um das Problem mit dem grossen Memleak in Avalon in den Griff zu bekommen. Hier findet dazu übrigens den ursprüngliche Bugeintrag für den Driver. Leider muss man dieses Problem doch in erster Linie bei uns lösen. Schwierig, schwierig. Seit zwei Wochen schlage ich mit diesem interen Umbau von verschachtelten VItems herum und komme nicht nennenswert voran.