diff --git a/OLD.bekanntmachungen b/OLD.bekanntmachungen
new file mode 100644
index 0000000..f7d9c50
--- /dev/null
+++ b/OLD.bekanntmachungen
@@ -0,0 +1,11644 @@
+Erzmagier - Veraenderungen (Hate,  2. Jul 1997, 13:24:06):
+             OFFIZIELLE BEKANNTMACHUNG
+
+Erzmagier Konferenz, 2. Juli 1997, 10:00 - 12:00 Uhr 
+
+Folgende Themen mit allgemeiner Bedeutung wurden auf dieser
+Besprechung behandelt:
+
+Veraenderungen in der Erzmagierzusammensetzung:
+
+  * Erzmagier fuer Gilden (einstimmig):
+    - Neben Rochus ist jetzt auch Zardoz berufen worden. 
+    
+  * Erzmagier fuer ZT, FP und Stufenpunkte (5:2):
+    - Da Wargon seinen Posten abgibt wurde Yantro unter
+      Auflagen auf den o.g. Posten berufen. 
+
+  * Erzmagier Polizei:
+    - Neben Catweazle wurde Highlander in den gleichen Stand
+      gehoben. Beide sind als gleichwertige Ansprechpartner
+      bei Problemen zwischen Spielern und/oder Magiern zu
+      sehen. 
+
+   Die Aufgabenverteilung im Ueberblick:
+
+   * Gott, Quests, RM-Ernennung       - Boing (Rumata, Jof)
+   * Polizei                          - Catweazle, Highlander
+   * LPC und was sonst noch anfaellt  - Hate
+   * Rassen, Seele                    - Silvana
+   * Gilden                           - Rochus, Zardoz
+   * GameDriver, MGtool               - Kirk
+   * Balance                          - Paracelsus
+   * Forscher- und Stufenpunkte       - Yantro
+
+Probleme mit den Berufungen, sowie Probleme jeglicher Art mit
+Erzmagiern sind bitte an den Gott oder Erzmagier des Vertrauens
+mitzuteilen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+ZT Orakel (Boing,  4. Jul 1997, 17:08:18):
+Sodele, was lange waehrt wird (hoffentlich) endlich gut:
+         Das neue Zaubertrank-System ist da!!!
+
+Schon seit laengerer Zeit war ja ersichtlich, dass das momentane System
+nicht so ganz der Hit ist. Ohne Zaubertranklisten ist das MG praktisch
+unspielbar geworden, dem wollte ich ja schon lange mal auf den Pelz 
+ruecken. Vor ca. einem halben Jahr hatten wir dann in den Magierrubriken 
+eine fruchtbare Diskussion, deren Ergebnis jetzt umgesetzt wurde.
+
+Ab sofort gibt es ein Orakel, das in Abhaengigkeit von den Stufenpunkten
+konkrete Hinweise zu den Zaubertrankfundstellen gibt. Wie das genau aus-
+sieht, kann man mit 'hilfe zaubertraenke' erfahren. Wichtig ist, dass man
+jetzt nur noch einen ZT finden kann, wenn man davor den Hinweis vom Orakel
+bekommen hat! Um zu verhindern, dass man dadurch Quests noch mal machen 
+muss, nur um einen ZT ganz am Ende zu bekommen, wurden diese ZTs groessten-
+teils durch neue ersetzt. Das soll aber nicht heissen, dass es keine ZTs
+in Questgebieten gibt. Falls wir irgendwo einen vergessen haben sollten,
+dann teilt das bitte Yantro mit, der ist naemlich ab sofort fuer die
+Zaubertraenke zustaendig. Das ganze sollte kompatibel zu alten Charakteren
+sein, d.h. wenn jemand viel weniger Stufenpunkte als fuer seine Attribut-
+Summe notwendig ist hat, dann muss der halt erst mal ne Weile Stufenpunkte
+sammeln um einen Tip zu bekommen. Wenn jemand viel mehr Stupse als notwendig
+hat, dann kann er beim Orakel gleich mal so richtig dick abraeumen.
+Was die Auswirkungen dieser Aenderung sind, ist klar:
+ - Ein Spieler, der ohne ZT-Liste spielen will, kann das endlich tun!
+ - Die ZT-Listen werden perfektioniert, das ist mir aber reichlich egal,
+   weil mir die Spieler, die den ersten Punkt begruessen werden, tausend
+   mal wichtiger sind.
+ - Das Erschaffen von Bankzweities wird schwieriger (ist mir recht)
+
+Jetzt noch ein paar Danksagungen:
+Der groesste Dank gilt Yantro, er hat naemlich die Tips zu den Zaubertraenken
+(sind immerhin ca. 250 Stueck) fast im Alleingang geschrieben. Sehr viel
+kam auch noch von Guybrush.
+Daran beteiligt waren ausserdem Ark, Semmel, Silvana, Methedras und Augra.
+Ich hoffe, ich hab jetzt niemand vergessen, wenn doch, dann tut es mir leid.
+
+Ich hoffe, das klappt alles so, wie ich es mir vorstelle und ich hoffe auch,
+dass es fuer alle Spieler eine Verbesserung ist. Falls irgendwo Fehler
+auftreten sollten (was nicht auszuschliessen ist), dann sagt bitte Yantro 
+oder mir Bescheid.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Erzmagier deines Vertrauens: Ergebnis (Hate,  9. Jul 1997, 16:26:27):
+Liebe Leute,
+hier also das Ergebnis der Wahl zum Erzmagier deines Vertrauens.
+Diese Wahl hat vorrangig den Zweck, den Spielern, die keinen der Erzmagier
+kennen einen Ueberblick ueber die Bekanntheit und Beliebtheit der
+Erzmagier zu geben, damit man sich an einen wenden kann im Fall
+eines Problems oder freudigen Ereignisses.
+
+Waerend der Zeit der Wahl hatten wir folgende Spielerstatistik:
+
+Insgesamt eingeloggt:                 1329 Charaktere
+Ohne angemeldete Zweitspieler:        1153 Charaktere
+Davon Spieler ueber Level 10:          572 Charaktere
+
+Bei 239 abgegebenen Stimmen ergibt sich daraus eine Wahlbeteiligung von 41%
+
+Hier nun das Abstimmungsergebnis:
+
+      Silvana:  70 - 29.29%
+       Zardoz:  57 - 23.85%
+        Boing:  39 - 16.32%
+         Hate:  26 - 10.88%
+       Yantro:  11 -  4.60%
+    Catweazle:  10 -  4.18%
+   Highlander:   7 -  2.93%
+       Rochus:   6 -  2.51%
+   Paracelsus:   5 -  2.09%
+         Kirk:   4 -  1.67%
+       Rumata:   3 -  1.26%
+          Jof:   1 -  0.42%
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Insel-RM (Hate, 14. Jul 1997, 13:32:44):
+
+Die Region Inseln hat ab sofort einen neuen Regions-Chef: Gundur
+Alle Fragen, die Region betreffend sind also an Gundur zu richten.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Erzmagierkonferenz (Mi, 3.9.1997) (Hate,  5. Sep 1997, 16:05:25):
+
+Ergebnisse der Erzmagierkonferenz:
+
+        * Markierungspflicht fuer Zweitcharaktere
+                - Umsetzung bis Oktober
+                - Bis dahin werden Markierungsstellen durch die
+                  Regionen geschaffen
+                - Der Name des Erstspielers wird nicht sichtbar sein.
+
+        * Der Befehl "ende" wird nicht als Kampftaktik akzeptiert
+                - Zeitbeschraenkung beim Kampf, bevor "ende" wirkt
+                - Ob "ende" wirksam ist oder nicht wird an entsprechender
+                  Stelle ("info") angegeben sein.
+
+        * Polizei/Sheriff:
+                - Es wird grundsaetzlich nach
+                        + Verwarnung
+                        + Strafe (Loeschung)
+                  vorgegangen.
+                - Highlander wird eine konkrete Liste von Massnahmen
+                  vorstellen. Nichtaufgefuehrte Handlungen, die dennoch
+                  als Strafwuerdig in Frage kommen sind kein Schutz
+                  vor einer Strafe.
+
+        * Kneipen/Bank
+                - Es ist eine Aenderung geplant, wonach die Kneipen nicht
+                  mehr in der bekannten Form als Heilstellen dienen. Ein
+                  geeignetes Konzept wird erarbeitet.
+                - Bis ein abgeschlossenenes Geldsystem/konzept erarbeitet
+                  ist, wird es keine Banken geben. Dies deutet schon an,
+                  dass etwas in der Art jedoch geplant ist.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Erzmagierkonferenz (Mi, 3.9.1997) (Silvana,  5. Sep 1997, 21:13:44):
+~#! rn=Hate rt=873468325 rg=bekanntmachungen
+~#! tid=873468325
+Nur als Ergaenzung zum Thema Zweities:
+Fondil Farin, der Schreiber den Elfen, ist bereits in der Lage,
+Zweities namentlich zu markieren. Fragt ihn einfach nach Zweities.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Highlander, 11. Sep 1997, 13:56:38):
+... wegen noetigem
+file system check - einige Spieler sind zu device files geworden :>
+Bezug: Thu Sep 11 13:54:52 MET DST 1997 +7 min reboot
+Dauer: ca. 30 min, wenn der fsck das selber schafft.
+Laenger, wenn Handarbeit noetig ist.
+  HrT
+
+-----------------------------------------------------------------------------
+
+
+
+RM-Tausch: Ebene <-> Inseln (Hate, 16. Sep 1997, 09:56:42):
+Fuer Fragen und Anregungen in folgenden Regionen sind die unten genannten
+Regionsmagier verantwortlich:
+
+   Inseln: Bloodyharry
+   Ebene: Gundur
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Zweitiemarkierungspflicht (Boing, 26. Sep 1997, 11:43:37):
+Der Zwergenschmied ist jetzt auch in der Lage Zweities namentlich zu
+kennzeichnen. Ich moechte nochmal daran erinnern, dass bis Ende Oktober
+alle Zweities namentlich gekennzeichnet werden MUESSEN!
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zweitiemarkierungspflicht (Boing, 26. Sep 1997, 11:47:44):
+~#! rn=Boing rt=875267017 rg=bekanntmachungen
+~#! tid=875267017
+Noch ein Zusatz: Der Schmied sollte auch in der Lage sein, Zweitspieler
+die nach der herkoemmlichen Methode markiert waren (ohne Namen)
+'umzumarkieren'. Ich habe das allerdings nicht getestet, falls es Probleme
+geben sollte, dann schickt mir bitte ne mail.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Konzept: Deputies (Hilfssheriffs) (Highlander,  1. Okt 1997, 14:20:59):
+Hallo!
+Ich moechte euch ein Konzept vorschlagen, das wir und ueberlegt haben -
+die Deputies (das ist einfach kuerzer als Hilfssheriffs).
+Dabei soll es sich um Spieler handeln (moeglicherweise Seher, da sind wir
+uns noch nicht ganz sicher), die
+- sich im MG gut auskennen
+- oefter mal da sind
+- sowohl von Spieler- als auch EM-Seite akzeptiert werden
+und die dabei so eine Art Polizei sein sollen. Konkret sollen sie
+in Abwesenheit von Magiern, die sich um Probleme kuemmern koennen
+(dabei sind hier hauptsaechlich die EM gemeint) dafuer Sorge tragen,
+dass sich die Leute benehmen und als Ansprechpartner dafuer dienen,
+wenn ein Spieler lieber erst mal mit einem anderen Spieler reden will
+Dabei dachten wir vor allem an Spielerinnen, die genervt werden.
+Auch sollen sie eine Meldung bekommen, wenn ein Spieler einen andern
+angreift und dagegen einschreiten koennen.
+Zu diesem Zweck sollen folgende zweckgebundenen Aktionen moeglich sein:
+- goto (nur bei Spielerangriffen)
+- finde (etwas anders als die Seherkugel, aber nur minimal)
+- Frieden stiften (fuer Spieler/Spieler-Konflikte wirksam)
+- Halsweh verteilen
+- im Notfall einen Spieler ins Gefaengnis schicken
+Alle Aktionen wuerden selbstverstaendlich geloggt, und bei Missbrauch der
+Moeglichkeiten waere der Aerger gross.
+Gedacht hatten wir uns das so, dass ihr 10 Leute durch Wahl vorschlagt, von
+denen wir uns 5 aussuchen, die dann, so sie wollen, einen Deputystern
+angeheftet bekommen und daraufhin auf ihre Aufgabe losgelassen werden.
+Wenn ihr dazu Kommentare/Kritik/Vorschlaege machen wollt:
+BITTE TUT DAS IN DER RUBRIK ENTWICKLUNG.
+Ich haette zwar auch dort schreiben koennen, aber hier geht
+das nicht so leicht unter, denke ich.
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Bug bei den ZTs. (Yantro,  2. Okt 1997, 20:40:44):
+
+Hi, 
+ich hab dann mal eine traurige Nachricht, aber ich mach es kurz:
+
+Es gab einen Bug in der ZTVerwaltung, dass es keine Zts mehr gab. Den hat
+Boing so ausgebaut, dass es nun fuer alle Spieler an den ZTstellen UNENDLICH
+viele Zts gab. Dies haben inzwischen einige Spieler ausgenutzt und es ueber
+einen Teil der Kanaele weitergeprahlt, so dass ich keine Uebersicht mehr habe,
+wer sich nun wo wieviele ZTs durch den Bug erschlichen hat. Deswegen hab ich
+die ZTs erstmal generell ausgebaut und bis zur Reperatur wird es auch keine
+Zts mehr geben.
+
+Wie die zu hohen Stats reduziert werden koennen, weiss ich im Moment auch
+nicht, aber ich denke, wenn es zu viele waren und es unuebersichtlich wird,
+dann wird das Backup vom 1.10. hochgespielt. Dies KANN sein, muss aber nicht.
+
+Damit es nicht noch schlimmer wird mit dem Missbrauch, wird es, damit die
+sperrung der ZTs greift, einen Reboot geben.
+
+Yantro
+~
+
+-----------------------------------------------------------------------------
+
+
+
+ZTbug (Yantro,  7. Okt 1997, 17:53:43):
+Hi, 
+ich hab den ZTbug inzwischen gefixed (was lange waehrt...). Man kann nun
+keinen Stat mehr verlieren, wenn man nach dem Finden des ZTs aus dem Spiel
+fliegt und noch nicht erhoeht hat. Mehrere ZTs an einer Stelle gehen auch
+nicht mehr. Also laeuft es jetzt alles so, wie ich mir das gedacht hab.
+
+Die Sperre des ZTfindens werdet ihr los, indem ihr auf den naechsten Reboot
+wartet (kann nicht lange dauern) oder ende macht.
+
+Backups der alten Playerfiles werden nicht hochgefahren, weil die Anzahl derer
+mit erhoehten Stats gerade noch ueberschaubar geblieben ist. 
+
+Yantro.
+
+-----------------------------------------------------------------------------
+
+
+
+Deputies -> /dev/null (Highlander, 10. Okt 1997, 14:34:32):
+Nach dem die allgemeine Meinung zu diesem Konzept so geschaetzte 2/3
+in der Richtung "Bloedsinn." "Unnoetig." "Iiiih." ging, ist es hiermit
+begraben. Und komme mir jetzt keiner mit "aber ich haette es gewollt" -
+dann haette derjenige seinen Mund aufmachen sollen.
+Einerseits wollt ihr immer mal wieder mehr mitzureden haben, aber wenn
+ihr dann die Moeglichkeit haben sollt, mehr Verantwortung zu uebernehmen,
+kommt so eine Reaktion. Vergesst am besten saemtliche Gedanken an einen
+Spielerrat oder so. Was Yantro (von dem die Idee kam) und mich besonders
+geaergert hat, war, dass wenige sachliche Kritik geaeussert haben und
+einige vor allem "Das ist doof." meinten. Nicht unbedingt woertlich, aber
+sinngemaess.
+
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Freund, ein guter Freund... (Silvana,  6. Nov 1997, 10:04:04):
+Da sich offenbar niemand dazu aeussern will, der verantwortlich ist, 
+schreib ich jetzt mal was:
+Freund ist nicht nur wieder da, sondern auch wieder Erzmagier.
+
+Was fuer einen Posten er hat, wer ihn wann zum Erzmagier gemacht hat und
+so ist offenbar nicht bekannt, jedenfalls fuehlt sich keiner, der etwas
+wuesste, dazu gemuessigt, was dazu zu schreiben. Wie dem auch sei:
+Welcome back, Freund, und keine Sorge, wir werden Arbeit fuer Dich finden...
+
+  Silvana (boshaft grinsend)
+
+
+-----------------------------------------------------------------------------
+
+
+
+REP:mg (Toeter, 17. Nov 1997, 19:26:40):
+Hi,
+ich habe heute mit Prof. Wirtz vom Institut fuer Informatik gesprochen,
+und ihm die Einrichtung einer MorgenGrauen-AG vorgeschlagen, unter der
+MG dann offiziell fungieren koennte - auf die Weise waere damit die Zu-
+kunft von MG an der Uni Muenster gesichert. Er ist damit grundsaetzlich 
+einverstanden, moechte allerdings dazu auch den informatischen (oder sonst-
+wie wissenschaftlich gearteten) Hintergrund behandelt wissen. Ich schreibe 
+ihm jetzt mal ein wenig Material zusammen, und dann kann er sehen, was ihm 
+davon zusagt. Er fand zumindest die Richtung intelligente NPCs/Kampfstrate-
+gien ganz interessant, da koennte man z.B. mal ein Seminarthema draus ma-
+chen... 
+Naja, mal schauen, jedenfalls haette MG damit erst einmal eine Legitimation, 
+die ihm auch Anfeindungen von innerhalb der Uni gegenueber einen besseren 
+Stand verschafft.
+
+  Toeter
+
+PS: Kleine Anekdote am Rande: Als er meinen Mud-Namen sah, meinte, das 
+    MG koennte durchaus auch fuer Psychologen interessant sein... ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Mudgebuehren (Freund, 20. Nov 1997, 20:46:57):
+Hi, im Auftrag von Catweazle folgender Text:
+
+Moin!
+
+Seit einiger Zeit rechnen einige Mudder am rc5-Projekt mit, unter der
+Schirmherrschaft vom der Domain mud.de . Ich denke mir, dies ist eine 
+hervorragende Gelegenheit, die frueher schon einmal angesprochenen 
+Mudgebuehren einzurichten.
+
+Also gelten ab demnaechst folgende Regelungen:
+Pro angefangener Onlinestunde ist ein Datenblock bei rc5@mud.de abzuliefern.
+Wird dies nicht getan, wird der Spieler automatisch ausgeloggt, es lohnt 
+sich also einen kleinen Bloeckevorrat anzulegen.
+In mitleidswuerdigen Einzelfaellen von Spielern mit armseligen Rechnern,
+laesst sich vielleicht eine Ausnahmeregelung einrichten.
+Dies wird in ca. 1 Woche aktiviert, wer bis dahin nicht anfaengt am Block
+zu rechnen, wird Schwierigkeiten haben, sich einzuloggen. Newbies kriegen
+einen Bonus von 10 Bloecken, um sich einzugewoehnen.
+
+Naehere Infos gibt es in der Rubrik 'hardsoftware'. Websites sind:
+http://rc5.distributed.net
+http://rc5stats.distributet.net/
+http://www.aei-potsdam.mpg.de/~wehrens/rc5/
+Muendliche Info koennen Raffi, Anakin, Freund oder ich vergeben.
+
+Yours truly,
+     Catweazle (don't take me serious :-)
+
+Gruesse von Freund, 
+heute mal Ironie unterstuetzend...
+
+-----------------------------------------------------------------------------
+
+
+
+Mail ins MUD - Komplettloesungen (Hate,  1. Dez 1997, 11:39:30):
+
+Die Mail der letzten Tage ist nicht angekommen, weil irgendwelche
+unfaehigen Komplettloesungsverteiler riesige Mails mit mehr als 3000
+Zeilen ins MUD geschickt haben. Diejenigen, von denen die Mail kommt
+werden sich verantworten muessen. Ich habe heute die Verstopfung
+geloest.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Rueckstufung Yantro (Jof, 22. Dez 1997, 16:00:07):
+
+ Am 20.12. wurde Yantro aufgrund wiederholter Probleme, speziell mit 
+der Form seiner oeffentlichen Aeusserungen, von Level 65 auf Level 45 
+(RM Polar) zurueckgestuft.
+
+ Jof
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Erzmagier (Boing,  8. Jan 1998, 11:31:52):
+Es gibt zwei neue Erzmagier:
+Gundur uebernimmt die Abenteuer
+Rikus uebernimmt Forscherpunkte, Zaubertraenke, Stufenpunkte allgemein
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Ruhestand (Wargon,  3. Feb 1998, 12:47:28):
+  Huhu!
+
+Der naechste Schritt in den Ruhestand: ein paar meiner Projekte werden in
+andere Haende gelegt
+Im einzelnen waeren da:
+- offizielle Doku-Magier sind (schon seit November) Freund (als Oberaufseher)
+  und Patryn (als Schreibknecht :) zumindest was die MudLib-Doku angeht).
+- Morgoth ist jetzt fuer die Kleriker-Gilde zustaendig. Ideen, Beschwerden
+  und Fragen sollten also an ihn gerichtet werden! Er wird sie dann ggf.
+  weiterleiten :)
+- die Seherhaeuser uebernimmt Wurzel. Die Folgen fuer Ideen etc. sind die
+  gleichen wie die bei den Klerikern.
+
+Ich werde weiter meinen Ruhestand geniessen, Sumpfdrachen zuechten, den Stein
+der Weisen suchen und vielleicht irgendwann noch mal am Ende der Welt rum-
+basteln.
+
+  Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ruhestand (Wargon,  3. Feb 1998, 13:04:21):
+~#! rn=Wargon rt=886506448 rg=bekanntmachungen
+~#! tid=886506448
+PS: Nein, meine Frau geb ich nicht ab, sonst wuerde der Ruhestand doch etwas
+zu langweilig. :)
+
+-----------------------------------------------------------------------------
+
+
+
+EM-Konferenz (Silvana,  4. Feb 1998, 19:05:17):
+Hi.
+
+Wie einigen wohl bereits gekannt sein duerfte, war gestern Abend eine
+EM-Konferenz. Ueber die fuer Spieler wichtigsten Entscheidungen hier eine
+kurze Vorab-Bekanntmachung. Details folgen in Kuerze (mir fehlt heute die
+Zeit):
+
+1) Spielertesties:
+Es wird offiziell erlaubt, Spieler neue Regionen vor deren Anschluss testen
+zu lassen - und zwar NACH dem Test durch den RM und NACH Eintragen der Fps.
+Die testenden Spieler erhalten alle FPs, die sie dabei finden - aber auch
+alle negativen Folgen (Tode...). Getestet wird aus Gruenden der Sicherheit
+und Ueberwachbarkeit mit von dem Magier oder den EMs gestellten Testspielern.
+Genaueres im Laufe der naechsten Woche in Form einer Doku von mir.
+
+2) Keipen:
+Die erste Ausbaustufe der neuen Kneipen wird Ende naechster Woche angeschlossen.
+Genaue Details dann ebenfalls an dieser Stelle.
+
+3) StGB:
+Keine Sorge, es wird weiterhin keine Gesetzbuch geben. Was es geben wird, ist
+eine Sammlung von Richtlinien und Praezedensfaellen, die Freund zusammen-
+stellen will (und natuerlich auch pflegen sollte). :-)
+
+4) Ruestungen:
+Paracelsus hat neue Maximalwerte fuer Ruestungsklassen ausgearbeitet und wird
+diese bald anschliessen. Das wird zwar einige Ruestungsteile schwaechen, aber
+insgesamt steigt die maximale Ruestungsklasse sogar...
+
+5) Teamkampf:
+Nach Zardoz' Abgang ist jetzt Jof dabei das gesammelte Material zu sichten.
+Es tut sich also was...
+
+Silvana (Artikel im Schnellverfahren)
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Ruestungsstaerken (Paracelsus,  6. Feb 1998, 12:51:09):
+Hi.
+
+Wie bereits im vorangegangenen Artikel von Silvana erwaehnt, werden die
+Ruestungsstaerken geaendert.
+Waehrend einer etwa einen Monat dauernden Uebergangszeit ist quasi eine
+Mischung aus den alten und den neuen Werten gueltig, danach gelten nur
+noch die neuen Werte.
+Wundert euch also nicht, wenn ihr ploetzlich seltsame Meldungen beim
+Einschaetzen von Ruestungsteilen bekommt oder wenn sich die Staerken
+ploetzlich aendern.
+Die meisten Ruestungen werden sich wohl nicht aendern, bzw. nur scheinbar
+schwaecher werden, weil sich die Einschaetzungen meist auf den maximal
+erlaubten Wert beziehen.
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Spieler-Testies (Freund,  7. Feb 1998, 13:33:18):
+Frohes Mudden allerseits,
+
+laut Beschluss der Erzmagier-Konferenz vom 3.2.98 werden ab sofort
+Spieler-Testies erlaubt. 
+
+Eine Hilfe-Seite mit Informationen ist mit "hilfe spielertesties" abrufbar.
+
+Mit Dank an Silvana,
+Freund.
+
+-----------------------------------------------------------------------------
+
+
+
+Vorwarnung (Silvana,  9. Feb 1998, 09:22:20):
+Hi.
+
+Am Montag den 16.2. wird es im Laufe des Vormittags einen Reboot geben,
+da einige Dinge (zum Teil deutlich) veraendert werden. Unter anderem gibt
+es dann die neuen Kneipen.
+Ausserdem werden dann die Rassen vollstaendig ueberarbeitet. Es werden
+sich deutliche Differenzen zu den derzeitigen Werten ergeben (nicht in
+den Stats, aber sonst). Um nicht zu viel Unmut zu erzeugen, wird es die
+EINMALIGE (!) Moeglichkeit geben, seine Rasse zu aendern - wobei sich
+einige Rassen-Gilden-Kombinationen ausschliessen. (Thanx to Wurzel hierfuer)
+Und eine neue Rasse (incl Gebiet und Quest) gibts ebenfalls: die Felinen.
+
+Alles naehere (vor allem eine Beschreibung der Vorzuege/Nachteile der
+veraenderten Rassen) noch im Laufe der naechsten sieben Tage.
+
+  Silvana (hofft, dass die Zwergenstadt bis dahin auch durch den Test ist)
+
+-----------------------------------------------------------------------------
+
+
+
+Rassen (Silvana, 12. Feb 1998, 18:26:17):
+Hi.
+
+Wie versprochen mal etwas naeheres zu den Rassen:
+
+1) Die Menschen
+Naja, was soll man zu den Menschen schon sagen. Sie sind durchschnittlich,
+oder um es freundlicher zu sagen: Das Mass der Dinge. Sie koennen im Prinzip
+alles, aber nichts wirklich gut, haben aber dafuer keine auch keine wirklich
+grossen Schwachen.
+Die einzigen Punkte, bei denen Menschen etwas von der Norm abweichen sind
+der koerpereigene Ruestungsschutz, der bei den staedtisch lebenden Menschen
+bereits etwas verkuemmert ist und ihre, durch die akademische Neigung der
+meisten Menschen hervorgerufene, etwas ueberdurchschnittliche Resistenz 
+gegen Magie.
+
+2) Hobbits
+Das Hobbits gern, oft und viel essen, sollte bekannt sein. :) Nun koennen sies
+auch. Dumm nur, dass sie etwas anfaellig gegen Gift sind, aber man soll halt
+nicht alles in den Mund stecken...
+Ansonsten sind sie bekanntermassen klein, zaeh und geschickt, was ihnen
+auch bei der Abwehr von magischen Angriffen etwas zu Gute kommt.
+
+3) Zwerge
+Klein und zaeh sind die Zwerge auch - und stark zudem. Und dass man so schnell
+keinen Zwerg unter den Tisch trinken kann sollte jeder wissen, der es mal
+versucht hat. Und damit sich ein Zwerg auch als Zwerg fuehlen kann, geht es 
+ihm natuerlich unter der Erde besser als drueber. Zwerge sind hervorragende 
+Bergleute, koennen natuerlich gut klettern (zumindest auf Stein) und
+eigentlich
+ueberhaupt nicht schwimmen. :) Und was die Magie angeht... Naja, sie tun 
+sich schwer, aber wenn sich ein Zwerg in den Kopf setzt, etwas koennen zu 
+wollen, dann lernt er es auch irgendwann. Die Magie der Zwerge weist gar
+einen kleinen Charakterzug ihrer Schoepfer auf: sie erweist sich als etwas
+langlebiger als die Magie anderer Wesen. Und versuch mal einen Zwerg mit
+Magie zu beherrschen: Er wird Dir zeigen, was Starrkoepfigkeit wirklich
+bedeutet...
+
+4) Elfen
+Elfen sind die feinsinnigsten unter den Rassen. Sie sind intelligent, 
+geschickt - und genuegsam. Zugegeben, klares Wasser oder Fruchtsaft vermag
+sie in wahre Begeisterungsstuerme zu versetzen, aber schwere Speisen oder
+gar Schnaps... Nein, viel zu deftig.
+Elfen sind der Natuer verbundene Schoengeister, der Magie offen - in jede
+Richtung - aber durchaus nicht leicht zu durchschauen. Alles, was mit der
+Natur in Einklang steht, faellt ihnen leicht (Klettern, Schwimmen...),
+alles andere sehr schwer. Unter der Erde fuehlen sie sich ueberhaupt nicht
+wohl.
+
+5) Felinen (Paracelsus moege mich korrigieren, wenn ich falsches schreibe)
+Die Felinen sind aufrecht gehende Katzenwesen, haben aber von ihren 
+Verwandten noch eine ganze Reihe Eigenschaften uebernommen: sie sind sehr
+geschickt und intelligent, zudem sehr schnell, haben aber ueberhaupt keine
+Ausdauer.
+Felinen sind - schon durch ihre Heimat, den Dschungel - sehr naturverbunden
+und fuehlen sich in Lebensfeindlichen Gebieten wie dem ewigen Eis oder 
+der Wueste ueberhaupt nicht wohl. Im Gegensatz zu den meisten Katzen sind
+sie allerdings ueberhaupt nicht wasserseu (waere auch unguestig, im
+Dschungel).
+Felinen sind die (bisher) einzige Rasse, die nicht von Anfang an als
+Abenteurer auf die Welt kommen - sondern als Katzenkrieger.
+
+Ausblick:
+Es wird sich noch einiges tun in absehbarer Zeit: Es wird Std-Skills wie
+klettern, schwimmen, balancieren... geben. Fuer Felinen, Elfen und Zwerge
+sind verschiedene Variationen von Nachtsicht in Arbeit. Bei Waffen und
+Ruestungen tut sich auch was... Naja, lasst Euch ueberraschen...
+
+Ideen,Bugs -> Silvana
+Flames -> Andy
+
+    Tschau 4 now - Silvana
+
+PS: Entschuldigt die Formatierung. DOS... *sigh*
+
+-----------------------------------------------------------------------------
+
+
+
+Das liebe Geld... (Silvana, 16. Feb 1998, 09:48:51):
+Hi.
+Eine kleine Vorankuendigung schon mal: Padreic hat in muehevoller 
+Kleinarbeit die Unit ueberarbeitet (also das std-Objekt, dass hinter
+Zaubererkomponenten und Geld und so steckt). Als huebsches Nebenprodukt
+dieser Arbeit gibt es nach dem Reboot in allen Laeden Geldboersen zu kaufen,
+in denen man das Geld unterbringen kann, und aus denen DIREKT, also ohne
+'nimm muenzen aus boerse' bezahlt werden kann.
+
+  Viel Spass damit - Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Zwerge unter die Erde gebracht (Silvana, 16. Feb 1998, 09:51:22):
+Meine lieben Zwerge.
+
+Ihr werdet Euch vielleicht nach dem Reboot wundern, wo ihr wieder zu Euch
+kommt. Wurzel ist es nach langen Grabungen gelungen, die alte Zwergenfestung
+wieder freizulegen. Daher werdet ihr - sofern ihr nicht Kaempfer seid oder
+ein Eigenheim besitzt - dort Eure neue (sozusagen alte) Heimat wiederfinden.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Eine Bitte... (Silvana, 16. Feb 1998, 10:53:38):
+Hi.
+
+Wie ihr vielleicht mitbekommen habt, wird sich mit dem Reboot einiges 
+aendern: Die Rassenshells, die Kneipen, die Std_Unit, einiges bei Waffen
+und Ruestungen, Ne Kleinigkeit in den Laeden...
+Zudem gibt es zwei ziemlich grosse neue Gebiete, eine neue Rassen sowie
+eine neue Quest.
+
+Dass das nicht ganz einfach ist, dass reibungslos durchzufuehren, sollte 
+Euch klar sein. Wir haben zwar alles ausfuehrlich getestet, aber das
+ist natuerlich keine Garantie dafuer, dass gleich alles klappt. Wenn es
+also Bugs geben sollte, bitte nicht gleich schreien. Das wird eine ziemlich
+aufregende Woche werden - fuer uns alle - und es faellt uns leichter, 
+wenn wir uns auf ein etwas ruecksichtsvolleres Miteinander einigen koennten.
+
+  Silvana - hegt Hoffnung
+
+-----------------------------------------------------------------------------
+
+
+
+Aenderungen (Paracelsus, 16. Feb 1998, 11:48:45):
+Hi.
+
+Mit dem letzten Reboot haben sich einige Aenderungen ergeben, deren
+Auswirkungen ihr sicherlich bemerken werdet.
+So tritt z.B. mit den neuen Kneipen auch eine Aenderung bei der maximal
+erlaubten Heilung in Kraft. Es sind jetzt staerkere Heilungen erlaubt,
+als vorher.
+Das Problem ist, dass sich vorher kaum einer daran gehalten hat, was bei
+Kneipen legal ist und was nicht. Bei den neuen Kneipen hingegen wird
+strikt auf die Einhaltung der Regeln geachtet. Daher kommt es jetzt wohl
+in einigen Kneipen dazu, dass einige Gerichte/Getraenke nicht mehr
+wirken. In so einem Fall bitte Ruhe bewahren und nicht gleich Zeter und
+Mordio schrein. Wir koennen schliesslich nicht alle Kneipen gleichzeitig
+anpassen.
+Eine weitere Aenderung betrifft die Zahl der Aktionen, die in einer
+Kampfrunde zusaetzlich gemacht werden koennen (Bumi werfen, Flammenkugeln,
+etc.) Spieler sind hiervon nicht betroffen, niedriglevelige Seher kaum
+bzw. eventuell sogar positiv, bei den hoeherleveligen Sehern gehts ein
+klein wenig bergab (tja, die Aermsten sind halt immer die, auf deren
+Ruecken solche Sachen ausgetragen werden).
+
+Das wars erstmal von der Aenderungsfront.
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Paracelsus, 28. Feb 1998, 22:07:44):
+Hi.
+
+Es wird voraussichtlich im Laufe des kommenden Montages (2.3.1998) einen
+Reboot geben.
+Grund sind einige Aenderungen an der Mudlib.
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot verschoben (Paracelsus,  2. Mar 1998, 09:19:40):
+Hi.
+
+Da Silvana heute leider verhindert ist, wird der Reboot auf morgen
+verschoben.
+Voraussichtlicher Zeitpunkt: etwa gegen Mittag.
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Silvana,  3. Mar 1998, 10:42:00):
+Hi.
+Es gibt mit dem heutigen Reboot noch mal ein paar Verschiebungen in der
+Heil- und Food/Drink...-Regenerationsrate. Damit verbunden ist eine
+leichte Veraenderung der Berechnung der zulaessigen Getraenke.
+Es kann daher im Laufe der naechsten Tage noch mal zu ein paar neuen
+Ungereimtheiten in den Kneipen kommen, die ich jetzt schon mal 
+entschuldigen moechte.
+Bevor jetzt Entsetzensschreie laut werden: Viel aendert sich nicht, aber
+das, was sich aedert, ist zum groessten Teil in Richtung MEHR Heilung.
+
+Ausserdem gibts leichte Verschiebungen in den Magieresistenzen, was
+vor allem die Elfen freuen duerfte...
+
+Ach ja, noch was: Es gibt eine (hoffentlich) deutlich bugaermere Unit
+und damit etwas 'stabileres' Geld... Hoffen wir das Beste...
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Ruestungsstaerken - die 2. (Paracelsus, 10. Mar 1998, 00:16:36):
+Hiho.
+
+Vor gut einem Monat hatte ich in dieser Rubrik ja bereits darauf hingewiesen,
+dass die Maximal-Schutz-Werte der Ruestungen geaendert worden sind. Nachdem
+die Uebergangszeit von einem Monat nun vorbei ist, werden die neuen Werte
+nun 'voll aktiviert'. Daher wird es wohl hoechstwahrscheinlich morgen Abend
+einen Reboot geben.
+Nach dem Reboot wird es wohl hin und wieder passieren, dass ihr beim
+Anziehen einer Ruestung (Arten: Ring/Amulett/Handschuhe/Schuhe) die
+Meldung bekommt, ihr haettet es mit einer illegalen Ruestungsklasse
+zu tun. In so einem Fall wendet euch einfach an den Magier, der das
+Objekt programmiert hat (festzustellen  durch ein 'identifiziere' eines
+hochleveligen Zauberers, Hoerrohr, nachfragen, etc.). Bei Magiern, die schon
+laengere Zeit nicht mehr aktiv sind, wendet ihr euch am besten an den entspr.
+Regionsmagier.
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Paracelsus, 10. Mar 1998, 22:08:58):
+Reboot - kein Reboot - Reboot - kein Reboot - Reboot - kein Reboot - ...
+
+Da der von mir angekuendigte Reboot eigentlich nicht 100%ig notwendig ist,
+hab ich eben mal auf dem Seherkanal abstimmen lassen (Igitt, Demokratie ;).
+Es gibt also doch keinen, warten wir auf den naechsten Crash...
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Seherstatus (Silvana, 31. Mar 1998, 23:57:47):
+Hi.
+
+Nachdem es auf der Party wieder massive Beschwerden ueber die Schwemme
+der Wurstseher gab, habe ich dem nun einen Riegel vorgeschoben. Ab dem
+naechsten Reboot werden die Seheranforderungen wie folgt aussehen:
+
+Man hat unter den Top 50 der Spieler im MG zu sein!
+
+Wer nicht unter den Top 50 ist, verliert seinen Status mit all seinen
+Rechten. Ueberzaehlige Seherhaeuser werden zur Lag-Reduzierung ebenfalls
+eingestampft - natuerlich nur die der Spieler, die ihren Status ver-
+lieren. Ich hoffe, damit wird das Seher-Dasein wieder etwas spannender. :)
+
+
+  Gute Nacht - Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Moegliche "Loecher" (Highlander,  2. Jun 1998, 10:17:29):
+Ich habe Zardoz letzthin darauf hingewiesen (in Verbindung mit 4 Wochen
+Zwangspause), dass er beim naechsten Regelverstoss faellig ist, m.a.W.
+geloescht wird. Seine Antwort darauf:
+--quote
+Zardoz teilt Dir mit: Aha, ich erfahre das hoffentlich vorher, damit ich meine
+Zardoz teilt Dir mit: Sachen, die ich geproggt habe, abhaengen kann?
+tell . Das waere?
+Du teilst Zardoz mit: Das waere?
+[/players/highlander] Wat nu? Zardoz teilt Dir mit: Chaosgilde, Kaempfergilde
+und Daemonenburg.
+Zardoz teilt Dir mit: wenn ich rausfliege, auch wenns berechtigt ist, nehm ich
+Zardoz teilt Dir mit: meine Sachen mit. Ich will damit keinen Druck machen,
+Zardoz teilt Dir mit: damit das klar ist, nur kriegt dann nen anderes Mud die
+Zardoz teilt Dir mit: dinge
+--unquote
+
+Falls also irgendwann mal Loecher auftreten, bitte nicht wundern.
+
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Mail Internet -> MG (Jof, 18. Jun 1998, 07:07:10):
+ Leider geht seit Montag die Mail vom Internet ins MorgenGrauen nicht
+mehr, da die Mathematik einen Firewall fuer ihre Subnetze und Port 25
+eingeschaltet hat. Zudem existiert seitdem ein MX, der dafuer 
+sorgt, dass die Mail fuer MG auf dem Mailhost der Mathe landet,
+der damit nichts anfangen kann und sie daher entsorgt (ja, richtig,
+meisstens kommt sie nichtmal zurueck). 
+ Mittlerweile ist ein weiterer MX-Record beantragt (MG wird best MX
+fuer sich selbst), der dann dafuer sorgt, dass der Mathe-Mailhost die
+Mail weiterschickt an MG; danach ist (hoffentlich) wieder alles beim
+Alten.
+
+ Sorry for the inconvenience
+
+ Jof
+
+-----------------------------------------------------------------------------
+
+
+
+top-liste (Boing, 18. Jun 1998, 07:22:23):
+Das gigantische Lag, was taeglich gegen 18 Uhr aufgetreten ist, lag 
+wohl an der Top-Liste, die da berechnet wurde. Da sie auf einem anderen
+Rechner berechnet wurde, gab es gewaltige Mengen von NFS-Load, was 
+den Rechner mehr belastet als eine direkte Berechung auf mg. Also
+wurde das script jetzt verlegt. Ausserdem wird die Liste nur noch
+einmal pro Tag (um 0 Uhr) berechnet.
+Das starke Lag (im Gegensatz zum gigantischen) was man vor allem
+nachmittags beobachten kann, liegt wahrscheinlich daran, dass alle 5
+Minuten ein momentan 128 MB grosses Swap-File geschrieben wird. Das
+Schreiben dieser Datei laesst sich NICHT vermeiden! Die einzige Chance
+hier etwas zu verbessern liegt wohl darin, dafuer zu Sorgen, dass weniger
+aktive Objekte im Spiel sind. Als erster Versuch laeuft deswegen der
+Zwergenladen in einer Testphase, in der bei jedem Reset ein gewisser
+Prozentsatz 'Ladenhueter' entsorgt wird. Sollte das einigermassen
+brauchbar funktionieren, werden alle Laeden dementsprechend angepasst.
+Sobald das der Fall ist, kann also jeder zu einer Lagreduzierung
+beitragen, indem er 'Muell' nicht einfach liegen laesst oder im
+Seherhaus ansammelt, sondern im Laden verkauft, auch wenn man nix
+mehr dafuer bekommen sollte.
+  Boing - Anti-Lag-Kampagne
+
+-----------------------------------------------------------------------------
+
+
+
+Re: top-liste (Jof, 18. Jun 1998, 15:56:26):
+~#! rn=Boing rt=898154543 rg=bekanntmachungen
+~#! tid=898154543
+ Im Rahmen der Boing-Anti-Lag-Kampagne habe ich auch die Swap-Zeiten wieder
+geaendert; es wird wieder frueher geswapped. Das klingt zwar unsinnig,
+hat aber zugleich ein haeufigeres clean_up() zur Folge, so dass auch
+hierdurch die Objektzahl reduziert wird. Die Aenderungen waren aller-
+dings diesmal sehr moderat und muessen ggfs erweitert werden.
+
+ Jof
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: top-liste (Hate, 19. Jun 1998, 08:59:55):
+~#! rn=Jof rt=898185386 rg=bekanntmachungen
+~#! tid=898154543
+Hmm, fuer die TOPlistenberechnung solltet ihr mal im Web die Statistik
+ansehen. Die wenigsten Spieler sind im MG gegen 0700 Uhr frueh.
+Dort oder kurz vorher zu starten macht am meisten sinn.
+Mitternacht sind immer noch ca. 60-70 Leute im MUD.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Wieso das MG unten war (Boing, 24. Jun 1998, 07:55:17):
+Gestern abend gab es irgendwelche Probleme mit dem SCSI-Controller (wenn 
+ich Jof richtig verstanden habe). Dadurch ist zuerst das Lag extrem
+angestiegen, dann das Mud stehengeblieben. Ich habe danach versucht,
+den prozess abzuschiessen, der hat sich nur leider geweigert sich 
+abschiessen zu lassen. NAch einem kurzen Telefonat mit Jof hat dieser
+den Rechner gebooted (uebers Netz), leider war im bootup script ein
+Fehler drin, der zu einer Anfrage fuehrte, die auf der Konsole haette
+eingegeben werden muessen. Naja, das ist dann heute frueh geschehen.
+
+  Boing
+PS: Das bootup script wurde jetzt uebrigens geaendert ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Mail geht wieder (Jof, 24. Jun 1998, 10:27:38):
+
+ Seit heute, 24.6.98, ca 12:00 sollte die Mail vom Internet ins MG
+wieder arbeiten.
+
+ Viel Spass
+  Jof
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wieso das MG unten war (Jof, 24. Jun 1998, 10:31:31):
+~#! rn=Boing rt=898674917 rg=bekanntmachungen
+~#! tid=898674917
+
+ Konkret sieht das dann so aus:
+
+Jun 23 19:33:32 mg kernel: scsi : aborting command due to timeout : pid
+41922543
+, scsi0, channel 0, id 0, lun 0 Read (6) 16 a6 38 02 00
+Jun 23 19:33:32 mg kernel: scsi0 : DANGER : command running, can not abort.
+Jun 23 19:33:32 mg kernel: scsi : aborting command due to timeout : pid
+41922544
+, scsi0, channel 0, id 0, lun 0 Read (6) 16 a6 3a 02 00
+Jun 23 19:33:32 mg kernel: scsi0 : found command 41922544 in Linux issue queue
+Jun 23 19:33:32 mg kernel: scsi : aborting command due to timeout : pid
+41922547
+, scsi0, channel 0, id 0, lun 0 Read (6) 16 a6 3c 0a 00
+Jun 23 19:33:32 mg kernel: scsi0 : found command 41922547 in Linux issue queue
+Jun 23 19:33:53 mg kernel: scsi : aborting command due to timeout : pid
+41922543
+, scsi0, channel 0, id 0, lun 0 Read (6) 16 a6 38 02 00
+Jun 23 19:33:53 mg kernel: scsi0 : DANGER : command running, can not abort.
+Jun 23 19:33:53 mg kernel: SCSI host 0 abort (pid 41922543) timed out -
+resettin
+g
+Jun 23 19:33:53 mg kernel: scsi0 : DANGER : command running, can not abort.
+Jun 23 19:33:53 mg kernel: SCSI host 0 abort (pid 41922543) timed out -
+resettin
+g
+Jun 23 19:33:53 mg kernel: SCSI bus is being reset for host 0 channel 0.
+Jun 23 19:33:53 mg kernel: scsi0 : DCMD|DBC=0x820b0000, DNAD=0x9082c (virt
+0x000
+9082c)
+Jun 23 19:33:53 mg kernel:          DSA=0x55e1e8 (virt 0x0055e1e8)
+Jun 23 19:33:53 mg kernel:          DSPS=0x90844, TEMP=0x55e0ac (virt
+0x0055e0ac
+), DMODE=0x88
+Jun 23 19:33:53 mg kernel:          SXFER=0x0, SCNTL3=0x3
+Jun 23 19:33:53 mg kernel:          BSY phase=MSGOUT, 0 bytes in SCSI FIFO
+Jun 23 19:33:53 mg kernel:          STEST0=0x77
+Jun 23 19:33:53 mg kernel: scsi0 : DSP 0x90824 (virt 0x00090824) ->
+Jun 23 19:33:53 mg kernel: 0x90824 (virt 0x00090824) : 0x820b0000 0x00090844
+(vi
+rt 0x00090844)
+Jun 23 19:33:53 mg kernel: 0x9082c (virt 0x0009082c) : 0x9f030000 0x00000000
+(vi
+rt 0x00000000)
+Jun 23 19:33:53 mg kernel: 0x90834 (virt 0x00090834) : 0x8f0b0000 0x00090a04
+(vi
+rt 0x00090a04)
+Jun 23 19:33:53 mg kernel: 0x9083c (virt 0x0009083c) : 0x870b0000 0x00090834
+(vi
+rt 0x00090834)
+Jun 23 19:33:53 mg kernel: 0x90844 (virt 0x00090844) : 0x9a030000 0x00000000
+(vi
+rt 0x00000000)
+Jun 23 19:33:53 mg kernel: 0x9083c (virt 0x0009083c) : 0x870b0000 0x00090834
+(vi
+rt 0x00090834)
+Jun 23 19:33:53 mg kernel: 0x90844 (virt 0x00090844) : 0x9a030000 0x00000000
+(vi
+rt 0x00000000)
+Jun 23 19:33:53 mg kernel: 0x9084c (virt 0x0009084c) : 0x1a000000 0x00000048
+(vi
+rt 0x00000048)
+Jun 23 19:33:53 mg kernel: scsi0 : connected (SDID=0x0, SSID=0x80)
+Jun 23 19:33:53 mg kernel: scsi0 : dsa at phys 0x55e1e8 (virt 0x0055e1e8)
+Jun 23 19:33:53 mg kernel:         + 64 : dsa_msgout length = 1, data =
+0x55e02c
+ (virt 0x0055e02c)
+Jun 23 19:33:53 mg kernel:                Identify disconnect allowed lun 0
+Jun 23 19:33:53 mg kernel:         + 60 : select_indirect = 0x3000000
+Jun 23 19:33:53 mg kernel:         + 56 : dsa_cmnd = 0x94410               
+resu
+lt = 0xffff, target = 0, lun = 0, cmd = Read (6) 16 a6 38 02 00
+Jun 23 19:33:53 mg kernel:         + 48 : dsa_next = 0x0
+Jun 23 19:33:53 mg kernel: scsi0 target 0 : sxfer_sanity = 0x0, scntl3_sanity
+=
+0x3
+Jun 23 19:33:53 mg kernel:                    script : 0x78030300 0x0
+0x78050000
+ 0x0 0x90080000 0x0 0x0 0x0
+Jun 23 19:33:53 mg kernel: scsi0 : saved data pointer at offset 0
+Jun 23 19:33:53 mg kernel: scsi0 : can't determine active data pointer offset
+Jun 23 19:33:54 mg kernel: 0x90854 (virt 0x00090854) : 0x820b0000 0x0009084c
+(vi
+rt 0x0009084c)
+Jun 23 19:33:53 mg kernel: scsi0 : can't determine active data pointer offset
+Jun 23 19:33:54 mg kernel: 0x90854 (virt 0x00090854) : 0x820b0000 0x0009084c
+(vi
+rt 0x0009084c)
+Jun 23 19:33:54 mg kernel: 0x9085c (virt 0x0009085c) : 0x8f0b0000 0x00090a04
+(vi
+rt 0x00090a04)
+Jun 23 19:33:54 mg kernel: scsi0 : issue queue
+Jun 23 19:33:54 mg kernel: scsi0 : dsa at phys 0x55c080 (virt 0x0055c080)
+Jun 23 19:33:54 mg kernel:         + 64 : dsa_msgout length = 591332, data =
+0x0
+ (virt 0x00000000)
+Jun 23 19:33:54 mg kernel:         + 60 : select_indirect = 0xc0000004
+Jun 23 19:33:54 mg kernel:         + 56 : dsa_cmnd = 0x0
+Jun 23 19:33:54 mg kernel:         + 48 : dsa_next = 0x0
+Jun 23 19:33:54 mg kernel: scsi0 : dsa at phys 0x8080 (virt 0x00008080)
+Jun 23 19:33:54 mg kernel:         + 64 : dsa_msgout length = 591332, data =
+0x0
+ (virt 0x00000000)
+Jun 23 19:33:54 mg kernel:         + 60 : select_indirect = 0xc0000004
+Jun 23 19:33:54 mg kernel:         + 56 : dsa_cmnd = 0x0
+Jun 23 19:33:54 mg kernel:         + 48 : dsa_next = 0x0
+Jun 23 19:33:54 mg kernel: scsi0 : schedule dsa array :
+Jun 23 19:33:54 mg kernel: scsi0 : end schedule dsa array
+Jun 23 19:33:54 mg kernel: scsi0 : reconnect_dsa_head :
+Jun 23 19:33:54 mg kernel: scsi0 : end reconnect_dsa_head
+Jun 23 19:33:54 mg kernel: The sti() implicit in a printk() prevents hangs
+Jun 23 19:33:54 mg kernel: scsi0 : end reconnect_dsa_head
+Jun 23 19:33:54 mg kernel: The sti() implicit in a printk() prevents hangs
+Jun 23 19:33:54 mg kernel: scsi : aborting command due to timeout : pid
+41922544
+, scsi0, channel 0, id 0, lun 0 Read (6) 16 a6 3a 02 00
+Jun 23 19:33:54 mg kernel: scsi0 : did this command ever run?
+Jun 23 19:33:54 mg kernel: scsi0 : target 0 accepting asynchronous SCSI
+Jun 23 19:33:54 mg kernel: scsi0 : setting target 0 to asynchronous SCSI
+...
+
+usw usw
+
+Wir sollten uns mal nach einer UDMA-Platte umschauen, dann passiert uns 
+sowas nicht mehr ...
+
+ Jof
+
+-----------------------------------------------------------------------------
+
+
+
+Balance-Team (Boing,  1. Jul 1998, 14:11:57):
+Hallo,
+
+wie bereits angekuendigt habe ich jetzt das Balance-Team zusammengestellt.
+Das Team besteht aus Teddy, Sting, Nachtwind, Tars, Zephyr, Sharia und
+mir und hat die folgenden Aufgaben:
+
+o Neue Objekte auf ihre Auswirkung im Spielgeschehen ueberpruefen und
+  bei Bedarf aendern lassen.
+o Alte Objekte, die das Gleichgewicht empfindlich stoeren finden, eine
+  Aenderung diskutieren und diese veranlassen.
+
+Dabei wird innerhalb des Teams ueber bestimmte Objekte diskutiert und
+dann eine Entscheidung getroffen. Diese Entscheidung ist fuer Magier
+verbindlich! Die Entscheidung wird auch nicht von einer Einzelperson
+getroffen (d.h. ausser in Ausnahmen auch nicht von mir allein) sondern
+von den Mitgliedern des Teams.
+Die Namen der Mitglieder werden hier bewusst oeffentlich gemacht, wir
+sind kein Spionagering sondern wollen konstruktiv das MorgenGrauen
+verbessern. 
+
+  Boing
+
+PS: Kommata werden nur gegen Gebuehr gesetzt
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer (alter) Gilden-Balance-EM (Boing,  7. Jul 1998, 18:09:38):
+Hallo,
+ich verkuende mal kurz allerseits, dass Silvana die Nachfolge von
+Paracelsus im Bereich Gilden-Balance angetreten hat. Interessant wird
+das natuerlich vor allem fuer die Gildenmagier und die Spieler, die 
+wollen, dass ihre Gilde abgewertet wird. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Neue RMs (Boing,  9. Jul 1998, 11:28:20):
+Zur Entlastung von Wurzel (der gerade ja eh wenig Zeit hat) ist Padreic
+jetzt RM Unterwelt. Ausserdem ist Feuerwehr im Polargebiet als RM
+eingestiegen. 
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Restaurierung (Rikus, 13. Aug 1998, 14:31:26):
+Hi,
+ es scheint mehr oder weniger immer mehr (welch ein Ausdruck) Mode zu
+werden, sich zu loeschen und 1-2 Tage spaeter wegen Restaurierung an-
+zukommen. Der Spielernaem wird bei der Loeschung automatisch gesperrt.
+Im aktuellen Fall habe ich es nun so gemacht (und mit den anderen abge-
+sprochen), dass ich den Namen wieder freigegeben habe zum Neuanfang,
+aber halt wirklich NEUanfang, also keinerlei Backup. Ueberdenkt lieber,
+ob Ihr Euch aus welchem Grund auch immer loescht!
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Mayaquest (Gundur, 15. Aug 1998, 17:57:08):
+Der empfohlene Level der Mayaquest wurde von 12 auf 15 hochgesetzt...
+Gruss
+Gundur
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Silvana, 28. Aug 1998, 17:06:26):
+Durch die Umstellung des Hand-Zaubers sind heute nacht ein paar
+Fehler in der Mudlib deutlich geworden, die einen Reboot
+dringend erfordern. Sorry.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Geld (Gundur, 20. Sep 1998, 23:03:08):
+Hi
+Aufgrund eines Bugs musst ich eine alte Version des Geldes wieder einspielen
+und das komplette vorhandene Geld vernichten.
+Dies war noetig weil einige Spieler sich durch den bug mengen an geld
+angeeignet haben.
+Wer jetzt rumheult soll mal darueber nachdenken ob ihm ein reboot lieber
+gewesen waer.
+Gruss
+G.
+
+-----------------------------------------------------------------------------
+
+
+
+geld die zweite (Gundur, 21. Sep 1998, 09:51:09):
+Klarstellung:
+Der Bug des Geldes hat in keinster Weise was mit PADREIC zu tun!
+Alle verstanden?!
+Gruss
+G.
+
+-----------------------------------------------------------------------------
+
+
+
+neues Balance-Team-Mitglied (Boing, 23. Sep 1998, 08:03:02):
+Da Tars aus zeitlichen Gruenden aus dem Balance-Team ausgetreten ist,
+wurde nun als neues Mitglied Mindblade gefunden.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Rochus, 16. Dez 1998, 17:17:56):
+Es wird heute Abend einen Reboot geben, den genauen Zeitpunkt kann
+ich noch nicht sagen.
+Grund: Der Teamkampf kann erst dann richtig getestet werden.
+Sobald der ausgetestet ist wird der dann endgueltig aktiviert,
+dafuer wird (wenn alles gut geht) jedoch kein zweiter Reboot
+erforderlich sein sondern Ende genuegt dann.
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Teamkampf/Reboot (Rochus,  8. Jan 1999, 17:43:58):
+So, der Teamkampf ist soweit fertig, dass ich damit rechne, dass
+er am Mittwoch fuer alle aktiviert werden kann.
+Beim Testen haben sich weniger Probleme ergeben als erwartet,
+leider jedoch nicht weniger als erhofft :-)
+Einige der notwendigen Aenderungen erfordern leider einen
+Reboot, da saemtliche Monster davon betroffen sind.
+Da sich letztes Mal einige ueber die kurzfristige Ankuendigung
+beschwert haben, setze ich den Reboot auf Mittwoch, den 13.1., 14 Uhr an.
+Bis dahin duerfte alles weit genug fertig und getestet sein.
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Teamkampf (Rochus, 13. Jan 1999, 15:11:21):
+So, der Lohn des Reboots ist, dass der Teamkampf jetzt allgemein
+verfuegbar ist.
+Spieler erfahren mehr mit "hilfe teamkampf", Magier mit "man teams" :-)
+
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Erzmagier (Boing, 28. Jan 1999, 14:42:48):
+Es gibt einen neuen Erzmagier mit Zustaendigkeitsgebiet Mudlib-Wartung
+und Dokumentation: Padreic
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Zweities markieren! (Highlander,  1. Feb 1999, 12:28:59):
+Hallo,
+ich moechte darauf hinweisen, dass Zweitspieler markiert werden muessen.
+Das gilt fuer alle Spielercharaktere, bei denen noch ein weiterer
+Charakter existiert, sei er Spieler (dann ist einer der Spieler der Erstie)
+oder Magier (dann ist der Magier der Erstie!).
+Wird ein unmarkierter Zweitie gefunden, ist im Moment vorgesehen, eine
+Chance zur Markierung zu geben und danach den grossen Radiergummi auszu-
+packen.
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Idlen und Skripte (Highlander,  1. Feb 1999, 12:32:45):
+Hallo,
+zuerst - mir ist klar, dass Unfaelle passieren koennen (Verbindung stirbt
+o.ae.). Allerdings ist idlen und scripten, dazu wird auch idlen und kaempfen,
+nun mal verboten. Wobei idlen nicht heisst, dass der Charakter nichts
+macht, sondern dass keine Eingabe kommt.
+Und wenn nun jemand laenger kaempft und abzusehen ist, dass das Monster nie
+sterben wird (der Charakter aber auch nicht), dann ist das meiner Meinung
+nach genug Anhaltspunkt, um von unlauterer Absicht auszugehen. In diesem
+Fall ist also davon auszugehen, dass etwas passieren kann.
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Paracelsus,  5. Feb 1999, 19:19:54):
+Hoechstwahrscheinlich gibts irgendwann am Montag einen Reboot, bedingt
+durch einige Aenderungen am Driver.
+
+Para*.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot(s) (Paracelsus,  8. Feb 1999, 18:33:14):
+Hi.
+
+Die heutige Reboots waren noetig, da einige kleine Aenderungen am Driver
+vorgenommen wurde. Der Driver unterstuetzt nun Telnetnegotiations, so
+dass z.B. Clients ein Prompt vernuenftig erkennen. Fuer die, die keinen
+Client benutzen, aendert sich nichts.
+
+Der Dank fuer diese Aenderungen geht zum einen an Marcus, der sie fuer das
+Tappmud gebastelt hat und zum anderen an Ringor, der sie an das MG
+angepasst hat.
+
+Hinzugekommen ist damit auch ein neues Kommando:
+
+    telnegs [ein|aus]
+
+(Default: aus). Wer einen Client/ein Telnet hat, der/das
+Telnetnegotiations unterstuetzt, kann ja mal ein 'telnegs ein' eingeben
+und dann die Groesse seines Fensters aendern ;)
+
+Ein weiteres neues Kommando ist 'kurzinfo', das vor allem die Teddylosen
+kleinen Spieler freuen duerfte.
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot(s) (Paracelsus,  8. Feb 1999, 18:38:19):
+~#! rn=Paracelsus rt=918495194 rg=bekanntmachungen
+~#! tid=918495194
+Tss, ich werd alt, wieder die Haelfte vergessen ;)
+
+Erwartete werden jetzt nach einem Wiedereinloggen immer angezeit und
+das Kommando 'titel' tut jetzt das, was auf der Hilfeseite steht.
+
+Para.
+
+-----------------------------------------------------------------------------
+
+
+
+GameDriver (Paracelsus, 22. Feb 1999, 22:30:26):
+Hi.
+
+Die Sourcen des aktuellen GameDrivers und das Linux-Binary liegen jetzt
+im open-ftp unter /Software/GameDriver/
+(driver.22.02.99.tar.gz bzw. driver.22.02.99.bin.tar.gz)
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Laeden (Padreic,  9. Mar 1999, 22:39:40):
+Es gibt ab heute einige Aenderungen in den Laeden. Es kann aber durchaus
+vorkommen, das bestimmte Laeden noch nicht umgestellt sind. In diesem Fall
+wendet Euch dann bitte an mich, den betr. Magier oder einen RM.
+Diese sachte Aenderung stiftet vielleicht ein wenig verwirrung, aber dafuer
+erspart sie Euch einen Reboot :).
+Die wichtigste Aenderung vorne weg:
+verkaufe alles != versetze alles
+Bei verkaufe alles werden Objekte nur noch verkauft, wenn der Haendler bereit
+ist, mind. 10% des Werts des Gegenstandes zu bezahlen. Bei versetze alles,
+verkauft man seine wertvollen Juwelen auch noch fuer 1 Muenze. 
+Desweiteren kann man ab nun beim verkaufen auch die ganz normalen Bezeichner
+nehmen, wie man sie auch vom nehmen und weglegen kennt. Also verkaufe jeden
+helm oder verkaufe alle waffen!
+
+Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Alias-Option (Highlander, 11. Mar 1999, 15:41:18):
+Hi,
+
+wie sich jemand gewuenscht hat, kann man jetzt seine aliases so anzeigen
+lassen, dass man die Ausgabe als Befehlseingabe verwenden kann. D.h. mit
+cut-and-paste kann man jetzt aliases weitergeben.
+Syntax: alias -a abfrage
+Siehe auch alias-Hilfeseite. Das -a MUSS direkt nach alias kommen!
+Funktioniert wie immer nach reboot, crash, ende oder Hilfe
+durch einen Magier.
+  HrT
+
+-----------------------------------------------------------------------------
+
+
+
+2 neue Erzmagier (Boing,  1. Apr 1999, 11:42:20):
+Es gibt seit heute zwei neue Erzmagier. Da Silvana den Posten der
+Gildenbalance abgegeben hat und ich Muadib lange genug gedraengelt
+habe, wird das ab sofort von ihm uebernommen. Es wird allerdings wohl
+ein paar Tage dauern, bis er die ganzen liegengebliebenen Sachen von
+Silvana aufgearbeitet hat.
+Der zweite Erzmagier ist eigentlich eine Erzmagierine, naemlich Hobo.
+Sie unterstuetzt Highlander bei seiner Sheriff-Taetigkeit.
+Ich wuensche den beiden viel Erfolg! :)
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 2 neue Erzmagier (Boing,  1. Apr 1999, 17:28:52):
+~#! rn=Boing rt=922966940 rg=bekanntmachungen
+~#! tid=922966940
+So, bevor hier noch ein Unglueck passiert ... war natuerlich ein
+Aprilscherz. :) Ein paar Leute sind aber wirklich schoen reingefallen,
+hervorzuheben sind hier vor allem Morgoth, der Muadib mit Mails zur
+Klerikergilde bombardierte und Darkwing mit seiner herrlichen Reaktion
+auf Hobos Artikel. Schade dass Darkwing seinen Artikel geloesch hat. :)
+Idee und Ausfuehrung (d.h. patchen von finger, wer und hilfe erzmagier)
+kam von Padreic, ich bin eigentlich nur durch den offiziellen Artikel
+beteiligt. :)
+Schoenen 1. April noch,
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Crash am 09.04.99 (Padreic, 10. Apr 1999, 13:11:01):
+Am 9.4 sind durch einen Crash bei einigen Spielern saemtliche Autoloader
+verloren gegangen. Aus diesem Grund steht nun fuer die naechste Woche oder so,
+ein NPC in der Abenteuergilde, bei dem man sich einmalig seine Autoloader
+wieder auf den Stand vom 08.04.99 um 6:30 Uhr bringen kann. Upgedatet werden
+dabei _nur_ die Autoloader und nicht andere Dinge wie Quests oder Skills. Ein
+herzlicher Dank geht dabei auch an 112 der so freundlich war mir bei der
+schnellen Umsetzung tatkraeftig zu helfen.
+
+Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+NPC-Balance (Boing, 12. Apr 1999, 15:14:41):
+Hiho,
+
+wir haben einen neuen Erzmagier und gleichzeitig ein neues Betaetigungsfeld,
+ab sofort ist Wim Erzmagier fuer NPC-Balance. Seine Aufgabe besteht erstens
+darin, bei 'unfairen' Npcs einzuschreiten und eine Aenderung zu veranlassen.
+Hier ist vor allem die Mitarbeit der Spieler gefragt, er reagiert naemlich
+nur auf Anfragen und wird wohl nur selten von sich aus aktiv. Fuer Magier
+bedeutet das, dass es wie gehabt keine Genehmigungspflicht fuer Npcs gibt.
+Weiterhin wird Wim versuchen die etwas aus dem Ruder gelaufene Erstkill-
+Verteilung mal wieder gerade zu ruecken. Soll heissen: Npcs die zu viel 
+oder zu wenig Stufenpunkte geben werden dementsprechend umgewertet.
+Ich wuensche Wim viel Erfolg.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+erste Umwertungen (Wim, 13. Apr 1999, 15:43:56):
+So, ich habe erstmal einige bereits vorbereitete Aenderungen bei der
+Stufenpunktbewertung der NPCs eingetragen.
+Es kann also zu einigen Schwankungen bei eurer Stupszahl kommen :)
+
+Ansonsten bitte ich euch um Mitteilung, falls ihr beispielsweise einen NPC
+ohne rein-angriff-raus fuer nicht schaffbar erachtet, oder der Meinung seit,
+er verdient "Sonderstupse".
+
+Weiterhin viel Spass.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Mud down (Catweazle, 27. Apr 1999, 15:51:48):
+Moin!
+ 
+Wir waren leider gezwungen heute Mittag den Stecker aus der
+Netzkarte vom mg-rechner zu ziehen, da jemand von unserem
+Rechner aus Hackversuche bei fremden Firmen gemacht hat.
+ 
+Es war mit leider nicht moeglich irgendwelche Hinweise darauf
+zu finden und so meinen Chef zu beruhigen bzw. das Loch zu stopfen,
+der Rechner musste also ausbleiben. Wir haben auch noch keine logs
+von der anklagenden Firma bekommen. Entweder hat sich jemand in den
+MG-Rechner selbst gehackt und seine Spuren sehr gut verwischt, oder
+jemand hat irgendwie nur so getan, als waere er vom mg-rechner
+gekommen. Wir gehen dem auf jeden Fall nach...
+ 
+Ich moechte nochmal erwaehnen, dass wir an der Mathe Muenster nur
+geduldet sind, und bei sowas immer leicht Stress aufkommt. Wenns
+bitter kommt, hat man bei sowas schnell ne Anzeige am Hals, und
+das ist selbst mir Risiko zu gross.
+ 
+Leider ist dies etwa 2Wochen zu frueh passiert, vor unserem Umzug
+nach Berlin auf den neuen Rechner. Mein Chef hat sich auch nicht
+breitschlagen lassen, dass fuer 10 Tage auf ner Sun laufen zu lassen.
+Wir haben also die Daten schon mal provisorisch nach Berlin trans-
+feriert (ca. 1GB :-), und das MG zeitweise auf Hate's eigenem
+Rechner installiert. Dort bleibt es vorlaeufig, bis der neue Rechner
+fertig ist.
+ 
+Dies ist eine _Notloesung_, die dazu noch in aller Schnelle vollzogen
+wurde. Einiges, wie ftp oder www, geht im Moment noch nicht, und ich
+bin nicht sicher ob sich der Aufwand lohnt, das jetzt noch alles
+anzupassen, da wir ja eh bald nochmal umziehen muessen. Das heisst
+zum einen, dass jetzt noch einiges im Argen liegen kann, zum anderen
+dass der Betrieb des MG momentan nicht gesichert ist, ihr also mit
+Crashs, eher Reboots rechnen muesst.
+ 
+Das MorgenGrauen ist also momentan ueber 'telnet www.mud.de 4711' zu 
+erreichen, der DNS mg.mud.de wird wohl nicht umgetragen, da dass es 
+zu lange dauern wuerde. Bitte verteilt das ueber Mundpropaganda falls  
+mal jemand fragt. 
+ 
+Anyway, have fun,
+ 
+Yours truly,
+     Catweazle
+
+-----------------------------------------------------------------------------
+
+
+
+Der Neue Rechner und neue Namen (Hate, 30. Apr 1999, 14:28:28):
+Hi,
+
+also unser neuer Rechner wird bald wieder als mg.mud.de bekannt sein. Die DNS
+Eintraege
+sind jedenfalls schon aktuell. Was die WWW Seiten und das FTP angeht, so wird
+sich da
+etwas aendern:
+
+WWW -> www.mg.mud.de
+FTP -> ftp.mg.mud.de
+
+Das liegt daran, dass wir es hier mit zwei Rechnern zu tun haben :-)
+
+Hate.
+P.S: Das funktioniert fruehestens naechste Woche!
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Der neue Rechner ... (Hate,  6. Mai 1999, 06:00:59):
+HI Leute,
+
+warum gestern so nach kurzer Zeit der Rechner rebootet hat ist mir bisher noch
+unklar und ich werde es wohl auch nicht mehr herausbekommen. Auf jeden Fall
+scheint er eine weitere Nacht durchgelaufen zu sein und wir muessen den
+heutigen
+Tag abwarten. An Speicherprobleme glaub ich noch nicht so recht, da fast die
+ganzen
+512MB vollgestopft sind mit 100MB mut (wird noch mehr), 230MB shared data und
+230MB
+Buffer. Swappen hab ich ihn noch nicht ein einziges mal gesehen.
+
+Lasst uns testen und sehen ;-)
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+WWW, FTP und Email (Hate, 12. Mai 1999, 22:00:30):
+Also WWW geht ja wieder und FTP geht auch (auf port 4713) und die
+Email ist auch wieder aktiviert.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Wim, 14. Mai 1999, 00:31:41):
+Auf Grund der falschen und fehlenden resets war es noetig, das Mud zu
+rebooten.
+Jetzt laeuft alles wieder geschmeidig.
+
+-----------------------------------------------------------------------------
+
+
+
+So nebenbei angefallen ... (Paracelsus, 26. Jun 1999, 22:17:07):
+Hi.
+
+Ab dem naechsten Reboot (keine Angst, der kommt bestimmt ganz schnell)
+sollte bei Ruestungen eigentlich "ziehe alles aus" funktionieren.
+
+Paracelsus.
+
+P.S.: Nein, ein 'ende' hilft hier nicht ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Rochus, 28. Jun 1999, 15:11:49):
+Morgen, am 29.6.1999, wird es einen Reboot geben.
+Grund ist eine Aenderung am Gamedriver. Dabei wird der Bug
+beseitigt, dem der letzte und andere Crashs zu verdanken waren.
+Diese Gelegenheit werde ich dazu nutzen, die Freundschaftsbaender
+auszutauschen, durch eine ueberarbeitete Fassung bei der man nicht
+gleich alle Freunde verliert wenn einem das Band mal irgendwie abhanden
+kommen sollte (passiert vor allem Magiern schonmal :)
+Da die Umstellung etwas dauern wird, wird das Mud nicht sofort
+nach dem Reboot wieder hochfahren, ich rechne so mit 1/2 Stunde.
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot (Rochus, 28. Jun 1999, 16:30:07):
+~#! rn=Rochus rt=930575509 rg=bekanntmachungen
+~#! tid=930575509
+PS: 16 Uhr.
+
+-----------------------------------------------------------------------------
+
+
+
+Netzwerkunterbrechung am Di 6.7. (Hate,  5. Jul 1999, 14:07:22):
+Morgen (Di. 6.7.) wird wegen einer dringend erforderlichen Umstellung das
+gesamte Netzwerk zwischen 18:30 und 18:40 abgeschaltet. 
+Waehrend dieser Zeit ist weder interner noch externer Verkehr moeglich!
+
+Naja, da es theoretisch nur 10min sind, wirds wohl kaum wen stoeren ...
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Crash Eben ... (Hate, 10. Jul 1999, 16:05:19):
+Hi,
+
+also so bloede es auch ist, das MUD ist wieder mal an einem BUG gecrasht und
+ich muss gestehen, er wurde durch mich ausgeloest. Allerdings ohne, dass ich
+wissentlich etwas dafuer kann.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+reboot (Padreic,  6. Aug 1999, 16:41:49):
+Heute um 16:30 wurde aufgrund einer groesseren Umstellung im Mudfilesystem  
+leider ein Reboot notwendig. Wir haben in den letzten Wochen daran gearbeitet 
+damit dieses moeglichst reibungslos ueber die Buehne geht, dennoch kann man 
+natuerlich bei einer solchen Umstellung nicht voellig ausschliessen, das es 
+vereinzelt zu kleineren Bugs kommt. Sollte es also nun an Stellen die
+frueher einwandfrei funktioniert haben zu Bugs kommen, dann wendet Euch
+bitte an den betr. Magier, den RM, oder mich.
+
+Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+Neues vom Balance-Team (Boing, 17. Aug 1999, 15:39:31):
+Da Mindblade aufgrund seine Diplomarbeit nur noch wenig Zeit hat, ist
+er aus dem Balance-Team zurueckgetreten. Dafuer konnten wir Anatol
+verpflichten, womit die Zauberer auch wieder besser vertreten sind.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Schon wieder Neues vom Balance-Team (Boing, 27. Aug 1999, 23:37:29):
+Ja, das reisst ja langsam richtig ein, dass sich im Balance-Team was
+tut. Diesmal hat Sting aufgehoert, der nichtmehr soviel Zeit eruebrigen
+kann. Bei Sting moechte ich mich besonders bedanken, denn er war einer
+der Leute die ueberhaupt die Idee zum Balance-Team aufgebracht haben.
+Sein Nachfolger ist ab sofort Matis.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot vom 1. Sept. 22:40 (Hate,  2. Sep 1999, 10:04:00):
+Hi,
+
+aus bisher noch nicht geklaerter Urache ist der Rechner gestern abgestuerzt.
+Die logfiles verraten wieder mal nichts, aber es koennte auch ein Strom-
+ausfall oder aehnliches gewesen sein. Da bisher keine Fehler auftreten,
+warten wir mal wie lange wir es diesmal aushalten :-)
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+FTP (Hate,  2. Sep 1999, 10:07:34):
+Das FTP liegt wieder auf port 4713. Der riesen port letztes mal war nur
+da der 4713 belegt war mit einem zombie.
+
+Hate,.
+
+-----------------------------------------------------------------------------
+
+
+
+Aufwachen mit reduzierten HP (Wim,  1. Okt 1999, 16:45:01):
+Einige von euch werden feststellen, dass sie mit reduzierten (teilweise sogar
+0, nicht war Aline *g*) HP aufgewacht sind. 
+Ich kann nur hoffen, dass keiner an einer unguenstigen Stelle eingeschlafen
+ist und sich nun ueber einen Tod wundern muss.
+
+Das Problem ist derzeit beseitigt, dies nur zur Information.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Erzmagier (Boing, 22. Okt 1999, 16:13:02):
+Wie es ja schon seit einiger Zeit abzusehen war, wurde Nachtwind in
+den Stand der Erzmagier erhoben. Er ist jetzt hauptverantwortlich fuer
+die Gilden-Balance (war er zwar vorher auch schon, aber jetzt hat er 
+halt auch noch den passenden Level dazu).
+Ich wuensche ihm viel Erfolg! :) 
+Hey, das ist kein Scherz, ich wuensch ihm das wirklich! :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+2 EMs weniger ... (Boing, 29. Okt 1999, 14:55:00):
+Da Kirk und Gundur schon seit einiger Zeit nicht mehr aktiv sind (vor
+allem Kirk *grins*) habe ich die beiden auf Level 55 zurueckgestuft.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Schon wieder ein neuer Erzmagier (Boing,  2. Nov 1999, 16:47:44):
+Es gibt schon wieder einen neuen Erzmagier. Diesmal hat Tiamak das
+harte Los getroffen ... ;)
+Zustaendigkeitsbereich ist Mudlib (da wird er Padreic unterstuetzen und
+hat auch vorher schon einiges gemacht) und Gamedriver (viel Spass *grins*).
+Ich wuensche ihm natuerlich viel Erfolg und eine gute Kaeferfangquote. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+und ewig dreht das Rad (Wim,  3. Nov 1999, 21:59:56):
+Um noch weiteren Fragen entgegen zu wirken, hier mal ein DREIzeiler. :)
+Ja, es gab einen Crash, nach 59 Tagen und 8 Stunden, 54 Minuten uptime.
+(so besser)
+*hmpf*
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Option (Tiamak,  7. Nov 1999, 23:54:52):
+Hiho!
+
+Auf vielfachen Wunsch eines einzelnen Zauberzwerges gibt es eine neue Option
+beim Befehl "zeilen". Allerdings haben davon nur Leute etwas, deren Telnet die
+Veraenderung der Fenstergroesse auch weitermeldet.
+
+Das Ganze funktioniert natuerlich erst nach Ende/Reboot/Crash.
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Und NOCH ein neuer Erzmagier (Boing, 15. Nov 1999, 16:58:14):
+Neuer Quest-EM ist ab sofort Zook. Vor allem die Magier mit halbfertigen
+oder ganz fertigen Quests wird das freuen. :) 
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot! (Padreic,  9. Dez 1999, 20:26:33):
+Naechste Woche Samstag Mittag (muesste der 18 oder so sein...) wird es eine
+Reboot geben muessen. Grund: Psssssttt! Geheim! :)
+
+Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+FTP (Tiamak, 13. Dez 1999, 10:51:06):
+~#! on=Tiamak ot=945078525 og=allgemeines
+Hiho!
+
+Wie manche vielleicht schon gemerkt haben, hat das MG mittlerweile einen neuen
+FTP-Server. Dabei haben sich die Schreib-/Leserechte leicht geaendert, was
+anscheinend schon zu ein paar Verwirrungen gefuehrt hat. Deshalb der Hinweis:
+
+- Schreiben darf man als Spieler (sprich: per anonymen Login) ab sofort nur
+  noch in /incoming
+- Lesen darf man als Spieler ueberall ausser in /News und /incoming
+
+Das Leseverbot in /incoming hat den Sinn, dass unser FTP-Server nicht als
+Plattform zum Tausch von illegalen Sachen genutzt werden soll.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+2tie-Markierungen (Rikus, 15. Dez 1999, 21:48:20):
+Hi,
+An einigen Eurer 2tie-Markierungen wird sich demnaechst was aendern,
+und zwar bekommt Ihr als Markierung den Namen des ersten 1ties,
+2tie-Ketten werden somit umgewandelt. Bsp: Hat der Spieler X den
+2tie Y und der wiederum den 2tie Z, so hat nun X die beiden 2ties.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Lichtlevel (Padreic, 18. Dez 1999, 17:03:48):
+Mit dem heutigen Reboot hat es einige Aenderungen am Lichtsystem gegeben.
+Fuer Euch aendert sich dadurch erstmal nocht nicht soo besonders viel. In
+erster Linie werdet ihr merken, das Licht nicht mehr immer weiter additiv
+ist, d.h. 100 Pfirsiche ergeben immer noch keine Sonne :).
+Fuer eine Uebergangszeit gibt es im Fackelladen beim Elfendorf eine magische
+besonders helle Magnesiumfackel zu kaufen mit der ihr wohl jeden Raum
+erhellt bekommt. Diese Fackel wird dort etwa einen Monat oder so zu kaufen
+sein, bis es erste echte andere Alternativen im MorgenGrauen zu finden gibt.
+
+Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+Silvester 2000 (Hate, 31. Dez 1999, 13:08:35):
+Hi,
+
+da ich schon von mehreren gefragt wurde: In unserem Institut (also da
+wo das MG steht) wird ueber Silvester das Netz nicht heruntergefahren
+oder sonstwie eingeschraenkt. Dementsprechend wird auch das MG die
+ganze Zeit weiterlaufen. Probleme seitens unseres Rechners sind eigentlich
+nicht zu erwarten.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Padreic zurueckgetreten (Boing,  6. Jan 2000, 19:42:32):
+Da Padreic aufgrund von Pruefungen und seiner Diplomarbeit nicht mehr
+so viel Zeit fuers MorgenGrauen eruebrigen kann, ist er von seinem
+Posten als EM zurueckgetreten. Seine begonnenen Projekte wird er
+weiterhin bearbeiten und abschliessen und er ist natuerlich nach wie
+vor fuer seine eigenen Gebiete da. 
+Ich denke er hat hier einiges bewegen koennen und dafuer moechte ich
+mich im Namen aller bedanken. Auch die Entscheidung wegen Zeitmangel
+seinen Posten freizumachen ist vorbildlich und manch anderer haette
+sich hier eine Scheibe abschneiden koennen.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Crashs (Tiamak, 12. Jan 2000, 13:37:20):
+Heute nacht und heute mittag ist das Mud zweimal aus demselben Grund gecrasht.
+
+Der Bug ist gefunden und behoben. DER wird das MG nicht mehr crashen.
+
+
+Tiamak sagt: auf zum naechsten Driver-Bug.
+
+-----------------------------------------------------------------------------
+
+
+
+Stufenpunkte (Tiamak, 28. Jan 2000, 13:18:31):
+Einige aeltere Spieler unter Euch (die alten Saecke halt ;-) werden
+feststellen, dass ihnen auf einmal ein paar Stufenpunkte fehlen. 
+
+Die Abzuege sind rein willkuerlich und ausnahmslos zu dem Zweck, um die alten
+Spieler zu aergern und aus dem MG zu vergraulen. Wer trotzdem auf den dummen
+Gedanken kommen sollte, sich zu beschweren oder oeffentlich rumzuheulen, wird
+standesrechtlich mit faulen Tomaten beworfen.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Stufenpunkte (Tiamak, 28. Jan 2000, 13:21:44):
+~#! rn=Tiamak rt=949061911 rg=bekanntmachungen
+~#! tid=949061911
+Und fuer die, die an der wahren Begruendung interessiert sind:
+
+Frueher bekam man fuer gefundene ZT-Stellen auch dann Stufenpunkte
+gutgeschrieben, wenn der ZT gar nicht fuer einen bestimmt war. Das ist schon
+seit Ewigkeiten nicht mehr der Fall, aber auf diese Art erworbene Stufenpunkte
+flossen bisher immer noch in die Berechnung ein.
+
+Dieser Alte-Saecke-Bonus ist fuer neuere Spieler nicht zu erreichen und wurde
+deshalb komplett aus der Berechnung entfernt.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Feuerwehr (Boing, 31. Jan 2000, 14:47:20):
+Da Feuerwehr aufgrund seiner Diplomarbeit momentan wenig Zeit fuers MG
+eruebrigen kann, ist er voruebergehend von seinem Posten als RM Polar
+zurueckgetreten. Tsunami wird in der Zwischenzeit die Geschicke des
+Polargebietes alleine lenken ... (weia) ;)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Stufenpunkte (Tiamak,  4. Feb 2000, 00:17:27):
+Wer kennt es nicht?
+
+'kosten' -> "Dir fehlen bis zur naechsten Stufe noch 23 Stufenpunkte."
+'kosten' -> "Dir fehlen bis zur naechsten Stufe noch 18 Stufenpunkte."
+'kosten' -> "Dir fehlen bis zur naechsten Stufe noch 30 Stufenpunkte."
+
+Ja was denn nun?
+
+Diese unschoenen Schwankungen verwirren nicht nur Anfaenger. Deshalb fliegen
+die Schwankungen raus. Sofort.
+
+Okay, nicht ganz sofort. Es dauert noch bis zum persoenlichen 'ende'. Oder bis
+zum naechsten Reboot. Crashs wurden per Definition abgeschafft.
+
+Und um die ganze Angelegenheit noch ein bisschen zu verschoenern, haben wir
+die schnoeden Zahlen gleich mit abgeschafft. Stattdessen gibt es jetzt Texte
+als Antwort bei 'kosten'. 
+
+Schreibt Eure Trigger aber nicht zu voreilig um - noch sind wir offen fuer
+Vorschlaege zu schoeneren/lustigeren/informativeren Texten. Die koennen sich
+also noch etwas aendern. 
+
+
+Tiamak.
+Nach Diktat verreist.
+
+-----------------------------------------------------------------------------
+
+
+
+NPCs (Wim,  8. Feb 2000, 00:08:58):
+Aus gegebenem Anlass
+Nachdem ich eine grundlegende Frustration gegen einige Fiesheiten von NPCs
+gehoert habe moechte ich hier einmal kundtun, dass es eigentlich eine
+Selbstverstaendlichkeit sein sollte, dass solche Beschwerden nicht nur einfach
+ausgesprochen werden, sondern besser auch konstruktiv formuliert an den
+programmierenden Magier weitergeleitet werden.
+In Faellen, bei denen ihr mit dem Magier nicht klarkommt, kein Einsehen von
+ihm erwartet oder auch einfach nur anonym euch beschweren wollt, komme ich zum
+Einsatz. 
+Ja, wir haben auch eine NPC Balance. Allerdings geht diese nur auf Beschwerden
+aus der Spielerschaft in Aktion.
+Ansonsten sei mal der Blick in hilfe erzmagier bei Zeiten mal angeregt...
+
+Gruss.
+
+-----------------------------------------------------------------------------
+
+
+
+Crash 080200 1600 (Hate,  8. Feb 2000, 16:05:10):
+Wies scheint gibts einen bug der das mud haengen laesst. Beim Versuch das
+wieder in Gang zu setzen ist es abgenuddelt, Sorry.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Rikus (Boing, 12. Feb 2000, 10:36:46):
+Rikus liegt im Krankenhaus und wird schaetzungsweise in 3-4 Wochen
+wieder da sein. Vielleicht kann ja jemand (Mudtiger?) die Adresse
+herausfinden und bekanntgeben, so dass wir ihm ein paar Karten schicken
+koennen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Crash vom 20.03.2000 (Tiamak, 20. Mar 2000, 18:20:28):
+Zur Information:
+
+Am 20.03.2000 gab es gegen 17:40 Uhr einen Crash aufgrund eines noch nicht
+lokalisierten Driver-Bugs.
+
+Es sind keine weiteren Reboots geplant. Den naechsten Crash gibt es
+statistisch gesehen in rund vier Wochen. 
+
+
+Tiamak wuenscht viel Spass beim Ausruesten.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Rikus (Rikus, 30. Mar 2000, 15:06:20):
+~#! rn=Boing rt=950348206 rg=bekanntmachungen
+~#! tid=950348206
+tja, ich bin nun wieder aus dem Krankenhaus raus, aber Karten koennt
+Ihr dennoch gern an mich schicken :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Crash (Paracelsus,  5. Apr 2000, 21:36:26):
+Tja, der letzte Crash (05.04.00) geht wohl auf meine Kappe.
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Stromausfall (Hate, 26. Mai 2000, 14:38:36):
+Hi Leute,
+
+wir hatten heute einen Stromausfall, der ganz Berlin-Adlershof betroffen
+hat. Die BEWAG hatte eine "Problem".
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Echos in fremden Namen (Silvana,  3. Jul 2000, 16:27:47):
+~#! on=Silvana ot=962619735 og=etikette
+Salve
+
+Aus aktuellem Anlass: Echos im Namen eines anderen Spielers sind gelinde
+gesagt unfair und im Zweifelsfall mehr als bloss ein Kavaliersdelikt. Eben hat
+jemand - nein, ich werde keine Namen nennen, denn ich betrachte den aktuellen
+Fall als erledigt - mit "echo Silvana teilt Dir mit: ....." fuer meiner
+Meinung nach sehr unnoetogen Aerger gesorgt - und fuer ziemlich krasse
+Aeusserungen auf dem EM-Kanal. Ich warne daher an dieser Stelle vor:
+Missbrauch von echo und aehnlichen Fertigkeiten kann zu Entzug eben dieser
+Fertigkeiten fuehren. Nicht, dass ich gerne Strafen verhaenge, aber ich hab
+ehrlich gesagt auch besseres zu tun, als Spielern zu erklaeren, dass ich sie
+nicht loeschen will, auch wenn ich angeblich vorher was anderes gesagt haben
+soll.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Echos in fremden Namen (Boing,  3. Jul 2000, 16:31:29):
+~#! rn=Silvana rt=962634467 rg=bekanntmachungen
+~#! tid=962634467
+Kleine Anmerkung:
+Echos von Sehern werden geloggt um Missbrauch dieser Art zu verhindern.
+Insofern sollten nur Nachrichten per echo verschickt werden, von denen
+man sicher ist, dass es einem nichts ausmacht, dass sie von Magiern
+gelesen werden.
+Das selbe gilt fuer die entsprechende Zauberer-Faehigkeit.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Crash und Reboot (Tiamak,  6. Jul 2000, 15:41:14):
+Heute am 06.07.2000 ist das MG aufgrund eines unachtsamen Magiers gegen 14:20
+Uhr gecrasht. Der anschliessende Reboot war zum Update des Mudrechners auf
+einen aktuellen Kernel notwendig.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Aenderung der Login-Sequenz (Tiamak, 21. Jul 2000, 13:53:22):
+Wie einige vielleicht schon bemerkt haben, hat sich die Login-Sequenz im MG
+leicht geaendert. Wirklich "betroffen" sollten eigentlich nur diejenigen sein,
+die neue Charaktere erschaffen wollen. 
+
+Nein, keine Angst - es ist keine Verschlechterung. ;-) Die Erschaffung neuer
+Charaktere sollte eigentlich sogar einfacher werden und die ungewollten und
+verwirrenden "fehlgeschlagenen Loginversuche" sollten demnaechst der
+Vergangenheit angehoeren.
+
+Allerdings hat die Umstellung auch eine Aenderung der Texte erfordert, die
+nach dem Namen und dem Passwort fragen. Telnet-Spieler sind davon natuerlich
+nicht beeintraechtigt, und TF-Benutzer sollten auch keinen Unterschied
+bemerken (falls das Autologin tatsaechlich nicht mehr funktionieren sollte,
+ist DAS der Zeitpunkt, an dem ihr endlich eure Welt richtig definieren solltet
+;^). 
+
+Wie ich eben erfuhr, triggert zMud aber per Default anscheinend auf die
+exakten Texte. Sollte also euer Autologin mit zMud nicht mehr funktionieren,
+so muesst ihr die Trigger entsprechend anpassen.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Neues vom Balance-Team (Boing, 26. Jul 2000, 22:34:22):
+Hallo zusammen,
+
+es kommt mal wieder Bewegung ins Balance-Team, Sharia und
+Teddy werden das Team verlassen und wir suchen Ersatz fuer
+beide.
+Als erstes moechte ich mich aber bei den beiden bedanken,
+sie waren von Anfang an dabei und haben sich toll fuer das
+Team eingesetzt. 
+
+Jetzt geht es um die Nachfolge, gesucht werden nach Moeglichkeit
+wieder ein Chaot und ein Kleriker, es duerfen sich aber ruhig
+auch andere Spieler ueber das mail-alias 'balance' bewerben.
+
+Kriterien:
+- starke Nerven
+- gesunder Menschenverstand
+- Zeit
+- die Faehigkeit Anfeindungen von Spieler- und Magierseite
+  wegzustecken
+- gutes allgemeines Spielverstaendnis
+- sehr gute Kenntnis des Muds
+
+  Boing, i.A. des Balance-Teams
+
+-----------------------------------------------------------------------------
+
+
+
+Bugfixes am Lichtsystem (Tiamak, 30. Jul 2000, 17:10:28):
+Hiho!
+
+Fuer einen Bugfix am Lichtsystem musste ich einige Objekte im MG erneuern.
+
+Wundert euch nicht, wenn eure Muenzen auf einmal nicht mehr in der Boerse
+stecken, in der sie mal waren. Falls die Boerse ganz weg ist, konntet ihr die
+nicht mehr tragen - weil die Muenzen jetzt ja im Inv liegen und damit mehr
+wiegen. ;-) Kauft euch dann einfach ne neue Boerse.
+
+Der Austausch des Geldes selber sowie der Zaubererkomponenten sollte keine
+Nebenwirkungen gehabt haben. Alle "normalen" Fackeln wurden auch erneuert.
+Einzig "besondere" Fackeln koennten jetzt kleinere Probleme bereiten (es wird
+nicht hell, obwohl man sie anzuendet etc.). 
+
+Kurzfristige Abhilfe waere, die Lichtquelle einmal abzulegen und wieder
+aufzunehmen (oder sonst einen Gegenstand). Bessere Abhilfe: sagt einem Magier
+bescheid, dass die Lichtquelle mal erneuert werden sollte.
+
+Silvanas "schau -f in paket" sollte nebenbei nach "ende" auch funktionieren.
+
+Der naechste Crash/Reboot beseitigt auch die letzten kleineren Fehler. 
+Aber damit habt ihr es doch nicht so eilig, oder? ;-)
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues vom Balance-Team (Boing, 31. Jul 2000, 10:42:54):
+~#! rn=Boing rt=964643662 rg=bekanntmachungen
+~#! tid=964643662
+Ich hab vergessen einen Termin zu setzen, reiche ich hiermit nach:
+Bewerbungsschluss ist am Freitag, 4. August.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Erstkills (Wim,  9. Aug 2000, 20:25:41):
+Einige Stupse fuer NPC-"Altlasten" aus nicht (mehr) angeschlossenen Gebieten
+sind geloescht worden. 
+
+Wim.
+
+-----------------------------------------------------------------------------
+
+
+
+Heilungs-Balance (Boing, 14. Aug 2000, 18:14:55):
+Hallo,
+
+ab sofort gibt es eine Heilungs-Balance, dafuer ausgewaehlt 
+wurde ein Saphina Kleriker, der sich damit auskennen sollte, 
+naemlich Fizban. 
+Aufgabengebiete der Heilbalance sind:
+
+- Kneipen
+- Heiler (auch Gift, Krankheit, etc.)
+- feste Heilstellen 
+- tragbare Heilung
+- Sachen die Drink/Alc/Food runtersetzen
+
+Fizban wird einen Leitfaden erstellen, an dem sich die Magier
+orientieren koennen. In Zukunft werden auch Objekte, die in die 
+oben genannten Gebiete fallen nicht mehr vom Balance-Team 
+behandelt, sondern von Fizban.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Balance-Team (Boing, 21. Aug 2000, 12:03:03):
+Hi,
+aus 13 Bewerbern (haette ja nicht gedacht dass das so viele werden)
+haben wir uns jetzt 2 rausgepickt: Lurchi und Puk.
+Den beiden wuensche ich viel Erfolg im Balance-Team, bei allen anderen
+bedanke ich mich fuer das Interesse. 
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Kabeldefekt am 23. August (Hate, 24. Aug 2000, 08:12:53):
+Hallo,
+
+wer gestern nicht ins MUD gekommen ist hatte genau das gegenteilige Problem
+meinerseits. Ich war ganz allein hier und das war vielleicht gruselig. 
+
+Hier in Berlin Adlershof ist ein Kabel defekt gewesen. Durchgeknabbert oder
+wie auch immer und es hat mehr als 8h gedauert das zu flicken.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot am 16.10.2000 (Tiamak, 15. Okt 2000, 03:48:06):
+Es ist vollbracht.
+
+Nachdem wir jetzt wochenlang alle tiefgreifenderen Aenderungen komplett
+zurueckgestellt oder nur eben soweit eingebaut haben, wie es im laufenden
+Betrieb moeglich war, ist die magische Grenze von einhundert Tagen Uptime
+endlich ueberschritten.
+
+Oder anders formuliert: jetzt zerbeiss' ich's! :-)
+
+Nach bis dahin ueber 102 Tagen Uptime wird das MG am Montag Abend rebootet.
+Das ist notwendig, um besagte Aenderungen endlich komplett einzuspielen.
+Netterweise werden Spieler davon ueberhaupt nichts und selbst Magier
+wahrscheinlich auch nichts bemerken. 
+
+Also von den Aenderungen. Vom Reboot schon. ;-)
+
+Das Experiment, wie lange das MG ohne derartige Eingriffe laufen koennte,
+verschieben wir auf ein anderes Mal. Schliesslich braucht man ja noch Ziele.
+
+
+Tiamak. Naechstes Ziel: das lagfreie MG.
+
+P.S: Ein Schelm, wer jetzt die Parallelen zur letzten Rekord-Uptime anfuehrt.
+     Nach knapp sechzig Tagen folgte kein Crash, sondern ein Reboot, um ein
+     paar technische Aenderungen zu aktivieren. 
+
+     Danach dauerte es fast fuenf Jahre, bis wir wieder in solche Uptime-
+     Bereiche vordrangen ...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot am 16.10.2000 (Rikus, 16. Okt 2000, 21:32:52):
+~#! rn=Tiamak rt=971574486 rg=bekanntmachungen
+~#! tid=971574486
+Sorry!
+
+den heutigen Abend hatte ich fuer den Einbau langgeplanter Aenderungen,
+den Reboot... freigeplant. Nun kam jedoch Besuch, den ich echt nicht
+sitzenlassen kann. Tiamak und ich koennen den Reboot somit nur um
+2 Tage, also auf den 18.10.00 am Abend verschieben... :(
+
+Rikus, ausgebucht
+
+-----------------------------------------------------------------------------
+
+
+
+Crash-Serie (Tiamak, 18. Okt 2000, 21:45:54):
+Durch die Umstellungen im MG ist ein neuer (sprich: bisher gut versteckter)
+Driverbug aufgefallen. Selbst der Driver, der die letzten 104 Tage brav ohne
+zu mucken lief, mag nun nicht mehr.
+
+Die gute Nachricht: der Bug ist 100%ig reproduzierbar.
+
+Die schlechte: den Bug auszubauen kann noch ein paar Tage dauern.
+
+-----------------------------------------------------------------------------
+Bis zur Entwarnung (und dem daran anschliessenden Reboot) laeuft das MG also
+erst einmal INSTABIL.
+-----------------------------------------------------------------------------
+
+
+Tiamak. Tut was er kann. Aber Zaubern gehoert nicht dazu.
+
+-----------------------------------------------------------------------------
+
+
+
+Runenstab und Co (Rikus, 22. Okt 2000, 22:40:29):
+Hi,
+Das Erlangen (nicht der Ort :) einer neuen Rune geht im Moment
+nicht wegen meiner Umstellungen am FP-System. Werde ich aber die
+naechsten Tage fixen.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Entwarnung (Tiamak, 23. Okt 2000, 20:57:27):
+~#! rn=Tiamak rt=971898354 rg=bekanntmachungen
+~#! tid=971898354
+Ab dem heutigen Reboot laeuft das MG erst einmal wieder stabil.
+
+Oder zumindest stabiler. Bis der naechste bisher unbekannt irgendwo
+schlummernde Driver-Bug die Gunst der Stunde nutzt, endlich beruehmt zu
+werden. ;-)
+
+An dieser Stelle herzlichen Dank an Patryn, der den letzten schuldigen Bug
+festgenagelt hat. 
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Schwankungen beim Erhoehen (Rikus, 29. Okt 2000, 21:21:37):
+Sie sollten nach ENDE behoben sein, der gleichen bei Reboot :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Diverse Crashs (Tiamak, 26. Nov 2000, 19:54:50):
+Mahlzeit!
+
+Ne ne ne ne ... kaum laesst man Euch mal ein paar Tage aus den Augen, und
+schon crasht das Mud. Und Euch ist anscheinend nichtmal ein Crash genug - es
+muessen derer gleich drei sein ...
+
+Also fuer die Statistik: am 19.11., 23.11. und 25.11. crashte das MG jeweils
+wegen (hoffentlich nur ;-) eines Driver-Bugs. Dank eines anonymen Hinweises
+von Patryn bin ich auf einer heissen Spur. 
+
+Der Bug kann zwar grob als eingegrenzt betrachtet werden, aber leider bisher
+nur auf ein recht ... unuebersichtliches ... Stueck Driver-Code. Und ein recht
+altes so nebenbei. Es wuerde mich nicht wundern, wenn in den letzten Jahren
+schon der eine oder andere Crash auf die Kappe dieses Bugs gegangen waere.
+
+Langer Rede kurzer Sinn: das Mud laeuft bis zur Entwarnung in dieser Rubrik
+erst einmal (wieder *seufz*) instabil. Vorhersagen zum Zeitpunkt des naechsten
+Crashs bzw. Reboots mache ich nicht - fragt also gar nicht erst.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Ankuendigung: Aenderungen der Questgruppierung (Zook,  2. Dez 2000, 14:22:11):
+Durch die in letzter Zeit hinzugekommenen Quests ist die Einteilung in
+drei Gruppen ein wenig ungleichgewichtig geworden. Aus diesem Grund 
+werden einige Quests aus der zweiten Gruppe in die dritte Gruppe
+verlegt. Da dies eventuell Eure Questloesungsplanung und die fuer das
+Seherwerden noetigen Quests durcheinander werfen koennte, kuendige ich
+Euch dies heute an. Wirksam wird die Aenderung am 21. Dezember 2000.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Von Weisen und Inseln (Boing, 11. Dez 2000, 15:34:10):
+Hallo,
+soeben wurde Tilly zum Weisen ernannt, er kann also jetzt in allen 
+Regionen Fehler suchen und beheben. :) Seinen Posten als Insel RM hat
+er abgegeben, diese Aufgabe wird ab sofort wieder von Wargon uebernommen,
+der damit ja schon reichlich Erfahrung hat. :)
+Ich wuensche beiden natuerlich viel Erfolg mit den neuen (alten) Aufgaben.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Neues vom Balance-Team (Boing, 13. Dez 2000, 18:53:26):
+Hallo,
+
+es gab einen Wechsel im Balance-Team: Zephyr hat sich entschieden
+aufzuhoeren, dafuer ist Tilly neu dabei.
+Ich moechte mich bei Zephyr fuer ihre Arbeit und ihren enormen
+Einsatz bedanken, sie war von Anfang an dabei und hat ihre Meinung
+immer mit Nachdruck in die Diskussionen eingebracht. Tilly hat da 
+eine schwere Buerde zu uebernehmen! :)
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ankuendigung: Aenderungen der Questgruppierung (Zook, 21. Dez 2000, 18:49:05):
+~#! rn=Zook rt=975763331 rg=bekanntmachungen
+~#! tid=975763331
+Es ist vollbracht und sieht so aus:
+Die Quests "Die vier Elemente", "Der Orkenhort" und "Nils Holgersson"
+sind in Gruppe drei gelandet.
+
+Darueberhinaus haben mir die Regionsmagier Magiere benannt, die sich
+um Eure Rueckmeldungen zu Quests kuemmern, deren Ersteller schon lange
+nicht mehr da waren. Ihr koennt nach wie vor einfach mit "reply"
+auf die Mail antworten, sie wird dann an den "Warter" der Quest
+gesendet.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+An alle Jungmagiere und die es gerne werden moechten! (Zook, 21. Jan 2001, 18:43:39):
+Hallihallo zusammen,
+
+das Erzmagier-Team fuer die Betreuung der Jungmagiere und ihrer 
+Gesselenstuecke ist nun wieder komplett. In Zukunft werden Silvana
+und ich gemeinsam diese Taetigkeit ausueben. Fuer alle Jungmagiere und
+solche, die es gerne werden moechten, stehen wir fuer Fragen, Anregungen
+etc. zur Verfuegung.
+
+Schoenen Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Erstkills und NPC-Balance (Rikus, 23. Jan 2001, 16:28:56):
+Hi,
+nachdem viele Bestechnungsgelder an uns geflossen sind, haben wir uns
+zu folgendem ueberreden lassen:
+
+Ich kuemmere mich nun (neben vielen anderen Dingen :) ) um die Erstkills
+und die NPC-Balance. Amaryllis und Gor dienen unterwuerfig als meine
+Berater. Ansprechpartner bin ich, ich leite jedoch an die beiden weiter
+und bespreche mich mit ihnen.
+
+Das soll's erstmal gewesen sein, aber mailt mir bitte noch nicht diese
+Woche, ich will erstmal den bisherigen Datenbestand uebernehmen und ihn
+erst dann durchgehen.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot 2001-02-02 (Tiamak, 28. Jan 2001, 18:42:15):
+Salve!
+
+Am Freitag, 02.02.2001 wird es gegen 22:00 Uhr einen Reboot geben wegen
+groesserer interner Umstellungen. Das ist noch _nicht_ der Reboot fuer den
+neuen Driver. 
+
+Rikus hat hoch und heilig versprochen, den Termin diesmal einzuhalten. :-)
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Crash am 29.1. (Nachtwind, 29. Jan 2001, 18:26:41):
+Jaaa, wir hatten eben einen netten kleinen Crash...
+
+*raeusper*
+
+Der geht voll auf meine Kappe, man sollte nicht kritischen Code im laufenden
+Mud testen...
+Schlagt mich, tretet mich, gebt mir Tiernamen!
+Immerhin gibts Freitag eh Reboot und so... *huestel*
+
+Nachtwind verteilt Peitschen und Bretter mit rostigen Naegeln...
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot 2001-02-02 (Rikus, 31. Jan 2001, 11:42:40):
+~#! rn=Tiamak rt=980703735 rg=bekanntmachungen
+~#! tid=980703735
+Hi,
+
+Bereitet Euch auch bitte darauf vor, dass so ab 19 oder 20 Uhr bis zum
+Reboot keine Erstkills und Miniquests vergeben werden.
+
+Rikus
+
+PS: Freitag meine ich :)
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot-Folgen (Tiamak,  2. Feb 2001, 22:56:37):
+Wer sich direkt (innerhalb der ersten 30 Minuten) nach dem Reboot wieder
+eingeloggt hat, muss u.U. unter einigen Bugs leiden. Diese lassen sich durch
+den Befehl "ende" beheben.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot-Folgen (Rikus,  4. Feb 2001, 18:25:45):
+~#! rn=Tiamak rt=981150997 rg=bekanntmachungen
+~#! tid=981150997
+Bei wem Feuerwehrs Plakette nix anzeigt, sollte "ende" machen. Bei wem nun
+weniger EKs angezeigt werden liegt das
+nur daran, dass da nun keine Miniquests mehr in die Zaehlung eingehen.
+
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Forschung (Rikus,  7. Feb 2001, 12:08:03):
+Hi,
+
+Euch fiel sicherlich schon auf, dass Ihr Euch nun, verglichen mit den
+Mitspielern, schlechter im MG auskennt. Das liegt daran, dass die
+Bezugsgroesse der Durchschnitt der FPs der aktiven Spieler sein soll,
+durch meine Umstellarbeiten jedoch seit 2 Wochen auch die Spieler mit
+eingingen, die inaktiv sind und somit den Schnitt doch recht drueckten.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+DoS Angriffe (Boing, 22. Feb 2001, 15:26:37):
+Aus gegebenem Anlass verkuende ich hier mal, dass wir Angriffe (wie gestern
+geschehen) nicht einfach hinnehmen. Der Spieler, der sich gestern dadurch
+hervorgetan hat, hier hunderte von logins gleichzeitig zu machen ist gerade
+dabei den Zugang bei seinem bisherigen Provider zu verlieren.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Killstupse (Rikus,  4. Mar 2001, 19:15:31):
+Hi,
+wie ihr sicherlich schon gemerkt habt, fielen einige Killstupse meiner
+vorgestrigen Loeschaktion zum Opfer. Dies waren unter anderem die NPCs, die
+mal auf der Maggiinsel standen. Ab und zu werde ich immer mal ein paar
+Killstupse loeschen, setzen und umwerten, also nur nicht wundern :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Quests. (Zook,  1. Apr 2001, 01:24:24):
+Hallo,
+
+wir Ihr Euch erinnert, habe ich vor einiger Zeit die Einsortierung der
+Quests in die Gruppen etwas angepasst, um die Gruppen ausgewogener zu
+gestalten. Die Aenderungen an den Quests haben nun eine weitere Stufe
+erreicht. Und zwar wird ein bereits schon einmal frueher diskutierter
+Gedanke aufgegriffen: Es gibt eine Reihe von Quests im MorgenGrauen,
+die eigentlich jeder Spieler einmal gespielt haben sollte, das sie
+besonders gut oder schoen oder wichtig sind. Dieses Kanon sollte dann
+auch verpflichtend fuer die Spieler festgelegt werden. Ich habe mich 
+in den vergangenen Wochen mit einigen Spielern und Sehern zu diesem
+Thema unterhalten und habe folgende Liste an Quests herausgesucht, von
+denen wir meinen, dass sie wirklich zum Grundkanon jeden Sehers im 
+MorgenGrauen gehoeren sollten. Daher sind diese Quests ab sofort 
+verpflichtend, um Seher zu werden, d.h. man muss sie bestanden haben,
+um zum Seher aufsteigen zu koennen.
+
+Es handelt sich dabei um folgende Quests (in loser Reihenfolge):
+
+  Befreie den Friedhof
+  Eilende Briefzustellung
+  Heilung fuer den Hexer
+  Schrat kann nicht einschlafen
+  Thors Hammer
+  Chilanas Lebenselexier
+  Verhaengnis des Duesterwalds
+  Hilf dem Architekten
+
+Die Umstellungen bei den Quests sind damit allerdings noch nicht 
+abgeschlossen. Die Anzahl der Abenteuerpunkte, die fuer die Quests
+vergeben werden, sind derzeit noch in einem Ueberpruefungsverfahren
+und werden innert der naechsten Wochen geaendert. Ebenso werden wohl
+einige Quests in sogenannte MiniQuests umgewandelt, d.h. sie geben
+noch Stupse, aber keine Abenteuerpunkte mehr.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Quests. (Zook,  2. Apr 2001, 00:11:13):
+~#! rn=Zook rt=986081064 rg=bekanntmachungen
+~#! tid=986081064
+Sehr geehrte Damen und Herren (andere Rassen moegen passende Anreden
+selbsttaetig einsetzen),
+
+wir nehmen zu dem im Kopf in Rede stehenen Artikel, auf den wir uns 
+beziehen, wie folgt Stellung: Dem geneigten Leser wird das Datum des
+ersten April aufgefallen sein und er wird sich seinen Teil gedacht
+haben. Fuer die anderen sei an dieser Stelle gesagt: APRIL, APRIL!
+Wir bedanken uns, dass Sie uns auch dieses Jahr wieder mit netten Flames
+und Entruestuengen via teile-mit, Email und MPA-Artikel beehrt haben
+und bedanken uns fuer die Freude, die Sie uns damit bereiten konnten
+ganz herzlich.
+
+Es gruesst Sie freundlichst 
+
+Ihre MorgenGrauen Questverwaltung namens
+
+Dr. Zook (_immer_ lieb und nett ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Amaryllis -> 45 (Boing,  9. Apr 2001, 19:24:36):
+Ab sofort ist Amaryllis RM Wueste. Ich wuensch Ihr viel Erfolg beim
+Baeume pflanzen ... :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Erfahrungspunkte und Stupse (Rikus,  9. Mai 2001, 15:40:18):
+Hi,   
+
+eine kleine Aenderung zur Wertigkeit der Erfahrungspunkte bezueglich der
+Stufenpunkte moechte ich kundtun! Bisher war es ja so, dass bis Level 9 
+die Stufenpunkte im unteren Bereich unterschiedlich wertig waren und auch
+beim Levelaufstieg diverse Spruenge in den Stufenpunkten auftraten.
+Weiterhin ging dann der Stupsverlauf ab einer bestimmten Erfahrungspunkt-
+anzahl linear nach oben, was nur das sinnlose Metzeln anspornt.
+Nun ist es so, dass die Berechnung der Stupse aus den XPs levelunabhaengig
+ist, die Kurve im unteren Bereich schoen steil ist und nach oben hin 
+immer mehr abflacht. Stupse verliert man nun keine mehr beim Aufsteigen und
+die kleineren Spieler erhalten mehr Stupse.     
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Erfahrungspunkte und Stupse (Rikus,  9. Mai 2001, 15:43:07):
+~#! rn=Rikus rt=989415618 rg=bekanntmachungen
+~#! tid=989415618
+
+Ich verweise auf hilfe stufenpunkte :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Personalentscheidungen (Boing, 14. Mai 2001, 13:35:13):
+Hallo,
+
+im Umfeld der Party (und auch schon davor) sind ein paar 
+Personalentscheidungen getroffen worden:
+
+o Paracelsus ist in den Ruhestand getreten, d.h. er ist ab
+  nun Weiser. Ich moechte mich bei ihm im Namen des Muds fuer
+  seine Arbeit als EM und RM Wald bedanken. Ich persoenlich
+  bedauere natuerlich diese Entscheidung, weil er sehr viel
+  Mudlib-Wissen und Kompetenz besitzt. 
+  Im selben Atemzug suche ich jetzt natuerlich einen neuen RM 
+  fuer den Wald, wer sich dafuer befaehigt haelt (Vollmagier 
+  ist Voraussetzung) soll sich bitte bei mir melden.
+
+o Highlander wurde von mir wegen Inaktivitaet auf Level 55 
+  gesetzt. Auch ihm danke ich fuer seine Arbeit, auch wenn sich
+  die meisten nicht mehr daran erinnern werden. :)
+  Der Sheriff-Posten ist mit Muadib gut besetzt, auch wenn 
+  dieser (noch *g*) kein Erzmagier ist.
+
+o Einen neuen EM kann ich auch praesentieren: Ab sofort ist 
+  Tilly Erzmagier fuer Objekt-Balance und loest damit mich ab. 
+  Ich bin momentan zwar noch Mitglied im Balance-Team, werde mich
+  aber mittelfristig daraus verabschieden. Eine Bekanntmachung
+  zu diesem Thema wird noch folgen.
+  Tilly wuensche ich fuer seine neue Aufgabe viel Erfolg! :)
+
+o Zum Abschluss gibt es noch einen neuen Regionsmagier:
+  Nonne ist absofort RM im Vland, auch ihm wuensche ich viel
+  Erfolg bei seiner neuen Aufgabe!
+
+   Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Neues von der Balance (Tilly, 14. Mai 2001, 18:44:06):
+Da Boing in naher Zukunft aus der Objekt-Balance auf eigenen
+Wunsch ausscheiden wird und ich seinen Posten in diesem Gre-
+mium uebernehmen durfte, sucht die Balance 2 SpielerInnen,
+die uns bei unserer verantwortungsvollen Aufgabe unter-
+stuetzen moechten und koennen.
+
+Du kennst Dich im MorgenGrauen gut aus?
+
+Du traust Dir zu, in einer Diskussion zu Deiner Meinung zu
+stehen und laesst Dich darin nicht von anderen beeinflussen?
+
+Dir geht das Wohlergehen des MG ans Herz und Du moechtest nach
+Kraeften etwas fuer Dein Lieblings-Mud tun?
+
+Dann bewerbe Dich doch bitte per 'mail balance' bei uns.
+
+Die Objekt-Balance ist sehr wichtig fuer das Mud und ebenso
+wichtig ist die Repraesentanz von Spielern in diesem Gremium
+und ihre aktive Teilnahme an Entscheidungen, die alle Spieler
+angeht und betrifft.
+
+Schoen, aber bei weitem weder Bedingung noch Auswahl-Kriterium
+waere es, wenn sich dazu ein Hobbit und / oder Zauberer berufen
+fuehlen wuerde.
+
+Magier und Magierzweitis werden gebeten, von einer Bewerbung
+abzusehen.
+
+ I.A. der Balance
+
+ - Tilly - 
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Wald RMs (Boing, 29. Mai 2001, 17:13:56):
+Hallo,
+
+ab sofort gibt es zwei neue Regionsmagier im Wald: Silvana und Patryn 
+werden sich die Arbeit teilen. Beide haben ja schon einige Erfahrungen
+auf diesem Gebiet. :) Ich wuensch den beiden viel Erfolg!
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer EM (Boing, 12. Jun 2001, 16:50:10):
+Muadib ist zum Erzmagier ernannt worden. Sheriff war er ja schon vorher,
+aber jetzt hat er auch den Level, der normalerweise dazugehoert. Ich 
+wuensch ihm viel Spass mit seinem neuen Level *grins*.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot am Mittwoch (Boing, 13. Aug 2001, 13:48:00):
+Am Mittwoch abend wird es aufgrund einer groesseren Umstellung einen
+Reboot geben. Zook war so freundlich den Armageddon zu ueberarbeiten,
+so dass fuer die Spieler da auch einmal etwas neues zu erleben ist.
+Der alte Armageddon war doch schon etwas ausgelutscht ... ;)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Byebye ... :) (Boing, 15. Aug 2001, 21:05:11):
+Hallo zusammen,
+
+fuer die meisten wird es etwas ueberraschend kommen, fuer andere nicht:
+Ich trete von meinem Posten als Gott des MorgenGrauens zurueck. Nach
+ueber 9 Jahren hatte ich den Eindruck, dass ich lange genug fuer die
+Geschicke des MGs verantwortlich war, jetzt duerfen mal andere ran. :)
+Gruende? Zum einen die fehlende Zeit (berufstaetig zu sein ist halt
+doch etwas ganz anderes als zu studieren), zum anderen die fehlende
+Lust mich weiterhin staendig mit administrativem Kram rumzuschlagen.
+Ich werde also meinen Ruhestand geniessen und die Dinge tun, die mir
+Spass machen und die ich solange ruhen lassen musste: Meine Gebiete
+pflegen und erweitern und die Region Gebirge zu betreuen. Die Kaempfer-
+Gilde werde ich auch weiterhin betreuen, dort gibt es auch noch
+einiges zu tun (Docdevil, ich hab Dich nicht vergessen :)).
+Kurz: In Zukunft wird statt einem G ein R neben meinem Namen stehen.
+Ich werde also auch nicht als Erzmagier oder Weiser weitermachen, denn
+dann wuerde der Ruecktritt nicht den eigentlichen Zweck erfuellen:
+Zeit schaffen fuer meinen eigenen Kram.
+
+Viel hat sich veraendert seit dem 25.3.1992, dem Gruendungstag des
+MorgenGrauens. Viele Leute sind gekommen und gegangen, ich habe viele
+Freunde und sogar meine Frau durch das MG gewonnen, ich bereue nicht
+eine Sekunde, die ich hier verbracht habe. Das MG selbst ist gewachsen
+(manche wuerden sagen gewuchert) und viele haben ihren Teil dazu bei-
+getragen. Das MG wird auch ohne mich weiter existieren, ich hoffe noch
+fuer viele Jahre. Denn ich lasse nicht einfach alles stehen und liegen,
+es gibt ab sofort einen Nachfolger und neuen Gott: Zook! Ich vertraue
+ihm in jeder Hinsicht, er wird in seine neue Aufgabe hereinwachsen und
+mich gut ersetzen koennen.
+
+Es gibt ein paar Leute, bei denen ich mich noch bedanken moechte,
+eigentlich sogar sehr viele Leute: Ganz vorneweg kommt Jof, er hat
+dieses Mud gegruendet und mich zum Gott gemacht. Er gab mir das noetige
+Vertrauen fuer diese Aufgabe, ohne sein Vertrauen haette ich hier nichts
+bewegen koennen. Dann mach ich mal hierarchisch von oben weiter: Rumata
+und alle Erzmagier die hier ihren Teil dazu beigetragen haben, dass das
+MG heute das groesste deutsche Mud ist. Ohne faehige EMs, die auch die
+Verantwortung fuer ihren Bereich uebernehmen, kann ein Mud dieser Groesse
+nicht existieren. Weiter geht es mit den Regionsmagiern die hier dafuer
+sorgen, dass der Wildwuchs innerhalb der Regionen nicht zu gross wird.
+Dann danke ich jedem Magier, der hier irgendwas angeschlossen hat (und
+liess), und sei es noch so klein. Alles gemeinsam bildet das MG. Und
+auch die Spieler haben Dank verdient, durch ihre Ideen und Fehlermeldungen
+konnte das MG staendig verbessert werden. Manche Spieler haben sogar
+aktiv Verantwortung uebernommen (z.B. Balance-Team) und so dem MG
+geholfen. Und zu guter Letzt moechte ich einem noch mal explizit danken:
+Zook! Danke, dass Du den Posten uebernimmst und mir damit die Chance
+gibst, abzudanken. :)
+
+Das war's von meiner Seite, weiterhin viel Spass im MG ... und los
+seid ihr mich noch lange nicht ... :)
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Crash vom 24.08.2001 (Tiamak, 25. Aug 2001, 02:51:48):
+Oefter mal was Neues ...
+
+Am Abend des 24.08.2001 ist der komplette MG-Rechner aus bisher noch
+ungeklaerten Ursachen neu hochgefahren. Auch wenn der Driver einmal nicht
+daran schuld war - da er ohne den Rechner auch nix machen kann, sind die
+Auswirkungen natuerlich dieselben: das Mud ist gecrasht.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Crash vom 24.08.2001 (Tiamak, 27. Aug 2001, 09:30:18):
+~#! rn=Tiamak rt=998700708 rg=bekanntmachungen
+~#! tid=998700708
+Die Ursache fuer den Reboot des Rechners am 24.08. ist jetzt nicht mehr ganz
+so "ungeklaert": der Rechner musste kurzfristig herunter gefahren werden,
+damit er von den lieben Handwerkern bei ihrer Arbeit nicht beschaedigt wird.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Heilungs-Balance (Zook, 16. Okt 2001, 20:16:44):
+Fizban scheidet auf eigenen Wunsch aus der Heilungs-Balance aus. Als
+Nachfolger im Amte hat sich Tilly gefunden.
+
+Vielen Dank an Fizban fuer seine Zeit und Arbeit und Tilly viel 
+Erfolg im neuen Amt!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot vom 26.10.2001 (Tiamak, 27. Okt 2001, 15:32:22):
+Erinnert sich noch wer an den Crash vor zwei Monaten? Verursacht durch
+voreilige Handwerker?
+
+Nunja. Jetzt sind alle Spuren ihres Wirkens beseitigt.
+Diesmal sogar einigermassen sauber.
+
+
+Tiamak. Der mit den guten Nachrichten.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Regionsmagier im Gebirge (Zook, 22. Nov 2001, 18:54:51):
+Hallo zusammen!
+
+Fuer die Region Gebirge haben wie personelle Verstaerkung gefunden. Bambi
+wird ab sofort als Regionsmagier mitarbeiten. Ich wuensche ihm viel
+Spass und viel Erfolg und bedanke mich schon einmal im voraus fuer die
+Bereitschaft, als RM hier im MorgenGrauen mitzuhelfen und mitzuarbeiten.
+
+Gruss, Zook.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Crash vom 2002-01-02 (Tiamak,  2. Jan 2002, 20:50:14):
+Prost Neujahr!
+
+Das MG wurde heute gegen 19:00 Uhr etwas unsanft rebootet. 
+Der Grund war ein Fehler im Driver.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Goldmuenzen-EURO-DM-Bargeld-Umtausch.... (Zook,  6. Jan 2002, 22:29:53):
+Sapperlott!
+
+Da bringt man mit Muehe und Geduld seine alten DM-Bestaende zur Bank, reiht
+sich geduldig in eine Warteschlange ein und schaut zu, wie es dahin geht, 
+das ganze schoene Geld. Muehsam gespart und nun einfach weg.
+Dafuer bekommt man so neues Papiergeld, fasst sich unglaublich duenn an und
+beim Bezahlen muss man jeder Muenze mindestens dreimal umdrehen, bis man
+herausfindet, was es denn nun ist.
+
+Und ich dachte mir so in meinem naiven Geiste: "Ha! Im Mud, da haben wir
+es gut. Soweit reicht der Arm der EZB nicht." Aber oh nein. Da ist es
+passiert: Unser Geld hat/wird sich aendern. Eine der groessten Geldumtausch-
+aktionen im Mud sind angelaufen. Aber keine Sorge, Ihr braucht Euch 
+nirgends anzustellen, sondern diese Umstellung wird voellig automatisch
+ablaufen. Was ist denn nun neu am Geld, werdet Ihr Euch fragen. Nun, ein
+findiger Muenzschmied hat sich unsere Zentralbank mal angeschaut und ein
+paar kleinere Aenderungen am Praegeverfahren vorgenommen, so dass die 
+Muenzen nun durch die Praegung deutlich faelschungssicher geworden sind und
+auch sonst sind sie gewaltig aufgemoebelt worden.
+
+Also geniesst hier im Mud ein schoeneres Geld! Typos/Bugs/Ideen koennt Ihr
+an mich richten. Dank fuer die Ergaenzung bitte an Gloinson, dem ich an 
+dieser Stelle fuer sein Nachhilfe bei der Praegeabteilung der Zentralbank
+danken moechte.
+
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Kleinere Umstellungen. (Zook, 14. Jan 2002, 17:07:07):
+Hoi, 
+
+die Partyseiten sind kurzzeitig mal ausm WWW heruasgenommen, da ich da
+ein paar kleinere Umstellungen machen muss. Wird (so mein Terminkalender
+es zulaesst) innert der naechsten Tage wieder erreichbar sein.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Warnung... (Zook, 12. Feb 2002, 18:26:27):
+Hoi zaemme,
+
+mittelschlechte Nachrichten: Das MorgenGrauen laeuft derzeit in einem
+KRITISCHEN ZUSTAND und eskann jederzeit zu Spielstoerungen bis hin zu
+einem Crash/Reboot kommen. Ich arbeite derzeit an einer Behebung des
+Problems. 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Warnung... (Zook, 12. Feb 2002, 19:17:08):
+~#! rn=Zook rt=1013534787 rg=bekanntmachungen
+~#! tid=1013534787
+Ganz schlechte Nachrichten:
+
+Es _wird_ heute Abend noch einen Reboot geben; ich muss dafuer aber ein
+wenig etwas vorbereiten. Eine Ankuendigung via Armageddon wird Euch dann
+die genaue Uhrzeit ankuendigen. Rechnet aber mal so mit 20.00 Uhr.
+
+Gruss, Zook.
+
+PS: Troestet Euch, es haette schlimmer kommen koennen. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Entwarnung und auf eine lange Uptime! (Zook, 12. Feb 2002, 21:47:13):
+Hoi zaemme,
+
+so, nun haben wir den Bug eingefangen und gefixt. Kurz zur Erlaeuterung
+fuer die Interessierten: Wie Ihr nach dem letzten Reboot festgestellt 
+habt, konnte man einige Spieler/Magier nicht mehr fingern, nachdem sie
+sich ausgeloggt hatten. Es kam eine Fehlermeldung, dass das Einlesen der
+Daten nicht funktioniere. Hintergrund war, dass eine Kleinigkeit an einer
+Stelle dazu gefuehrt hat, dass in den Savefiles der Spieler Mist 
+abgespeichert wurde. Durch reichlich Glueck blieben jedoch Eure Spieler-
+daten erhalten, jedoch mussten alle Savefiles um den "Mist" bereinigt
+werden. Dazu musste jedoch das Mud nocheinmal heruntergefahren werden,
+was dann die Ursache fuer den zweiten Reboot war. Die Bereinigung der
+Spielerdateien hat ein Stueckchen Code erledigt fuer den ich mich bei
+Mupfel gerne bedanken moechte. Ansonsten sollte das Mud nun wieder 
+in der gewohnten Stabilitaet laufen. Ich wuensche Euch noch viel Spass
+im MorgenGrauen und eine schoene, moeglichst lange Uptime!
+
+Gruss, Zook.
+
+PS: Und ich geh nu nach Haus und dann zuegig ins Bett... ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot wegen Betriebssystemprobleme. (Hate,  4. Mar 2002, 17:06:32):
+Wegen eines Ueberlaufs an Prozessen muss der Rechner hart rebootet
+werden. Allerdings koennen wir wahrscheinlich das MUD sanft stoppen.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Silvana (Zook, 12. Apr 2002, 16:54:25):
+Hallo zusammen,
+
+leider findet Silvana nicht mehr genuegend Zeit fuer ihre Aufgaben als
+Erzmagierin, Regionsmagierin und Gildenmagierin, so dass sie bei mir ihr
+Ruecktrittsgesuch eingereicht hat. 
+
+Dieses habe ich schweren Herzens angenommen. Ich moechte an dieser Stelle
+Silvana fuer ihr grosses Engagement und die viele Zeit, die sie fuer das
+Mud investiert hat ganz herzlich danken und ich hoffe, dass sie einmal
+wieder Zeit fuer das MorgenGrauen findet.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Ein neuer Weiser.... (Zook, 15. Apr 2002, 21:23:44):
+Hallo zusammen,
+
+ich habe eine freudige Mitteilung fuer Euch. Wir haben Vanion zum
+Weisen ernannt. Er ist auf dieser Position fuer das Beheben von 
+Fehlern in Gebieten zustaendig. Falls Ihr ueber Fehler in Gebieten,
+die nicht mehr gewartet werden, stolpert oder ueber Fehler, die ganz
+dringend behoben werden muessen, so wende Euch vertrauensvoll (per 
+teile-mit oder per Mail) an ihn.
+
+Ich wuensche Dir, Vanion, viel Erfolg und viel Spass bei dieser neuen
+Aufgabe.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Ein neuer Regionsmagier... (Zook, 16. Apr 2002, 11:46:04):
+Hallo zusammen,
+
+auch heute habe ich wieder eine gute Nachricht fuer Euch. Wir haben
+Humni zum Regionsmagier berufen. Er wird Tsunami in der Region Polar
+unterstuetzen. Ich freue mich, dass wir dort eine Vertaerkung bekommen
+haben und wuensche Humni viel Erfolg und Freude bei dieser neuen 
+Aufgabe!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Erzmagier... (Zook, 16. Apr 2002, 23:01:19):
+Hallihallo,
+
+ich habe eine gute Nachricht fuer Euch. Wir haben heute Ark zum Erzmagier
+ernannt. Er wird an meiner Statt fuer die Quests und die MiniQuests
+zustaendig sein. 
+
+Ich wuensche Dir, Ark, viel Spass und viel Erfolg bei Deiner neuen
+Aufgabe!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Crash... (Zook,  6. Mai 2002, 13:19:59):
+Hi, wie Ihr sicherlich bemerkt habt, ist das Mud gecrasht. 
+Hoechstwahrscheinlich ist eine Unachtsamkeit eines Magiers dafuer ursaechlich.
+
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesenheitsvertretung fuer die Balance (Zook, 10. Mai 2002, 12:29:30):
+Hi,
+
+bis Tilly wieder Zeit fuer die Objekt-Balance und die Heilungs-Balance
+findet, bin ich seine Urlaubsvertretung. :-) 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+treffen.wegbeschreibungen (Rochus, 12. Mai 2002, 11:44:55):
+Ich habe soeben die Rubrik "treffen.wegbeschreibungen" angelegt.
+Sinn dieser Rubrik ist es, alle Wegbeschreibungen zu Orten
+von Treffen aufzunehmen und lange Zeit zu halten,
+expire liegt bei 3650 Tagen :-)
+Ih halte das fuer wesentlich sinnvoller als die Beschreibungen
+auf die WWW-Seite zu stellen, wo sich immer jemand zum
+updaten finden muss.
+Bitte dort NUR Wegbeschreibungen reinsetzen und als
+Subjekt Stadt und Treffpunkt angeben.
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Crash vom 14.05.2002 (Tiamak, 14. Mai 2002, 23:25:15):
+Am 14.05.2002 ist das MG gegen 22:55 Uhr gecrasht.
+
+Der Grund ist nicht ganz klar, weitere Crashs sind aber nur im "gewohnten"
+Rhythmus (sprich: irgendwo zwischen jetzt und in 120 Tagen) zu erwarten.
+
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Lag-Attack (Tiamak, 28. Mai 2002, 20:33:13):
+Ich ueberbringe euch die schlechten Nachrichten ja nur ungern - aber auf das
+liebgewonnene 23:15 Uhr-Megalag muesst ihr ab sofort leider verzichten. Es
+wird nicht mehr wiederkommen - nichtmal zu anderen Uhrzeiten.
+
+
+Tiamak. Lagjaeger. Auf der Suche nach neuen Opfern.
+
+P.S: Wer gerne einen Schuldigen hoeren moechte, den er fuer das Lag lynchen
+     darf, geht leider auch leer aus. Die Ursache war eine total harmlos 
+     aussehende Stelle in der Mudlib, die sicherlich schon so alt ist wie das
+     MG selber. Die Stelle wurde 24 mal am Tag aufgerufen und machte nur in
+     etwas unguenstigen Konstellationen ueberhaupt Probleme ...
+
+-----------------------------------------------------------------------------
+
+
+
+Meldungen bei erhoehe/kosten (Rikus, 27. Jun 2002, 14:52:15):
+Hi,
+
+in den Gilden gibt es nun bei diesen Befehlen eine gildenspezifische Text-
+meldung und keine einheitliche mehr. Dank an Twingi fuer die Texte! Bitte
+meldet auch an sie entsprechende Aenderungswuensche/Hinweise.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+neue Mudlib (Rikus,  2. Jul 2002, 16:16:41):
+~#! on=Rikus ot=1025618767 og=magier.mudlib
+... steht nun per ftp unter Software/MudLib in der Version 3.2.8 zur
+Verfuegung.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Gaeste und Intermud (Zook,  5. Jul 2002, 12:19:25):
+Gaeste koennen Intermud-Channels nun nicht mehr benutzen, da es einigen
+Aerger mit herumpoebelnden Gaesten gab.
+
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Vanion,  6. Jul 2002, 22:52:47):
+Hi,
+
+wie dem einen oder andern aufgefallen sein mag, gab es heute gegen
+22:30 ein Reboot. 
+
+Ursache dafuer war ein buggendes Objekt. Dieses war auch mit an
+Sicherheit grezender Wahrscheinlichkeit Ursache des dauernden
+Hintergrundlags der letzten Tage. Bei dem Versuch das Mud am offenen
+Herzen zu reparieren, ist das Hintergrundlag dann in ein unzumutbares 
+Dauerlag uebergegangen. Da das Ende dieses Lags nicht absehbar war,
+haben Tilly und ich uns entschlossen, das MG zu rebooten.  
+
+V*
+
+PS: Fuer die Statistik: Lag: 46.2%/60, 90.1%/15, 87.9%/1 - duerfte
+    alle bisherigen Rekorde schlagen. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Das Megalag hatte eine Ursache... (Zook,  8. Jul 2002, 18:46:53):
+Wir hatten heute Nachmittag etwas viel Lag, soll heissen, das Mud wurde
+recht heftig stranguliert. Da der Urheber mir gesagt hat, wie er das
+hinbekommen hat, konnte ich es wieder ans Laufen bekommen. Ich hoffe, es
+laeuft nun stabil weiter. 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Beurteilung von Gesellenstuecken (Zook, 14. Jul 2002, 17:59:43):
+Hallo zusammen, hallo insbesondere an unsere Jungmagier,
+
+in der letzten Zeit lag die Beurteilung der Gesellenstuecke ja 
+auschliesslich bei mir. Dies hat sich nun erfreulicherweise
+geaendert. In der Zukunft werde mir Twingi und Vanion bei der
+Begutachtung der Gesellenstuecke behilflich sein. Ihre Mitarbeit
+konzentriert sich dabei auf die Begutachtung. Dies bedeutet,
+dass Diskussionen ueber die Konzeption im Vorfeld und ueber eine
+etwaige Abnahme weiterhin mit mir zu fuehren sind. 
+
+Ich bedanke mich bei Twingi und Vanion fuer Ihr Engagement
+und freue mich auf die naechsten Gesellenstuecke, die 
+hoffentlich bald fertig werden.
+
+Bei Fragen / Ideen / Anmerkungen wendet Euch einfach direkt an
+mich. 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Verstaerkung der Gilden-Balance (Zook, 16. Jul 2002, 11:37:47):
+Hallo zusammen,
+
+da Nachtwind derzeit und zukuenftig nur wenig Zeit fuer die
+Gildenbalance findet, haben wir uns entschlossen, die
+Gildenbalance zu ergaenzen. Fuer diesen Posten haben wir 
+Humni auserkoren, der nun die Gildenbalance verstaerkt. Bitte
+gebt ihm aber ausreichend Zeit, sich in diese Aufgabe einzuarbeiten.
+
+Bei Nachtwind moechte ich mich gerne fuer sein Engagement,
+seinen Einsatz und seine Zeit fuer das MG und im speziellen fuer
+das Gebiet der Gilden-Balance danken. Humni wuensche ich eine
+erfolgreiche Einarbeitungsphase und viel Gespuer auf dem
+neuen Posten!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Regionsmagier Ebene (Zook, 17. Jul 2002, 09:48:20):
+Hallo zusammen,
+
+eine gute Nachricht fuer die Ebene. Wir haben Ragnaroek zum
+weiteren Regionsmagier berufen. Er wird in der Anfangszeit von
+Ark eingearbeitet, also ueberschuettet ihn nicht sofort mit
+Anfragen und Ideen. Ich wuensche Dir, Ragnaroek viel Erfolg
+auf Deinem neuen Posten!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Beurteilung von Gesellenstuecken (Zook, 18. Jul 2002, 10:22:41):
+~#! rn=Zook rt=1026662383 rg=bekanntmachungen
+~#! tid=1026662383
+Eine kleine Ergaenzung, da mein Hirn etwas loechrig ist und man
+im Alter auch etwas tuettelig wird: Fuer die Mitarbeit bei den
+Gesellenstuecken haben wir Twingi zur Hilfsmagierin (Lvl. 35)
+befoerdert. Viel Erfolg und viel Freude mit der neuen Aufgabe. :-)
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: neue Mudlib (Rikus,  2. Aug 2002, 10:54:41):
+~#! rn=Rikus rt=1025619401 rg=bekanntmachungen
+~#! tid=1025619401
+so, die bei der AB-Gilde fehlenden Files sollten nun auch in der Distri
+enthalten sein.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+... und danke fuer den Fisch (Tiamak,  4. Aug 2002, 23:04:51):
+Hallo MG,
+
+machen wir es kurz und schmerzlos: hiermit trete ich aus persoenlichen
+Gruenden mit sofortiger Wirkung von meinem Posten als Mudlib-EM zurueck und
+stufe mich auf Level 21 herab.
+
+
+Macht es gut,
+
+Tiamak
+
+-----------------------------------------------------------------------------
+
+
+
+Game over, man! Game over! (Nachtwind,  4. Aug 2002, 23:10:23):
+Hallo,
+
+Um es kurz zu machen, ich trete hiermit von meinem EM-Posten zurueck
+und ueberlasse Humni ganz allein die Arbeit :) Verschleisst ihn nicht
+so schnell und seid lieb zu ihm. Sonst wertet er Euch alle ab. >:)
+
+Danke an alle, mit denen ich zusammenarbeiten durfte.
+
+Nachtwind. Jetzt Vollmagier ohne Region (21). :)
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Dankeschoen... (Zook,  4. Aug 2002, 23:27:20):
+Ich moechte mich bei Nachtwind und Tiamak sehr herzlich fuer ihre Arbeit
+und Energie und die viele Zeit, die sie fuer das MG aufgebracht haben,
+bedanken.
+
+Ich hoffe, Ihr bleibt dem MG noch in der einen und anderen Form
+erhalten und wuensche Euch alles Gute! :-)
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Pflege der Mudlib (Rikus,  9. Aug 2002, 10:45:49):
+Hi,
+den vakanten Posten der Mudlibpflege habe ich nun uebernommen. Diesbezuegliche
+Hinweise, Bugs, Mails etc bitte an das Mailalias em_mudlib oder direkt an
+mich.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Arme Spieler hinter Feuerwaenden.... (Zook,  9. Aug 2002, 20:58:34):
+Fuer die armen Spieler hinter Feuerwaenden hat Hate auf dem alten
+Rechner einen relayd eingerichtet. Die IP-Adresse ist
+
+  mgserv.first.gmd.de 80
+
+Das Ganze ist, soweit ich es verstanden habe, derzeit noch von der
+Anzahl der Nutzer beschraenkt und die Original-IP-Adresse wird
+auch nicht angezeigt.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Arme Spieler hinter Feuerwaenden.... (Zook, 12. Aug 2002, 11:25:17):
+~#! rn=Zook rt=1028919514 rg=bekanntmachungen
+~#! tid=1028919514
+Mittlerweile sollte auch die Adresse
+
+  mg2.mud.de 80
+
+funzen. Viel Spass!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Nachrichtenebene (Hate,  2. Sep 2002, 21:58:00):
+Hallo, wer versucht auf die Nachrichtenebene zu gelangen und es klappt nicht,
+sollte das Kommando:
+
+  ebene N=
+
+eingeben. Gleiches gilt, wenn nach einem neulogin der channel nicht
+automatisch wieder eingeschaltet ist!
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Ruecktritt (Rochus, 15. Sep 2002, 14:23:35):
+Tja, wie viele schon bemerkt haben bin ich schon laengere Zeit
+nicht mehr aktiv an der Entwicklung des MG beteiligt...
+Eigentlich haette ich den EM-Posten schon laengst aufgeben sollen,
+aber ich dachte, ich wuerde relativ bald wieder Zeit und Lust
+finden, etwas hier zu machen... das ist nun nicht so schnell
+eingetreten wie ich gehofft habe...
+Deshalb stufe ich mich jetzt zum Weisen ab...
+der Abschied faellt mir echt schwer, obwohl ich mir sicher
+sein kann, hier wieder einen Platz zu finden, wenn ich moechte...
+Ich moechte irgendwann wiederkommen, ich weiss nur nicht wann...
+
+  Rochus
+
+PS: Aehm, hat noch jemand ne KL fuer das RL-Mud? ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Maexchen (Rikus,  8. Okt 2002, 11:55:50):
+... laesst sich nun nur noch in bestimmten Gegenden von Port Vain
+aufbauen.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Maexchen (Rikus,  8. Okt 2002, 11:59:21):
+~#! rn=Rikus rt=1034070950 rg=bekanntmachungen
+~#! tid=1034070950
+wobei es sicherlich demnaechst einen tragbaren Becher geben wird.
+*zwinker gloinson*
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Maexchen (Rikus,  8. Okt 2002, 13:53:30):
+~#! rn=Rikus rt=1034070950 rg=bekanntmachungen
+~#! tid=1034070950
+und in Seherhaeusern und Mietzimmern.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+team hist (Rikus,  9. Okt 2002, 12:28:34):
+... gibt nun die letzten x Eintraege der History aus anstatt wie
+bisher immer die ersten x.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Rubrik (Tilly, 12. Okt 2002, 20:56:07):
+~#! on=Vanion ot=1034448555 og=treffen.bekanntmachungen
+Hallo, eben wurde eine neue Rubrik treffen.bekanntmachungen eingerichtet. Sie
+dient dazu die Stati-Ankuendigungen aufzunehmen, damit man diese schnell auf
+einen Blick hat. Bitte seht davon ab in dieser Rubrik auf die Bekanntmachungen
+in dieser Rubrik zu antworten. Dafuer ist weiterhin die Rubrik treffen
+gedacht.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Seherhaeuser (Zook, 17. Okt 2002, 16:25:04):
+Folgende Nachricht von Ragnaroek hat mich erreicht, die ich gerne an Euch
+weiterleite. Viel Spass wuensch Euch Zook.
+
+--schnipp--
+  _________         _                    _
+_/   _____/ _____  / |__   _____   ___  / |__   ____   _   __  _____
+\______  \ /  __ \|  |  \ /  __ \ /  _||  |  \ / _  | / | |  |/  ___/  ___
+ /        \\  ___/|   Y  \\  ___/|  |  |   Y  \ (_) ||  |_|  |\___ \  /___/
+/_________/ \___  )___|  / \___  )__|  |___|  /\____| \_____//______/
+                \/     \/      \/           \/
+  /\      __         __   __  /|                                   /|
+ /  \    /  \_____ _|  |_|  || |__   _____ ___      ________   ___| |__
+ \   \/\/   /  __ \\    _    /  __\ /  __ \\  \_/\_/  /  __ \ /  _|  __\
+  \        /\  ___/ |  | |  || /_/ |\  ___/ \        /\  ___/|  | | /_/ |
+   \__/\  /  \___  )|__| |__||_____/ \___  ) \__/\  /  \___  )__| |____/
+        \/       \/                      \/       \/       \/
+
+
+                           ==: BEKANNTMACHUNG :==
+
+
+ Liebe Seher, es ist wieder soweit! Nachdem der letzte Seherhauswettbewerb
+ Anfang '95 stattgefunden, und sich die Zahl der Seher (und damit auch der
+ Haeuser) seitdem  drastisch erhoeht hat, ist es nun  langsam an der Zeit,
+ den naechsten folgen zu lassen, und genau das wollen wir tun.
+ Ab sofort findet ihr in jedem  Rassen-Startraum ein  Plakat mit aktuellen
+ Infos zum Wettbewerb und der Moeglichkeit, Euch selbst fuer die Teilnahme
+ einzutragen oder gar fuer die Jury zu bewerben.
+ Bei  Fragen / Anregungen / Hinweisen  stehen Twingi und ich jederzeit zur
+ Verfuegung. So bleibt  mir nichts, als in  erwartungsvoller  Spannung auf
+ eine rege Teilnahme zu hoffen!
+
+ :ragna:
+--schnapp--
+
+-----------------------------------------------------------------------------
+
+
+
+Stromabschaltung (Hate, 24. Okt 2002, 20:09:27):
+Am "Freitag, den 25. Oktober 2002, wird ab ca. 16:00" fuer ca. 2-3 Stunden
+wird es eine Stromabschaltung bei FIRST geben, so dass das MUD
+heruntergefahren werden muss.
+
+Mfg,
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot. (Vanion, 25. Okt 2002, 21:28:44):
+Wie dem einen oder anderem vielleicht aufgefallen sein mag, gab nach dem
+16:00-Reboot einen weiteren. Grund hierfuer war ein ernster Fehler im Driver. 
+
+Der Fehler wird derzeit fieberhaft gesucht, und sobald er gefunden ist, muss
+das MG ein weiteres mal rebootet werden. Beruecksichtigt bitte diesen Umstand
+bei der Planung eurer Ausruestungstouren. 
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot. (Vanion, 25. Okt 2002, 23:17:13):
+~#! rn=Vanion rt=1035574124 rg=bekanntmachungen
+~#! tid=1035574124
+Erstmal das wichtigste:
+
+Es sind keine weiteren Reboots geplant. Viel Spass beim Ausruesten.
+
+Damit niemand vor Neugier sterbt, geb ich mal eine Kurzfassung von dem was 
+heute passiert ist:
+
+Da heute um 16:00 eh ein Reboot anstand, haben wir die Gelegenheit genutzt,
+einige (ca. 5-6) Driverpatches einzubauen. Leider hat einer dieser Patches 
+einen tiefer liegenden Fehler aus der Versenkung geholt. Dieser hat z.B. 
+dafuer gesorgt, dass der Befehl 'ausruestung' nicht mehr funktionierte und 
+es zu Fehlern beim Zeilenumbruch bei Ebenenemotes kam. Da wir befuerchten 
+mussten, dass der Fehler frueher oder spaeter auch Savefiles betrifft, haben 
+wir uns kurzfristig entschlossen das MG zu rebooten und mit dem alten Driver 
+wieder zu starten.
+
+Der 3. Reboot hat wieder einen gepatchten Driver online gebracht, diesmal 
+ohne den Patch der die Fehler verursacht hat. Dies war sinnvoll und not-
+wendig, da der neue Driver einige Verbesserungen enthaelt, auf die wir 
+nicht verzichten wollten.
+
+Ich hoffe, Ihr fuehlt euch nun ausreichend informiert danke fuer Euer 
+Verstaendnis.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Emailanzeige auf dem Webseiten (Rikus, 28. Okt 2002, 15:45:30):
+Hi,
+wegen diverser Emailgrabber wurde die Emailanzeige aus dem Fingerkommando
+(WWW-Seiten) ganz entfernt. Hier im MG und auch zwischen den Muds bleibt
+die Anzeige wie gehabt.
+
+Gruss, Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+aktuelle Driversourcen (Rikus, 28. Okt 2002, 21:51:39):
+... sind wie immer unter Software/GameDriver zu finden.
+driver_26.10.2002.tgz entspricht dem laufenden driver.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Crash und Reboot (Vanion, 22. Nov 2002, 15:23:27):
+Hi,
+
+Heute gegen Mittag gab es einen Crash des MUD. Die Ursache ist noch nicht
+bekannt.
+
+Wir wollen allerdings das Reboot nutzen, um ein paar Aenderungen am Driver zu
+machen. Daher wird es innerhalb der naechsten 30 Minuten ein weiteres Reboot
+geben.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Crash und Reboot (Rikus, 22. Nov 2002, 15:32:56):
+~#! rn=Vanion rt=1037975007 rg=bekanntmachungen
+~#! tid=1037975007
+wobei es auch sonst keinen Zugriff auf dem MG-Rechner gab. War sicherlich
+kein Crash des MG an sich :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Crash und Reboot (Vanion, 22. Nov 2002, 15:37:03):
+~#! rn=Vanion rt=1037975007 rg=bekanntmachungen
+~#! tid=1037975007
+So, der neue Driver ist installiert und tut seine Arbeit. 
+
+Danke an Patryn fuer die Lieferung der Patches und an Rikus fuer den deren
+Einbau.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Vanion, 22. Nov 2002, 22:24:04):
+Hallo, 
+
+Der Crash von heute Mittag war die Folge eines kurzen Stromausfalls. Leider
+musste der MG-Rechner noch einmal runtergefahren werden um alle Folgen des
+Rechnercrashes zu beseitigen. Ich hoffe, dass wir jetzt einer langen und
+erfolgreichen Uptime entgegensehen.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Letzter Crash... (Zook, 24. Nov 2002, 16:19:56):
+Hallo zusammen,
+
+bedauerlicherweise hat es vorhin einen erneuten Crash gegeben. Ein erstes
+Sichten des Core-Files (Dank an Vanion!) hat ergeben, dass ein zu grosses
+Postfach das Mud in den Abgrund gerissen hat. Das Postfach wurde *huestel*
+*huestel* und der Spieler benachrichtigt. An einer dauerhaften Behebung 
+des Fehlers wird gearbeitet. Sorry fuer die Unannehmlichkeiten.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Stromabschaltung/Reboot (Hate, 25. Nov 2002, 19:03:50):
+Hallo,
+
+wegene Bauarbeiten an der Elektroverteilung der Rechnerraeume wird der Strom
+abgeschaltet, so dass das MUD morgen gegen 18:15 ca. heruntergefahren wird.
+Dauert bis ca. 19:45.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+aktueller Driver (Rikus,  3. Dez 2002, 11:11:00):
+... ist nun in Software/GameDriver als Source zu finden. In WinTCPIP habe ich
+die Windows-Version abgelegt.
+
+Gruss, Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesenheitsvertretung fuer Tilly (Zook, 10. Jan 2003, 11:25:58):
+Fuer die Aufgaben "Objekt-Balance" und "Heilungs-Balance" uebernehme ich
+bis Tilly wieder anwesend ist seine Abwesenheitsvertretung.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+behalte (Rikus, 14. Jan 2003, 12:14:25):
+Hi,
+bei behalte geht nun (nach ende/reboot) auch sowas wie:
+behalte schwert 3 in beutel 2
+
+behalte alles/nichts und reines Anzeigen der behaltenen Sachen
+bezieht sich jedoch weiterhin nur auf die oberste Ebene des Invs.
+
+Gruss, Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Erzmagier (Zook, 22. Jan 2003, 12:26:00):
+Wir freuen uns ausserordentlich, dass wir mit Vanion einen weiteren
+Erzmagier gewonnen haben. Er wird zustaendig sein fuer Driver, LPC-Beratung
+und Weiterentwicklung Mudlib Basiskonzepte. Ich wuensche Dir Vanion viel
+Spass und Erfolg bei Deiner neuen Aufgabe.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+autofolge (Muadib, 24. Jan 2003, 11:15:50):
+Hi,
+
+das Verhalten des autofolge im Teamkampf wird eine 
+kleine Aenderung erfahren.
+
+Im Gegensatz zu bisher muss der Teamleiter direkt
+vor dem Folgen im gleichen Raum gestanden haben
+wie das autofolgende Teammitglied. 
+Ist dies nicht der Fall folgt das Teammitglied nicht.
+
+Damit kann der Teamleiter sein Team immer noch
+retten oder durch die Gegend fuehren jedoch muss er
+nun auch darauf achten, dass alle Mitglieder nachgefolgt
+sind bevor er weiterlaeuft.
+
+Die Aenderung tritt zum naechsten Reboot/Crash in Kraft.
+Sollte dann was buggen schreit bitte.
+
+Gruss
+
+Muadib
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stromabschaltung (Hate, 30. Jan 2003, 08:08:40):
+Wegen Arbeiten an den Sicherungskaesten der Serverraeume kommt es wieder
+einmal zu einer Stromabschaltung. Diese wird am 31.1.2003 von ca. 15:00 bis
+16:00 sein.
+
+Mfg,
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Waffenfertigkeiten (Zook, 30. Jan 2003, 16:35:05):
+Hallo zusammen,
+
+ab Ende/Crash/Reboot erlernen die Spieler der Gilden Abtenteuerer,
+Bierschuettler, Chaos und Katzenkrieger sogenannte allgemeine
+Waffenfertigkeiten. Diese funktionieren wie folgt:
+
+-snip-
+Allgemeine Waffenfertigkeiten:
+==============================
+
+Bestimmte Gilden erlernen Waffenfertigkeiten. Dies sind bisher die
+Mitglieder folgender Gilden:
+
+ - Abenteurer
+ - Bierschuettler
+ - Chaos
+ - Katzenkrieger
+
+Die Spieler dieser Gilde koennen das Kaempfen mit den Waffengattungen 
+Keulen, Aexte, Speere, Messer, Schwerter und Peitschen durch Benutzung 
+dieser Waffen erlernen. Je besser man mit den Waffen umgehen kann, desto 
+mehr Schaden kann man bei seinem Gegner verursachen. 
+
+Neben der Faehigkeit im Umgang mit den Waffen spielt auch die Waffe
+eine Rolle, sowie die eigene Kraft und Geschicklichkeit. Dabei sollte
+man beruecksichtigen, dass die Waffen unterschiedliche Anforderungen 
+an das Geschick stellen. So ist die Benutzung einer Peitsche sehr
+komplex, zum Kampf mit einem Messer muss man sich ebenso recht
+geschickt anstellen, dicht gefolgt vom Kampf mit Speeeren. Recht 
+ausgeglichen zwischen Geschicklichkeit und Kraft ist der Kampf mit einem
+Schwert. Die Benutzung von Aexten erfordert noch einiges Geschick, waehrend
+man bei Keulen am ehesten mit purer Kraft bedient ist.
+
+Wer wissen moechte, wie gut er den Umgang mit den Waffen bereits
+beherrscht, kann dazu einen Kaempfer (mindestens im Range eines
+Unteroffiziers) befragen. Der sollte dies beurteilen koennen. 
+
+
+Letzte Aenderung: Don, 30. Jan 2003, 16:22:43 von Zook.
+-snip-
+
+Kleine Anmerkug noch: Die Kaempfer werden diese Faehigkeit erst zu
+einem spaeteren Zeitpunkt erlernen, aber dazu wird uns dann der
+Gildenmagier informieren. 
+
+Viel Spass damit und gebt bitte Rueckmeldung an Ideen, Fehlern, Anregungen
+an Humni und an mich.
+
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+MorgenGrauen, "Down"-Zeit. (Zook, 31. Jan 2003, 19:16:31):
+Hallo zusammen,
+
+wie Ihr sicher mitbekommen habt, war unser MG leider etwas laenger down
+als geplant. 
+
+Die Ursache lag in einer ungluecklichen Verkettung verschiedener kleinerer
+Fehler, die sich dann dazu ausgewachsen haben, dass keine Spielerobjekte
+erzeugt werden konnten.
+
+Aus diesem Grund kann ich Euch leider auch keinen _direkten_ Schuldigen
+praesentieren. Bugmitverursacher duerfen mir aber trotzdem gerne ein
+Bier ausgeben.
+
+Dank an Humni, Muadib und Rikus fuer die Hilfe ab dem Zeitpunkt, wo 
+zumindest Magier das Spiel betreten konnten. 
+
+Sorry fuer die Unannehmlichkeiten und noch eine schoene Uptime!
+Das MorgenGrauen sollte nun auch genauso stabil laufen wir vor dem
+Reboot.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot ... (Vanion, 31. Jan 2003, 21:40:56):
+Hi,
+
+Das Reboot eben kam fuer uns ebenso ueberraschend wie fuer euch. Keine Ahnung
+was da war. Leider hat der Driver es vorgezogen, alle Beweise zu vernichten.
+Wir sind aber dran und suchen weiter.
+
+Ihr koennt also anfangen euch auszuruesten, mit dem ueblichen Risiko.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Und Murphys Gesetz gilt doch! (Vanion,  1. Feb 2003, 11:09:09):
+Wie der eine oder andere wohl festgestellt hat, gab es heute morgen um 0:50
+noch einen Crash. Ursache hierfuer war ein Fehler im Compiler des Drivers, der
+scheinbar nicht so einfach zu reproduzieren ist. Das Problem hat also nichts
+mit der unguenstigen Verkettung von Ereignissen am fruehen gestrigen Abend zu
+tun.
+
+Hoffen wir jetzt also endlich auf eine lange Uptime.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Ruestungswechsel(geschwindigkeit) (Zook,  1. Feb 2003, 17:14:11):
+~#! on=Humni ot=1043853810 og=entwicklung
+Liebe Mitbewohner des MorgenGrauens,
+
+der Ruestungswechsel im Kampf wurde soeben ein wenig erschwert. Kombinationen
+wie ,,ich kaempfe mit Eis- und Feuerhose gegen das Feueranfaellige Viech,
+ziehe feuerhose aus, trage eishose, kniestoss, ziehe eishose aus, trage
+feuerhose'' gehen nicht mehr (so einfach). Ausserhalb vom Kampf bleibt alles
+wie gehabt, da aendert sich nichts. Man verliert im Kampf aber eine Aktion
+bzw. seinen Angriff, wenn man die Ruestung wechselt.
+
+Diese Regelung ist ein Beschluss der Erzmagier, konstruktive Kritik oder
+Verbesserungsvorschlaege koennt ihr gerne an mich melden, ebenso wenn Probleme
+auftreten (solche buggiger Natur).
+
+Die Regelung betrifft simplerweise saemtliche Ausruestung, die ab jetzt
+erzeugt wird. Was ihr also schon habt hat noch die alte Regelung. Wenn ihr
+alle ,,jaja'' schreit koennen wir wegen Chancengleichheit auch gerne ueber
+einen Reboot reden.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Regionsmagier auf den Inseln (Zook, 17. Feb 2003, 20:58:06):
+Um die Inseln kuemmern sich ab sofort neben Wargon auch noch
+Mandragon und Twingi. Ich wuensche Euch viel Spass und Erfolg
+mit dieser Region!
+
+Gruss, Zook.
+
+PS: Kommt eigentlich Boschante wieder? ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Region Inseln (Zook, 24. Feb 2003, 09:25:46):
+Hallo zusammen,
+
+Wargon ist, nachdem nun mit Mandragon und Twingi zwei junge Regionsmagier
+gefunden wurden, von seinem Posten als Regionsmagier Inseln zurueckgetreten.
+
+Vielen Dank fuer Dein Engagment und die Betreuung der Region, Wargon.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Seheranforderungen (Zook, 25. Feb 2003, 16:31:14):
+Hallo zusammen,
+
+1. Die Anforderungen aus Quests und Forscherpunkten werden zu einem
+Bereich "Forschung" zusammengenommen. Die Seheranforderungen bestehen
+nach wie vor aus 80% der aktuellen nicht optionalen Abenteuerpunkte sowie
+der Anforderunge, sich besser als der Durchschnitt im MG auszukennen.
+
+2. Von beiden Anforderungen muss man jeweils zwingend 80% erzielen. Fuer 
+die verbleibenden Forscherpunkte und Abenteuerpunkte werden AP und FP
+zusammengenommen (wobei 1 FP = 6 AP gilt). D.h. fuer die verbleibenden
+Anforderungen aus Quests und Forschen kann jeder Spieler selbst ueberlegen,
+ob er lieber noch eine weitere Quest spielt oder ob er lieber ein Gebiet
+erforscht, in der Hoffnung, dort Forscherpunkte zu finden. 
+
+3. Wegfallen tut die Anforderung, aus jeder Gruppe von Quests 80% der
+Quests zu loesen. 
+
+4. Ebenso faellt das Privileg alter Spieler weg, die 80% der AP zu ihrem
+Einloggzeitraum benoetigten. Auch alte Spieler benoetigen 80% der derzeit
+erreichbaren nicht optionalen Abenteuerpunkte.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neue RM Fernwest (Zook,  2. Mar 2003, 22:38:42):
+Hallo zusammen,
+
+die Region Fernwest ist ja in der letzten Zeit etwas "unbeaufsichtigt" 
+gewesen und es fehlte fuer Anregungen, Bugs o.ae. ein Ansprechpartner.
+Das wird sich nun aendern, denn Jenandra hat sich bereit erklaert, die
+Region zu betreuen. Ich wuensche Dir, Jenandra, viel Spass und Erfolg
+mit Deiner Region und hoffe, Du wirst nicht gleich von vollen Repfiles
+und Bugreports ueberschuettet!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Crash heute... (Zook, 11. Mar 2003, 16:54:43):
+Heute ist das Mud wegen eines Stromausfalls gecrasht.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Lag ... (Vanion, 23. Mar 2003, 19:54:41):
+Wie dem einen oder anderen bereits aufgefallen sein wird, gibt es derzeit ein
+relativ gleichmaessiges Hintergrundlag. 
+
+Grund hierfuer ist ein Mudexterner Service der ausgetickt ist. Ich denke mal,
+Hate kuemmert sich morgen darum. Bis dahin bitte ich um Geduld.
+
+V*
+PS: Bevor jemand fragt, ob ich nich etwas tun koennte. Ja, koennte ich. 
+    Zum Beispiel versuchen, den Mudrechner zu crashen oder Pitfall bitten,
+    hinzufahren und gegenzutreten.
+
+-----------------------------------------------------------------------------
+
+
+
+Region Schattenwelt (Zook,  1. Apr 2003, 10:31:47):
+Hallo zusammen,
+
+nachdem ich mir mittlerweile elendig viel Arbeit aufgehalst habe und auch
+RL etwas unter berufliche Anspannung stehe, versuche ich mal Teile des 
+ganzen Wustest wieder los zu werden. Ein erster Schritt ist dabei die
+Region Schattenwelt. Wie schon oft *blinzel Richtung Megaschmarrn* besprochen,
+uebernimmt Grimmborn mit mir zusammen die Region und wird neben mir als
+weiterer Regionsmagier fuer die Schattenwelt zustaendig sein. Wer also neue
+Raeume, Konzept o.ae. hat, kann sie derzeit bei ihm und mir einreichen. Ich
+werde mich mittelfristig dann aus der Region zurueckziehen, sobald er sich
+eingearbeitet hat.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Ausschreibung: Regionsmagier Unterwelt (Zook,  2. Apr 2003, 14:59:37):
+Hallo zusammen,
+
+um die Wartung und die Pflege der Region Unterwelt zu verbessern, schreiben
+wir einen weiteren Regionsmagierposten fuer diese Region aus.
+
+Ich nehme Bewerbungen entgegen. Ihr koennt mir auch Vorschlaege zusenden,
+falls Ihr der Meinung seid, der eine oder andere Magier waere fuer diese
+Aufgabe besonders geeignet. 
+
+Falls Ihr ein ambitionierte Jungmagier (Lvl. 20) seid oder einen solchen 
+kennt, diese koennen auch vorgeschlagen werden, da wir es mit der 
+Besetzung der Stelle nicht soooo eilig haben. Nur das Gesellenstueck des
+betreffenden Magiers sollte schon halbwegs fertig sein.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Region Schattenwelt (Zook,  2. Apr 2003, 19:05:00):
+~#! rn=Zook rt=1049185907 rg=bekanntmachungen
+~#! tid=1049185907
+Wegen unueberwindlicher Konzept-Differenzen musste ich Grimmborn von seinen
+Aufgaben als Regionsmagier Schattenwelt entbinden. 
+
+Zook, weiter auf der Suche nach Nachfolgern.
+
+-----------------------------------------------------------------------------
+
+
+
+Senden auf Intermud-Kanaelen (Vanion, 29. Apr 2003, 23:26:51):
+Ab demnaechst (irgendwann zwischen Jetzt und Crash/Reboot) wird es Spielern,
+die das Level 5 noch nicht erreicht haben, nicht mehr moeglich sein, auf
+Intermud-Kanaelen zu senden.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Einheitliche Regionsmagierlevel. (Zook,  2. Mai 2003, 13:27:48):
+Alle Regionsmagier haben nun den einheitlichen Level von 45.
+
+Gruss, Zook.
+
+PS: Dies brachte Cymonk und Morgoth jeweils einen Magierlevel. Grats dazu! ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Regionsmagier Gebirge (Zook,  2. Mai 2003, 13:32:49):
+Hallo,
+
+da Ketos leider nicht mehr viel Zeit fuer das MorgenGrauen aufbringen 
+kann, habe ich ihn aus dem Reigen der Gebirgs-Regionsmagier herausgenommen.
+
+Vielen Dank fuer Dein Engagement und Deine Ideen in dieser Region, Ketos!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Probleme mit Mail (Vanion,  4. Mai 2003, 12:59:31):
+Hallo,
+
+Zurzeit gibt es einige Probleme mit dem Mailer, so dass Mail von aussen nicht
+in das MorgenGrauen hineinkann. Seht es sportlich: Spam kommt auch nicht
+durch. Kann auch sein, dass rausgehende Mail betroffen ist.
+
+Wir bemuehen uns natuerlich, das Problem schnellstmoeglich in den Griff zu
+bekommen.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Probleme mit Mail (Vanion,  4. Mai 2003, 19:25:20):
+~#! rn=Vanion rt=1052045971 rg=bekanntmachungen
+~#! tid=1052045971
+Mail ins MG und raus funktioniert wieder. Mail die in den letzten Tagen
+rausgegangen ist (z.B. wegen Weiterleitung) ist eventuell verloren gegangen.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abschied ... (Zook, 21. Mai 2003, 21:17:41):
+~#! rn=Ark rt=1053544351 rg=d.ebene
+~#! tid=1053544351
+Auch hier noch einmal: Vielen Dank fuer Dein Engagement in der Ebene und
+die viele Zeit, die Du dort in die Wartung und Weiterentwicklung der 
+Region gesteckt hast.
+
+Dir, Ragnaroek wuensche ich ein geschicktest Haendchen in der Ebene und viele
+gute Ideen, sowie auch Zeit und Mitarbeiter, sie umzusetzen.
+
+Meine Wuensche erstrecken sich ebenso auf Cymonk als weiteren RM. :-))
+
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Regionsmagier... (Zook, 22. Mai 2003, 12:19:10):
+Hallo zusammen, 
+
+wir haben einen neuen Regionsmagier gefunden: Nibel wird sich zukuenftig
+mit Patryn um den Wald kuemmern und sich in die Geheimnisse des RM-Daseins
+im MorgenGrauen einarbeiten. Ich wuensche Dir viel Spass und viel Erfolg 
+bei Deiner neuen Aufgabe, Nibel!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Rassen-Balance (Zook,  5. Jun 2003, 19:58:56):
+Hallo zusammen!
+
+Nachdem der Posten eine ganze Weile unbesetzt geblieben ist, freue ich
+mich, dass wir nun einen Erzmagier gefunden haben, der sich um die Pflege
+der Rassen und um die Balance der Rassen kuemmern wird. Es ist: Ark.
+
+Viel Spass und viel Erfolg!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Driver (Vanion, 20. Jun 2003, 16:09:52):
+Hallo, 
+
+Der neue Driver (Patchlevel 145) kann per FTP heruntergeladen werden.
+
+Der Driver liegt wie immer im Verzeichnis /Software/GameDriver.
+
+dc226d0258767806821a1061d463a1eb  driver.03.02.1@145-030620.tar.bz2
+f8f9e67d6448fe6d04ead1bb4824e477  driver.03.02.1@145-030620.tgz
+
+Unter driver.changelog/CHANGELOG.145 liegt eine Beschreibung, welche Probleme
+im neuen Driver geloest worden sind.
+
+Eine Windows-Version des Drivers wird wohl die kommenden Tage erstellt werden.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Regionen gibt's, das gibt's gar nicht... (Zook, 25. Jun 2003, 10:39:18):
+Die "Region" Seher---bekannt durch die gleichnahmigen Haeuser---wurde bisher
+von Hate und Kirk als Regionsmagier betreut. Bisher deswegen, weil ich 
+beide als Regionsmagier ausgetragen habe und vorlaeufig mich dort eingetragen
+habe. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Befoerderung (Zook, 25. Jun 2003, 20:07:04):
+Hallo zusammen,
+
+ich gebe bekannt, dass Njala von nun an einen Magierlevel von 15
+(Lehrling) inne hat. Diese Heraufstufung wurde noetig, da ihr
+Charakter in frueheren Zeiten---von der damaligen Mud-Leitung
+genehmigt---in einen Zustand versetzt wurde, der ein normales Spielen
+nicht mehr moeglich macht. Aus Respekt vor den Gruenden und der
+Entscheidung der damaligen EM+ haben wir uns entschlossen, diese
+Aenderungen am Charakter zu belassen und dafuer in diesem Einzelfall
+der Spielerin einen Magierlevel zu setzen. Damit sind folgende
+Bedingungen verknuepft:
+
+  1. Njala unterliegt damit den Bedigungen des Magiervertrags.
+
+  2. Der Magier--Level 15 erlaubt keine Lesezugriffe (ausser der frei
+     verfuegbaren Dokumentation) und beinhaltet auch nicht die
+     Moeglichkeit, eigene Objekte in einem Heimverzeichnis zu
+     programmieren.
+
+  3. Eine weitergehende Befoerderung ist nicht vorgesehen.
+
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Tilly (Zook,  9. Jul 2003, 10:33:39):
+Hallo zusammen, 
+
+da Tilly momentan wenig Zeit fuer das MorgenGrauen aufbringen kann, sind wir
+mit ihm uebereingekommen, dass er von seinem Posten als Erzmagier zurueck
+tritt. 
+
+Ich bedanke mich ganz herzlich bei Tilly fuer die Arbeit und das Engagement,
+das er fuer das MG aufgebracht hat und fuer die angenehme Zusammenarbeit.
+
+Die Aufgaben Objekt-Balance und Heilungs-Balance, die bisher von mir
+vertretungsweise betreut wurden, fuehre ich bis auf Weiteres weiter.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Erinnerungen... (Zook, 22. Jul 2003, 21:56:14):
+Auf schmerzliche Weise haben wir in den letzten Monaten erfahren muessen,
+dass auch Mudder nicht gefeit sind, aus dem Leben gerufen zu werden. Wir 
+moechten ihrer auch im MorgenGrauen gedenken. Dafuer haben Anatol und Guard,
+denen ich an dieser Stelle meinen Dank aussprechen moechte, eine Seite
+auf unserer Website erstellt. 
+
+Sie findet sich unter http://mg.mud.de/nachruf/
+
+Gedacht ist die Seite so, dass neben Namen und Sterbedatum auch die 
+Moeglichkeit besteht, einen Link auf eine individuelle Nachrufseite 
+einzufuegen. Sprecht mich dazu im Bedarfsfall einfach an.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Uptime (Muadib, 28. Jul 2003, 00:52:19):
+hi,
+
+so wie es scheint hat Armageddon einen Wunsch trotz angegebener Parameter sehr
+direkt umgesetzt.
+Betrachtet es als Herausforderung zu Partybeginn.
+Wenn jemand jemanden lynchen will, seid ihr bei mir an der richtigen Stelle.
+Haut los!
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+caveat (Muadib, 28. Jul 2003, 01:12:52):
+hi,
+es hat sich zur unverhofften neuen Uptime doch so einiges geaendert, deshalb
+wuerde ich nicht mit einer allzulangen Ueberlebenszeit dieser Uptime rechnen.
+Nur als kleine Warnung bezueglich der gewaehlten Ausruestungspolitik!
+
+Gruss 
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Kommende Woche ist nicht rebootfest (Vanion,  3. Aug 2003, 22:15:21):
+Hallo,
+
+wie ihr eventuell mitbekommen habt, gibt es nach dem Ende der langen Uptime
+einige Merkwuerdigkeiten. Wir werden die kommende Woche mit Hochdruck daran
+arbeiten, dass das MG wieder stabil ist. Bis dahin koennen wir aber keine
+Garantie geben, dass wir nicht mal schnell booten muessen.
+
+Natuerlich werden wir nicht oefter als noetig booten, durchaus kann es aber
+sein, dass es oefter ist, als euch lieb ist :) Habt bitte Verstaendnis. Wenn
+wir fertig sind, geben wir Entwarnung.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kommende Woche ist nicht rebootfest (Vanion,  4. Aug 2003, 23:08:46):
+~#! rn=Vanion rt=1059941721 rg=bekanntmachungen
+~#! tid=1059941721
+Hi,
+
+Machen wir es mal konkreter: Im laufe des Donnerstag abend werden wir neu
+booten muessen.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot am 05.08. (Vanion,  5. Aug 2003, 20:48:04):
+Hi,
+
+Heute gab es zwei Reboots. Zweck dieser Aktion war es, einige Driverbugs, die
+bisher durch andere Bugs verdeckt waren zu eleminieren. Ausserdem gab es
+einige groessere Aenderungen an der Mudlib, die nach dem ersten Versuch leider
+nicht ganz klappten.
+
+Im Moment scheint alles zu funktionieren und es sieht so aus, als ob diese
+Uptime stabil werden koennte.
+
+Danke an Mandragon und Patryn fuer die Unterstuetzung bei der
+Umstellung/Fehlersuche.
+
+V*
+PS: Die Uptime findet allerdings hoffentlich ihr baldiges Ende weil das MG
+    einen neuen Rechner bekommt. *huepf*
+
+PPS:Ich versuche den neuen Driver in den naechsten Tagen rauszubringen.
+
+-----------------------------------------------------------------------------
+
+
+
+Beurteilung von Gesellenstuecken (Zook,  6. Aug 2003, 14:24:55):
+Hallo zusammen,
+
+die bisher von mir und Vanion wahrgenommene Aufgabe der Beurteilgung von
+Gesellenstuecken geht nun vollstaendig auf Vanion ueber. D.h. nach der
+Beurteilung durch den Regionsmagier und Twingi entscheidet Vanion nach
+Durchsicht, ob das Gesellenstueck ausreichend ist oder nicht. In der Anfangs-
+zeit stehe ich ihm beratend zur Verfuegung.
+
+Konzeptdiskussionen koennen nun auch mit ihm ausgefochten werden. :)
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot am 05.08. (Rikus,  6. Aug 2003, 16:34:01):
+~#! rn=Vanion rt=1060109284 rg=bekanntmachungen
+~#! tid=1060109284
+Hi,
+
+wegen eines Fehlers an den Materialien, der sich beim gestrigen Reboot
+einschlich und auf den mich vorhin Lacri hinwies, wird es heute gegen
+17 Uhr nen neuen Reboot geben. Der aktuelle Driver und die Lib scheinen
+bisher sehr gut zu laufen, einer langen Uptime sollte dann nur der
+Rechnerwechsel im Weg stehen :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Driver 03.02.1 Patchlevel 146 (Vanion,  7. Aug 2003, 23:08:48):
+Hallo, 
+
+da der 145er Patch des Drivers noch einige Schwaechen hatte und aeltere Bugs
+zu Tage foerderte, haben wir einen weiteren Patch nachgeschoben.
+
+Die Sourcen des Drivers liegen wie immer im oeffentlichen FTP-Verzeichnis
+unter /Software/GameDriver/.
+
+5cc357f5db66dbd3471ae5cf9c6e76b0  driver.03.02.1@146-030804.tar.bz2
+7b67947b86b9fb7263b777b495489a27  driver.03.02.1@146-030804.tgz
+
+Im Unterverzeichnis driver.changelog befindet sich die aktuelle Version des
+Changelogs.
+
+In den naechsten Tagen wird es auch eine Windows-Version des Drivers geben.
+
+V*
+
+PS: Danke an Patryn und Mandragon fuer die schnellen Patches.
+
+-----------------------------------------------------------------------------
+
+
+
+MudLib 3.2.14 (Vanion,  8. Aug 2003, 20:05:27):
+Hallo,
+
+nachdem sich in den letzten Tagen/Wochen doch einiges an der Mudlib getan hat,
+wird es mal wieder Zeit fuer ein neues Release. 
+
+e6ec485af85a20c3a8509f7275d10794  /Software/MudLib/MorgenGrauen-3.2.14.tar.gz
+
+Viel Spass beim basteln.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Driver 03.02.1 Patchlevel 146 (Rikus, 12. Aug 2003, 20:27:22):
+~#! rn=Vanion rt=1060290528 rg=bekanntmachungen
+~#! tid=1060290528
+... einen Windows-Port gibt es nun auch. Wie immer unter
+/Software/GameDriver/WinTCPIP zu finden. Nennt sich driver146_030804.exe und
+ist mit beiliegender DLL zu nutzen. Vor Fragen ERST die readme.txt in dem
+Verzeichnis lesen!
+
+Gruss, Rikus
+
+PS: wer Entpackprobleme der Mudlib unter Win hat, bitte nicht mich fragen,
+sondern einen sinnvollen Unzipper!=Winzip nutzen.
+
+-----------------------------------------------------------------------------
+
+
+
+Armageddon ... (Vanion, 13. Aug 2003, 09:11:45):
+... ist wohl seit neuestem in der Gewerkschaft. Er meinte eben sowas wie:
+"Wenn es keine gekuehlten Getraenke gibt, is Schluss mit Weltzerstoeren." Wir
+haben also heute noch mal Glueck gehabt.
+
+Trotzdem haben wir noch ein kleines Problem, auch wenn wir uns entschlossen
+haben, es nicht durch ein Reboot zu loesen.
+
+Falls ihr feststellt, dass ihr irgendwo nicht richtig heilt, oder eine
+Heilstelle nich funktioniert, bitte wendet euch an einen Magier eures
+Vertrauens. Gleiches gilt im Prinzip, wenn ein fiese, boese Falle ploetzlich
+nun keine LP/MP mehr abzieht. 
+
+Das merkwuerdige Verhalten ist Folge einer internen Umstellung. Es gibt zum
+Teil noch aeltere Objekte (moeglicherweise auch Du!), die von der Umstellung
+nicht betroffen sind. Die buggen nun, auch wenn sich das nicht in einem FiRZG
+bemerkbar macht.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Renew beim Einloggen Netztoter (Rikus, 13. Aug 2003, 11:47:21):
+Hi,
+durch groessere Umstellungen in der Lib sind Spieler, die sich vor 2 Tagen
+einloggten, nicht kompatibel mit dem aktuellen Stand :) Entsprechende Spieler
+werden nun beim Aufwachen aus dem Netztotenraum neu geladen, bitte nicht
+wundern!
+
+Danke, Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Weiterer Regionsmagier fuer die Region "Seher" (Zook, 15. Aug 2003, 13:29:36):
+Mandragon wurde zum weiteren Regionsmagier fuer die Region "Seher" berufen.
+Ich wuensche ihm viel Erfolg und viel Spass mit seiner neuen Region. :)
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Crash am 21.08.03 (Vanion, 21. Aug 2003, 08:36:52):
+Hallo,
+
+Wie ihr vermutlich schon mitbekommen habt, gab es heute morgen einen Crash.
+Ich kann schonmal soviel sagen, dass es im Driver einen Segmentation fault
+gab.
+
+Das heisst, es liegt nicht daran, dass Armageddon aus den Ferien zurueck ist
+oder endlich mal jemand "shutdown -h now" ausprobieren wollte.
+
+Was genau passiert ist, werden naehere Untersuchungen der Core ergeben, hoff
+ich jedenfalls.
+
+Ich geh erstmal nicht von einem weiteren Reboot aus. Falls ihr irgendwelche
+Unregelmaessigkeiten sehr, gebt bitte Laut :)
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Crash am 21.08.03 (Vanion, 21. Aug 2003, 18:15:44):
+~#! rn=Vanion rt=1061447812 rg=bekanntmachungen
+~#! tid=1061447812
+Ursache des Crashs war, dass die Platte, auf der das Swapfile (da werden
+momentan nicht benoetigte Objekte zwischengelagert) liegt, vollgelaufen 
+ist. Das MG hat sich daraufhin selbst rebootet.
+
+Mit dem neuen Rechner sollte das Problem einer vollen Platte weiter in die
+Zukunft geschoben werden. Im Moment kann ich nur sagen, die Festplatten ab
+jetzt intensiver im Auge haben werden, um zumindest vorgewarnt zu sein.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot um Mitternacht. (Vanion, 21. Aug 2003, 23:47:51):
+Hi,
+
+Leider ist mir vor geraumer Zeit ein Bug durch die Tastatur ins MG
+geschlichen. Dieser Kaefer laesst im Moment einige NPC ziemlich zahnlos
+dastehen. Der Kaefer ist fort. Um nun noch seine Brut auszumaerzen ist ein
+Reboot noetig.
+
+Tut mir leid, dass das gemacht werden muss, insbesonderer dass es direkt nach
+meiner Entwarnung von heut morgen passiert. Wenn es euch troestet: Der Reboot
+hat nix mit dem Crash heut morgen zu tun.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Humni, 27. Aug 2003, 13:16:11):
+Huhu,
+
+offenbar gab es einen Reboot des Rechners. Ursache kennen wir noch keine, wir
+melden uns, sobald das ganze bekannt wird.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot (Vanion, 27. Aug 2003, 19:44:25):
+~#! rn=Humni rt=1061982971 rg=bekanntmachungen
+~#! tid=1061982971
+Tja, was die Amerikaner koennen, kann Berlin schon lange :)
+
+Es gab einen kurzen Stromausfall in Berlin. Der hat den Rechner gecrasht.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Neues von der Heilungs-Balance (Zook,  9. Sep 2003, 19:21:36):
+Hallo zusammen,
+
+diesmal melde ich mich vom Schreibtisch der Heilungsbalance aus. Die
+Heilungs-Balance ist eine recht wichtige Institution, da das Heilen,
+Tanken, aber auch das Enttanken sehr grossen Einfluss auf die
+metzelnden Spieler haben.
+
+Ich der Uebergangszeit, in der ich diese Aufgabe von Tilly uebernommen
+habe, sind einige Tankstellen beantragt und genehmigt worden, ebenso
+sind einige aeltere Stellen von mir angepasst oder ueberarbeitet
+worden.
+
+Trotzdem lagen mir ein paar Sachen auf dem Herzen. Etwas merkwuerdig
+beruehrt war ich von der Wirkungsweise der Klos hier im MorgenGrauen
+und Arbeit bekam ich, als ein Magier fuer sein Gebiet ebenso ein Klo
+beantragte. Hier war wohl irgendwie eine Aenderung und eine
+Verknuepfung dieser Enttankstellen noetig. Ein anderes Thema waren
+mobile Tanken, so etwas wie Essen und Trinken, das einen heilen
+kann. Hier gab es noch keine ausgefeilten Regeln, welche es
+ermoeglicht haetten, alle Objekte nach einheitlichen Kriterien zu
+bewerten. Hier war also Regelbedarf. Als weitere grosse Aufgabe stand
+eine Reevaluierung bisheriger Tanken auf dem Plan.
+
+Alles Aufgaben, die sehr viel Zeit und Muehen benoetigen.
+
+Zu einigen der Punkte haben wir als EM+ mittlerweile ein paar Konzepte
+entwickelt. Das taten wir nicht alleine, sondern Gabylon hat uns
+dankenswerter Weise bei der Ausarbeitung unterstuetzt. Er wird diese
+Aenderungen, Anpassungen auch begleiten, soll heissen: Ich gebe meinen
+Posten als Heilungs-Balance-Magier an ihn ab und er wird ab sofort
+fuer diese Aufgabe hier im MorgenGrauen zustaendig sein. Um seine
+Machtfuelle ausleben zu koennen ;), wird er zum Weisen
+befoerdert. Ueber die anstehenden Aenderungen wird er Euch dann
+informieren.
+
+Ich wuensche Dir, Gabylon, viel Spass und Freude an Deiner neuen
+Aufgabe und bitte Euch alle, ob Spieler oder Magier, ihn dabei zu
+unterstuetzen. Fuer Hinweise, wo noch etwas im Argen liegt, ist er
+sicherlich dankbar.
+
+
+Gruss, Zook.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Regionsmagier fuer Region "Inseln" gesucht (Zook,  2. Okt 2003, 19:03:14):
+Hallo zusammen,
+
+Mandragon wird sich in kurzer Zeit auf eigenen Wunsch als Regionsmagier aus
+der Region Inseln zurueckziehen. Damit die Arbeit nicht allein von
+Twingi geschultert werden muss, suchen wir ab sofort einen Nachfolger, eine
+Nachfolgerin. Wer Interesse an der Aufgabe hat, moege sich doch bitte per
+Email bei mir melden.
+
+Bei Dir Mandragon moechte ich mich fuer die geleistete Arbeit und Dein
+Engagement ganz herzlich bedanken.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Kampfstaebe (Rikus,  6. Okt 2003, 15:20:41):
+Hi,
+durch den unerwarteten Neustart des MG konnte ich nun den neuen Waffentyp
+Kampfstab aktivieren, den Humni und ich einbauten.
+Natuerlich wird die aktuelle Anzahl verfuegbarer Staebe Null sein, aber
+vielleicht finden sich ja bald Magier, die sowas anschliessen :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot heute (Hate,  6. Okt 2003, 17:36:52):
+Wir hatten heute ca 1/2h einen Stromausfall. Tut mir leid.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Regionsmagier fuer Region "Inseln" gesucht (Zook,  6. Okt 2003, 22:06:26):
+~#! rn=Zook rt=1065114194 rg=bekanntmachungen
+~#! tid=1065114194
+Die kurze Zeit ist erreicht und Mandragon ist von seinen Aufgaben als
+Regionsmagier "Inseln" und "Seher" zurueckgetreten. Vielen Dank fuer die
+Betreuung der Regionen, Mandragon! :)
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Die Weisen kommen.... (Zook,  8. Okt 2003, 10:39:34):
+Hallo zusammen,
+
+ich habe eine freudige Mitteilung fuer Euch. Wir haben Feigling zum
+Weisen ernannt. Er ist auf diesem Posten fuer das Beheben von Fehlern
+in Gebieten zustaendig. Falls Ihr also ueber Fehler in Gebieten, die
+nicht mehr gewartet werden, stolpert oder ueber Fehler, die ganz
+dringend behoben werden muessen, so wendet Euch vertrauensvoll (per
+teile-mit oder per Mail) an ihn.
+
+Ich wuensche Dir, Feigling, viel Erfolg und viel Spass bei dieser
+neuen Aufgabe.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Regionsmagier schwemmen herein... (Zook, 15. Okt 2003, 16:27:56):
+Die Luecke in der Region "Inseln" koennen wir erfreulicherweise nun schon
+wieder schliessen und zwar mit "altgedienten" Magiern. Miril und Shakedbeer
+hatten ihr Interesse an der Region bekundet und wir haben uns entschlossen,
+beide neben Twingi zu weiteren Regionsmagiern fuer die Region "Inseln" zu
+berufen. Damit ist die Region, denke ich, ueberaus ueppig mit RMs gesegnet.
+
+Ich wuensche Euch dreien viel Spass und Erfolg bei der gemeinsamen Arbeit
+an der Region!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Erzmagier fuer Objekt-Balance (Zook, 23. Okt 2003, 16:26:40):
+Hallo zusammen,
+
+nachdem ich nun einige Zeit dieses Amt kommissarisch uebernommen habe, wird
+es wieder Zeit, von diesem Amt Abschied zu nehmen, denn wir haben einen 
+Nachfolger gefunden: Nonne wird sich ab sofort um diese wichtige Aufgabe
+im MorgenGrauen kuemmern. Herzlichen Glueckwunsch, Nonne! 
+
+Dem ganzen Balance-Team wuensche ich viel Spass bei den ueblichen 4As der
+Balance-Arbeit und auf dass Ihr das Geheule und Gejammer des Rest-Muds gut
+ertragen moeget.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neues Mudlib-Release (V2) (Vanion, 11. Dez 2003, 22:13:18):
+
+Moin,
+
+Wir haben die letzten Tage an einem neuen Release der Mudlib gestrickt.
+Herunterladen koennt ihr die Files wie immer per anonymous ftp aus dem
+Verzeichnis "/Software/MudLib". Das kann als gzip gepacktes tar-Archiv
+gezogen werden (das sollte selbst winzip entpacken koennen) oder fuer
+Bandbreite-Bewusste auch als bzip-Archiv.
+
+ 9cf261c1a1fc03a96c719553014a48b0  MorgenGrauen-3.2.15.tar.bz2
+ 35d81daf351fef0c28ba02967cbb5571  MorgenGrauen-3.2.15.tar.gz
+
+Falls Problemen/Anregungen zum Release, wendet euch gern an mich, an
+Rikus oder einen anderen Erzmagier eures Vertrauens.
+
+Viel Spass beim Stoebern,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues Mudlib-Release (V2) (Vanion, 13. Dez 2003, 13:32:40):
+~#! rn=Vanion rt=1071177198 rg=bekanntmachungen
+~#! tid=1071177198
+*Hust*
+
+Da war er wieder, der Fehlerteufel. Eine Kleinigkeit ist mir beim letzten
+Release untergeschnitten. Ok, zwei. Hier die berichtigte Version.
+
+ e436d47fb93bc6b760437bdc8bb4280a  MorgenGrauen-3.2.16.tar.bz2
+ 493c4b4bc0012aef71ef7eff3fa228a9  MorgenGrauen-3.2.16.tar.gz
+
+Falls noch was ist, immer raus damit. Wir haben ja noch ein paar Zahlen fuer
+die Versionsnummern. :)
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Mailprobleme (Vanion, 28. Dez 2003, 00:16:53):
+Mailverkehr zwischen Mud und Restderwelt tut nicht. Die Mails scheinen einfach
+so im Nirvana zu verschwinden. Wir arbeiten daran.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mailprobleme (Vanion, 28. Dez 2003, 13:11:38):
+~#! rn=Vanion rt=1072567013 rg=bekanntmachungen
+~#! tid=1072567013
+Mail nach aussen sollte wieder funktionieren. Falls erneut Probleme auftreten,
+wendet euch bitte an einen Erzmagier eures Vertrauens :)
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Aenderung Seheranforderung (kosmetisch) (Zook,  7. Jan 2004, 12:12:00):
+Eine eher kosmetische Aenderung gibt es bei den Seheranforderungen: Da es
+derzeit de fakto nicht moeglich ist, mit Level 20 Seher zu werden, haben wir
+aus rein optischen Gruenden den Mindestlevel auf 30 angehoben.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Mudlib-Release V3.2.17 (Vanion,  3. Feb 2004, 18:08:27):
+Hi Leute,
+
+Ich habe gerade das aktuelle Release zum Download bereitgestellt. Es enthaelt
+hauptsaechlich die Aenderung am AddCmd() - vermutlich aber auch noch einige
+andere kleine Fixes. 
+
+Ein Update ist fuer all die jenigen sinnvoll, die die neuen Features nutzen
+wollen.
+
+Die Files finden sich wie immer in "/Software/MudLib" im anonymen FTP.
+
+ c83de523acccc33d2190694ed85ef12f  MorgenGrauen-3.2.17.tar.bz2
+ 5fed26e8c0cc719e14d84653143acbc0  MorgenGrauen-3.2.17.tar.gz
+
+Viel Spass damit,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Regionsmagier-Rochade (Zook, 14. Feb 2004, 14:51:21):
+Hallo zusammen,
+
+damit die Region Unterwelt wieder einen aktiven Regionsmagier erhaelt, hat
+sich Patryn entschlossen, vom lauschigen Wald in die Tiefen der Unterwelt 
+zu wechseln und sich dort um die Pflege der Region zu kuemmern. 
+
+Vielen Dank, Patryn, fuer Deine Arbeit im Wald und viel Erfolg bei Deiner
+neuen Aufgabe.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Die Reihen der Regionsmagier lichten sich... (Zook, 24. Feb 2004, 13:05:19):
+Hallo zusammen,
+
+da beide derzeit nicht genuegend Zeit fuer das MorgenGrauen aufbringen
+koennen, haben wir Tsunami und Cymonk von ihren Regionsmagier-Posten
+entbunden. Herzlichen Dank Euch beiden fuer Eure Arbeit als RM! 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Ausschreibung... (Zook,  1. Mar 2004, 18:33:24):
+
+Hallo zusammen, insbesondere an ambitionierte Magier!
+
+Nachdem sich die Reihen der Regionsmagier gelichtet haben, moechten wir
+ambitionierten Magiern die Gelegenheit bieten, sich auf diese Plaetze
+zu bewerben. Schreibt Eure Bewerbung mit ein paar erlaeuternden Saetzen,
+warum Ihr fuer die Aufgabe geeignet seid und welche Region Euch reizen
+wuerde, an "erzmagier".
+
+Gruss, Zook.
+
+PS: Einsendeschluss gibt es keinen; wir entscheiden dann und wenn sowieso
+voellig willkuerlich... ;))
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mailprobleme (Vanion,  3. Mar 2004, 22:53:14):
+~#! rn=Vanion rt=1072567013 rg=bekanntmachungen
+~#! tid=1072567013
+Der Mailer tut mal wieder nich so, wie er soll. Wir arbeiten an einer Loesung.
+Ich hoff, dass das Mailsystem auf dem neuen Rechner stabiler laufen wird.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Mailprobleme (Vanion,  4. Mar 2004, 21:39:07):
+~#! rn=Vanion rt=1078350794 rg=bekanntmachungen
+~#! tid=1072567013
+Da ich grad Spam gekriegt habe, geht der Mailer wohl wieder. Schuld war eine
+vollgelaufene Festplatte.
+
+Spielt schoen,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+RM Inseln (Zook, 12. Mar 2004, 08:07:58):
+Hallo zusammen, das RL hat unerbittlich zugeschlagen und nun hat Shaky
+leider nicht mehr genuegend Zeit fuer seinen Regionsmagierposten. Er ist 
+aus diesem Grund von seiner RM-Stelle zurueckgetreten. Fuer sein wiederholtes
+RM-Engagement danke ich ihm ganz herzlich! 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Mudlib-Release V3.2.18 (Vanion, 16. Mar 2004, 17:41:50):
+Moin,
+
+Ich habe gerade das aktuelle Release zum Download bereitgestellt. Es enthaelt
+einige kleinere Fixes und einige Modifikationen im living/put_and_get.c.
+Ausserdem gibt es eine neue Funktion: living/combat->QueryPacify().
+
+Ein Update ist nur dann notwendig/sinnvoll, wenn die neuen Features auch
+genutzt werden.
+
+ 3a42323bef25b4bc8c363d1082270b31  MorgenGrauen-3.2.18.tar.bz2
+ 4b75ecda8bcd1befa58faa79cec3d69d  MorgenGrauen-3.2.18.tar.gz
+
+Die Files finden sich wie immer in "/Software/MudLib" im anonymen FTP.
+
+Viel Spass mit dem Release,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Dokumentation (Vanion, 18. Mar 2004, 21:21:01):
+Hallo,
+
+wir konnten Gloinson dafuer gewinnen, sich ein wenig mit der MUD-Dokumentation
+zu beschaeftigen. Damit er diese Aufgabe wahrnehmen kann, hab ich ihn zum
+Hilfsmagier befoerdert.
+
+Ich wuensche Dir viel Spass und Erfolg bei der neuen Aufgabe, Gloinson.
+
+V*
+PS: Die MPA haeng ich Dir schon auch noch um den Hals :)
+
+-----------------------------------------------------------------------------
+
+
+
+reboot (Muadib,  1. Apr 2004, 09:02:06):
+Hi,
+
+wie bestimmt schon einige gemerkt haben ist momentan das Hintergrundlag recht
+hoch, aus diesem Grund und einigen bereits vorgenommenen Aenderungen die erst
+nach Reboot richtig wirksam werden, welche wurde immer wieder im Lauf der Up
+gepostet, naehere Auskunft geben aber gerne Vanion und Rikus, steht ein Reboot
+an.
+
+Desweiteren gibt es eine kleine Aenderung bei den FPs. 
+Die bisherigen FPs sind von der Schwierigkeit sie zu finden recht inhomogen.
+Dies wurde bisher noch nicht beruecksichtigt. 
+Nach Reboot werden die FPs in Schwierigkeitsgrade von 1-3, leicht ueber mittel
+zu schwer, unterschieden.
+Fuer einen gefundenen FP wird es dann folgendermassen Stufenpunkte geben:
+- fuer 1 ein drittel der bisherigen stufenpunkte
+- fuer 2 die haelfte der bisherigen stufenpunkte
+- fuer 3 die bisherigen stufenpunkte
+
+Nach Reboot werden die Savefiles skriptbasiert umgestellt. Gnadenregelungen
+fuer Altspieler gibt es nicht.
+
+Flame on
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Re: reboot (Muadib,  1. Apr 2004, 16:00:44):
+~#! rn=Muadib rt=1080802926 rg=bekanntmachungen
+~#! tid=1080802926
+bloeder termin heute zugegeben.
+ich hab mal den arma auf morgen verschoben ihn vor der unberechtigten
+laecherlichkeit zu retten
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: reboot (Muadib,  2. Apr 2004, 10:37:51):
+~#! rn=Muadib rt=1080828044 rg=bekanntmachungen
+~#! tid=1080802926
+okok,
+
+die laecherlichkeit war doch berechtigt.
+
+fuer die die es ganz klar brauchen:
+
+es handelte sich bei reboot und fpaenderung um einen aprilscherz, wobei
+letzteres waere doch eigentlich ne ganz sinnvolle aenderung oder?
+
+-----------------------------------------------------------------------------
+
+
+
+Umzug MG (Hate,  6. Apr 2004, 10:52:39):
+Hallo liebe Spiele und Magier :-)
+
+im laufe dieser Woche werde ich das MG auf den neuen Rechner umziehen. Leider
+kann ich nicht genau sagen, wann das passieren wird, so dass ein reboot
+moeglicherweise erst einige Stunden vorher angekuendigt wird. Das wichtigste
+Detail bei der Umstellung ist, dass sich die IP Adresse fuer das MUD aendert.
+Ich werde den DNS Server umstellen, aber die Erfahrung zeigt, dass das bis zu
+zwei Tage dauern kann, bis die neue Adresse ueberall bekannt ist. Eventuell
+gibt es fuer die Zwischenzeit eine Umleitung von der alten IP Adresse aus.
+Desweiteren koennte es sein, dass manche Services, wie WWW oder FTP nicht
+vollstaendig funktionstuechtig sind.
+
+Also, macht euch auf was gefasst.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Neue RM in der Ebene (Zook,  6. Apr 2004, 22:58:52):
+Hallo zusammen,
+
+wir haben zur Verstaerkung in der Region Ebene neue Regionsmagier gefunden.
+Ab sofort werden Arathorn und Miril in der Region den Besen schwingen und 
+fuer Spieler und Magier zur Verfuegung stehen. Euch beiden viel Erfolg!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Umzug heute ... (Vanion,  7. Apr 2004, 23:21:40):
+Hallo Leute,
+
+heute ist das MG auf den neuen Rechner gezogen. Dabei gab es ein paar kleinere
+Komplikationen, aber eigentlich lief alles recht glatt.
+
+Es wird in den naechsten Tagen sicher noch einiges an Arbeit auf uns zu
+kommen. FTP funktioniert noch nicht und auch die Webseite ist noch nicht
+wieder vollstaendig online. Das Mus selbst scheint aber stabil zu laufen und
+es ist kein weiteres Reboot geplant.
+
+Ich wuensch euch eine von nun an lagfreiere Zeit im MorgenGrauen und bedanke
+mich hiermit bei Hate, der heut ziemlich geschuftet hat.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Umzug heute ... (Vanion, 17. Apr 2004, 20:34:29):
+~#! rn=Vanion rt=1081372900 rg=bekanntmachungen
+~#! tid=1081372900
+So,
+
+nach einigen Tagen ohne, laeuft jetzt auch wieder FTP auf dem MG-Rechner.
+Danke an Hate, Muadib und Ogo fuer die Stunden, die sie darin investiert
+haben, alles wieder zum laufen zu bringen.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Probleme mit dem Webserver (Vanion,  7. Jun 2004, 11:26:37):
+Hallo,
+
+Wie einige von euch mitbekommen haben, gibt es nach dem Umzug des MorgenGrauen
+auf einen neuen Rechner immer noch Probleme mit dem WWW. Diese sind nicht so
+einfach zu beheben, wie bisher gedacht. Mit dem Korrigieren einiger Links ist
+es nicht getan.
+
+Wir sind derzeit dabei, neue Loesungen fuer das Content Management (ich liebe
+buzzwords in Bekanntmachungen) zu ueberlegen und zu testen. Dies wird aber
+noch eine Weile dauern.
+
+Wir bitten daher um noch etwas Geduld.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Heilungs-Balance (Zook,  8. Jun 2004, 11:18:36):
+Hallo zusammen,
+
+bisher stand ich (obwohl ich gerade festgestellt habe, dass ich das gar nicht
+in die Hilfeseite geschrieben habe) Gabylon bei der Wahrnehmung seiner 
+Heilungs-Balance-Aufgaben als Erzmagier fuer Rueckfragen, Problemfaelle
+etc. zur Verfuegung. Diese Aufgabe geht nun auf Nonne ueber, der damit einen
+Balance-Faden mehr in seinen Haenden haelt. Ueber etwaige weitere 
+Aenderungen werden Euch die beiden dann direkt informieren.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot 28.6.2004 18:30 - ca 23:00 (Hate, 23. Jun 2004, 11:10:44):
+Am 28.6.2004 (Montag) wird es in unserem Serverraum zu einer Umstellung der
+Stromversorgung kommen, die leider (trotz USV) ein Abschalten des Servers
+notwendig macht. Die USV ist fuer kurzzeitige Unterbrechungen des Hauptstroms
+da, kann aber keine 5 Stunden durchhalten.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+reboot 29.06.2004 (Muadib, 26. Jun 2004, 17:48:49):
+hi,
+
+nach dem reboot am 28. werden wir die gelegenheit wahrnehmen und einzwei
+aenderungen einbauen. im verlaufe dessen wird es dienstag abend zu einem
+erneuten reboot kommen.
+
+muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Attribute (Muadib, 29. Jun 2004, 19:45:59):
+Hi,
+
+Attributsveraenderungen ueber Waffen/Ruestungen und andere Objekte haben nun
+eine gegenseitige Abhaengigkeit.
+Daher kann es zu Attributanhebungen ueber 4 kommen, aber auch zu nicht
+wirkenden Aenderungen.
+
+Bitte probiert nach Herzenslust aus und haltet Euch nicht mit Kommentaren
+zurueck :)
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Mudlib-Release (Vanion, 29. Jun 2004, 22:34:22):
+Bevor die Fragen sich haeufen,
+
+Ja, es wird demnaechst ein Mudlibrelease geben, die ganzen Neuerungen werden
+zur Verfuegung gestellt werden. Gebt uns etwas Zeit, die Aenderungen zu testen
+und Bugs rauszuholen und eventuell noch ein zwei andere Sachen mit
+einzupflegen.
+
+Gruesse,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+NPC-Balance (Zook, 16. Jul 2004, 12:35:14):
+Hallo zusammen,
+
+vielen Dank fuer die Eingaben und Diskussionen zu den Aufgaben einer
+NPC-Balance. Wir Erzmagier haben die verschiedenen Meinungen und Ideen
+gelesen und bewertet und sind nun zu folgendem Fazit gekommen:
+
+Eine institutionalisierte NPC-Balance wollen wir forthin nicht 
+aufrecht erhalten. Der fuer die Erstkill-Stupse zustaendige 
+Erzmagier wird weiterhin fuer das Eintragen der Stupse zustaendig sein
+und dabei natuerlich auch Vorstellungen ueber einen sinnvoll 
+ausbalancierten NPC hinsichtlich der Stupse artikulieren.
+
+Beschwerden von Spielern (Magiern) ueber unangemessene NPCs sollen 
+zukuenftig ueber den Weg des Regionsmagiers bzw. direkt ueber mich
+kanalisiert werden. Anregungen und Anmerkungen werden von den 
+zustaendigen Magiern sicher gerne entgegen genommen.
+
+Des Weiteren wird zukuenftig Muadib fuer das Eintragen der 
+Erstkill-Stupse zustaendig sein.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Mud-Uptime (Zook, 27. Jul 2004, 16:37:23):
+Liebe Mitspieler, aus bisher noch nicht bekannten Gruenden hat unser 
+schoener Rechner heute Nachmittag einfach mal den Dienst eingestellt, so 
+dass ein Reboot noetig wurde. An der Fehlersuche wird gearbeitet.
+
+Wir nutzen diesen Reboot dazu, etwaige noch noetige Aenderungen im MG 
+einzuspielen, es ist daher mit Spielunterbrechungen bzw. Reboots zu 
+rechnen. (Naeheres vom einbauenden EM, der sich damit dann auch zum
+"EM-der-Woche" bewirbt.)
+
+Entwarnung erfolgt an dieser Stelle.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mud-Uptime (Zook, 29. Jul 2004, 23:17:52):
+~#! rn=Zook rt=1090939043 rg=bekanntmachungen
+~#! tid=1090939043
+Ich trage gerne die Nachricht von Muadib zu Euch, dass wir nun eine 
+Entwarnung geben koennen. Das MG sollte nun also stabil laufen.
+
+Zook.
+
+PS: Bald gibt es wieder einen "Erzmagier-der-Woche....ach was, des MONATS!" ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Umzugsmeister (Zook,  9. Aug 2004, 12:15:49):
+Hallo zusammen, ich gebe bekannt, dass Arathorn fuer einige Umzugsarbeiten
+in den von ihm betreuten Regionen/Gebieten einen zusaetzlichen Umzugswagen
+(sprich zusaetzliche Schreibrechte) zur Verfuegung gestellt bekommt. Fuer die
+Dauer der Umzuege habe ich Arathorn zum Weisen [W], Magierlevel 55, 
+befoerdert.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Umzugsmeister (Zook, 12. Sep 2004, 23:11:25):
+~#! rn=Zook rt=1092046549 rg=bekanntmachungen
+~#! tid=1092046549
+Ich moechte mich sehr herzlich bei Arathorn fuer seine Umzugsarbeiten 
+bedanken! Umzuege machen Arbeit und fuehren zu einigem Unmut, wenn
+Fehler o.ae. auftreten. Insofern herzlichen Dank fuer diese Arbeit!
+
+Zook.
+
+PS: Damit endet auch Arathorn [W]eisendasein, Ihr muesst Euch also fuer
+etwaige Schreibrechte nun wieder an andere Magier wenden.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Crash (Vanion, 16. Sep 2004, 07:22:56):
+Ursache des Crashs heut Nacht war ein Servercrash/-reboot. Naeheres spaeter.
+
+Gruesse, V*
+
+-----------------------------------------------------------------------------
+
+
+
+Unterbrechung wegen Stromabschaltung am 13.10. (Hate, 11. Okt 2004, 18:36:37):
+Wegen einer Stromabschaltung muss ich leider die Rechner, u.a. MG,
+herunterfahren. Am Mittwoch, den 13.10.2004, zwischen ca. 17:15 und 19:00
+
+
+Hate.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Mudlib und GameDriver (Vanion, 13. Okt 2004, 22:10:53):
+Moin Leute,
+
+Mit dem heutigen Reboot ist ein neuer GameDriver geladen worden. Es gab 
+zwarein paar Startschwierigkeiten, die durch die Aenderung einiger Ver-
+zeichnisnamen entstanden sind, aber soweit ich momentan erkennen kann, 
+laeuft der neue Driver stabil.
+
+Die Sourcen des neuen Drivers sind wie immer im FTP-Verzeichnis des Muds
+unter Software/GameDriver zu finden:
+  0ba410a3417c68a7a3d92b997106366b  driver.03.02.1@147-041013.tar.bz2
+  28be48a3f91b641d2d86230adf52fa8c  driver.03.02.1@147-041013.tgz
+  f26681306afa0d47e8f4d8c1c86210e4  patch.03.02.1@146-147.diff.gz
+    
+Diesmal wurde fuer die Leute mit duenner Leitung ein Patchfile beigelegt, 
+der folgendermassen eingepflegt werden kann:
+  'cd driver.146; patch -p1 < pfad/patch.03.02.1@146-147.diff.gz'
+
+Alle Aenderungen sind im beiliegenden File CHANGELOG dokumentiert. Beim 
+Compilieren aber bitte besonders beachten:
+
+1.) Der neue Driver benutzt nun pcre fuer die Auswertung regulaerer 
+    Ausdruecke, daher muss die PCRE-Bibliothek installiert sein.
+2.) Der Driver geht davon aus, dass er in /home/mud/bin installiert 
+    wird und dass die Mudlib in /home/mud/mudlib liegt, nicht wie 
+    bisher in /home/mud/mud/...
+
+Wie immer wird schnellstmoeglich eine unter Windows lauffaehige Version 
+des Drivers nachgeliefert.
+
+Da es in der Zwischenzeit auch die eine oder andere Lib-Aenderung gegeben
+hat, gibt es gleich auch noch ein Mudlib-Release. Es findet sich im Ver-
+zeichnis Software/MudLib:
+  18027f39408834e059b810e0fe9090a5  MorgenGrauen-3.2.19.tar.bz2
+  b13bf95e98d7f3e2bf71c7186485d275  MorgenGrauen-3.2.19.tar.gz
+
+Mein Dank gilt dem Driver-Team fuer die prima Unterstuetzung, insbesondere
+aber Ogo, aus dessen Feder (Tastatur) die meisten der Fixes dieses Driver-
+Releases stammen.
+
+V*
+PS: Wenn Ihr Merkwuerdigkeiten/Fehler/Probleme findet, meldet euch bitte
+    bei mir. Fehler die wir nicht kennen, koennen wir auch nicht fixen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mudlib und GameDriver (Vanion, 13. Okt 2004, 22:29:20):
+~#! rn=Vanion rt=1097698253 rg=bekanntmachungen
+~#! tid=1097698253
+Eine Source hat immer n+1 Fehler. n hat sich gerade um 1 erhoeht.
+
+Der Crash eben war mein Fehler. Wir werden so schnell wie moeglich einen
+Bugfix liefern.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot nicht ausgeschlossen ... (Vanion, 14. Okt 2004, 20:16:53):
+Hallo Leute,
+
+leider muss ich euch mitteilen, dass der aktuelle Driver nicht so stabil ist,
+wie wir gern haetten. Vorgeschmack hierfuer war schon der Doppelcrash gestern.
+Auch die nicht funktionierende Ebenenhistory sind Anzeichen fuer
+Driver-Fehler.
+
+Wir arbeiten derzeit an einem stabilen Driver, so dass wir, falls sich weitere
+Probleme bemerkbar machen, einen Ersatz haben. Wir versuchen um einen Reboot
+drumrum zu kommen, koennen ihn aber nicht ausschliessen.
+
+Gruesse,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Crash (Vanion, 15. Okt 2004, 06:42:23):
+Heute Nacht gg 2 Uhr hat es noch einmal gecrasht. In dem Zug wurde die
+fehlerhafte Stelle aus dem Driver entfernt. Ich gehe von einer mindestens
+zweihunderttaegigen Uptime aus. Mindestens!
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mudlib und GameDriver (Vanion, 21. Okt 2004, 19:08:19):
+~#! rn=Vanion rt=1097698253 rg=bekanntmachungen
+~#! tid=1097698253
+Da der letzte Driver etwas instabil war, laeuft nun eine Version, die um den
+fehlerhaften Code erleichtert wurde. Wie immer liegt deine Kopie deines
+Lieblingsdrivers unter Software/GameDriver.
+ b4cbdf02986bfd3fccb60fb2d31a3372  driver.03.02.1@148-041015.tar.bz2
+ fd80bd5d5dd59ccaa44f69db556e25f3  driver.03.02.1@148-041015.tgz
+
+Gruesse,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Enttanken revisited (Humni, 28. Okt 2004, 10:18:05):
+Nach einigen Ueberlegungen und Beobachtungen unsererseits haben wir uns das
+Tanksystem erneut angeschaut. Wir haben einige der Enttank-Werte neu
+ueberdacht und ein wenig angepasst.
+
+Ziel der Aktion war keineswegs eine Gleichmacherei. Wir wollten die Werte so
+umbauen, dass die einzelnen Rassen sich durchaus unterscheiden, unter dem
+Strich aber keine absoluten Ungerechtigkeiten auftreten, sondern jede Rasse
+irgendwo ihre Vorteile hat.
+
+Ich will nicht auf jede einzelne Zahl eingehen und jede Aenderung erlaeutern,
+nur ein paar grundsaetzliche Dinge: Es hat keine Abwertungen gegeben, alle
+koennen nun etwas mehr bzw. schneller enttanken (durch Klogaenge - nicht jede
+Rasse ist auf jeden Fall mit Fluessigkeit und fester Nahrung verbessert - aber
+jede Rasse hat nun einen leichten oder auch deutlichen Vorteil gegenueber dem 
+Vorherigen System). 
+ 
+Dabei sind nur die Enttank-Werte angepasst worden. Einzige Ausnahme bilden
+da die Zwerge, die jetzt deutlich mehr essen koennen als vorher.
+
+Die Aenderung gilt ab ende/renew/reboot. Solange rennt ihr noch mit den
+alten Werten herum.
+ 
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Heilungs-Balance (Zook, 11. Nov 2004, 22:27:46):
+Hallo zusammen,
+
+fuer die Heilungs-Balance ist kuenftig Nonne allein zustaendig, Gabylon 
+scheidet aus der Heilungs-Balance aus. Fuer sein Engagement und seine
+Unterstuetzung bei der Weiterentwicklung der Heilungs-Balance moechte
+ich mich bei Gabylon recht herzlich bedanken.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Unser Debug-Gebietswarte-Weise Feigling... (Zook, 12. Nov 2004, 09:41:40):
+Hallo zusammen,
+
+das RL hat einmal wieder zugeschlagen und diesmal unseren [W]eisen Feigling
+getroffen. Leider hat er nicht mehr genuegend Zeit, um seine Aufgabe aus-
+zuueben und ist daher von seinem Posten zurueckgetreten. 
+
+Vielen Dank, Feigling, fuer Deine Mitarbeit und Engagement beim Ausrotten
+der Kaefer!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Regionsmagier im Polar-Gebiet (Zook, 23. Nov 2004, 13:43:25):
+Hallo zusammen,
+
+ich mache Euch die freudige Mitteilung, dass Humni nun das Polargebiet
+gemeinsam mit Noel als Regionsmagier betreut. Viel Spass und viel Erfolg
+bei Deiner neuen Aufgabe, Noel!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Rassenstartpunkt / Gebetspunkt der Zwerge (Zook, 13. Dez 2004, 13:58:22):
+Hallo zusammen,
+
+wegen jahrelanger Verirrungen von Zwergen in ihren eigenen Gemaeuern haben
+wir uns erbarmt und den Startpunkt der Zwergenrasse wieder in die 
+Zwergenstadt gelegt, ebenso den Startpunkt nach einem Tod. 
+
+Gruss, Zook.
+
+PS: Bereits eingelogte Zwerge koennen moeglicherweise mit ende in den
+Genuss kommen, ansonsten erst nach Reboot/Crash.
+
+-----------------------------------------------------------------------------
+
+
+
+Zook sagt, ich soll was nettes schreiben ... (Vanion,  2. Jan 2005, 18:03:14):
+Hi,
+
+also schreib ich, dass ich mich nicht loeschen werde. :) Ich habe mich
+allerdings entschieden, von meinem Amt als EM zurueckzutreten.
+
+Gruende dafuer sind hauptsaechlich darin zu suchen, dass die Tage selten genug
+Stunden haben. Ich schaetze, das geht wohl vielen so :)
+
+Trotzdem, es war eine schoene Aufgabe und eine schoene Zeit und ich moechte
+mich bei euch fuer die gute Zusammenarbeit bedanken.
+
+V*
+PS: Wuah, also Abschiedsreden waren nie mein Ding :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zook sagt, ich soll was nettes schreiben ... (Zook,  2. Jan 2005, 18:07:20):
+~#! rn=Vanion rt=1104685394 rg=bekanntmachungen
+~#! tid=1104685394
+Ein herzliches Dankeschoen geht von "uns" an Dich fuer Deine vielen Stunden,
+in denen Du Dich um die Mudlib, den Driver, die Gesellenstuecke und vieles
+andere gekuemmert hast. 
+
+Und wir halten Dir einen Schreibtisch frei, fuer die Tage, an denen Du 
+wieder mehr Zeit fuer das MorgenGrauen hast... ;))))
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Jungmagier (Zook,  2. Jan 2005, 18:58:39):
+Hallo Jungmagier und solche, die es werden moechten! 
+
+Mit allen Fragen zu Euren Gesellenstuecken (Fragen zum Konzept, o.ae.) 
+koennt Ihr Euch an mich wenden. Ich nehme auch gerne Eure Arbeiten ab 
+und befoerdere Euch dann zum Vollmagier.
+
+Besten Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Jungmagier (Zook,  2. Jan 2005, 19:00:39):
+~#! rn=Zook rt=1104688719 rg=bekanntmachungen
+~#! tid=1104688719
+Nur damit keine Unklarheiten enstehen: Programmieren muesst Ihr noch 
+selbst. :-)
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Cicerones (Humni,  4. Jan 2005, 14:28:13):
+Huhu,
+
+nach langer, reiflicher Ueberlegung sind die Erzmagier des MorgenGrauens zu
+der ultimativen Erkenntnis gelangt, dass ,,Cicerone'' ein passender Begriff
+fuer einen Neulingshelfer, Fremdenfuehrer oder aehnliches ist.
+
+Darum gibt es seit heute die Moeglichkeit, sich selbst den Status eines
+Cicerone zu setzen. Die Aufgabe ist dann, kleinen Spielern die ersten Schritte
+im MG zu erleichtern. Die kleinen Spieler bekommen im Gegenzug eine Meldung,
+welche Cicerones anwesend sind.
+
+Der Status bringt keinerlei Privilegien mit sich und ist jederzeit ein- und
+ausschaltbar. Vor einer groesseren Metzelorgie solltet ihr ihn unbeding
+ausschalten.
+
+Naeheres ueber ein- und ausschalten und den Status findet ihr unter ,,hilfe
+cicerones'' und ,,hilfe cicerone''. Es werden noch ein paar Features
+implementiert werden, dies betreffend. Vorschlaege bitte an mich oder an
+andere EMs, oder in die entsprechenden MPA-Threads.
+
+Bitte nutzt dieses Feature mit Gehirn und lest vorher, was man von Euch
+erwartet.
+
+Auch Magier duerfen Cicerones werden. Ihr solltet den Spielern natuerlich dann
+keine Ausruestung oder Geld geben ;-) hier apelliere ich einfach an Euren
+gesunden Menschenverstand.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Cicerones (Zook,  4. Jan 2005, 14:31:43):
+~#! rn=Humni rt=1104845293 rg=bekanntmachungen
+~#! tid=1104845293
+Humni moechte ergaenzen, dass der Befehl erst neuen Spielerobjekten
+zur Verfuegung steht, also nach ende/crash/reboot.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Web (Muadib,  5. Jan 2005, 16:28:52):
+Hi,
+
+die Regionen sollten im Web wieder zugaenglich sein. Auch die Gilden.
+Zumindest die, deren Seiten intern liegen.
+Das Shockwave-Telnet geht noch nicht wieder.
+
+Bitte gebt bei Zugriffsfehlern Feedback an mich. Nicht bei inhaltlichen
+Fehlern bitte.
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Web (Muadib, 20. Jan 2005, 09:06:41):
+~#! rn=Muadib rt=1104938932 rg=bekanntmachungen
+~#! tid=1104938932
+Hi,
+
+Guard hat mich darauf hingewiesen, dass er gerne inhaltliche Fehler in den
+Webseiten entgegen nimmt.
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Mudlib und GameDriver (Rikus, 27. Jan 2005, 21:12:28):
+~#! rn=Vanion rt=1098378499 rg=bekanntmachungen
+~#! tid=1097698253
+die Portierung fuer Win* liegt wie immer unter Software/GameDriver/WinTCPIP
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Hejda (Zook,  3. Mar 2005, 16:39:29):
+~#! rn=Nibel rt=1109864130 rg=d.wald
+~#! tid=1109864130
+Da bleibt mir, Dir, Nibel, ganz herzlich fuer Dein Engagement und die 
+aufgewendete Zeit als RM Wald zu danken! 
+
+Wer sich als Nachfolgerin oder Nachfolger fuer zukuenftige Rodungs-Aktionen
+berufen fuehlt oder jemanden kennt, dem er/sie diese Aufgabe zutraut, bitte
+ich um eine E-Mail an mich.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Was man so hoert  (Muadib,  1. Apr 2005, 00:07:37):
+Vor kurzem wurde ich unfreiwillig Zeuge eines Gespraeches zwischen zwei
+Personen, die ich nicht naeher nennen moechte.
+Nun normalerweise veroeffentliche ich die Inhalte solcher Gespraeche nicht in
+der MPA, aber hier scheint mir das Ganze doch von grossem Interesse fuer uns
+alle im Morgengrauen. 
+Daher folgt nun das, was ich verstehen konnte:
+
+HAHAHA, GESCHAFFT! HURRA!
+Was gibts?
+ICH HAB ES GESCHAFFT, DIE SEELEN DER SPIELER GEHOEREN NUN BALD ALLE MIR. UND
+AUCH DU KANNST NICHTS MEHR DARAN AENDERN.
+Wie meinen?
+IST DIR AUFGEFALLEN, DASS DER JUNGGOTT IN LETZTER ZEIT RECHT OFT IN DER WAND
+HAENGT UND GROESSERE ZEITEN DER ABWESENHEIT HAT?
+Ja, und?
+UND JOF UND RUMATA SIND AUCH WENIG DA.
+Ja?
+BOING KALKT VOR SICH HIN UND UEBT AUCH KEINE MACHT MEHR AUS.
+Worauf willst Du raus?
+UND DIE ERZMAGIER SIND NUR NOCH EIN HAEUFCHEN BESCHRAENKTER KNALLKOEPPE, DIE
+SICH IN IHRER KLEINEN MACHTPFUETZE SUHLEN.
+Naja, also, ganz so ist es ja nicht. Aber ok, man koennte Dir zustimmen
+wollen. Aber das ist doch alles nicht wirklich neu.
+NUN, DA DAS MORGENGRAUEN SO GOTTVERLASSEN UND SCHUTZLOS DA LIEGT,HABE ICH MIR
+DIE FREIHEIT GENOMMEN EIN WENIG IN DIE GRUNDFESTEN EINZUGREIFEN.
+Ah, Du hast ein paar Bugs eingebaut?
+NEINEIN, KEIN SO KINDERKRAM. 
+ES BETRIFFT DIE WIEDERGEBURT.
+Was ist damit?
+ICH HAB SIE ABGESCHAFFT. BETRITT NUN EIN SPIELER MEIN REICH SO IST ES FUER
+IMMER! HAHHAHAAAAAAAAAAA!!!!!!
+Aeh, moment mal. Was ist dann mit mir?
+WAS SOLL MIT DIR SEIN?
+Ich hab dann keine Arbeit mehr. Hallo? Was soll das?
+NA, OEH, DANN MACH DOCH URLAUB. ODER GEH IN RENTE.
+Von welchem Geld? Ich hab doch nix. Ausserdem liebe ich den Job. Das ist mein
+Lebensinhalt.
+ACH, HAB DICH NICHT SO. ICH WEISS GENAU DASS DU MANCHEN SPIELERN IMMER WIEDER
+WAS ABGEKNOEPFT HAST. UND BEI DEINEM LETZTEN SPANIENURLAUB WARST DU AUCH NICHT
+SONDERLICH UNGLUECKLICH. VOR ALLEM DER BADEMEISTER TAT DIR GUT!
+Aehem, naja schon. Aber da ist nochwas...
+WAS?
+Naja, also...
+Wusstest Du schon dass Knochen bei manchen Voelkern als erotisch gelten?
+AEH..
+Ja, also...
+Muss ich das nun wirklich ausfuehren?
+Sei doch mal ein wenig sensibel.
+Warum glaubst Du mach ich den Job schon so lange?
+Doch nur weil ich Dich ...
+Dich fuer so einen tollen Kollegen halte.
+OHEM,NUN, ALSO, ICH FINDE DICH JA AUCH ... GANZ NETT
+ALSO FUER EINEN LEBENDIGEN
+Und nu?
+VIELLEICHT KANN ICH JA NOCHMAL EIN WENIG IM GEFUEGE AENDERN, SO DASS DU DIE
+SPIELER REINKARNIEREN KANNST, DIE UNBEDINGT DARAUF BESTEHEN UND ICH DEN REST
+KASSIERE?
+Das hoert sich sehr gut an.
+NUN GUT, MACHEN WIR DAS.
+UND NUN ...
+Ja?
+HAST DU SCHONMAL MEINE SANDUHRENSAMMLUNG GESEHEN?
+Neeiiiin, noch nie?
+NA DANN, SOLL ICH SIE DIR ZEIGEN???
+
+
+Leider entfernten sich die beiden dann aus meiner Hoernaehe.
+Was das wohl zu bedeuten hat?
+Und was meinen die mit Knallkoeppe???
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Was man so hoert  (Muadib,  1. Apr 2005, 09:50:10):
+~#! rn=Muadib rt=1112306857 rg=bekanntmachungen
+~#! tid=1112306857
+Fuer die weniger Lesefreudigen:
+Ab sofort gibt es fuer neu angelegte Spieler den Hardcoremodus zur Auswahl.
+Hardcoremodus bedeutet: ein Tod und das wars
+
+-----------------------------------------------------------------------------
+
+
+
+Ruecktritt als EM (Nonne,  8. Apr 2005, 10:11:27):
+Hallo Leute,
+
+aus persoenlichen Gruenden werde ich meinen Job als EM an den Nagel haengen.
+Es hat mir sehr viel Spass gemacht, auch wenn einige Leute alles dran gesetzt
+haben, um das zu verhindern ;-) Ich danke trotzdem allen fuer die gute
+Zusammenarbeit und hoffe, dass es einen Nachfolger gibt, der den Job zu aller
+Zufriedenheit erledigt. Bis so jemand gefunden wird, werde ich den Posten
+weiterhin bekleiden, um die Arbeit der Balance so wenig wie moeglich zu
+verzoegern.
+
+Nonne.
+
+-----------------------------------------------------------------------------
+
+
+
+Ausschreibung: Erzmagier fuer Objekt-, Heilungs-Balance (Zook,  8. Apr 2005, 10:22:12):
+Vorab moechte ich Nonne herzlich Danke sagen fuer die Zeit, in der er fuer 
+die Objekt- und Heilungsbalance hier im MorgenGrauen zustaendig war, fuer 
+die Zeit und Energie, die dafuer noetig waren.
+
+
+Wir suchen nun eine Nachfolgerin, einen Nachfolger. Wer Interesse an dieser
+Taetigkeit hat, ist zur Bewerbung aufgefordert. Falls Ihr jemanden kennt,
+dem Ihr diese Aufgabe zutraut, so lasst uns doch auch darueber eine Nachricht
+zukommen. 
+
+Bitte richtet Vorschlaege und Bewerbungen an das Mail-Alias "balance". Wir
+EM+ werden gemeinsam mit dem Balance-Team aus den Bewerbungen eine
+Kandidatin oder einen Kandidaten auswaehlen.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Regionsmagier-Rochade.... (Zook, 16. Apr 2005, 20:05:39):
+Hallo zusammen,
+
+ich gebe gerne bekannt, dass Miril in der Ebene als Regionsmagierin 
+ausscheidet und sich fortan statt der Ebene dem Wald widmet. 
+
+Im Wald wird sie nicht alleine bleiben, sondern Chagall wird neuer
+Regionsmagier im Wald. Viel Spass und Erfolg bei Deiner neuen Aufgabe,
+Chagall!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Was man so hoert  (Muadib, 16. Apr 2005, 22:18:44):
+~#! rn=Muadib rt=1112341810 rg=bekanntmachungen
+~#! tid=1112306857
+der hc-modus ist uebrigens immer noch sowas von prima drinne
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Region "Anfaenger" (Zook, 19. Apr 2005, 17:28:20):
+Hallo,
+
+verschiedene Intiativen und Ideen laufen nun zusammen: Wir wollen das
+Spielen fuer Anfaenger oder sehr kleine Spieler einfacher, interessanter
+bzw. uebersichtlicher gestalten. Zu diesem Zweck haben wir eine neue
+Region eingerichtet, in der speziell einige dieser Projekte ihren
+Platz finden werden. 
+
+Als Regionsmagier ist vorerst Ark ernannt, er koordiniert den ersten
+Schwung Objekte, Teil-Projekte.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ausschreibung: Erzmagier fuer Objekt-, Heilungs-Balance (Zook, 23. Apr 2005, 16:48:37):
+~#! rn=Zook rt=1112948532 rg=bekanntmachungen
+~#! tid=1112948532
+Als Frist fuer eine Entscheidung haben wir uns Anfang Juni vorgenommen, 
+etwaige Interessneten koennen sich auch bis dahin noch melden bzw. andere
+zur Bewerbung auffordern. Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Da es nun schon per "frufe" kursierte: (Zook, 31. Mai 2005, 18:09:43):
+Meine Erzmagier machen keine Bugs!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Balance-EM (Zook, 11. Jun 2005, 15:31:32):
+Hallo zusammen,
+
+das Balance-Team und die Erzmagier haben aus den Bewerbungen und Vorschlaegen
+eine Nachfolgerin fuer Nonne ausgewaehlt: Miril ist ab sofort fuer die
+Objekt- und Heilungsbalance zustaendig. Ueber die Weitergabe der Aufgaben
+von Nonne zu Miril geben uns beide in Kuerze die genauen Modalitaeten
+bekannt. 
+
+Liebe Miril, ich wuensche Dir und dem Balance-Team viel Spass bei der
+Arbeit an der Balance im MG. Nonne moechte ich an dieser Stelle auch noch
+einmal meinen Dank fuer die Mitarbeit in der Balance danken.
+
+Zook.
+
+PS: Willste die Lichtbalance eigentlich auch haben....? ;))))
+
+-----------------------------------------------------------------------------
+
+
+
+Nonne nun nicht mehr Erzmagier... (Zook, 29. Jun 2005, 11:26:32):
+Hallo zusammen, nachdem nun Miril die Leitung der Balance uebernommen
+hat, ist Nonne von seinem Posten als Erzmagier zurueckgetreten und nun 
+wieder zum Magierlevel 45 zurueckgekehrt. Vielen Dank, Nonne, fuer Dein
+Engagement und Deine Zeit, die Du als Erzmagier aufgebracht hast.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Chagall steht im Walde... (Zook, 10. Aug 2005, 21:56:54):
+... und das tut er nun auch alleine, Miril zieht sich als RM aus dem Wald
+zurueck und Chagall muss seine Staffelei nun alleine durch den Wald
+tragen.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Crash (Humni, 21. Aug 2005, 10:25:32):
+Huhu,
+
+aus einer mir gerade unbekannten Tatsache heraus ist heute morgen das Mud
+gecrasht. Das gab es frueher oefter, nur so als kurze Erklaerung fuer Spieler,
+die das noch nicht kennen:
+
+* Bei einem Reboot (was auch ein Crash wie heute morgen darstellt) verliert
+man alle Objekte, die man dabeihat, ausser Autoloadern.
+* Man beginnt wieder an seinem Startplatz.
+* Das alles ist kein Fehler, sondern tritt ab und an auch gelpant auf (gut,
+der Crash heute morgen war unplanmaessig). Daher: Nein, ihr bekommt Eure
+Sachen nicht zurueck. Ihr solltet ein paar Muenzen finden, als kleine
+Entschaedigung. Das wars. Das Leben ist hart. Frueher gabs das jede Woche. 
+
+Genauere Infos, wenn wir die Ursache kennen.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Crash (Zook, 21. Aug 2005, 22:22:31):
+~#! rn=Humni rt=1124612732 rg=bekanntmachungen
+~#! tid=1124612732
+Die Ursache ist folgende: Beim Zustellversuch einer E-Mail von ausserhalb
+des Muds ist der Speicher knapp geworden und das Mud infolge fehlenden
+Speichers gecrasht.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abwesend (Zook, 22. Sep 2005, 13:33:43):
+~#! rn=Muadib rt=1127388487 rg=magier.urlaub
+~#! tid=1127388487
+In Fragen willkuerlicher Regelauslegung und Ahndung etwaiger Verstoesse
+koennte Ihr Euch in der Zwischenzeit gerne an mich wenden. Ich versuche
+das Willkuer-Niveau zu halten.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Strom aus, kein MG bis Samstag (Humni, 22. Sep 2005, 16:10:39):
+Laut Hate wird am morgigen Freitag irgendwann der Strom im Hause des
+MG-Rechners abgestellt. Im ganzen Haus. Ja, auch in dem Raum, wo der
+MG-Rechner steht, und damit auch der MG-Rechner selbst.
+
+Der Strom wird auch erst Samstag wieder eingeschaltet. 
+
+Klartext: Morgen gibt es einen Reboot, der bis Samstag dauert. Erst dann ist
+das MG wieder da.
+
+Zeiten wusste Hate keine, und ich gebe das nur weiter. Also fragt gar nicht
+erst, wir wissen auch nicht mehr, Hate auch nicht.
+
+Ich kann nur "um Verstaendnis bitten", das ganze ist ausserhalb unserer
+Kontrolle. In dem Haus werden die Leitungen gepfueft.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Nochn reboot (Rumata, 25. Sep 2005, 11:21:33):
+Hallo liebe Spieler und Magier,
+weil der grosse schwarze Drache seine Handtasche vergessen hatte, will
+er nochmal kurz vorbeischauen und das Mud nochmal fressen.
+
+Beim Reboot sind einige Dinge aufgefallen die zusammen mit einem
+ueberfaelligen Kernelupdate dann erledigt werden koennen.
+
+Der Termin ist: "irgendwann am Montag".
+
+Sammelt also nicht zu fleissig.
+
+Rum*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nochn reboot (Zook, 26. Sep 2005, 12:20:03):
+~#! rn=Rumata rt=1127640093 rg=bekanntmachungen
+~#! tid=1127640093
+Das Kernel-Update wird beim naechsten regulaeren Reboot eingespielt und die
+aufgefallenen Dinge sind in des schwarzen Drachens Handtasche versunken.
+
+Soll heissen: Es gibt heute keinen Reboot, sondern das MG laeuft ganz
+normal weiter...
+
+Viel Spass!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Nachfolge fuer Twingi als RM Inseln  (Zook, 15. Okt 2005, 12:05:02):
+Hallo zusammen, leider findet Twingi nicht mehr genuegend Zeit, um ihre
+Aufgaben als Regionsmagier in der Region Inseln auszufuellen. Daher suchen
+wir nun eine Nachfolgerin bzw. einen Nachfolger. Interessenten, die schon
+immer einmal dienstlich zwischen den Inseln hin- und herschippern wollten,
+bitte ich um eine kurze Bewerbung! (Evtl. wird auch ein Dienstfahrzeug 
+gestellt, um nicht auf die lahmen Schiffe, Wale etc. angewiesen zu sein).
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Wartungsarbeiten am 27. Dezember 2005 (Zook, 22. Dez 2005, 20:04:11):
+Hate hat uns informiert, dass am 27. Dezember in der Zeit von ca. 17.30 
+bis 20.00 Uhr Wartungsarbeiten an der Stromversorgung des Serverraums
+durchgefuehrt werden muessen. Insofern wird dann das MorgenGrauen 
+heruntergefahren und hoffentlich mit gewartetem Strom wieder neu gestartet.
+
+Schoenen Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nachfolge fuer Twingi als RM Inseln  (Zook, 20. Jan 2006, 16:35:03):
+~#! rn=Zook rt=1129370702 rg=bekanntmachungen
+~#! tid=1129370702
+Ich gebe hiermit freudig bekannt, dass wir einen Jungmagier gefunden haben,
+der sich in diese Aufgabe als Regionsmagier einarbeiten moechte. Seleven
+steht mit Miril zukuenftig fuer die Region Inseln als verantwortliche
+Regionsmagier bereit! Dir viel Spass und Erfolg bei Deiner neuen Aufgabe,
+Seleven! 
+
+Bedanken moechte ich mich bei Twingi fuer die Zeit, in der sie in der
+Region als Regionsmagierin kraeftig mitgeholfen hat! Besten Dank dafuer!
+
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Frosch (Muadib,  4. Feb 2006, 13:31:07):
+Hi,
+
+aus aktueller Diskussion heraus, habe ich im Froschmodus eine Kleinigkeit
+geaendert.
+Wirksam nach Ende/Reboot.
+Ihr werdet schon merken was :)
+
+Gruss
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+CfD: Seheranforderungen (Zook,  6. Feb 2006, 17:51:53):
+Hallo zusammen,
+
+die derzeitigen Seher-Anforderungen passen sich dynamisch
+verschiedenen Entwicklungen im MG an (Durchschnitt bei den
+Forscherpunkten, feste Quote der gesamt verfuegbaren
+Abenteuerpunkte). Das fuehrte in den letzten Jahren dazu, dass die
+Seheranforderungen immer weiter nach oben gerueckt sind, so dass man
+verschiedentlich als Erstspieler sehr lange braucht, um Seher zu
+werden und dies mittlerweile oftmals erst mit einem Lvl. deutlich
+groesser als 40 erreicht. 
+
+Wir moechten die Seher-Anforderungen daher zum einen etwas absenken
+und zum anderen die Dynamik herausnehmen und die Anforderungen durch
+eine regelmaessige Evaluierung seitens der EM+ jaehrlich an
+moeglicherweise geaenderte Gegebenheiten anpassen.
+
+Im einzelnen saehe das so aus:
+
+Insgesamt benoetigt man 4.000 Stufenpunkte, um Seher zu werden. Aus
+den 4.000 Stufenpunkten muessen aus verschiedenen Kategorien
+Mindespunktzahlen erzielt werden. Es sind dies:
+
+ 1.800 Abenteuerpunkte
+   900 Stufenpunkte aus Forscherpunkten (entsprechen 150 FP oder 15
+       Runen)
+   300 Stufenpunkten aus Zaubertraenken (entsprechen 60 ZTs)
+   200 Stufenpunkten aus Erstkill-Stufenpunkten
+   100 Stufenpunkten aus Erfahrungspunkten (irgendwas knapp unter 2
+       Mio EP)
+   
+Das machen insgesamt 3.300 Stufenpunkte. Um Seher zu werden benoetigt
+man darueberhinaus dann noch 600 Stufenpunkte (100 Punkte erhaelt man
+als Startstupse mit Level 1). Die verbleibenden Punkte kann man dann
+beliebig einsammeln (u.a. werden auch Stufenpunkte aus dem Beherrschen
+von Gildenfaehigkeiten oder dem Loesen von MiniQuests
+beruecksichtigt). 
+
+Die Anforderungen sind nach wie vor relativ hoch, jedoch sind sie nun
+deutlich flexibler und die Spieler koennen auch Stufenpunkte aus allen
+moeglichen Bereichen einbringen. 
+
+Damit die Anforderungen nicht voellig statisch sind, werden wir EM+
+einmal im Jahr die Erfahrungen mit den Anforderungen diskutieren und
+ggf. Aenderungen nach oben oder unten vornehmen. Dies wird immer zu
+einem festen Zeitpunkt im Jahr sein, so dass man sich darauf als
+Spieler einstellen kann.
+
+
+Bevor wir diese Aenderung der Seheranforderungen umsetzen, moechten
+wir diese gerne zur Diskussion stellen. Also, egal ob Spieler, Seher
+oder Magier, schreibt einfach in diesen Thread hinein, was Euch
+gefaellt, nicht gefaellt, was man noch bedenken sollte etc. 
+
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: CfD: Seheranforderungen (Zook, 16. Feb 2006, 15:39:11):
+~#! rn=Zook rt=1139244713 rg=bekanntmachungen
+~#! tid=1139244713
+Die Wuerfel sind gefallen und zwar wie folgt:
+
+Um Seher zu werden, benoetigt man zukuenftig 3.800 Stufenpunkte.
+Dazu muessen aus verschiedenen Kategorien Mindestpunktzahlen
+erzielt werden. Es sind dies:
+
+ 1.610 Abenteuerpunkte
+   600 Stufenpunkte aus Forscherpunkten (entsprechen 100 FP)
+   200 Stufenpunkte aus Zaubertraenken (entsprechen 40 ZTs)
+   150 Stufenpunkte aus Erstkills
+
+Hinzu kommen 100 Stufenpunkte fuer den ersten Level. Demnach sind die
+verbleibenden 1.140 Stufenpunkte aus frei waehlbaren Quellen (incl.
+Erfharungspunkte, Gildenfaehigkeiten, MiniQuests) zu erzielen.
+
+Die Seheranforderungen werden jaehrlich zu einem festen Zeitpunkt
+evaluiert und ggf. nach oben oder unten angepasst.
+
+Eingebaut wird das ganze in Kuerze, es erfolgt dann noch eine Mitteilung
+in dieser Rubrik.
+
+Vielen Dank an die vielen Rueckmeldungen, die in der MPA gelandet sind, 
+aber auch per E-Mail oder im persoenlichen Gespraech geaeussert wurden.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Seheranforderungen (Zook, 21. Feb 2006, 11:04:29):
+Nun sollte auch Merlin ueber die neuen Seheranforderungen informiert
+worden sein. Soll heissen, irgendwie ist ein wenig Code angeschlossen
+worden; falls irgendwas noch unklar sein sollte oder nicht funktioniert
+oder zu gut funktioniert (wenn es also ne Gaeste-Seher-Schwemme gibt), dann
+bitte eine kurze Nachricht an mich.
+
+Vielen Dank an die helfenden Mitmagier!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Ostern (Miril, 14. Apr 2006, 12:13:51):
+Huhu!
+
+Soeben hat mir der Osterhase mitgeteilt, dass er durch die Anfaengerstart-
+gebiete gehoppelt ist und dort fuer jeden von Euch 6 Ostereier versteckt 
+hat.
+
+Ab Sonntag, 0.00 Uhr kann die Suche losgehen und muss bis Montag 23:59:59
+beendet sein ;).
+
+Viel Spass beim Suchen
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ostern (Miril, 16. Apr 2006, 09:07:39):
+~#! rn=Miril rt=1145009631 rg=bekanntmachungen
+~#! tid=1145009631
+Noch ein kleiner Tipp: Pro Anfaengerstartgebiet koennt ihr maximal 2 Stueck
+finden.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Aktuelle Mudlib (3.2.20) verfuegbar (Zook, 18. Apr 2006, 22:10:34):
+Hallo zusammen, die aktuelle Mudlib (Version 3.2.20) ist nun auf dem
+FTP-Server verfuegbar. Sorry, dass es so lange gedauert hat, bis eine 
+neue Mudlib zur Verfuegung steht. Bei Problemen oder Fehlern der 
+Mudlib bitte Nachricht an mich.
+
+Verfuegbar unter
+ftp://mg.mud.de/Software/MudLib/MorgenGrauen-3.2.20.tar.gz
+ftp://mg.mud.de/Software/MudLib/MorgenGrauen-3.2.20.tar.bz2
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+WebTelnet (Muadib, 16. Mai 2006, 20:18:37):
+Hallo,
+
+das WebTelnet wird voruebergehend abgeschaltet.
+Dies ist leider notwendig aus Sicherheitsgruenden, da die Verbindungsanzahl
+innerhalb des Servers bei nicht korrekt geschlossenem WebTelnet linear steigt
+und damit eventuell den Betrieb gefaehrdet.
+
+Sobald dies behoben ist, wird das WebTelnet selbstverstaendlich wieder online
+gehen.
+
+Gruss
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Crash (Humni, 13. Jul 2006, 09:22:44):
+Huhu,
+
+wie es aussieht hat das Mud heute nacht gecrasht.
+
+Da die vergangene Uptime ueber 200 Tage ging (oder so) hier eine kurze
+Erklaerung fuer diejenigen, die das noch nicht erlebt haben:
+
+Das Spiel wird ab und an neu gestartet. Das geschieht manchmal mit
+Vorankuendigung, manchmal jedoch auch, weil ein Fehler aufgetreten ist oder
+der Rechner ein Problem hatte. Das erstere nennt man Reboot, das zweitere
+Crash. Selbiger ist hier aufgetreten. Die Ursache ist mir derzeit noch
+vollkommen unklar, ich hab aber auch noch nicht viel rumgesucht.
+
+Fuer Euch Spieler heisst das: Eure Gegenstaende sind alle weg. Das ist fuer
+einige von Euch sicher tragisch, aber nicht zu aendern. Das ist auch kein
+Programmfehler, das gehoert zum Mudleben dazu. Nutzt die Gelegenheit und
+ruestet Euch neu aus. Eure Attribute, Quests und was ihr sonst erreicht habt
+ist alles noch da, nur die Gegenstaende fehlen Euch, mit wenigen sogenannten
+"rebootfesten" Dingen, die in der Regel Questbelohnungen sind.
+
+Wer nun meint, das sei unfair, dem sei gesagt, dass es frueher alle paar Tage
+bzw. spaeter alle paar Wochen einen Crash oder Rebbot gab.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Crash (Muadib, 13. Jul 2006, 09:43:20):
+~#! rn=Humni rt=1152775364 rg=bekanntmachungen
+~#! tid=1152775364
+Hallo Zusammen,
+
+den Crash werde ich zum Anlass nehmen am Wochenende eine Aenderung in der
+Mudlib vorzunehmen.
+Aus diesem Anlass wird es am Sonntag einen Reboot geben.
+
+Fuer alle, die so etwas noch nicht erlebt haben: Das Mud wird am Sonntag fuer
+wenige Minuten nicht erreichbar sein, danach werden alle bis dahin gesammelten
+Gegenstaende verschwunden sein. Die Ausnahmen stellen Geld und Autoloader dar.
+Humni hat das ja in dem vorherigen Posting schon gut erlaeutert.
+
+Bitte habt Verstaendnis fuer diesen beabsichtigten Reboot. Dies ist notwendig
+zur Weiterentwicklung und geschieht so selten wie moeglich.
+
+Gruss
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Crash (Muadib, 16. Jul 2006, 14:10:52):
+~#! rn=Muadib rt=1152776600 rg=bekanntmachungen
+~#! tid=1152775364
+Hiho,
+
+die eingebauten Aenderungen, stellen Magiern erweiterte Informationen zum
+Ablauf eines Kampfes zur Verfuegung. Diese haben auf den Ablauf eines Kampfes
+keinen Einfluss. 
+Der Reboot ist allerdings noetig, damit diese Informationen auch konsequent
+fuer alle NPCs und Spieler erstellt werden.
+
+Die Informationen sind recht ausfuehrlich. Das bedeutet erhoehten
+Rechenaufwand. Ich gehe nicht von einem staerkeren Lag oder Crashes aufgrund
+von Speicherproblemen oder Evalcost-Ueberschreitungen aus, aber das Risiko
+besteht.
+
+Soweit dazu. 
+
+Viel Spass mit der naechsten Uptime.
+
+Muadib
+
+
+PS: Eine genauere Beschreibung und Manpage fuer die Magier unter Euch folgt
+noch heute
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Crash (Muadib, 16. Jul 2006, 16:54:17):
+~#! rn=Muadib rt=1153051852 rg=bekanntmachungen
+~#! tid=1152775364
+Hallo Zusammen,
+
+es gab im Rahmen der Umstellung noch ein zwei Bugs, welche jeweils einen
+eigenen Reboot erforderten.
+Nachdem diese zwei Reboots nun vorbei sind, scheint der Zustand stabil zu
+sein, so dass ich mal vorsichtig Entwarnung geben moechte.
+
+Falls es denoch einen Reboot geben muss, naja, dann war die Entwarnung wohl
+voreilig
+
+Viel Spass
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Crash/Reboot (Zook, 24. Jul 2006, 12:48:13):
+Hallo zusammen,
+
+es tut mir ein wenig leid, aber das MG hat es eben in den Abgrund 
+gerissen, so dass ich es neu starten musste. Das Problem scheint im
+Moment nicht mehr aufzutreten und von daher denke ich, dass das
+Spiel nun wieder normal funktionieren sollte.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Crash/Reboot (Zook, 24. Jul 2006, 12:49:59):
+~#! rn=Zook rt=1153738093 rg=bekanntmachungen
+~#! tid=1153738093
+Ein wenig technisch fuer die versierten Spieler/Magier:
+
+Die Zahl der Call-Outs lief nach oben (am Ende jenseits von 3000
+Call-Outs). Man konnte zwar neue hinzufuegen, ggf. wurden die dann
+aber gar nicht abgearbeitet und verschwanden auch nicht mehr aus
+der Liste der Call-Outs (selbst wenn das aufrufende Objekt zerstoert
+wurde). 
+
+Warum das passierte, ist im Moment unklar.
+
+Sorry fuer die Unannehmlichkeiten.
+
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Kampfstaebe (Zook, 31. Jul 2006, 18:16:22):
+Hallo zusammen,
+
+es hat (siehe entsprechende Threads in der MPA) in letzter Zeit einige
+Unklarheiten gegeben, was man unter einer Waffe der Gattung
+"Kampfstaebe" verstanden werden soll. 
+
+Wir (Erzmagier zusammen mit Gabylon) haben uns einmal zur Beratung
+zurueckgezogen und moechten die Angelegenheit mit folgenden
+Erlaeuterungen etwas klaeren:
+
+Gabylon hat ausgefuehrt, dass es einerseits "Kampfstaebe" mit einer
+zweihaendigen Technik gibt. Diese unterscheidet sich sehr stark von
+der Kampftechnik eines einhaendig gefuehrten "Kampfstocks". Insofern
+waeren, so Gabylon, eigentlich zwei unterschiedliche Waffentypen
+sinnvoll. Eine Alternative bestuende darin, beide von der Technik
+unterschiedlich zu fuehrenden Waffen unter einer Waffenklasse
+zusammenzufassen. Eine dritte Moeglichkeit koennte darin bestehen,
+dass man die einhaendig zu fuehrenden Stoecke den Keulen zuschlaegt.
+
+Wir haben uns (auch im Hinblick auf einen einheitlichen Skill fuer
+"Kampfstaebe") nun darauf verstaendigt, dass unter der Waffenklasse
+"Kampfstabe" zum einen die zweihaendig zu fuehrenden Kampfstaebe, aber
+auch einhaendig zu fuehrende Kampfstoecke zu verstehen sind.
+
+Damit bleibt die Waffenkategorie der Kampfstaebe fuer beides offen und
+Spieler, die sich auf den Kampf mit diesem Typus spezialisieren,
+koennen dies nun auch ein- und zweihaendig tun.
+
+Besten Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Crash (Zook,  2. Aug 2006, 17:29:42):
+Na super :( Nun kommen wir wieder in historische Dimensionen. Der Treiber
+ist aus bisher ungeklaerter Ursache mit Segfault gecrasht und hat
+erfreulicherweise ein Core-File hinterlassen. Ursachenforschung laeuft.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Crash (Zook,  2. Aug 2006, 23:10:20):
+~#! rn=Zook rt=1154532582 rg=bekanntmachungen
+~#! tid=1154532582
+Sehr aergerlich: Zum wiederholten mal ist es beim Zustellen einer E-Mail an
+ein sehr grosses Postfach zu einem Crash des MGs gekommen. Ich pruefe
+regelmaessig, ob Postfaecher zu gross werden, aber nun ist eines zwischen
+den Pruefzeitpunkten zu gross geworden. Wir werden da wohl umgehend 
+Loesungen ergreifen muessen, damit dies Problem nicht wieder auftritt.
+
+Sorry fuer die Unannehmlichkeiten.
+
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Crash (Zook,  2. Aug 2006, 23:20:01):
+~#! rn=Zook rt=1154553020 rg=bekanntmachungen
+~#! tid=1154532582
+Kleine Korrektur: Koennte auch etwas anderes am Mailfolder kaputt gewesen
+sein und nicht nur die Groesse. Jedenfalls wars der Mailer und ein grosses
+Postfach. Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Seher-Anforderungen (Zook,  8. Sep 2006, 10:56:17):
+Hallo zusammen, wie in "hilfe seher" beschrieben, haben wir EM+ die 
+Seheranforderungen evaluiert und folgenden Entscheid gefaellt:
+
+Die Seheranforderungen bleiben wie sie sind.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Amtsanmassung. Dennoch: Weiterer Gildenmagier Chaos! (Zook, 16. Sep 2006, 11:14:25):
+Hallo zusammen,
+
+ich willkuere und entscheide, dass Ennox nun fuerhin der 
+Chaos-Gilde als Gildenmagier seine Schaffenskraft zur
+Verfuegung stellt.
+
+Bereitet Euch schon mal auf Schlimmes vor; ich hab das Gesellenstueck
+naemlich schon gesehen....
+
+Zook.
+
+PS: Hilfeseiten und Mailali gm_chaos passe ich an, wenn
+ich nen anderen Client habe.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Was tun bei den derzeitigen Laufzeit-Problemen? (Zook, 17. Sep 2006, 15:36:40):
+Hallo zusammen, ich moechte Euch alle kurz informieren, wo wir derzeitig
+stehen und welche Massnahmen wir uns ueberlegt haben.
+
+Wir alle bemerkt haben, sind unsere Zeiten langer Uptime aus bisher
+ungeklaerten Ursachen vorbei. Regelmaessig raucht uns das MG ab und die 
+Uptimes bewegen sich im Rahmen, den die Aeltern unter Euch noch aus der
+Zeit Mitte der 1990er Jahre kennen. Das ist mehr als aergerlich und derzeitig
+haben wir fast alle unsere Aktivitaeten auf die Behebung dieser Probleme
+gerichtet.
+
+Unterstuetzt werden wir dabei von einer Reihe von Mitspielern, die ebenfalls
+versuchen, den Fehler zu finden und an einer Fehlerbehebung arbeiten. Ihn
+allen sei dafuer an dieser Stelle schon einmal Dank gesagt.
+
+Da das MG derzeitig relativ zuegig den Speicher aufbraucht und die 
+Muellentsorgung das MG in einem inkonsistenten Zustand hinterlaesst,
+haben wir uns verschiedene Massnahmen ueberlegt:
+
+1. Um erst einmal die Uptimes wieder laenger werden zu lassen, werden wie
+in Kuerze den Hauptspeicher des MG-Rechners erweitern. Dadurch erhalten wir
+eine laengere Uptime, aber noch keine Loesung des Problems. Ggf. unterstuetzen
+wir dies durch die eine oder andere Mudlib-Aenderung, die Speicher einspart.
+
+2. Mit der derzeitigen Mudlib und dem Treiber versuchen wir im Dickicht des
+Driver-Codes herauszufinden, warum zum einen der Speicher so verbraucht wird
+und zum anderen, warum nicht mehr benoetigter Speicher nicht wieder
+vernuenftig freigebene wird respektive die Muellentsorgung nicht funktioniert.
+
+3. Parallel bemuehen wir uns um Tests, ob man die Driver-Basis "LPmud" nicht
+zugunsten eines Driver "LDmud" aendern sollte. Bisher haben wir uns immer
+dagegen gestreubt, eine Umstellung auf LDmud ins Auge zu fassen; insbs. mit
+Hinweis auf den bisher sehr stabil laufenden Treiber LPmud. Die Zeiten
+sind offenkundig vorbei und falls uns keine Loesung (Ziff. 2) einfaellt,
+sollten wir eine Alternative zur Hand haben. (Ueber die Vor- und Nachteile
+einer Umstellung will ich an dieser Stelle nicht allzuviel verlieren, dies
+kann in einem gesonderten Thread eroertert werden.) 
+
+
+Jeder, der aufgrund seiner Kenntnisse oder von Tests oder Ueberlegungen 
+mithelfen kann und moechte, unser MG wieder stabiler zu bekommen, ist
+herzlich zur Mitarbeit aufgerufen. Meldet Euch einfach einmal bei mir (am
+besten per E-Mail), dann sehen wir, wie wir Euch einbinden koennen.
+
+
+Konkret werden wir hoechstwahrscheinlich am kommenden Freitag im Merlin in
+Essen-Kupferdreh einmal einen LDmud-Test veranstalten. Darauf hin werden 
+wir entscheiden, ob es sich lohnt, diesen Weg weiterzugehen. 
+
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Erzmagierin (Zook, 22. Sep 2006, 22:21:41):
+Hallo zusammen,
+
+die Krise der kurzen Uptimes hat auch ihr Gutes. So hat sich eine
+Magierin besonders hervorgetan, bei den nun anstehenden Arbeiten
+am Driver und der Mudlib mitzuhelfen. Damit sie das nun auch 
+ganz offiziell tun kann, begruessen wir Zesstra als neue Erzmagierin
+fuer den Driver und die Mudlib und insbesondere fuer die nun 
+anstehenden Arbeiten, das MG wieder stabil zu bekommen. 
+
+Willkommen Zesstra und viel Spass bei Deiner neuen Aufgabe!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+"Jetzt zerbeiss ich's" (c) Arathorn (c) Tiamak. (Zesstra, 22. Sep 2006, 23:34:28):
+Huhu allerseits,
+
+mir als neuestem EM obliegt es nun offensichtlich, mich unbeliebt zu machen.
+-)
+Also, wir haben uns inzwischen dazu entschieden, das Morgengrauen in naechster
+Zeit auf LDMud umzustellen. Dieser Vorgang ist mit einiger Arbeit und Muehe
+verbunden und nicht innerhalb weniger Tagen moeglich, weswegen wir dieses als
+fliessenden Vorgang gestalten moechten.
+Das bedeutet, dass wir unsere Mudlib auf unserem aktuellen Gamedriver im
+Laufe der naechsten Wochen LDMud-faehig machen wollen. Waehrend dieses
+Vorgangs wird das Morgengrauen wie gewohnt weiterlaufen, waehrend die
+Mudlib auf LD getestet wird. Wenn wir mit dem Ergebnis dieser Umstellung und
+den Tests zufrieden sind, wird eine Umschaltung auf LDMud erfolgen. Dies ist
+allerdings noch einige Wochen hin.
+
+Aber: Wir werden morgen mit den Arbeiten beginnen und den Grundstein fuer
+diese Arbeiten legen. Und nun komm ich zum Kern der Sache:
+
+Wir koennen diese Arbeiten nicht im laufenden Betrieb durchfuehen, sondern
+muessen das Morgengrauen fuer einige Stunden herunterfahren.
+Und zwar ist hiermit ab 10:00 zu rechnen. Zieltermin fuer die
+Wieder-Inbetriebnahme des Morgengrauen ist 18:00. (Moeglicherweise wird es
+auch etwas frueher, aber wir koennen nix versprechen.)
+
+Bitte habt Verstaendnis fuer diese Massnahme, wir sind uns sicher, dass wir
+langfristig besser damit fahren und habt auch Verstaendnis fuer diese spaete
+Ankuendigung. Wir sind morgen noch zusammen und koennen diese Aenderungen
+morgen durchfuehren, waehrend wir im RL zusammensitzen, was die Sache
+deutlich erleichtert.
+
+Zum Schluss noch ein Punkt, der euch diesen Reboot hoffentlich etwas
+versuesst: Wir haben vermutlich ein Speicherleck identifiziert und koennen es
+in der Mudlib durch einen Workaround umgehen. Dieser wird erst mit einem
+Reboot vollstaendig aktiv.
+
+Viele Gruesse,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: "Jetzt zerbeiss ich's" (c) Arathorn (c) Tiamak. (Miril, 24. Sep 2006, 00:08:03):
+~#! rn=Zesstra rt=1158960868 rg=bekanntmachungen
+~#! tid=1158960868
+Hallo!
+
+Nun ist es wieder da, unser MG. In alter Frische und mit alter Mudlib.
+Wir haben versucht, die Mudlib auf eine LD-Mud kompatiblere Version
+umzustellen. Dabei sind wir auch einige Schritte weiter gekommen und haben
+eine Menge gelernt, allerdings war die dann vorliegenden Version noch zu
+fehlerbehaftet und instabil, um sie Euch zu praesentieren.
+
+Wir haben uns daher entschlossen, bis auf weiteres die alte MG-Version wieder
+zu starten. In den naechsten Wochen werden wir ueberlegen, wie wir die 
+aufgetretenen Probleme loesen koennen.
+
+Naehere Informationen reichen wir in den naechsten Tagen nach.
+
+Miril, im Auftrag der Herrn unterwegs.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer [W]eiser (Zook, 29. Sep 2006, 14:00:19):
+Hallo zusammen, da fuer die geplanten Umstellungen auf den LD-Treiber
+auch Aenderungen der Programme in den Regionen noetig sind, sind wir
+auf Unterstuetzung angewiesen. Freundlicherweise hat Arathorn seinen
+kleinen Finger ausgestreckt, den wir nun gern ergriffen haben. Er
+unterstuetzt Zesstra bei ihren Basteleien. Vielen Dank an Dich,
+Arathorn, fuer Deine Mithilfe!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Regionsmagier fuer Fernwest (Zook,  7. Okt 2006, 12:22:48):
+Vanion arbeitet nun an der Region Fernwest als Regionsmagier
+mit. Viel Spass und viel Erfolg dabei, Vanion! Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neuer [W]eiser (Zook,  7. Okt 2006, 12:40:41):
+~#! rn=Zook rt=1159531219 rg=bekanntmachungen
+~#! tid=1159531219
+Bei der Umstellung ist uns auch Vanion behilflich, damit er dies
+mit den noetigen Rechten ausueben kann, habe ich ihn ebenfalls fuer
+diese Arbeiten zum [W]eisen erhoben.
+
+Besten Dank fuer Deine Mitarbeit!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Crash (Zook, 18. Okt 2006, 21:45:44):
+Mist Mist Mist! Das hat also nicht so richtig geklappt. Der Treiber hat
+es nach einer Garbage Collection gerade einmal 30 Minuten ausgehalten, 
+bevor er sich in die ewigen Jagdgruende verabschiedet hat.
+
+Zwischenzeitlich ist unsere Speichererweiterung eingetroffen, die wir 
+wohl Anfang kommender Woche in den Rechner einbauen koennen. Daher wird
+diese Uptime kurz sein, danach wird es aber spuerbar besser. 
+Spuerbar meint in dem Fall ca. drei Monate. 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Rechner / Standort (Zook, 19. Okt 2006, 10:12:10):
+Hallo zusammen,
+
+zu unserem Rechner bzw. genauer zum Aufstellungsort gibt es einige
+Neuigkeiten zu berichten. Bisher wurde das MorgenGrauen vom
+Fraunhofer Institut FIRST freundlicherweise unterstuetzt und
+kostenfrei gehostet. Dafuer grossen Dank an FIRST und an Hate, 
+der die Rechnerbetreuung die vielen Jahre nebenbei mit uebernommen
+hat! Nun stehen bei FIRST einige Umstellungen an, die ein 
+weiteres kostenfreies Hosting nicht mehr moeglich machen. Daher
+muessen wir uns mittelfristig nach einem neuen Standort
+umsehen. Wir rechnen mit einem Umzug Anfang des kommenden Jahres.
+
+Bisher sammeln wir Angebot und Moeglichkeiten, unseren Rechner
+moeglichst guenstig irgendwo in ein Rack zu schieben.
+
+Ueber Neuigkieten dazu werden wir EM+ sowie der MGeV 
+zeitnah berichten. 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+LD-fizierung des MorgenGrauens (1) (Zesstra, 19. Okt 2006, 21:45:22):
+Huhu allerseits,
+der Crash von gestern ist wenig geeignet, unsere Bemuehungen der Umstellung
+auf LD zu verlangsamen, im Gegenteil. ;-)
+Daher moechten wir den ersten der zwei grossen Schritte in diesem Prozess,
+die einen Reboot zwingend erfordern, am Montag machen, weil wir dann eh eine
+Downtime durch den Speichereinbau haben und mit diesem ersten Schritt nicht
+bis nach der naechsten, vorraussichtlich deutlich laengeren Uptime warten
+moechten.
+Zu diesem Zweck wird das MG nach dem Speichereinbau im Laufe des Montags noch
+ein paar weitere Stunden nicht spielbar sein. (Genaue Zeiten werden
+kurzfristig bekanntgegeben.) 
+
+In diesen paar Stunden ueberlegen wir momentan zwei moegliche Massnahmen, um
+euch diese Wartezeit so angenehm wir moeglich zu gestalten:
+a) Eine Kopie des MG wird laufen, in der zwar alles moeglich ist, aber die
+Aenderungen, die in dieser Zeit erfolgen (z.B. an euren Chars), werden nach
+den paar Stunden komplett verworfen.
+
+oder 
+
+b) Ein kleines Minimud mit wenigen Raeumen wird laufen, in dem man sich
+treffen und unterhalten kann und evtl. aktuelle Infos ueber den Verlauf der
+Arbeiten erhalten kann. 
+
+Was von beidem wir vorbereiten, steht noch nicht fest, wir werden das am WE
+bekanntgeben. Favorit ist momentan b), wenn mir die Zeit reicht. ;-)
+
+Wer etwas genauer wissen will, was wir auf der technischen Seite vorhaben,
+sollte hier weiterlesen, alle anderen koennen aufhoeren. ;-)
+
+In LDMud sind einige Driver-Aufrufe (Efuns) umbenannt worden. Bevor die
+Mudlib unter LDMud laeuft, muessen folglich alle betroffenen Efuns in der
+Mudlib umbenannt werden. Wir moechten dies am Montag fuer die meisten
+betroffenen Efuns tun. Gleichzeitig werden wir eine neue Version unseres
+Drivers in Betrieb nehmen, in der diese Efuns ebenfalls umbenannt wurden. Das
+bedeutet, wir haben dann einen Driver, in dem die Efuns bereits wie in LDMud
+heissen, der sich aber wie unser gewohnter Driver verhaelt.
+Die Mudlib, die wir dann haben, kann waehrend der naechsten Uptime so
+vorbereitet werden, dass sie gleichermassen unter unserem alten wie auch dem
+LDMud-Treiber funktionsfaehig ist.
+Wenn wir durch Tests davon ueberzeugt ist, dass sie unter LD vernuenftig
+funktioniert, werden wir bei einer sich bietenden Gelegenheit umschalten (das
+wird noch ein bisschen dauern, d.h. die naechste Uptime wird solange andauern,
+wie es geht (mit dem zusaetzlichen Speicher schaetzen wir ca. 3 Monate)).
+
+Viele Gruesse,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: LD-fizierung des MorgenGrauens (1) (Zesstra, 23. Okt 2006, 15:38:46):
+~#! rn=Zesstra rt=1161287122 rg=bekanntmachungen
+~#! tid=1161287122
+Huhu allerseits,
+
+es scheint alles soweit geklappt zu haben: Die Umstellung lief gut und
+zuegig, der Speicher ist drin, das Mud laeuft anscheinend weitgehend
+fehlerfrei.
+Zwar werden erst die naechsten Stunden richtig zeigen, ob alles gut ist, aber
+wir koennen momentan optimistisch sein und erwarten keinen baldigen Crash
+oder Reboot.
+
+Da es einige Missverstaendnisse gab: Das Mud laeuft noch nicht unter LDMud.
+Das war auch fuer heute nie geplant. Unsere Mudlib mit den heute getaetigten
+Aenderungen laeuft zwar theoretisch unter LD, hat aber noch zuviele kleine
+Fehler drin, die einen stabilen und dauerhaften Betrieb vermutlich verhindern
+wuerden. Nach der naechsten Uptime (die hoffentlich dank neuem Speicher
+deutlich laenger dauert als die letzten paar) wird der endgueltige Wechsel
+wohl stattfinden.
+
+Achja, noch was: Um Euch den Reboot etwas zu versuessen, haben wir uns eine
+kleine Sonderaktion ausgedacht und hoffen, dass ihr Spass und Freude daran
+habt. ;-) Was genau das ist, sehr ihr in Kuerze.
+
+Viele Gruesse,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Driver 03.02.1 Patchlevel 150 (Zesstra, 13. Nov 2006, 23:18:39):
+Huhu allerseits,
+
+unter dem Motto besser spaet als nie, hab ich nun endlich die Sourcen des
+aktuell im MorgenGrauen laufenden GameDrivers mit etwas angepasster Doku
+versehen und fuer interessierte Magier und Spieler zusammengepackt.
+
+Die Sourcen des neuen Drivers sind im FTP-Verzeichnis des Muds unter
+Software/GameDriver zu finden:
+  2ae081dfc7da63b2e00ba1557644f590  driver.03.02.1@150-20041113.tar.bz2
+  3c914b8bc8794fb385900c37f84d1f84  driver.03.02.1@150-20041113.tgz
+
+Die wichtigsten Aenderungen seit Patchlevel 148 sind im CHANGELOG zu finden.
+Eine detaillierte Liste koennte ihr im SVN-Repository unter
+https://mg.mud.de/svn/driver/ abrufen.
+
+Bitte auf folgendes achten:
+1. In diesem Driver wurden eine Reihe von Efuns umbenannt, die nun so heissen
+   wie in LDMud. Dies wurde als Teil der Vorbereitung der MG-Mudlib fuer die
+   Umstellung auf LDMud-3.3.x gemacht. Dementsprechend ist dieser Treiber
+   _nicht_ kompatibel zu bisherigen Mudlib-Releases (inkl. 
+   MorgenGrauen-3.2.20).
+
+2. Das Logging im Garbage Collector wurde verbessert bzw. ausgeweitet.
+   --gcollect_outfd akzeptiert nun allerdings nur noch Dateinamen, keine
+   Zahlen als Dateideskriptoren mehr. Wenn beim Kompilieren GC_SEPARATE_LOGS
+   definiert wird, bekommt jeder GC-Lauf sein eigenes Logfile (Suffix:
+   akt. Zeitstempel).
+
+Eine unter Windows lauffaehige Version des Drivers ist seitens Rikus in Arbeit
+und wird sicher in Kuerze verfuegbar sein.
+
+Eine neue Basis-Mudlib ist Vorbereitung und wird ebenfalls in Kuerze
+nachgeliefert, wir haben da im Augenblick noch einige Kleinigkeiten zu
+erledigen.
+
+Viele Gruesse,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Verlorenes Land wiedergefunden (Zook, 17. Nov 2006, 16:47:09):
+Hallo zusammen,
+
+im Verlorenen Land gibt es einen Wechsel der Regionsmagier. Nonne tritt
+von ihrem Posten zurueck und Esme rueckt dafuer nach. Besten Dank an 
+Nonne fuer die lange Betreuung der Region und Dir, Esme, wuensche ich
+viel Spass, Energie und Freude an Deiner neuen Aufgabe! 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Hoster, neue Erzmagierin fuer Rechnerwartung, -hosting (Zook, 20. Nov 2006, 22:12:42):
+Hallo zusammen,
+
+wie schon an anderer Stelle geschrieben, muss unser Rechner nach vielen
+Jahren das FhG Institut FIRST in Berlin verlassen und eine neue Bleibe
+suchen. 
+
+Bevor ich Euch berichte, wie es mit dem Rechner weitergeht, moechte ich
+die Gelegenheit nutzen, meinen Dank an das FIRST-Institut fuer die 
+jahrelange Unterstuetzung auszusprechen. Mein und unser Dank geht natuerlich
+auch an Hate, der den Rechner vor Ort ueber die Jahre betreut hat.
+
+Bei der Suche nach einer neuen Bleibe hat sich eine Vereinbarung mit
+NetCologne in Koeln ergeben, die unseren Verein und damit auch das
+MorgenGrauen mit dem kostenlosten Hosting des Rechners unterstuetzen
+und sponsorn wollen. Moeglich wurde diese Vereinbarung durch
+Amaryllis tatkraeftige Unterstuetzung, fuer die ihr an dieser Stelle 
+gedankt sei.
+
+Amaryllis hat sich auch bereit erklaert, die Rechnerwartung in Koeln
+zu uebernehmen. Wir begruessen sie daher sehr herzlich in den Reihen
+der Erzmagier und wuenschen ihr fuer ihre neue Aufgabe viel Erfolg
+und wenig "Service-Einsaetze". 
+
+Ueber die Details des Umzugs werden wir Euch in Kuerze informieren.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neuer Hoster, neue Erzmagierin fuer Rechnerwartung, -hosting (Amaryllis, 20. Nov 2006, 22:28:17):
+~#! rn=Zook rt=1164057162 rg=bekanntmachungen
+~#! tid=1164057162
+Hallo alle,
+
+ich danke fuer das entgegengebrachte Vertrauen und versichere, dass ich das
+nicht enttaeuschen werde. Eine Rechneradministration setzt natuerlich Rechte
+voraus, die ggf. missbraucht werden koennten, falls man nicht "integer"
+arbeitet. Allerdings arbeite ich in dem Job schon seit langem und bin bei
+NetCologne u.a. als Host/Postmaster taetig. Desweiteren laeuft das PK-Mud
+schon seit ein paar Jahren ebenfalls in einem unserer Rechenzentren (unter
+meiner Administration).
+
+Ich freue mich, dass sich NetCologne ein weiteres Mal sehr kooperativ gezeigt
+hat (musste nur quengeln ;)) und hoffe, dass es dem MG hier gut gehen wird -
+es bekommt auf jeden Fall eine der redundantesten und besten Peerings, die ein
+deutscher ISP zu bieten hat ;)
+
+Gruesse,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Sicherheitsluecke im FTP-Programm (Zook, 28. Nov 2006, 13:53:26):
+Hallo zusammen,
+
+wegen eines recht kritischen Sicherheitslochs im FTP-Programm proFTP[*]
+wurde der FTP-Zugang von uns bis auf weiteres gesperrt. Wir werden in 
+Kuerze eine neue Version installieren und dann den FTP-Zugang wieder 
+oeffnen.
+
+Wer zwischenzeitlich groessere Dateitransfers ausgefuehrt haben moechte,
+wendet sich am besten an einen Erzmagier seines Vertrauens.
+
+Gruss, Zook
+
+ [*] http://www.heise.de/newsticker/meldung/81651
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesenheit (Amaryllis, 10. Dez 2006, 21:37:39):
+Hi,
+
+ich bin ab dem 18.12. bis wohl Anfang des neuen Jahres in der Uniklinik und
+lasse mich da von hoffentlich knackigen Schwestern verwoehnen. Der Mudumzug
+wird dadurch aber nicht aufgeschoben, nur wird meine Planung etwas "straffer".
+Ich hoffe, es bleibt alles im Zeitplan und vor allem: die Feiertage in der
+Uniklinik bringen mir hoffentlich was.
+
+Daher von mir schonmal an alles frohes Fest und guten Rutsch.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sicherheitsluecke im FTP-Programm (Zesstra, 11. Dez 2006, 00:32:12):
+~#! rn=Zook rt=1164718406 rg=bekanntmachungen
+~#! tid=1164718406
+Huhu,
+
+da wir nun leider schon laenger ohne den FTP-Dienst auskommen muessen: Wer
+etwas zu uebertragen hat, schicke das bitte per Mail an zesstra@zesstra.de.
+Ich schiebe das dann ins Home vom jeweiligen Magier, der dann per cp/mv von
+dort weiter bewegen kann.
+Das ist keine dolle Loesung, aber besser als gar nix.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Sicherheitsluecke im FTP-Programm (Zook, 11. Dez 2006, 09:01:06):
+~#! rn=Zesstra rt=1165793532 rg=bekanntmachungen
+~#! tid=1164718406
+Fuer derartige Verschiebedienste steh ich auch zur Verfuegung, nutzt
+dazu bitte zook@dbrunner.de als E-Mail-Adresse. Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+ftp (Muadib,  4. Jan 2007, 13:11:27):
+Hallo,
+
+der ftp sollte nun wieder gehen.
+Die aktuelle mud_mod findet man unter /open/Software/FTP
+
+Viel Spass
+Muadib
+
+
+-----------------------------------------------------------------------------
+
+
+
+Mudlib-Release 3.2.99 (Zesstra,  7. Jan 2007, 14:20:44):
+Huhu,
+
+es hat lange gedauert, weil es ne Reihe von Probleme gab, aber es gibt nun
+doch eine neue Release der Basismudlib.
+Unter ftp://mg.mud.de/Software/MudLib findet ihr nun also folgende neue
+Archive:
+
+1. MorgenGrauen-3.2.99.tar.[bz2|gz]
+Dieses Archiv enthaelt eine Mudlib, die mit unserem aktuellen Driver
+(03.02.1@150-20061113) lauffaehig ist. Die Versionsnr. hat einen grossen
+Sprung gemacht, um anzudeuten, dass diese Mudlib mit allen aelteren Drivern
+_nicht_ mehr lauffaehig ist. Ausserdem ist es sehr wahrscheinlich, dass dies
+das letzte Release der MG-Basismudlib fuer einen LPMud-Gamedriver sein wird.
+
+2. MorgenGrauen-3.3.0-beta1.tar.[bz2|gz]
+Dieses Archiv enthaelt eine Mudlib, die mit LDMud-3.3.714 lauffaehig ist. Die
+Unterschiede zu der in 1. erwaehnten sind uebrigens nicht sehr gross, unsere
+Mudlib ist momentan recht kompatibel zu beiden Treibern. Betrachtet dieses
+Paket eher als experimentell. Ich gehe allerdings davon aus, dass es
+funktioniert, bisher kenne ich keine groesseren Probleme.
+Es ist primaer dazu gedacht, den Leuten, die jetzt direkt auf ein
+LDMud-Homemud umsteigen wollen, Arbeit zu ersparen. An Rueckmeldungen bin ich
+natuerlich sehr interesssiert. ;-)
+
+Wer ein LDMud-Homemud aufbauen will, hat es meist eigentlich recht einfach:
+1. Gamedriver von http://www.bearnip.com/ftp/mud/ldmud-3.3.714.tar.gz ziehen.
+2. Auspacken und konfigurieren (hierfuer bietet sich z.B. das File
+Morgengrauen_LDsettings in ftp://mg.mud.de/Software/MudLib an). Hierbei muesst
+ihr in dem Settingsfile noch das Basisverzeichnis fuer euer Homemud aendern
+(MUDHOME). Anschliessend das Morgengrauen_LDsettings im src/ von LDMud
+ausfuehren.
+3. make && make install_all
+4. Mudlib in MUDHOME entpacken, so dass die Mudlib in MUDHOME/mudlib liegt.
+5. Gamedriver starten.
+
+(Unter Windows braucht ihr Cygwin zum kompilieren, da kann ich gerade aber
+keine speziellen Hinweise zu geben.)
+
+OK, die Mudlib-Archive haben noch die folgenden MD5-Summen:
+9907bc604cd8dacf6ede5e4e3e3c0c5c  MorgenGrauen-3.2.99.tar.bz2
+366df9874e5e652b7d2d0785e66462ab  MorgenGrauen-3.2.99.tar.gz
+72c9eab01b3cb865885b24dcf6a280fe  MorgenGrauen-3.3.0-beta1.tar.bz2
+b6ac5b2a575c019e029089d84f61e507  MorgenGrauen-3.3.0-beta1.tar.gz
+
+
+Viel Spass und Erfolg!
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+MG-Umzug (Amaryllis, 19. Jan 2007, 23:09:25):
+Hallo,
+
+wie Ihr sicher alle mitbekommen hat, steht der Umzug des MG-Servers ins Haus.
+Ich moechte Euch hierfuer aus technischer Sicht erste Informationen geben,
+damit Ihr Euch darauf einstellen koennt. Disclaimer: Dies ist die vorlaeufige
+Planung, die sich aufgrund etwaiger Eventualitaeten kurzfristig aendern kann.
+
+Der Umzug wird nach jetzigem Stand am 30./31.01/01.02. stattfinden.
+
+Ablauf: 30.01.: Hate wird morgends ein aktuelles Backup anwerfen. Es koennte
+passieren, dass beim Transport des Servers von Berlin nach Koeln Hardware
+kaputtgeht oder aber die Platten nach jahrelangem Laufen nicht mehr
+hochkommen. Es besteht daher das Risiko, dass ich auf ein aktuelles Backup
+zurueckgreifen muss. Fuer ALLE bedeutet das: Am Abschaltungstag KEINE
+wichtigen Aenderungen mehr vornehmen.
+
+Ein Transportdienst wird ab Mittag (sobald das Backup durch ist) den Server
+mitnehmen. Nach Leistungsbeschreibung wird die Lieferung in Koeln am Morgen
+des naechsten Tages in Koeln erfolgen.
+
+31.01.: Ich werde den Server in Koeln in Empfang nehmen, hoffentlich
+schadensfrei. Ab hier ist Unsicherheit, was den Start des Muds angeht
+(zeitnmaessig). Im schlimmsten Fall muss Hardware nachgekauft und installiert
+werden. Im guenstigsten Fallrechne ich damit, dass das Mud abends wieder
+laeuft. Was die neue IP angeht, so wird der DNS so zeitnah geaendert, dass er
+sich bis dahin rumgesprochen haben sollte. Ich kann und will die neue IP
+derzeit nicht nennen, da ich wenig Lust habe, waehrend meiner Bastelarbeiten
+geDOSt zu werden ;)
+
+Die naechsten Tage wird die Loginmeldung entsprechend adaptiert werden, damit
+auch nicht-MPA-lesende Mitspieler informiert sind. Ansonsten koennen am
+"Kampftag" auch Informationen ueber andere MUDs ueber d-chat erfolgen.
+
+Entspannt Euch einfach und geniesst mal einen mudfreien Tag - man kann damit
+auch RL betreiben ;)
+Ansonsten hoffe ich auf eine relative stoerungsfreie (fuer mich :))
+Umstellung.
+
+Gruss
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+LD-Umstellung (Zesstra, 22. Jan 2007, 21:30:04):
+Huhu,
+
+auch ich habe eine Bekanntmachung fuer euch. ;-)
+Die Vorbereitungen fuer die LD-Umstellung, die seit September laufen, sind nun
+soweit, dass wir den naechsten grossen Schritt machen koennen, die eigentliche
+Umstellung naemlich. Wir wollen also nach dem Umzug das Mud mit LDMud, statt
+unseres alten Gamedrivers starten.
+Diese Umstellung soll zeitgleich (also 31.1./1.2.) mit dem Umzug des Rechner
+gemacht werden, da es vielleicht 1-2 Tage und eine Reihe von Neustarts
+erfordern wird, bevor das Mud stabil laeuft. Machen wir das waehrend des
+Umzugs, tun die Neustarts keinem besonders weh. ;-)
+Momentan sieht der Plan so aus:
+1. Nach Shutdown des Muds werde ich die dann aktuelle Mudlib auf einen anderen
+Rechner kopieren.
+2. Auf diesem von mir administrierten Rechner werde ich die letzten
+Vorbereitungen an der Mudlib vornehmen (die ich nicht im laufenden Betrieb
+machen kann).
+3. Sobald ich damit fertig bin und das Mud grundsaetzlich laeuft, werde ich
+diese Instanz des Muds fuer Spieler und Magier oeffnen, wer dann will, kann
+sich einloggen und mir beim Bugsuchen helfen. ;-) Alles, was in dieser Phase
+an Problemen noch gefunden wird, wird uns hinterher das Leben, sprich die
+Uptime verbessern.
+4. Sobald der Mudrechner in Koeln von Amaryllis wieder in Betrieb genommen und
+vorbereitet wurde, werde ich die vorbereite Mudlib wieder dorthin kopieren und
+wir nehmen das Morgengrauen wieder 'richtig' in Betrieb.
+
+Abschliessende Detailinformationen (wie z.B. die IP-Adresse des MG in Schritt
+3 oder einen genauere Zeitplanschaetzung) werde ich in den naechsten Tagen in
+der MPA veroeffentlichen.
+
+Weitere Informationen fuer Magier, was an der Mudlib geaendert werden wird,
+folgen in Kuerze in den Magierrubriken der MPA.
+
+Also, ich hoff, dass Umzug und Umstellung planmaessig und ohne grosse Probleme
+klappen. Wer bei diesem Schritt mithelfen will, Fehler im umgestellten Mud
+aufzuspueren, ist herzlich eingeladen, egal ob Spieler oder Magier. Wer
+einfach so mal reinschauen will, kann auch das tun.
+
+Viele Gruesse,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: MG-Umzug (Amaryllis, 25. Jan 2007, 19:44:46):
+~#! rn=Amaryllis rt=1169244565 rg=bekanntmachungen
+~#! tid=1169244565
+Update:
+
+Dem Umzug sollte nichts mehr im Wege stehen. Das MUD wird laut Hate am
+30.01.2007 um 09:00 Uhr heruntergefahren, damit Backups etc. stattfinden
+koennen.
+
+Ich rechne mit dem Anlaufen am 31.01.2007, Uhrzeit unbekannt ;)
+
+Updates, neue Infos und insbesondere die neue IP fuer diejenigen, die sich
+keinen Provider mit vernuenftig schnell aktualisiertem DNS leisten koennen
+*g*, wirds auf der beim Login propagierten Webseite geben.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: LD-Umstellung (Zesstra, 26. Jan 2007, 21:49:57):
+~#! rn=Zesstra rt=1169497804 rg=bekanntmachungen
+~#! tid=1169497804
+Huhu allerseits,
+
+ich praezisiere meine Informationen fuer kommenden Di/Mi auch nochmal bzw.
+reiche fehlende nach:
+
+1.
+Wie geschrieben, macht Hate ab 9:00 ein komplettes Backup und bereitet den
+Rechner fuer den Transport vor. Ich werde vorher die aktuelle Mudlib kopieren
+und dazu das Mud abschalten muessen. Daher wird die Abschaltung des Muds
+bereits etwas eher stattfinden, naemlich zwischen 08:00 und 08:30.
+
+2.
+Ich kann noch nicht genau sagen, wie lange die letzten wichtigen
+Vorbereitungen an der Mudlib dauern, aber ich rechne damit, dass die
+umgestellte MG-Instanz bis spaetestens zum Dienstag Nachmittag fertig und auf
+mg.fcho.de (Port 4711) laufen wird. Wer dann reinschauen moechte, ist
+eingeladen, dies zu tun. ;-) Wenn dabei Bugs oder Unstimmigkeiten auffallen:
+direkt bescheidsagen.
+
+3.
+Ich (evtl. auch andere? ;-) ) werde fuer die Dauer des Umzugs im Epacris
+(epacris.mud.de) eingeloggt sein, spaeter dann natuerlich auch auf mg.fcho.de.
+Ich werde nicht die ganze Zeit ansprechbar sein, aber bei Fragen antworte ich
+nach Moeglichkeit dann spaeter, wenn ich wieder Zeit hab.
+
+Viele Gruesse
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: MG-Umzug (Amaryllis, 29. Jan 2007, 22:27:03):
+~#! rn=Amaryllis rt=1169750686 rg=bekanntmachungen
+~#! tid=1169244565
+Hi,
+
+um Geruechten entgegenzuwirken:
+Meine Abwesenheit war bedingt durch einen Autounfall. Ich hoffe, ab morgen
+wieder normal im Buero sein zu koennen. Der Umzugstermin/plan bleibt weiterhin
+normal bestehen.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: LD-Umstellung (Muadib, 31. Jan 2007, 20:19:10):
+~#! rn=Zesstra rt=1169497804 rg=bekanntmachungen
+~#! tid=1169497804
+noch ne ankuendigung, aber wesentlich weniger text
+am wochenende werde ich das mud einbiszweimal neustarten muessen, wegen einer
+langaufgeschobenen mudlibaenderung
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: LD-Umstellung (Amaryllis, 31. Jan 2007, 20:21:28):
+~#! rn=Muadib rt=1170271150 rg=bekanntmachungen
+~#! tid=1169497804
+Guter Reminder ;)
+
+Das erinnert mich daran, dass ich hier auch noch rausposaunen wollte, dass das
+MUD aufgrund kompletter Neuaenderung (IP, Provider, Mudlib, Admin ;)) wohl die
+naechsten Tage etwas instabil ist (siehe Login-Meldung).
+
+Ich gebe mein bestes, aber mehr auch nicht.
+
+Ama*, erstmal geschafft.
+
+PS: Ja, ich weiss, es laeuft noch nicht alles. FTP/WWW/Mail kommt ASAP
+
+-----------------------------------------------------------------------------
+
+
+
+Autoloader (Zook,  2. Feb 2007, 16:47:16):
+Bitte achtet einmal darauf, ob Ihr nach dem Einloggen unter LDmud noch alle
+Eure Autoloader habt und gebt mir ggf. bitte Bescheid, falls etwas fehlt.
+
+Zook
+
+PS: Nein, ich werde nun nicht jedem eine neue Hydra-Ruestung clonen.
+
+-----------------------------------------------------------------------------
+
+
+
+Port 23... (Amaryllis,  2. Feb 2007, 20:12:00):
+...geht derzeit wieder, koennte aber ab und an mal hakeln, bis das Problem
+eingekreist ist.
+Im Zweifelsfall 4711 nehmen (wie passend).
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Welchen Gegner toete ich jetzt? (Muadib,  3. Feb 2007, 13:43:24):
+Hallo Zusammen,
+
+ehrwuerdige Seher, welche gar nicht wissen wohin sie denn zum Toeten sollen,
+bekommen nun von einem vielen Gegner kennenden Geschoepf aus der Fraternitas
+eine kleinere Hilfestellung dazu.
+Die entsprechenden Orakelsprueche sind noch recht holperig und werden wohl
+erst ueber laengere Zeit huebscher.
+Das gleiche gilt fuer das angesprochene Geschoepf und dessen Informationen zu
+seiner neuen Funktion.
+
+Viel Spass damit
+Muadib
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Welchen Gegner toete ich jetzt? (Muadib,  3. Feb 2007, 13:43:42):
+~#! rn=Muadib rt=1170506604 rg=bekanntmachungen
+~#! tid=1170506604
+bugs an mich, es wird sicher welche geben
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Welchen Gegner toete ich jetzt? (Muadib,  3. Feb 2007, 13:45:08):
+~#! rn=Muadib rt=1170506604 rg=bekanntmachungen
+~#! tid=1170506604
+Ah, 
+ganz wichtig noch
+Ohne Ende oder Reboot keinerlei Tips
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Amaryllis,  4. Feb 2007, 18:50:34):
+Hi,
+
+wenn ich alles noch hinkriege und mich mein Chef nicht wieder abruft, werde
+ich morgen gg. 8 Uhr den Server rebooten. Da es noch vage ist und ich keinen
+langen Armageddon einstellen kann, wird dies dann kurzfristig passieren.
+Falls das nicht klappt, werden wir einen neuen Termin suchen muessen.
+
+Gruss,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Reboots heute (Amaryllis,  5. Feb 2007, 15:04:16):
+Hi,
+
+nach den zwei Reboots heute (der zweite war notwendig, weil ich gesehen habe,
+dass die ganze Distri arg inkonsistent zwischen Etch und Unstable pendelte)
+hat alles soweit inkl. eines Kernel-Upgrades geklappt. Ich hoffe also, dass
+zumindest serverseitig so schnell kein Reboot mehr notwendig sein wird.
+
+Obwohl meine Todoliste noch recht lange ist (Ueberwachung, Backup, ...) gehe
+ich daher zumindest von einem stabilen Serverbetrieb aus.
+
+Ich moechte die Gelegenheit nutzen und mich auch einmal bei allen am
+Serverumzug beteiligten (Hate, Zesstra, Zook, Anatol etc.) recht herzlich fuer
+die Unterstuetzung und den Einsatz zu bedanken.
+
+Gruss,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+LD-Umstellung prinzipiell abgeschlossen. (Zesstra,  5. Feb 2007, 22:24:54):
+Huhu allerseits,
+
+nachdem die LD-Umstellung letzte Woche zwar mit zeitweiligem Stress und noch
+einigem an Arbeit verbunden war, insgesamt aber besser als erwartet verlief,
+moecht ich auch noch kurz auessern. ;-)
+Die Vorbereitungen ueber die letzte 3-4 Monate waren anstrengend und teilweise
+auch frustrierend, aber haben sich gelohnt. Ich moechte mich bei allen
+bedanken, die daran mitgewirkt haben. Allen voran Arathorn, der viel Code
+repariert und angepasst hat, aber auch bei Highlander, Esme und Vanion sowie
+allen anderen Magiern, die ihren eigenen Code bzw. den ihrer Regionen und
+Gilden angefasst haben.
+
+Inzwischen laeuft das Mud bis auf kleinere Nachwehen ganz gut und ich geh
+eigentlich davon aus, dass es nicht allzuschnell crasht oder wir einen Reboot
+fuer Driver oder Mudlib brauchen.
+Heut mit dem Reboot sollten nochmal einige Fehler verschwunden sein. Wer jetzt
+noch grundsaetzliche Probleme hat, moege sich bitte (nochmal) melden.
+(einzelne NPCs/Objekte/Raeume buggen noch, die kriegen wir in naechster Zeit
+hin.)
+
+Beispiel fuer grundsaetzliche Probleme: Bei einigen Spielern sind Daten an der
+Medaille von Lasse Rein (Drachentoeterquest) kaputt. Bitte bei den RMs der
+entsprechenden Regionen oder einem EM melden. ;-)
+
+Also dann: froehliches Mudden,
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+erwidere (Muadib,  8. Feb 2007, 18:25:42):
+Hallo,
+
+eine kleine Unwichtigkeit am Rande:
+
+"teile , mit <text>" hat nun die Funktion von erwidere.
+Erwidere geht natuerlich immer noch.
+
+Das Ganze geht nach Ende oder Reboot.
+
+Ciao
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Morgengrauen-Mudlib 3.3.0 (Zesstra, 14. Feb 2007, 17:19:02):
+Huhu,
+
+die Mudlib hat sich bisher offenbar als halbweg stabil erwiesen. Ich bin
+gestern auch dann mal dazu gekommen, ein Release zu erstellen. (Was momentan
+leider etwas Handarbeit ist.)
+Wie bei der letzten Release schon geschrieben, haben wir die Versionsnummern
+der LD-faehigen Mudlibs auf 3.3.x erhoeht, um zu zeigen, dass es ein
+groesserer Sprung ist und die Mudlib nicht mehr mit einem LP Gamedriver
+funktioniert.
+
+Auf ftp://mg.mud.de/Software/MudLib/ findet ihr nun also die
+MorgenGrauen-3.3.0 zum Download.
+Diese Mudlib ist fuer die Verwendung mit LDMud-3.3.714 gedacht. 
+(http://www.bearnip.com/ftp/mud/ldmud-3.3.714.tar.gz)
+Ein File mit den passenden 'configure'-Settings fuer die MG-Mudlib ist im
+Verzeichnise 'scripts/ enthalten, ggf. muesst ihr dort die Verzeichnisse fuer
+euer Homemud anpassen.
+
+MD5-Checksummen zum Pruefen des Downloads gibts natuerlich auch:
+6ea3e87041ca9dd017ee2969a46b3c2f *MorgenGrauen-3.3.0.tar.bz2
+906775e7102ac7e1ec01882cc4f7d473 *MorgenGrauen-3.3.0.tar.gz
+
+Viel Spass,
+Zesstra
+
+P.S. Bei Problemen mit der Mudlib bin ich wie immer ueber Rueckmeldungen
+dankbar!
+
+-----------------------------------------------------------------------------
+
+
+
+24/7-Aenderung (Zook, 13. Mar 2007, 15:10:27):
+Hallo zusammen,
+
+Muadib moechte zum Ende diesen Monats von seinem Posten als Sheriff und 
+Erzmagier zuruecktreten. Schweren Herzens habe ich dies angenommen. Mein
+besonderer Dank gilt seiner jahrelangen Arbeit als Sheriff einerseits und
+seinem vielfaeltigen Engagement fuer Weiterentwicklungen andererseits! 
+
+Ueber eine Nachfolge haben wir noch nicht entschieden; Vorschlaege 
+nehme ich per Mail gern an, aber es kann auch sein, dass wir den 
+Sheriff-Posten in einer anderen als der bisherigen Weise fortfuehren.
+
+Nochmals besten Dank an Muadib! :-))) 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 24/7-Aenderung (Muadib, 13. Mar 2007, 18:03:57):
+~#! rn=Zook rt=1173795027 rg=bekanntmachungen
+~#! tid=1173795027
+Ebenfalls hallo zusammen,
+
+ich moechte mich bei allen fuer das entgegengebrachte Vertrauen einerseits und
+die groesstenteils konstruktive Reibung andererseits ueber die letzten Jahre
+bedanken.
+
+Und nun alle schoen brav spielen und Werbung machen damit ich ein wenig
+Konkurrenz beim Spielen habe :)
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Regionsmagier und neue Gebiete (Zook, 26. Mar 2007, 15:58:20):
+Hallo zusammen,
+
+dem Reigen der Regionsmagier treten Ennox und Raschaua bei. Sie verstaerken
+das Team in der Region "Wueste" und warten dafuer mit einem besonderen
+Schmankerl fuer Euch auf: Da viele Gebiete im Mud "Epacris" nur von wenigen
+Spielern besucht werden, wollen die Beiden Gebiete nach Zustimmung des 
+Magiers und nach Anpassung an das MorgenGrauen an der einen oder anderen
+Stelle in der Wueste auferstehen lassen. Ich finde das eine schoene Idee,
+da so die Kreativitaet und Arbeit von einigen nicht verschuett geht, sondern
+an andere Stelle genutzt werden kann. Ueber die genauen Modalitaeten und 
+wie und wo und warum und was noch alles zu tun und zu bedenken ist, werden
+uns die beiden Neu-Regionsmagier noch selbst informieren. 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+***Das MG ist kein Killerspiel*** (Rumata, 31. Mar 2007, 22:42:32):
+Im Rahmen der Diskussion um die sogenannten "Killerspiele", ist man an
+uns herangetreten, dass auch wir der Gewalt froehnen und dass das im
+MUD erlernte Konfliktverhalten wenig konstruktiv ist.
+
+Deshalb wollen wir das Gewaltverherrlichende schrittweise aus dem Spiel
+nehmen. Dazu:
+
+- Mit jedem geschlachteten Monster wird nun eine begleitende Meldung erzeugt,
+  die das Schlechte an solchen Verhalten zu vermitteln versucht.
+
+- Es werden keine XP mehr fuer das Abschlachten von Monstern vergeben.
+  Da XPs fuers Erhoehen benoetigt werden und diese ohne Metzeln schwerer
+  zu bekommen sind, wird das Balanceteam neue Grenzen festlegen.
+  Das dauert noch ein paar Tage.
+
+- Das Abschlachten von Monstern ausserhalb designierter Areale (Arena und so),
+  wird unter Strafe gestellt. Da dazu einige Quests umgeschrieben
+  werden muessen, haben wir dafuer 12 Monate veranschlagt.
+
+- Das Toeten allgemein kann dann allgemein ausgebaut werden.
+
+Ich moechte ein paar Vorschlaege in den Raum werfen, wie wir das ganze
+"abfedern" koennten und erbitte weitere Vorschlaege (in allgemeines, bitte)
+wie:
+- Kitzeln (nicht nur am Bauch) als Angriffstechnik.
+
+- Evtl. Kissen als Wurfwaffen zulassen.
+
+- ???
+
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Froehliches Eiersuchen! (Miril,  8. Apr 2007, 10:14:43):
+Frohe Ostern wuensche ich Euch!
+
+In diesem Jahr bin ich wieder durch einige Gegenden des MorgenGrauen gehoppelt
+und habe dort Ostereier fuer Euch versteckt. Damit Ihr es etwas leichter habt,
+koennt Ihr mich am Sandtiger treffen und Euch weitere Informationen dazu
+abholen.
+
+Der Osterhase
+
+-----------------------------------------------------------------------------
+
+
+
+[W]eiser fuer Umstellung ASCII-Art (Zook, 18. Apr 2007, 09:20:37):
+Hallo zusammen,
+
+Ennox unermuedlicher Einsatz fuer die Entschaerfung von ASCII-Art kann 
+sich nun fuerhin direkt und unmittelbar im Programmcode niederschlagen:
+Fuer dieses "Projekt" habe ich ihn eben zum [W]eisen befoerdert.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Wartungsarbeiten NetCologne Rechenzentrum II (Amaryllis, 27. Apr 2007, 21:29:20):
+Hi,
+
+in der Nacht vom 07.05. zum 08.05. finden in dem Rechenzentrum, in dem der
+Mudserver steht, Wartungsarbeiten bzw. Umschaltungen am Stromnetz statt.
+
+War ja klar (Murphy), dass ich da im Urlaub bin und das Ganze nicht mit
+beobachten kann.
+
+Ums kurz zu machen: Es koennte sein, dass der Mudserver abfliegt wegen
+Stromproblemen. Da ich wie gesagt im Urlaub bin, werde ich dafuer sorgen, dass
+Kollegen informiert sind und wir das zweite Netzteil, das der Server zum
+Glueck hat, auf eine Stromleiste umstecken, die durchgehend Saft haben sollte.
+Aber Garantie gibt es keine...
+
+Ich kann die Aktion nicht beobachten und kann deshalb nur entsprechend
+umsichtig planen - seid bitte nicht boese, wenn es wirklich zu einem Ausfall
+kommen sollte, aber ich tue alles, damit das auch ohne meine Anwesenheit
+klappt.
+
+Gruss,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Extralook-Mechanismus (Zesstra, 14. Mai 2007, 22:26:08):
+Huhu,
+
+ich hab heut eine der geplanten Massnahmen eingebaut, die das Ziel haben, das
+Inventar von Spielern um ein paar Objekte zu "befreien".
+Bei Extralooks war es bisher so, dass es im wesentlichen nur die Moeglichkeit
+hab, ihm ein Objekt ins Inv zu stecken, was zur Folge haben kann, dass Spieler
+einige unsichtbare Objekte im Inventar haben, die jeweils nur den Extralook
+ausgeben.
+Ab jetzt (nach Ende/Reboot) steht ein Mechanismus bereit, der ohne Objekt im
+Spielerinventar auskommt. Wir werden in der naechsten Zeit dran arbeiten, die
+haeufigsten und die Objekte, die permanent im Spieler verbleiben (autoload)
+umzustellen.
+
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neuer Extralook-Mechanismus (Rumata, 15. Mai 2007, 16:28:25):
+~#! rn=Zesstra rt=1179174368 rg=bekanntmachungen
+~#! tid=1179174368
+Um die Anzahl der Objekte in den Raeumen etwas zu verkleinern, verhalten
+sich nun die Leichen etwas anders. Anstatt vieler Gegenstaende werdet
+Ihr nun einen "Haufen Kluengel" finden. Was man mit diesem Haufen machen
+kann, werdet Ihr sicher schnell herausfinden.
+
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Haufen, die II. (Rumata, 15. Mai 2007, 21:24:45):
+Hallo,
+nun sollten die ueberfluessigen Leerzeichen im haufen nicht mehr
+auftauchen, und auch das mit den leeren Haufen wird sich im Laufe
+der Zeit von alleine Erledigen (einen Reboot wollen wir deshalb wohl
+nicht machen, oder? ;-)
+
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Haufen, die II. (Rumata, 18. Mai 2007, 12:48:21):
+~#! rn=Rumata rt=1179257085 rg=bekanntmachungen
+~#! tid=1179257085
+Bei gleichen Monstern findet nun keine Haufeninvasion mehr statt.
+Aus technischen Gruenden passiert das aber erst nach einiger Zeit.
+Bereits bestehende Haufenhaufen bitte ich geneigte Spieler aufzuraeumen :)
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+'klingelton' und 'senderwiederholung' (Zesstra, 22. Mai 2007, 20:28:47):
+Huhu,
+
+Ennox hat folgendes angeregt und gebaut:
+1. Spieler koennen bei teile-mit und sage einstellen, ob sie
+  "xxx teilt Dir mit: ..."
+  "xxx teilt Dir mit: ..."
+  "xxx teilt Dir mit: ..."
+oder
+  "xxx teilt Dir mit:"
+  "kompletter_tm_text"
+bekommen wollen. Siehe hierzu 'hilfe senderwiederholung'
+
+2. Spieler koennen statt pauschal ein- oder aus zusaetzlich einstellen, wie
+oft sie bei TMs die Piepstoene haben wollen (z.B. Piepston nur alle 60s, auch
+wenn jede Sekunde ein TM reinkommt). Siehe hierzu 'hilfe klingelton'
+
+Die Idee fand Zustimmung und ist seit heute Abend eingebaut. Um die beiden
+neuen Funktionen nutzen zu koennen, braucht Ihr ein neues Spielerobjekt, d.h.
+ihr muesst entweder 'ende' machen oder auf Reboot warten. ;-)
+
+Vielen Dank an Ennox!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Mudlib-Release 3.3.1 (Zesstra, 17. Jun 2007, 20:55:12):
+Huhu,
+
+nach inzwischen wieder 4 Monaten wird es definitiv mal wieder Zeit fuer ein
+neues Release der oeffentlichen Mudlib, zumal es einige Reihe von
+Veraenderungen gegeben hat. ;-)
+Das neue Release wurde mit einem neuen Script aus dem SVN-Repository erstellt.
+Ich hoffe, es ist alles wichtige drin, es koennte aber sein, dass ich was
+uebersehen hab. Falls das der Fall ist oder es sonstige Probleme mit dieser
+Version gibt, meldet euch bitte bei mir. ;-)
+
+Auf ftp://mg.mud.de/Software/MudLib/ findet ihr also ab jetzt die
+MorgenGrauen-3.3.1 zum Download.
+
+Diese Mudlib ist, wie auch die letzte Version, fuer die Verwendung mit
+LDMud-3.3.714 gedacht. 
+(http://www.bearnip.com/ftp/mud/ldmud-3.3.714.tar.gz)
+Ein File mit den passenden 'configure'-Settings fuer die MG-Mudlib ist im
+Verzeichnise 'settings/ enthalten, ggf. muesst ihr dort die Verzeichnisse fuer
+euer Homemud anpassen.
+Ein Windows-Binary des aktuellen LD-Treibers gibt es auch, ich glaub, das war
+von Ennox/Vanion:
+ftp://mg.mud.de/Software/GameDriver/ldmud-3.3.714-win.zip
+
+MD5-Checksummen zum Pruefen des Downloads gibts natuerlich auch:
+82e5504384a4559010138f2df48923e0  MorgenGrauen-3.3.1.tar.gz
+2895e290817bbfc7be2a1adb307d1819  MorgenGrauen-3.3.1.tar.bz2
+
+Viel Spass,
+Zesstra
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+taegliche Snapshots der Mudlib (Zesstra, 17. Jun 2007, 22:48:21):
+Huhu,
+
+zukuenftig wird es in ftp://mg.mud.de/Software/MudLib auch taeglich
+aktualisierte Snapshots der oeffentlichen Mudlib
+(MorgenGrauen-daily.tar.*)geben, die jeweils nachts erstellt werden.
+
+Ich bitte bei diesen allerdings folgendes zu beachten:
+- sie sind in keiner Weise getestet
+- es wird vorkommen, dass so ein Snapshot (gravierende) Fehler oder 
+  Inkonsistenzen aufweist.
+- es kann vorkommen, dass so ein Snapshot nichtmals startbar ist.
+
+Also, wer sie nutzen und immer die aktuellste Mudlib im Homemud haben will,
+kann dies mit genannten Einschraenkungen nun tun, ohne sich die einzelnen
+Files per FTP zu ziehen.
+Sich so einen Snapshot wirklich taeglich zu ziehen, halte ich uebrigens fuer
+voellig unnoetig, Download bei groesseren Aenderungen oder alle paar Wochen
+duerfte fuer die meisten Leute ausreichen.
+
+Viele Gruesse,
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Amaryllis,  9. Jul 2007, 21:56:49):
+Hi,
+
+kann sein, dass es in absehbarer Zeit mal einen betriebsbedingten Reboot geben
+muss.
+Ich kann leider noch nicht viel sagen (hoffe, wir kommen drumrum), was Details
+angeht, aber ich wollts nur schonmal angekuendigt haben, damit hinterher die
+Meckerei nicht so gross ist ;)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Cicerone-Erweiterung (Zesstra, 31. Jul 2007, 19:33:24):
+Huhu,
+
+ich hab heut den Cicerone-Status etwas umgebaut (z.B. auf meinen Wunsch hin
+*g*). In Zukunft kann man auch angeben, dass man nur als Cicerone angezeigt
+werden mag, wenn man nicht laenger als x Minuten idle ist.
+z.B.
+cicerone 5 -> Man ist Cicerone und wird nur angezeigt, wenn man weniger als 
+              5min idle ist.
+
+Die bestehenden "ein" und "aus" bleiben natuerlich bestehen, da aendert sich
+nix.
+Achja, funktioniert erst ab Reboot richtig mit der kwer-Anzeige, der
+erweiterte Befehl geht "schon" nach Renew.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Doxygen-Doku der Basis-Mudlib (Zesstra, 21. Aug 2007, 23:50:12):
+Huhu,
+
+ich habe (endlich!) eine neue Version der Doxygen-Dokumentation der
+Basis-Mudlib erstellt. Es basiert auf der Lib von heute Abend. In Zukunft will
+ich diese Doku immer mit der Erstellung von Lib-Releases aktualisieren. Das
+neue Doxygen enthaelt nun auch sowas wie Include-Graphen (wer inkludiert was)
+und Caller-Graphen (welche Funktion ruft welche andere auf), was eine schoene
+Sache ist. Allerdings der Wermutstropfen: Doxygen ist fuer C/C++/Java gedacht
+und kommt mit LPC nur begrenzt zurecht.
+Finden koennt ihr das unter: http://mg.mud.de/doxydir/
+Ich schreib das hier mal in bekanntmachungen, weil es ja immer mal wieder auch
+Spieler gibt, die sich fuer die oeffentliche Mudlib interessieren.
+BTW: Wem Doxygen bisher noch gar nix sagt: Schauts euch einfach mal an, dann
+seht ihr schnell, was es ist. ;-)
+
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Spieler vs. Spieler (Ark, 12. Sep 2007, 15:43:07):
+Da viele neu hier sind, dient dieser Artikel als Erinnerung der allgemein
+bekannten Regel aus dem Login Text: Spieler duerfen andere Spieler nicht
+ausserhalb der dafuer vorgesehenen Raeumlichkeiten (Arena, Schlachtfeld ...)
+angreifen.
+Spieler sind alle Interaktiven Objekte, besser verstaendlich: jeder, der
+hinter einem Keyboard sitzt und einen Kampf gegen einen anderen Spieler
+beginnt. Darunter fallen auch Zweitis! Der Grund ist egal, der Vorfall kann
+mit Jail und Spielpause bis hin zu Loeschung der Charaktere bestraft werden.
+Jeder solche Angriff wird an alle Magier gemeldet, darueber sollte sich jeder
+klar sein. Auf Nachsicht zu spekulieren, davon wuerde ich abraten. Im Zweifel
+ist es uns nicht moeglich, ein Versehen zu erkennen. Bei Zweitis schliesse ich
+sowas aus.
+Bitte haltet Euch daran, diese Regel ist nicht neu, aber es sollte immer mal
+wieder daran erinnert werden, dass das kein PK Mud ist (eh klar :-)). Fuer das
+Toeten und Ueben stehen mehr NPC zur Verfuegung als hier je Spieler
+umhertollen.
+
+Vielen Dank.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Amaryllis, 19. Sep 2007, 21:55:35):
+Hi,
+
+am Sonntag abend (23.09.) wird es einen Reboot geben. Uhrzeit ist noch nicht
+sicher, vermutlich spaeter Abend vor Mitternacht.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Crash vom 19.9.07 (Zesstra, 19. Sep 2007, 22:00:40):
+Huhu,
+
+wie ihr alle mitgekriegt habt, ist leider das Mud heut nachtmittag gecrasht.
+Der Ausloeser fuer den Crash ist inzwischen bekannt. Es handelt sich um einen
+Fehler im Driver, ueber den ein Magier heute ungluecklicherweise gestolpert
+ist. Wir werden da hoffentlich in den naechsten Tagen die genauen Ablaeufe
+enthuellen und hoffentlich auch einen Fix dafuer bauen koennen.
+
+So, nun noch zu einem weiteren unangenehmen Punkt: Der Zeitpunkt des Crashs
+war etwas unguenstig, eigentlich hatte ich vor einem Reboot noch ein paar
+Dinge in der Mudlib und im Driver abschliessen wollen. Hinzu kommt, dass
+einige Dinge nach dem Neustart buggen und nicht so laufen wie sie sollten, was
+einigen von euch schon aufgefallen ist. Das ist nach langen Uptimes nicht ganz
+ungewoehnlich, weil sich in dieser Zeit viele Aenderungen in der Mudlib
+ansammeln, die erst mit einem Reboot aktiv werden. Und deren (negative)
+Auswirkungen manchmal erst dann offenbar werden.
+Ich werde jetzt sehen, dass ich einiger meiner Punkte noch moeglichst schnell
+abarbeite und die momentan auftretenden Fehler und Inkonsistenzen eliminiere,
+bis dann der von Amaryllis ja bereits angekuendigte Reboot erfolgt.
+
+Ich moechte euch bitten, bisher unbekannte Fehler und Merkwuerdigkeiten mir
+oder anderen Magier per Mail oder per TM mitzuteilen. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot (Amaryllis, 24. Sep 2007, 17:26:07):
+~#! rn=Amaryllis rt=1190231735 rg=bekanntmachungen
+~#! tid=1190231735
+Reboot lief soweit problemlos, eine Kleinigkeit gibt noch Anlass zur Suche
+bzw. Analyse, sollte aber die neue, hoffentlich lange Uptime nicht
+beeintraechtigen.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Aus alt mach neu... (Zesstra, 20. Okt 2007, 01:08:57):
+Huhu,
+
+falls ihr euch wundert, dass ihr einige Ruestungen nicht mehr anhabt: einige
+Ruestungen hatten ein paar Probleme, was mich dazu bewogen hat, euch zum Teil
+mit brandneuen Ersatzexemplaren auszuruesten. ;-)
+Kleiner Nachteil: Ihr muesste die ersetzten Ruestungen per Hand wieder
+anziehen, aber ich denk, das sollte kein grosses Problem sein. ;-)
+
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Aus alt mach neu... (Zesstra, 20. Okt 2007, 14:43:33):
+~#! rn=Zesstra rt=1192835337 rg=bekanntmachungen
+~#! tid=1192835337
+Und ne kleine Fortsetzung bei den Autoloadern, die ich gestern noch nicht
+geschafft hab. Diese werden beim Einloggen ausgetauscht. Ausser, dass ihr den
+Kram ggf. neu anziehen muesste, sollten dabei keine Nebenwirkungen entstehen.
+Falls ihr doch irgendwelche Probleme mit den betreffenden Items im Anschluss
+bemerkt: Bitte wendet euch an mich.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+EKs und Tips von Brumni (Zesstra,  8. Nov 2007, 21:00:28):
+Huhu,
+
+um den Problemen mit den kaputten Brumni-Tips (d.h. Vergeben von Tips fuer
+nicht (mehr) angeschlossene NPCs) endlich mal zu entgegnen, hab ich dem
+Scoremaster in den letzten Tagen einen Umbau zukommen lassen. Ganz fertig ist
+es noch nicht, es ist noch geplant, ihn so umzubauen, dass EKs nicht mehr
+"versehentlich" automatisch eingetragen werden koennen, das wird in den
+naechsten Tagen noch kommen.
+Weiterhin sind wir momentan dabei, eine Anzahl von EKs zu loeschen, die nicht
+erreichbar sind. Hiervon sind sowohl noch nie angeschlossene EKs betroffen
+aber auch solche, die eigentlich nie haetten stupsen sollen oder aus
+irgendwelchen Gruenden abgehaengte NPCs. Sollte die Chance bestehen, dass
+diese wieder angeschlossen werden, bleiben sie euch aber erhalten und koennen
+spaeter wieder aktiviert werden, sobald der NPC wieder erreichbar ist.
+
+Ihr werde also vermutlich in den naechsten Tagen beobachten, dass div. Tips
+von eurer Brumni-Liste verschwinden und ihr euch dementsprechend neue holen
+koennt, aber ihr werdet vielleicht auch ein paarmal feststellen, dass die
+Plaketten weniger anzeigen.
+Solltet ihr in einer Woche oder so noch Tips haben, bei denen ihr euch sicher
+seid, dass die entsprechenden NPCs/Gebiete nicht angeschlossen/erreichbar
+sind, meldet euch bitte bei einem EM eurer Wahl mit moeglichst genauer Angabe
+des Spruches und warum ihr meint, dass der NPC nicht erreichbar ist. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Vielen Dank, Patryn! :-) (Zook, 21. Nov 2007, 15:12:50):
+Da er leider in unserem schoenen MorgenGrauen nicht mehr
+viel Zeit verbringt, hat sich Patryn entschlossen, von 
+seinem Posten als Regionsmagier in der Unterwelt zurueck
+zu treten.
+
+Ich danke Dir, Patryn, fuer Dein Enagagement und Deine
+Arbeit, die Du in Deine Aufgabe gesteckt hast und 
+freue mich, Dich bald einmal wieder im MG zu sehen! 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+-1  (Zook, 21. Nov 2007, 15:16:58):
+Liebe Freunde des Verlorenen Landes,
+
+Morgoth findet leider momentan wenig Zeit fuer 
+die Pflege der Strassensaeume und Buergersteige
+in Orkhausen, daher tritt er als Regionsmagier 
+einen Schritt zurueck. Als Spiritus Rector des
+VLands verharrt er auf dem Magierlevel 44. Fuer 
+Anfragen bitte ich Euch jedoch Euch direkt an
+Esme zu wenden.
+
+Besten Dank Morgoth fuer Dein unermuedliches
+Eintreten und Engagement fuer diese Region.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Wind fegt durch Port Vain... (Zook, 21. Nov 2007, 15:18:45):
+Liebe Mitspieler und Mitmagier,
+
+da sie leider nicht mehr viel Zeit und Energie fuer ihre
+jeweiligen Regionen aufbringen koennen, habe ich Jenandra,
+Ulo und Wurzel aus den Reihen der Regionsmagier ins "normale"
+Magierglied zuruecktreten lassen.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: EKs und Tips von Brumni (Zesstra, 21. Nov 2007, 19:55:01):
+~#! rn=Zesstra rt=1194552028 rg=bekanntmachungen
+~#! tid=1194552028
+Bevor ichs vergesse: Die EK-Saeuberungsaktion ist vorlaeufig beendet.
+Wenn ihr jetzt noch Tips von Brumni habt, die euch spanisch vorkommen, meldet
+euch am besten bei einem EM.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Paar Tage weg (Amaryllis, 23. Nov 2007, 15:19:40):
+s.o.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Von draus vom Walde komm ich her (Miril, 30. Nov 2007, 23:54:06):
+
+Von draus vom Walde komm ich her 
+und habe viele Tuerchen fuer euch versteckt. 
+
+Ihr habt nun den ganzen Dezember Zeit, eifrig danach zu suchen und die 
+ein oder andere Ueberraschung zu finden. Ich werde in der Zeit am Sandtiger
+stehen und Euch mit Tipps versorgen, damit ihr die Tuerchen auch finden
+koennt.
+
+Viel Erfolg beim Suchen.
+
+Der Weihnachtstroll
+
+Das soll ich euch vom Troll ausrichten. Dank an Arathorn, Ark, Humni und
+Zesstra fuer die schnelle Mithilfe bei der Suche nach geeigneten Verstecken
+und anderen netten Ueberraschungen.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Erzmagier! (Zook,  1. Dez 2007, 13:06:41):
+Wir haben Arathorn als neuen Erzmagier fuer die Mudlib und die
+Pflege der Erstkill-Stupse berufen. Herzlich willkommen und viel
+Spass und Freude an Deiner neuen Aufgabe, Arathorn!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Frohe Feiertage! :)  (Zook, 21. Dez 2007, 11:51:37):
+Liebe Mitspieler und Mitmagier,
+
+ich wuensche Euch allen besinnliche und erholsame Feiertage
+und einen guten Start in das neue Jahr! 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Mudlib-rRelease 3.3.2 (Zesstra,  5. Jan 2008, 23:26:53):
+Huhu,
+
+es wird mal wieder Zeit fuer ein neues Release der Mudlib, nachdem ich ein
+eigentlich fuer den Herbst geplantes habe ausfallen lassen. ;-)
+
+Auf ftp://mg.mud.de/Software/MudLib/ findet ihr also ab jetzt die
+MorgenGrauen-3.3.2 zum Download.
+
+Diese Mudlib laeuft, wie auch die letzte Version, im MorgenGrauen mit
+LDMud-3.3.714.
+(http://www.bearnip.com/ftp/mud/ldmud-3.3.714.tar.gz)
+Eine aktuellere Version (3.3.715, 3.3.716 geht allerdings auch.)
+Ein File mit den passenden 'configure'-Settings fuer die MG-Mudlib ist im
+Verzeichnise 'settings/ enthalten, ggf. muesst ihr dort die Verzeichnisse fuer
+euer Homemud anpassen.
+
+Ein Windows-Binary des aktuellen LD-Treibers gibt es auch, ich glaub, das war
+von Gloinson und liegt (neben dem etwas aelteres Windows-Gamedriver von
+Vanion/Ennox) in:
+ftp://mg.mud.de/Software/GameDriver/
+
+MD5-Checksummen zum Pruefen der Mudlib gibts natuerlich auch:
+c0c82232cdbe5ec8fe3b2a1ea5799ed1  MorgenGrauen-3.3.2.tar.gz
+3ccbcd598b19012eaa4f5eac92af7297  MorgenGrauen-3.3.2.tar.bz2
+
+Bei Problemen und Anregungen wendet euch wie immer an mich. Kurzfristige 
+Hilfe gibt es ggf. sicher auch im MG auf denen Ebenen.
+
+Viel Spass,
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Passwort-Speicherung (Zesstra, 11. Jan 2008, 23:24:21):
+Huhu,
+
+ich habe vorhin den Code modernisiert, der die Passwoerter verwaltet. Direkt
+im Spielbetrieb merken sollte dies eigentlich niemand.
+
+Allerdings werden _neue_ Passwoerter jetzt in einer sichereren Variante in den
+Savefiles gespeichert (sicherer fuer den Fall, dass jemand an diese Files
+herankommt, auch dann soll es moeglichst schwer sein, euer Passwort aus diesem
+File herauszubekommen). Passwoerter werden naemlich nicht im Klartext in den
+Files gespeichert, sondern als sogenannter Hash, von dem man nur mit
+groesserem (Rechen-)Aufwand auf das urspruengliche Passwort zurueckschliessen
+kann. Die alte Version, diesen Hash zu ermitteln, war etwas arg angestaubt in
+Anbetracht der Geschwindigkeit moderner Computer.
+Als Nebeneffekt faellt an, dass die Laenge von Passwoertern nicht mehr auf
+maximal 8 Zeichen begrenzt ist (man konnte bisher zwar laengere PWs angeben,
+jedoch wurden nur die ersten 8 Zeichen benutzt).
+
+(Fuer Leute, die sich damit auskennen: Die Hashes sind jetzt nicht mehr die
+klassische Unix-Hashes, sondern MD5-Hashes.)
+
+Viele Gruesse,
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Sheriffine (Zook,  4. Feb 2008, 21:58:02):
+Hallo zusammen,
+
+nachdem der Sheriff-Posten etwas verwaiste, hat sich unter uns
+Erzmagiern Amaryllis bereit erklaert, diesen Posten zu uebernehmen.
+Bitte wendet Euch mit etwaigen Problemen und Fragen zukuenftig
+direkt an Sie.
+
+Viel Erfolg und ein gutes Haendchen bei Deinem neuen Job, Amaryllis!
+
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Levelkorrektur (Zook,  4. Feb 2008, 22:37:09):
+Mein apostolischer Visitator Muadib ist von Level 66 auf Level 26
+gefallen. Ich bedanke mich bei Muadib fuer sein zahlreiches 
+Engagement im MG! Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Amaryllis, 14. Feb 2008, 09:56:19):
+Hallo,
+
+der Reboot wird heute nachmittag ca. 15 Uhr erfolgen.
+
+Gruss,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot (Amaryllis, 14. Feb 2008, 12:58:38):
+~#! rn=Amaryllis rt=1202979379 rg=bekanntmachungen
+~#! tid=1202979379
+Hi,
+
+fuer diejenigen, die angemeckert haben, dass zu wenig Vorlaufzeit war: Eine
+solche Sicherheitsluecke sollte schnellstens geschlossen werden. Ergo habe ich
+reagiert und als heute morgen das Update da war, habe ich beschlossen,
+nachmittags zu rebooten. So kann ich, falls was schieflaeuft, nach Feierabend
+noch ins RZ fahren.
+
+Sorry, aber in solchen Faellen kann man nicht auf alles Ruecksicht nehmen.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot ist durch (Amaryllis, 14. Feb 2008, 16:06:52):
+Hi,
+
+von meiner Seite aus hat alles geklappt, was ich wollte. Gibt mal wieder
+etliche RZGs an diversen Stellen nach dem Reboot, die werden wir hoffentlich
+nach und nach ausmerzen.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Erneuter Reboot (Vanion, 14. Feb 2008, 21:34:18):
+Leider hat sich ein Fehler in der Mudlib eingeschlichen, der nur durch einen
+erneuten Reboot behoben werden kann.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Chagall ist ab Weiser auf Zeit geworden. (Rumata,  1. Apr 2008, 20:47:02):
+Da es so viel an den Gilden zu tun gibt, und Chagall nicht wegen
+jeder Kleinigkeit Zesstra nerven muss, haben wir ihn zum Weisen
+auf Zeit[*] gemacht.
+
+Die Erzmagier
+[*]auf Zeit war aus eigenem Wunsch.
+
+-----------------------------------------------------------------------------
+
+
+
+Evtl. Reboot (Amaryllis,  3. Apr 2008, 22:46:17):
+Moin,
+
+ich werde morgen nachmittag (Freitag, 04.04.) eine groessere Platte in den
+Server einbauen.
+Falls wider Erwarten die Platte nicht vom System erkannt wird (sollte hotplug
+sein), werde ich das System herunterfahren muessen und ein bisschen basteln.
+Koennte also ggf. einen Ausfall geben.
+
+Sorry fuer die "zeitnahe" Ankuendigung, aber ich habe wider Erwarten
+ploetzlich morgen Zeit, und sonst wird das wieder auf laengere Zeit gesehen
+nichts.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Evtl. Reboot (Amaryllis,  4. Apr 2008, 16:26:46):
+~#! rn=Amaryllis rt=1207255577 rg=bekanntmachungen
+~#! tid=1207255577
+Entwarnung.
+
+Hat alles super geklappt, die neue Platte ist im System integriert :-)
+
+Schoenes Wochenende,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Mudlib-Release: MorgenGrauen-3.3.3 (Zesstra, 15. Mai 2008, 22:11:49):
+Huhu,
+
+eigentlich sollten noch einige neue Dinge in dieses Mudlib-Release, aber aus
+diversen Gruenden, nicht zuletzt meinem RL in den letzten Monaten, wurde
+leider nichts daraus. Viel laenger moechte ich jetzt aber auch nicht warten.
+
+Auf ftp://mg.mud.de/Software/MudLib/ findet ihr also ab jetzt die
+MorgenGrauen-3.3.3 zum Download.
+
+Diese Mudlib laeuft, wie auch die letzte Version, im MorgenGrauen mit
+LDMud-3.3.714.
+(http://www.bearnip.com/ftp/mud/ldmud-3.3.714.tar.gz)
+Eine aktuellere Version (3.3.715, 3.3.716) des LDMud-Treibers geht allerdings
+auch und ist in Anbetracht einiger Bugfixes auch zu empfehlen.
+Ein File mit den passenden 'configure'-Settings fuer die MG-Mudlib ist im
+Verzeichnise 'settings/ enthalten, ggf. muesst ihr dort die Verzeichnisse fuer
+euer Homemud anpassen.
+
+Ein Windows-Binary des aktuellen LD-Treibers gibt es auch, ich glaub, das war
+von Gloinson und liegt (neben dem etwas aelteres Windows-Gamedriver von
+Vanion/Ennox) in:
+ftp://mg.mud.de/Software/GameDriver/
+
+MD5-Checksummen zum Pruefen der Mudlib gibts natuerlich auch:
+8ece0e4d6843f63220a099d7cd1b1c9f  MorgenGrauen-3.3.3.tar.bz2
+e29f3a8bee852406f739c4805e72e110  MorgenGrauen-3.3.3.tar.gz
+
+Bei Problemen und Anregungen wendet euch wie immer an mich. Kurzfristige 
+Hilfe gibt es ggf. sicher auch im MG auf denen Ebenen.
+
+Das naechste Release ist zeitgleich mit dem naechsten Reboot geplant. (Nein,
+einen Termin gibt es noch nicht. ;-) )
+
+Viel Spass,
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Mudlib-Aenderungen und Reboot am 9.8. (Zesstra,  5. Aug 2008, 12:59:00):
+Huhu,
+
+bereits beim letzten Reboot waren einige Aenderungen in der Mudlib geplant,
+die ich aber zum Reboot-Zeitpunkt wegen Dissertations-Stress nicht einbauen
+konnte. Inzwischen sind weitere dazugekommen, die beim naechsten Reboot
+eingebaut werden sollen. Ich erwarte dabei, dass Fehler auftreten und muss
+diesen Reboot daher so planen, dass ich 1-2 Tage Zeit fuer Fehlerkorrekturen
+habe.
+Ich habe diese Woche Urlaub und werde daher an der Mudlib basteln. Am Freitag,
+8.8. werde ich dann den Reboot vorbereiten.
+
+Der Reboot wird dann am Vormittag des 9.8. (Samstag) stattfinden,
+vorraussichtlich etwa 10:00 - 11:00.
+
+Wie geschrieben rechne ich mit dem Auftreten von einigen Problemen im Laufe
+der ersten 1-2 Tage nach dem Reboot. Es kann daher im Laufe des Samstag
+kurzfristig zu weiteren Reboots kommen. Es wird mindestens einen Reboot im
+Laufe des Samstag Abends geben, bei dem Amaryllis auch den Server neustarten
+will.
+Falls danach alles gut laeuft, wars das. Falls jedoch danach immer noch
+Probleme auftreten sollten, kann es auch zu weiteren kurzfristigen Reboots am
+Sonntag kommen. Details werde ich dann via Ebenen und ggf. MPA verkuenden,
+speziell, wenn ich meine, dass die Uptime wieder anhaelt. ;-)
+Ich rechne zwischen den Reboots uebrigens nicht mit langen Ausfallzeiten, d.h.
+ihr muesst euch nicht unbedingt ein Ausweichmud zum Chatten suchen.
+
+Genauere Infos ueber die Neuerungen schreibe ich im Laufe dieser Woche in die
+Spieler- und Magierrubriken der MPA.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Mudlibaenderungen am Samstag (Zesstra,  7. Aug 2008, 19:02:34):
+Huhu,
+
+die momentan geplanten Aenderungen fuer Samstag, welche groesser sind und
+eventuell Probleme ausloesen koennten (insb. die letzten beiden), sind
+folgende:
+
+* auf Wunsch einschaltbare Teile-mit-History (von Amynthor)
+* ueberarbeitete Material-Datenbank (von Raschau)
+* neue Verwaltungsfunktionen fuer das Bewegen von Objekten (aufnehmen,
+  fallenlassen, geben, zeigen, etc.) (von Amynthor)
+* neue Skill-Attribute bzw. deren Verwaltung (von Zesstra, Arathorn)
+Fuer TM-Hist und Skill-Attribute folgen noch Artikel mit genaueren Infos und
+fuer die TM-Hist natuerlich noch Hilfeseiten am WE.
+
+Hinzu kommen noch ganze viele kleinere oder groessere Dinge, die meist im
+Laufe der Uptime schon hinzugekommen sind und an die ich mich groesstenteils
+gar nicht mehr so recht erinner, die aber jetzt aktiv werden. ;-) Auszug:
+* ueberarbeiteter Ebenenmaster, welche die Ebenenhistory beim Neuladen 
+  behaelt. (von Vanion)
+* Soulbefehl 'jammer' und einige weitere Bugfixes der Soul
+* neue Befriedefunktionalitaet
+* netztote Spieler vergessen auch irgendwann ihre Feinde
+* einfachere Moeglichkeit einzustellen, wie lang eine Lebewesen sauer ist
+* zu schnelles Vergessen der Feinde gefixt
+* Bugfixes beim Vergeben von Zaubertraenken
+* Bugfix beim "Reaktivieren" von NPC nach einem Fehler in deren Heartbeat
+* paar Beschleunigungen im Kampf und Abfragen von Properties
+* zu schnelles Abbauen der Paralysen gefixt
+* und bestimmt noch 100 mehr... *aechz*
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mudlibaenderungen am Samstag (Amaryllis,  7. Aug 2008, 21:05:27):
+~#! rn=Zesstra rt=1218128554 rg=bekanntmachungen
+~#! tid=1218128554
+Was sich am Server aendert, spar ich mir, das interessiert eh keinen und sieht
+auch niemand ;)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Crash von heute 12:24 (Vanion, 10. Aug 2008, 13:34:29):
+Hallo,
+
+wie ihr vielleicht bemerkt habt, ist das Mud heute um 12:24 auf die Bretter
+gegangen. Ursache hierfuer ist ein Fehler beim Zugriff auf das Swapfile
+gewesen.
+
+Ich habe eine gute und eine schlechte Nachricht:
+
+Zunaechst die gute: Der Fehler ist einfach zu beheben und das Mud wird in den
+naechsten sagen wir 10 Stunden zumindest nicht wegen dieses Fehlers crashen.
+
+Die schlechte: Um das Problem sauber zu loesen, wird ein Reboot noetig werden.
+Ich nehme an, dass daher heute im laufe des Nachmittags/Abends noch einmal
+rebootet wird.
+
+Gruesse,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Teile-mit-Historie (Zesstra, 10. Aug 2008, 23:06:56):
+Huhu,
+
+gestern wurde u.a. die angekuendigte Geschichte fuer Teile-mits eingebaut (im
+wesentlichen von Amynthor).
+Ich hab jetzt endlich die Hilfeseiten dazu geschrieben bzw. alte geaendert.
+Infos ueber die tmhist findet ihr in den Hilfeseiten 'teile', 'tmhist' und
+'rfluestere'.
+Sicherlich vorhandene Anregungen und Kritik bitte ich per Mail an mich zu
+richten. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+neue Uptime... (Zesstra, 10. Aug 2008, 23:15:46):
+Huhu,
+
+nach leider doch mehr Reboots als erwartet, sind die Basteleien an der Lib
+seit gestern Abend abgeschlossen. Leider gabs heut dann aber noch ein
+Driverproblem, welches das Mud crashte und welches mit einem weiteren Reboot
+heute Abend behoben werden musste.
+Inzwischen laeuft das Mud wieder seit 2h und ich hab jetzt keine groesseren
+Probleme mehr berichtet bekommen. (Hoffentlich beschrei ichs jetzt nicht zu
+laut.) Weitere Reboots sind also von meiner Seite aus nicht geplant. Ich
+garantiere zwar fuer nix, aber ich bin momentan optimistisch, dass diese
+Uptime haelt.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Teile-mit-Historie (Zesstra, 11. Aug 2008, 22:36:35):
+~#! rn=Zesstra rt=1218402416 rg=bekanntmachungen
+~#! tid=1218402416
+Huhu,
+
+leider gab es einen bloeden Kaefer in der TM-History, was zu Fehlern fuehrte,
+sobald ihr die Maximalzahl an Gespraechen erreicht habt und ein altes
+geloescht werden muss. Der Bug ist jetzt repariert, aber in bestehenden
+Spielern leider erst nach Ende/Reboot.
+Workaround ist natuerlich das komplette Abschalten und Wiedereinschalten der
+History und so per Hand alle Gespraeche zu loesen, aber falls es euch ohne
+zuviel Nachteilen moeglich ist, wuerde ich ein Ende empfehlen.
+
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Teile-mit-Historie (Zesstra, 11. Aug 2008, 23:25:50):
+~#! rn=Zesstra rt=1218486995 rg=bekanntmachungen
+~#! tid=1218402416
+Nach einiger Diskussion und Ueberlegung hab ich dazu durchgerungen, allen
+betroffenen Spielern ein Renew zu goennen... Also, Merlin sollte euch beim
+naechsten Login ein neues Spielerobjekt verpassen und ihr behaltet eure
+Objekte im Inventar.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+SSL-Zertifikat, verschluesselter Zugang (Zesstra,  9. Okt 2008, 20:55:17):
+Unser SSL-Zertifikat fuer die Homepage und den verschluesselten Zugang zum Mud
+war leider seit einiger Zeit abgelaufen (*huestel*).
+Wir haben jetzt ein neues, welches Amaryllis heut eingebaut hat. Sein
+SHA1-Fingerprint ist: 
+  B9:41:46:10:E2:2D:8F:29:C8:BB:38:70:92:6C:B5:FA:5B:66:20:C1
+
+Das Zertifikat ist von CACert signiert.
+Das Wurzelzertifikat von CACert koennt ihr ggf. unter 
+  http://www.cacert.org/index.php?id=3 
+erhalten. Dessen Fingerprints sind: 
+  MD5:  A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B
+  SHA1: 13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33
+
+Bei Fragen antwortet einfach in 'allgemeines'.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Downtime heute morgen (Amaryllis, 11. Dez 2008, 15:08:05):
+Hallo,
+
+wie einige bemerkt haben, war das Mud heute am fruehen Morgen fuer einige Zeit
+nicht erreichbar. Der Server selbst hatte kein Problem, aber der Switch, an
+dem die Maschine haengt. Hat einige Zeit der Entstoerung gekostet.
+
+Tut mir leid fuer die Unannehmlichkeiten.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Happy 2009! (Amaryllis, 29. Dez 2008, 23:12:17):
+Hallo,
+
+die Systemadministration (sowie die restliche Administration, denke ich) des
+MorgenGrauens wuenscht Euch nach den stressigen Advents- und Weihnachtstagen
+einen ruhigen und vielleicht auch einmal (muss ja nicht immer krachen!)
+besinnlichen Rutsch in ein gutes neues Jahr 2009.
+
+Ich wuensche einfach das, was jeder selbst am besten brauchen kann (so einfach
+geht das).
+
+Fuer das neue Jahr wuensche ich mir weiterhin ein erfolgreiches Projekt
+Morgengrauen, sowie die Entscheidungsfreudigkeit des Foerdervereins, einen
+dringend notwendigen Server anzuschaffen ;)
+
+Liebe Gruesse,
+Ama*
+Serveradmin
+
+-----------------------------------------------------------------------------
+
+
+
+Die Zweitie-Regelung der MorgenGrauen (Zesstra,  5. Jan 2009, 22:49:13):
+Es existierten offenbar in der juengeren Vergangenheit bzgl. der aktuellen
+Zweitieregel erneut (immer noch?) Missverstaendnisse um deren Auslegung.
+
+Ich (stellvertretend fuer den Rest der EMs) nehme das zum Anlass, hier mal
+Muadib zu zitieren (lang lang ists her).
+Das Originalposting findet findet ihr im MPA-Archiv in der Rubrik
+'diskussion': "Zu der Zweitieregelung (Muadib,  9. Sep 2000, 13:57:05)"
+(Ja, so alt ist die Regelung.)
+
+--- Zitat ---
+Es duerfen zwei Charaktere aktiv am Spielgeschehen teilnehmen. Diese zwei
+Charaktere koennen zwei Zweitspieler sein, ein Erstspieler und ein
+Zweitspieler, ein Erstspieler und ein ausgeliehener Erst- oder Zweitspieler,
+ein Zweitspieler und ein ausgeliehener Erst- oder Zweitspieler oder sogar zwei
+ausgeliehene Erst- oder Zweitspieler sein. Es gibt also eine ganze Menge von
+Kombinationen.
+
+Alle anderen Charaktere des Spielers muessen sich auf die Kommunikation
+beschraenken. Blockmonster toeten, Schutzhuellen oder Schutzhaende verteilen,
+Hebel ziehen, Knoepfe druecken, Steine werfen, Heilungen vergeben, an den
+richtigen Stellen zur richtigen Zeit Schirme aufzuspannen und aehnliches sind
+keine Kommunikation. Dies ist wohl auch common sense, oder?
+
+Nun stellt sich natuerlich die Frage, wie sieht es mit Auswechslungen der
+aktiven Charaktere aus. Hier ist in der Tat keine verbindliche Aussage in den
+jetzigen Regeln enthalten. Warum?
+Wenn jemand mit zwei Charakteren zusammen spielt, so tut er es in der Regel
+doch, um ein bestimmtes Ziel zu erreichen. Dieses Ziel kann einfach und kurz
+definiert sein, wie zum Beispiel das Toeten eines bestimmten NPCs, oder es
+kann auch etwas komplexeres sein, wie das Loesen einer Quest. Innerhalb dieses
+Zieles sollten die Charaktere nicht gewechselt werden.
+
+Es ist schwierig bis unmoeglich fuer die ganze Bandbreite von Zielen eine
+verbindliche Zeitspanne zu finden, die allen diesen Zielen gerecht wird. 
+
+Daher war hier die Hoffnung, dass was das Wechseln der aktiven Charaktere
+angeht, eine aktzeptable allgemeine Praxis unter den Spielern entsteht. Dies
+wird durch die Bezeichnung "common sense" uebrigens recht gut abgedeckt, auch
+wenn es richtig ist, dass die Beurteilung was aktzeptabel ist oder nicht
+wiederum im Streitfall bei Wenigen liegt.
+--- Zitatende ---
+
+Diese Auslegung von Muadib hat bisher immer noch Bestand. Allerdings scheinen
+wir uns in juengerer Zeit zu sehr auf den zitierten 'common sense' verlassen
+zu haben.
+
+Ich schliesse aehnlich wie damals Muadib: Falls ihr der Meinung seid, dies ist
+zu vage und unsicher oder aus anderen Gruenden nicht akzeptabel, so bitte ich,
+das in 'diskussion' mit Alternativen zu diskutieren.
+
+Viel Spass
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Telnet-Keep-Alive (Zesstra, 19. Jan 2009, 21:46:46):
+Huhu,
+
+einige Spieler und Magier haben immer mal wieder Probleme, dass sie bei
+laengerer Inaktivitaet rausfliegen, weil irgendein Router im Netzwerk die
+inaktive Verbindung abbricht.
+Rumata und ich haben ein 'Telnet-Keep-Alive' in die Spielershells gebastelt,
+welches alle 10min Daten an eure Clients schickt, die diese nicht anzeigen,
+aber ihrerseits beantworten. Das sollte Verbindungsabbruechen durch
+Inaktivitaet vorbeugen.
+
+Das ganze ist nutzbar nach Ende/Reboot und kann mit dem Kommando 'keepalive'
+kontrolliert werden:
+'keepalive ein' - Einschalten des Telnet-Keep-Alives
+'keepalive aus' - Ausschalten des Telnet-Keep-Alives
+'keepalive' - Anzeige des aktuellen Zustands
+Die Hilfeseite folgt in Kuerze. Die jeweilige Einstellung ist rebootfest.
+
+Wenn ihr mit Verbindungsabbruechen bei Inaktivitaet zu kaempfen habt, probiert
+es mal aus. Habt ihr keine Probleme, braucht ihr es natuerlich nicht und
+solltet es ausgeschaltet lassen. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+PK-Mud ausgefallen (Zesstra,  6. Feb 2009, 20:39:20):
+Huhu,
+
+heut ausnahmsweise eine Bekanntmachung fuer das PK-Mud:
+Aufgrund eines Plattenschadens ist das PK seit gestern nicht erreichbar. Am
+Problem wird gearbeitet und es kommt hoffentlich in wenigen Tagen wieder hoch.
+Desweiteren s. Artikel "PK down (Arath,  6. Feb 2009, 20:32:34)" in der Rubrik
+allgemein (momentan der 29.).
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Seheranforderungen (Zook,  8. Mar 2009, 18:31:21):
+Die Erzmagier des MorgenGrauens haben eingedenk ihres 
+Wunsches, die Seheranforderungen regelmaessig zu 
+evaluierung (siehe "hilfe seher") am 7. Maerz 2009 
+einstimmig beschlossen:
+
+Die Seheranforderungen bleiben wie sie sind und werden in 
+diesem Jahr nicht angepasst.
+
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Loeschskript (Rumata,  8. Mar 2009, 20:37:34):
+Bisher war es so, dass ein inaktiver Spieler nicht geloescht wurde, wenn
+er (unter anderem) aelter als 12 Stunden geworden war. Da wegen DSL
+so etwas wie Onlinezeit kein Thema mehr ist, habe ich diese Beschraenkung
+entfernt. Nun spielt das Onlinealter beim Loeschen keine Rolle mehr.
+
+An den uebrigen Bedingungen (siehe "hilfe loeschskript") hat sich
+nichts geaendert.
+
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Ruecktritt (Zook, 12. Mar 2009, 14:22:44):
+Hallo zusammen,
+
+da er leider keine Zeit mehr fuer das MorgenGrauen aufwenden kann,
+ist Rikus von seinen Erzmagier- und Regionsmagieraemtern
+zurueckgetreten. Besten Dank fuer Dein langjaehriges Engagement
+im MG! :-) 
+
+Fuer ZTs/FP ist weiterhin vertretungsweise Humni zustaendig und
+fuer die Augfaben als RM im Dschungel ist vertretungsweise ...
+... huch, schon wieder Humni zustaendig.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Dschungel nicht mehr verweist... (Zook, 18. Mai 2009, 10:18:40):
+Ark uebernimmt die Betreuung des Dschungels. Besten Dank!
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+neues SSL-Zertifikat und Rechnernamen (Zesstra, 20. Aug 2009, 13:11:12):
+Huhu, allerseits,
+
+1)
+wir haben jetzt ein neues SSL-Zertifikat fuer sichere Verbindungen zu uns.
+Es ist von CaCert.org ausgestellt und hat die folgenden Fingerprints:
+SHA1 Fingerprint=B8:EA:73:7D:AD:75:F0:B3:A8:66:98:D5:CD:B6:9D:3B:A2:96:1A:A6
+MD5 Fingerprint=4C:DE:40:09:51:E6:34:A4:02:C4:96:06:62:A5:81:95
+
+Bisher ist CaCert.org den meisten Browsern von Haus aus unbekannt, sodass ihr
+ne Warnung kriegen koenntet. Falls ihr CaCert vertrauen wollt, gibt es eine
+Anleitung zur Einbindung ihres Root-Zertifikats auf deren Homepage:
+http://wiki.cacert.org/wiki/BrowserClients
+
+2)
+Das Mud ist neben mg.mud.de auch unter den unten angegebenen Namen erreichbar.
+mg.morgengrauen.info
+mg.morgen-grauen.de
+mg.zesstra.de
+mud.morgengrauen.info
+mud.morgen-grauen.de
+mud.zesstra.de
+
+Diese zusaetzlichen Namen haben wir eingerichtet, damit wir z.B. bei
+unerwarteten Rechnerproblemen schneller wieder erreichbar sind, weil wir so
+nicht auf nur eine einzige Person angewiesen sind, die die Zuordnung zwischen
+dem Namen und dem jeweiligen Rechner aktualisieren kann (und die ja mal in
+Urlaub/Dienstreisen/etc. sein kann).
+Ich empfehle euch, diese Namen lokal bei euch zu speicher/aufzuschreiben. Im
+Falle von ernsthaften Problemen kann es sein, dass das Mud unter einem dieser
+Namen (als erstes wieder) erreichbar ist.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Magierwerdung mit einem nicht-Seher (Zesstra, 27. Okt 2009, 20:49:59):
+Huhu,
+
+dieses Thema wurde fuer viele Jahre immer mal wieder diskutiert, hat aber bis
+jetzt nie ausreichend Zustimmung bei den EMs gefunden. Ein Grund dafuer war
+auch, dass wir nie wollten, dass Leute einfach so einen Magier bekommen, nur
+um in Magierrubiken lesen zu koennen, 'goto' zu haben etc. und daher in einem
+Magier Arbeit stecken sollte.
+
+Nach einer erneuten Diskussion in den letzen Monaten haben wir uns
+entschlossen, die Regeln zur Magierberufung wie unten beschrieben zu
+erweitern. Dies gilt zusaetzlich zu der bislang geltenden Prozedur der
+Magierwerdung.
+D.h. die Magierberufung ist einerseits einfacher, andererseits aber auch
+schwieriger geworden. Zusaetzlich ist es seitens des Lehrlings noetig, aktiv
+zu sein um Magier zu bleiben.
+
+Magierwerdung mit einem nicht-Seher
+-----------------------------------
+  * Die Berufung eines nicht-Seher-Charakters zum Magier ist moeglich,
+    sofern der betreffende RL-Spieler bereits einen Seher hat.
+  * Die Berufung eines solchen Charakters zum Magier ist nur in Absprache
+    mit den EMs moeglich. Bei konkreten Anfragen an EMs muss eine erste 
+    Idee angegeben werden, was man sich als GS vorstellt.
+  * Ein vernuenftiges, d.h. zustimmungsfaehiges Konzept muss _vor_
+    Magierwerdung den EMs vorgstellt werden. An dieses werden die sonst
+    ueblichen Anforderungen bzgl. Umfang und Komplexitaet gestellt. Das
+    Konzept wird von EMs genehmigt, bevor die Berufung zum Magier
+    erfolgt.
+  * Nach Sponsorn des Charakters entfaellt die sonst uebliche Wartezeit
+    von 1-2 Wochen (weil die EMs ja vorher zugestimmt haben) und der
+    Char kann direkt auf Level 20 befoerdert werden.
+  * Das GS muss innerhalb von 6 Monaten nach Magierwerdung fertiggestellt 
+    werden.
+    Die Fertigstellung ist definiert als Einreichung an den RM zur 
+    Abnahme.
+    Dies darf natuerlich keine pro-forma Einreichung von halbfertigem 
+    Zeugs sein.
+  * Eine Verlaengerung dieser Frist kann durch einen von den EMs be-
+    nannten EM (idR EM fuer Gesellenstuecke) genehmigt werden, sofern ihm
+    dies sinnvoll erscheint ("begruendete Faelle", fast fertig, etc.).
+    In Zweifelsfaellen wird die Verlaengerung von den EMs diskutiert.
+  * Muss das GS nach Abnahme durch den RM und/oder den EM Gesellenstuecke
+    nachgebessert werden, sollte dieses innerhalb von 2 Monaten geschehen.
+    Verlaengerungen: s.o.
+  * Bei Nicht-Einhaltung der Frist erfolgt die Loeschung des Charakters.
+  * Der Spieler unterliegt auch nach Loeschung dem Magiervertrag
+    insofern, als dass er ueber etwaige als Magier gewonnene Interna 
+    von nicht-oeffentlichem Code Stillschweigen zu wahren hat.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Magierwerdung mit einem nicht-Seher (Ark, 27. Okt 2009, 21:17:44):
+~#! rn=Zesstra rt=1256672999 rg=bekanntmachungen
+~#! tid=1256672999
+Noch eine persoenliche Anmerkung von mir:
+Das ist eine Erleichterung, die trotzdem wohl ueberlegt sein muss. 6 Monate
+sind fuer ein GS _eigentlich_ mehr als ausreichend, aber es bedingt gerade
+fuer Nichtprogrammierer viel Arbeit, waehrend der der persoenliche
+Spielbetrieb ruht/ruhen muss. Auch an der Tatsache, dass man Geduld aufbringen
+muss, hat sich durchaus nichts geaendert. Es laufen halt nicht mehr soviele
+aktive Magier herum, die sofort verfuegbar sind. Das soll nicht abschrecken,
+aber eben bedacht sein. Ich habe leider schon zuviele (auch einige sehr gute)
+Konzepte wieder aus meinem Mailfile geloescht wg. Inaktivitaet ... kurz
+nachdem man Magier geworden ist.
+Oft sieht man Gebieten nicht immer an, wieviel Arbeit drin steckt, und damit
+meine ich nicht nur Details. Deshalb mein Tip: dreimal wieder wach werden ...
+wenn man dann immer noch ueberzeugt ist, das Spielen (so wie man es kennt)
+weitgehend aufzugeben und schoepfend taetig zu sein, dann koennte es was
+werden :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Frohes neues Jahr! (Zook,  3. Jan 2010, 16:59:18):
+Hallo zusammen,
+
+ich wuensche Euch allesamt ein frohes neues Jahr und viele schoene
+Stunden hier im MorgenGrauen. Sei es zum Spielen, Programmieren, 
+Plaudern, Treffen, Metzeln oder was auch immer! 
+
+Viele Gruesse, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Zesstra entfesselt die Kraefte des Chaos und der Wind treibt uns dahin... (Zook,  8. Feb 2010, 22:53:07):
+Hallo zusammen,
+
+nachdem selbst die Spieler sich ueber die lange Uptime wundern, 
+haben wir Gegenmassnahmen ergriffen. Vor allem bin ich es leid,
+den ganzen Neuspielern einen "Reboot" zu erklaeren und ihnen 
+klar zu machen, wo ihre Ausruestung ist. Nicht aus diesem Grund
+ergreifen wir nun Massnahmen und rufen den naechsten Reboot aus.
+
+Moege diese Uptime also in Kuerze zu Ende gehen und alle 
+Stabilitaet mit sich reissen ... *hust*
+Dann wird sein Heulen und Zaehneklappern ob staendiger Reboots
+im 10-Tage-und-kuerzer-Rhythmus. 
+
+So, das habt Ihr nun davon!
+
+Zook.
+
+PS: Das MorgenGrauen zieht zum Ende des Monats, wahrscheinlich um den 20.2. 
+auf den neuen (darf man das noch so sagen?) Rechner um. Daher werden wir 
+ein bisschen Downtime und mindestens einen Reboot erleben. Genauere
+Informationen reichen wir nach, sobald sich die Planungen konkretisiert 
+haben.
+
+PPS: Man wird dann sehen, wie das MG neu anlaeuft, wir streben aber
+wie bisher stabile und lange Uptimes an. 
+
+PPPS: Was der Titel mit dem Inhalt zu tun hat? Ich habe nicht
+die geringste Ahnung.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zesstra entfesselt die Kraefte des Chaos und der Wind treibt uns dahin... (Amaryllis, 10. Feb 2010, 21:23:49):
+~#! rn=Zook rt=1265665987 rg=bekanntmachungen
+~#! tid=1265665987
+Vielleicht darf ich auch ein paar Cent einwerfen als verantwortlicher
+Serveradmin, der auch vor Ort im RZ sein kann/muss.
+Ich stelle mir im eigenen Interesse eine rechtzeitige Planung vor. Der
+eigentliche Ablauf koennte sein: Server "einfrieren", so dass keine
+Aenderungen mehr sind. Dann wird es ggf. einen halben bis einen Tag zur
+Migration brauchen.
+
+Tut mir leid, aber ich muss klarstellen, dass ich auf Spielerwuensche hier
+leider keine Ruecksicht nehmen kann. Wenns soweit ist, gehts los - und dann
+werden u.U. auch mal 2 Tage keine Aenderungen mehr an Savefiles passieren,
+sprich: Lernsperre.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zesstra entfesselt die Kraefte des Chaos und der Wind treibt uns dahin... (Amaryllis, 10. Feb 2010, 23:28:53):
+~#! rn=Amaryllis rt=1265833429 rg=bekanntmachungen
+~#! tid=1265665987
+Ich gebe zu, das war die falsche Rubrik, aber ich stehe dazu ;)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Empfang und Versand externer Mails (Zesstra, 11. Feb 2010, 21:53:23):
+Huhu,
+
+ich habe auch eine kurze Bekanntmachung zu machen. ;-)
+
+Und zwar zum Thema Mailempfang aus dem Rest des Internets und Mailsenden an
+den Rest des Internets: dies wird nach dem Umzug bis auf weiteres nicht mehr
+moeglich sein.
+Hintergrund: Aufgrund der sog. Vorratsdatenspeicherung sind Mailprovider
+verpflichtet, eine Reihe von Daten im Zusammenhang mit dem Empfang, Versand
+und Abruf von Mails zu speichern. Es ist unsicher, ob wir als Mud unter eine
+Ausnahme fallen, weswegen wir schon lange ueberlegt haben, unsere Mail auf
+interne Mail und auf Mails zwischen den Muds zu begrenzen.
+Im Laufe des Fruehjahrs wird ein Urteil des Bundesverfassungsgerichts zu der
+VDS erwartet. Bis dieses Urteil verkuendet wird, werden wir keine Arbeit fuer
+eine Mailanbindung investieren. Nach dem Urteil werden wir entscheiden, ob es
+sich lohnt, auf dem neuen Rechner eine Mailanbindung zu basteln oder nicht.
+
+Nicht betroffen hiervon sind uebrigens Mails an die anderen (deutschen) Muds,
+d.h. sowas wie char@unitopia oder char@wunderland wird weiterhin
+funktionieren.
+
+Wer hier im MG Mails aufbewahrt, die er unbedingt zuhause haben moechte,
+sollte diese Mails vor dem 20.2. zu sich nach Hause weiterleiten.
+
+Achja, zum konkreten Ablauf am Wochenende vom 19. - 21.2. wissen wir selbst
+noch nicht genug, wir werden euch informieren, sobald unser Plan steht.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+verschluesselte Verbindung (SSL) ins Mud (Zesstra, 11. Feb 2010, 22:38:37):
+Und noch ne kleine Bekanntmachung. ;-)
+
+Wie ihr vielleicht wisst, besteht die Moeglichkeit, die Verbindung ins Mud zu
+verschluesseln. Hierzu braucht man entweder einen SSL-tauglichen Client (z.B.
+TF-5) oder man benutzt stunnel zwischen Client und Mud (s. auch
+http://mg.mud.de/newweb/download/stunnel.shtml). Diese verschluesselte
+Verbindung baute man bisher zum Port 992 auf mg.mud.de auf.
+
+Nach dem Reboot wird dies nicht mehr Port 992 sein, sondern 4712.
+
+Achja, noch ne Kleinigkeit: unsere Homepage wird auf dem neuen Rechner kein
+'newweb' mehr im Pfad haben. Sollte aber kein Problem sein, weil der Webserver
+euch automatisch umleiten wird.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+RIP ... Rekord-Uptime (Zesstra, 13. Feb 2010, 00:28:27):
+Huhu,
+
+vorhin ist aus mir noch unbekannter Ursache das Mud gecrasht. Soviel zu
+schoenen Plaenen, den Reboot naechste Woche in Ruhe ueber die Buehne zu
+bringen.
+
+So: Da wir ne lange Uptime mit vielen Aenderungen in der Lib hatten, die jetzt
+alle gleichzeitig aktiv werden, ist mit Fehlern zu rechnen. Es wird eine Weile
+dauern, die alle zu beseitigen. Wenn ihr FiRZG begegnet: ggf. Kaempfen
+einstellen, wenns im Kampf passiert, nicht weiter in das jeweilige Gebiet
+gehen, wenns beim Betreten von Raeumen passiert.
+
+Naeheres folgt sobald bekannt.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: RIP ... Rekord-Uptime (Zesstra, 13. Feb 2010, 10:50:33):
+~#! rn=Zesstra rt=1266017307 rg=bekanntmachungen
+~#! tid=1266017307
+Ich hab den Crash im Driver von heut nacht lokalisiert. Nach dem naechsten
+Reboot wird der Fehler raus sein, aber ich rechne bis dahin nicht mit einem
+erneuten Auftreten, da dies eine recht spezielle Situation erfordert.
+
+Nach dem Crash musste heut Nacht noch ein Reboot sein, um ein mud-globales
+Problem in den Kneipen zu beheben (Dank an Gloinson fuer schnelles Finden!).
+Momentan siehts ansonsten gut aus und mir sind keine Gruende fuer nen erneuten
+Neustart bekannt (s.u.).
+
+BTW Reboot: Da wir von unserem alten Rechner runter muessen, kommen wir leider
+um den/die fuer den 20.2. geplanten Reboot(s) nicht herum, auch wenn das nun
+eine sehr kurze Uptime bedeutet.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Umzugsplaene am Samstag (20.2.) (Zesstra, 18. Feb 2010, 00:49:46):
+Huhu,
+
+momentan sieht unser Plan fuer den kommenden Samstag (20.2.) wie folgt aus:
+Der Shutdown des Spiels erfolgt vormittags, Zeitfenster 9-10 Uhr. Nach dem
+Abschalten werden wir mit dem Kopieren der Daten auf den neuen Rechner
+beginnen. Amaryllis wird im Laufe des Vormittags ins Rechenzentrum fahren, die
+Rechner austauschen und unserem neuen Rechner die Adresse des alten Rechners
+geben.
+Nach dem Abschluss des Transfers der Daten werde ich in der Mudlib einige
+technische Neuerungen einspielen und wir werden noch einige Tests
+durchfuehren.
+Im Anschluss daran werden wir die Dienste auf dem neuen Rechner nach und nach
+in Betrieb nehmen, beginnend mit dem Mud.
+
+Ich rechne damit, dass das Morgengrauen am fruehen Nachmittag wieder
+erreichbar sein wird. Es kann allerdings sein, dass in den darauffolgenden
+Stunden noch ein oder mehrere Neustarts erforderlich sind. Letztendlich ist
+leider fast immer so, dass div. Fehler erst durch Spieler gefunden werden, die
+im Morgengrauen heraumlaufen. ;-)
+(Und sollte es wider Erwarten mit dem Neustart doch etwas laenger dauern,
+bitte ich euch schonmal im Vorfeld um etwas Geduld. :-) )
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Umzug (Amaryllis, 20. Feb 2010, 21:14:46):
+Hi,
+
+der Umzug lief von meiner Seite aus problemlos. Ich muss aber darauf
+hinweisen, dass es u.U. noch Reboot(s) geben kann. Lasst Euch dennoch nicht
+beim Spiel stoeren ;)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Umzug (Zook, 21. Feb 2010, 21:24:35):
+~#! rn=Amaryllis rt=1266696886 rg=bekanntmachungen
+~#! tid=1266696886
+Ich nutze, nachdem sich der Pulverdampf langsam verzogen hat, hier 
+die Gelegenheit allen Beteiligten am Umzug und denjenigen, die 
+im Nachgang dem MG beim ersten Schluckauf geholfen haben, meinen
+Dank auszusprechen! Toll, dass das so gut geklappt hat!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Jobwechsel (Amaryllis, 16. Mar 2010, 21:12:32):
+Hi,
+
+hiermit muss ich bekanntgeben, dass ich mir nach knapp 9 Jahren bei NetCologne
+eine neue Herausforderung gesucht habe, die Mitte April beginnt. Dies sage ich
+deshalb, weil ja der Mudserver von NetCologne gehostet wird.
+
+Nach etwas Diskussionsarbeit in den letzten Wochen sind wir bei einem Stand
+angelangt, dass der Server weiterhin gehostet wird - Vorort-Einsaetze wie z.B.
+ein Plattentausch muessen auf dem "kleinen Dienstweg" geloest werden.
+
+Ich bin zuversichtlich, dass wir damit auch in Zukunft ein stabiles Zuhause
+fuer den Server haben, kann aber natuerlich nach meinem Weggang nichts
+garantieren (wobei ich ehrlich gesagt nicht von "Zwischenfaellen" ausgehe).
+
+Ich darf mich an dieser Stelle einmal fuer das mir entgegengebrachte Vertrauen
+bedanken und werde im Rahmen meiner Moeglichkeiten (da ich Vor Ort bleiben
+werde) das Mud auch weiterhin servertechnisch betreuen.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Zeitgenauigkeit und Spruchermuedungspausen (Zesstra, 16. Mar 2010, 21:17:04):
+Huhu,
+
+als Folge der Diskussion in 'entwicklung' gebe ich dann mal hier bekannt:
+
+Wir lassen die Zeitgenauigkeit bei 1s.
+
+Spieler, die sich nicht an eine 1s-Granularitaet bei Spells gewoehnen koennen,
+koennen eine Alternative einschalten. Bei dieser werden die Ermuedungspausen
+auf Vielfache von 2s aufgerundet und in der Regel (vorbehaltlich: Lag) so im
+Spieler gespeichert werden, als seien sie zum Zeitpunkt des letzten Heartbeats
+eingetragen worden. Waehlt ein Spieler diesen Modus, wird dieses fuer alle
+Sprueche, welche die Standardfunktionalitaet der Mudlib fuer Spruchermuedungen
+benutzen, automatisch gemacht (fast alle).
+Dies hat natuerlich gleichzeitig zur Folge, dass Ermuedungspausen u.U. laenger
+werden. Dies betrifft auch etwaige Mali (z.B. koennte ein 1s-Malus zu 2s
+werden) und Boni (1s-Bonus wird zu 0s und geht verloren) auf
+Spruechermuedungspausen.
+
+Weitere Infos zur Benutzung gibt es auf der Hilfeseite 'spruchermuedung'.
+Achja: diese Wahl besteht ab Ende/Reboot.
+
+So. Jetzt gibt es ein paar Ausnahmen. Einige Sprueche (die meisten davon bei
+Kaempfern) fuehren zu nicht von der Standardmudlib verwalteten
+Ermuedungspausen. In diesem Fall funktioniert die oben genannte Loesung
+erstmal nicht - solange bis die betreffende Gilde entweder auf die
+Standardfunktionalitaet der Mudlib umstellt oder selbst anderweitige
+Massnahmen trifft.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Amaryllis, 24. Mar 2010, 10:46:49):
+Hi,
+
+am Freitag morgen ab ca. 9-10 Uhr koennte es noch einmal spontan zu einem
+kurzfristig eingeleiteten Reboot kommen.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Auf eine neue Uptime! (Zesstra, 26. Mar 2010, 23:25:10):
+Huhu,
+
+ich denke, das Morgengrauen laeuft jetzt wieder stabil, nachdem wir ja leider
+eine ganze Serie von Crashes wegen eines Fehlers im Driver erlebten.
+Das ganze hat etwas laenger gedauert, was daran lag, dass ich heute tagsueber
+waehrend meiner eigenen Arbeit einfach nicht genug Zeit hatte, mich in dem
+Ausmass um Privatangelegenheiten (d.h. auch MG) zu kuemmern.
+Aber immerhin wars vielleicht fuer einige eine lustige Erfahrung. ;-)
+
+Fehler und Unregelmaessigkeiten bitte an mich, aber ich bin ab Sonntag fuer 2
+Wochen fast unterunterbrochen abwesend, in der Zeit verweise ich euch mal an
+meine EM-Kollegen. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Mudlib-Release 3.3.4 (Zesstra,  2. Mai 2010, 14:50:53):
+Huhu,
+
+Nach endlos langer Zeit ohne Release der Mudlib (zum Glueck gibts ja daily
+snapshots *g*) gibt es jetzt mal wieder eins.
+
+Auf ftp://mg.mud.de/Software/MudLib/ findet ihr also ab jetzt die
+MorgenGrauen-3.3.4 zum Download.
+
+Diese Mudlib laeuft im MorgenGrauen mit LDMud-3.5.x (http://www.ldmud.eu/).
+Dies ist der aktuelle Zweig von LDMud, wo die Weiterentwicklung stattfindet
+und er kann daher ab und an instabil sein. Wen das stoert, kann auch
+LDMud-3.3.719 nehmen.
+
+Ein File mit den passenden 'configure'-Settings fuer die MG-Mudlib ist in den
+Quellen des Drivers im Verzeichnis src/settings/ enthalten. Zum Konfigurieren
+des Driver sollte man im Verzeichnis src/ des Drivers sein und 
+'settings/morgengrauen' ausfuehren.
+
+Ein Windows-Binary eines recht aktuellen LD-Treibers gibt es auch. Dieses hat
+Gloinson bereitgestellt und es liegt in:
+ftp://mg.mud.de/Software/GameDriver/
+
+MD5-Checksummen zum Pruefen der Mudlib gibts natuerlich auch:
+b2e922c667e184934a14a135e054eff7  MorgenGrauen-3.3.4.tar.bz2
+cf560bc6bb8bdb2a7a80bb3398fa7311  MorgenGrauen-3.3.4.tar.gz
+
+Bei Problemen und Anregungen wendet euch wie immer an mich. Kurzfristige 
+Hilfe gibt es ggf. sicher auch im MG auf denen Ebenen.
+
+Das naechste Release ist (mal wieder) halbwegs zeitgleich mit dem naechsten
+Reboot geplant. (Nein, einen Termin gibt es noch nicht. ;-) )
+
+Viel Spass,
+Zesstra
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+PHP auf dem Server... (Amaryllis,  8. Jun 2010, 21:55:03):
+... ist nun aktiviert. D.h. die Bildersuche funktioniert wieder.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Amaryllis,  5. Okt 2010, 13:10:36):
+Hi
+
+es wird vermutlich morgen im Laufe des Nachmittags einen Reboot geben. Tut mir
+leid, dass ich keinen genauen Zeitpunkt sagen kann, da ich von NetCologne
+abhaengig bin. Daher wird es, falls es morgen klappt, nur einen sehr kurzen
+Armageddon geben werden.
+
+Hoffentlich klappt der Termin.
+
+VG,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot (Zesstra,  6. Okt 2010, 09:47:18):
+~#! rn=Amaryllis rt=1286277036 rg=bekanntmachungen
+~#! tid=1286277036
+Zum Thema Reboot:
+Gleich das Wichtigste ist, dass es recht wahrscheinlich ist, dass es im Laufe
+des Abend oder morgen noch min. einen weiteren Reboot geben wird. Das haengt
+allerdings davon ab, wieviele und welche Fehler sich nach dem Reboot
+offenbaren und wie schnell sie das tun.
+Des weiteren bin ich grundsaetzlich heute nachmittag am Arbeiten und komme
+heute Abend vermutlich auch nicht vor 8 nach Haus. Ich versuch, mal
+reinzuschauen und zu gucken, ob ich etwaige schwerere Fehler vorher beheben
+kann. Kann ich aber nicht versprechen.
+Wenn euch Fehler auffallen, sprecht mich an.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Reboot (Amaryllis,  6. Okt 2010, 15:12:09):
+~#! rn=Zesstra rt=1286351238 rg=bekanntmachungen
+~#! tid=1286277036
+Ich habe bisher bei NetCologne keinen erreicht. Sieht danach aus, als wird die
+Aktion verschoben werden muessen...
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Reboot (Amaryllis,  6. Okt 2010, 15:40:01):
+~#! rn=Amaryllis rt=1286370729 rg=bekanntmachungen
+~#! tid=1286277036
+Der Termin ist verschoben.
+
+Naechster Termin: Freitag, 12:15 Uhr
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Reboot (Zesstra,  6. Okt 2010, 15:48:17):
+~#! rn=Amaryllis rt=1286372401 rg=bekanntmachungen
+~#! tid=1286277036
+Ok... Nach nochmaliger Beratschlagung machen wir jetzt folgendes:
+Wir machen einen Reboot heut Abend. In der Zeit bis Freitag fixen wir etwaige
+auftretende Fehler und testen aktuelle Mudlib+Driver. (Fuer Mithilfe beim
+Testen danke ich euch schonmal im Vorraus. :-) )
+Dann machen wir am Freitag Mittag den Reboot, fuer den wir NetCologne
+brauchen, muessen danach aber hoffentlich nix mehr rumbasteln, so dass wir zum
+WE wieder eine lange Uptime einlaeuten koennen.
+
+D.h. Reboot erfolgt heute Abend um 21:00.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Uptime (Zesstra,  8. Okt 2010, 13:19:11):
+Hiho,
+
+OK, der Reboot hat geklappt.
+Seit dem letzten Reboot sind nur Kleinigkeiten aufgetreten, die gefixt wurden.
+Ich gehe daher davon aus, dass jetzt erstmal kein weiterer Reboot folgt. Eine
+Garantie geben ich natuerlich nicht, koennte ja sein, dass morgen jemand ueber
+was stolpert, was bisher nicht auffiel. ;-)
+Viel Spass diese Uptime!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+FTP-Server down (Amaryllis, 14. Nov 2010, 01:31:11):
+Hi,
+
+der FTP-Server ist derzeit aufgrund einer Sicherheitsluecke down.
+
+Fuer die Experten: Wer jemand aus dem WL kennt, der mod_mud so anpassen kann,
+dass es auch unter dem Server 1.3.3c laeuft, dann bitte antriggern ;)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: FTP-Server down (Zesstra, 14. Nov 2010, 23:15:15):
+~#! rn=Amaryllis rt=1289694671 rg=bekanntmachungen
+~#! tid=1289694671
+Also, falls Bedarf am Hochschieben von Aenderungen zwecks Bugfixes ins MG
+besteht: bitte einen EM ansprechen, der kann das dann ueber den Shellzugang
+machen.
+Alternativ lassen sich einfache Dinge zum Glueck auch heute noch mit dem
+integrierten Editor machen (z.B. neues File hochschieben).
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Region Ebene ... (Zook, 19. Nov 2010, 12:31:24):
+Hallo,
+
+Arathorn betreut die Region Ebene von nun an als alleiniger Regions-
+magier. Ich habe Ragnaroek vom Regionsmagier zum normalen Magier 
+zurueckgestuft.
+
+Vielen Dank an Ragnaroek fuer seine Engagement und seine Mitarbeit
+in der Ebene.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: FTP-Server down (Zesstra, 12. Dez 2010, 23:06:30):
+~#! rn=Zesstra rt=1289772915 rg=bekanntmachungen
+~#! tid=1289694671
+So, mal ein paar Neuigkeiten zu dem ewigen Aergernis FTP-Server:
+
+Wir benutzten bislang proftpd und ein Zusatzmodul, mit dem dieser das Mud beim
+Login und beim Dateizugriff spricht und fragt, ob der Benutzer/Magier auch
+darf.
+Mit den aktuellen Versionen vom proftpd ging dieses Modul nicht mehr, weil die
+Entwickler vom proftpd zuviel umgebaut haben. Und trotz Bastelei lies sich
+bislang auch nicht ergruenden, wie man es wieder zum Laufen bringen kann, es
+scheint so, als ob die proftpd-Entwickler auch einige Fehler eingebaut
+haetten.
+
+Wir haben daher jetzt erstmal - zumindest als Zwischenloesung - den FTP-Server
+gewechselt und nutzen jetzt pure-ftpd.
+
+Fuer Spieler ist jetzt wieder alles beim Alten: ftp://mg.mud.de/ geht wieder
+wie gewohnt.
+
+Fuer Magier ist es zur Zeit leider noch nicht wieder so komfortabel wir bis
+vor ein paar Wochen, aber zumindest koennen sie an alles wieder dran. Eine
+genaue Anleitung fuer Magier schreib ich in einer passenden Magierrubrik.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer EM-Balance: Humni (Rumata, 13. Jan 2011, 11:34:06):
+Hallo,
+
+da Miril als EM-Balance ausgeschieden ist, hat sich Humni bereit erklaert,
+dieses Amt zu uebernehmen. Zook und ich danken ihm fuer die Bereitschaft
+dazu und wuenschen ihm viel Erfolg bei dieser neuen Aufgabe.
+
+Rumata
+
+-----------------------------------------------------------------------------
+
+
+
+Crash vom 14.01.2011 (Zesstra, 15. Jan 2011, 00:46:33):
+Moin allerseits,
+
+heut Abend ist leider das Mud gescrasht. Die letztendliche Ursache war ein
+Fehler meinerseits beim Neuladen der sog. simul_efuns. Normalerweise ist das
+kein Problem, da das Mud dann ein Fallback auf eine Reservesammlung von
+simul_efuns macht. Dieses Aktivieren der Reservesammlung schlug aufgrund einer
+Ungeschicktheit im Master der Mudlib fehl. Letzteres werde ich morgen
+korrigieren.
+Nach der anschliessenden Aktualisierung auf eine neue Driverversion und einem
+Server-Neustart laeuft das Mud wieder und ich kann zur Zeit keine Probleme
+sehen, die einen weiteren Neustart erfordern wuerden.
+
+Auf eine neue Uptime!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Ports ins Mud (Zesstra, 15. Jan 2011, 01:21:43):
+Aus gegebenem Anlass: Das MG ist normalerweise via telnet auf zwei Ports
+erreichbar: 23 und 4711. Jetzt kann es sein, dass einer davon nicht erreichbar
+ist - speziell nach Reboots betrifft das haeufig den Port 23. In diesem Fall
+sollte man einfach mal schnell den jeweils anderen ausprobieren.
+Beispiel:
+telnet mg.mud.de 23
+telnet mg.mud.de 4711
+
+Achja, nen verschluesselten Zugang per SSL auf Port 4712 gibt es auch noch.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Neues SSL-Zertifikat fuer mg.mud.de (Zesstra, 24. Jul 2011, 21:20:29):
+Huhu,
+
+ich habe soeben das SSL-Zertifikat fuer unseren Rechner aktualisiert. Dies
+wurde zum einen notwendig, weil die genutzte Zertifizierungsagentur ein sog.
+intermediaeres Zertifikat austauschte und zum anderen weil unser altes am
+19.8. ausgelaufen waere und ich da im Urlaub sein werde. ;-)
+Wenn Probleme auftreten, bitte bei mir melden.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+SSL-Zugang (Zesstra, 22. Aug 2011, 14:24:00):
+Seit Freitag ist unser SSL-Zertifikat abgelaufen. Ich hab da schon vor nem
+Monat nen neues besorgt, allerdings stellte sich heraus, dass ich das zur Zeit
+(ja, das wird geaendert) nur durch einen Reboot aktualisieren kann. Ich
+moechte eigentlich nicht nur wegen dem SSL-Zertifikat einen Reboot machen.
+Daher wird das Zertifikat wohl noch eine Weile abgelaufen bleiben. Tut mir
+leid dafuer. :-(
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Hardcore-Modus (Zesstra, 31. Aug 2011, 21:00:44):
+Huhu,
+
+wir haben uns entschieden, den Prozess des Charakteranlegens von unnoetigen
+Fragen zu befreien. Dem zum Opfer gefallen ist jetzt erstmal der HC-Modus, da
+dieser fuer kaum einen Spieler relevant ist.
+Wer einen HC-Spieler haben moechte, lege sich ab jetzt bitte ganz normal einen
+Spieler an und bitte einen EM, den HC-Modus zu aktiviert. Das machen wir,
+sofern der Charakter noch nicht genug Stufenpunkte fuer Stufe 2 hat und noch
+nicht gestorben ist.
+In der Hilfe zum Hardcore-Modus laesst sich das natuerlich nachlesen.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Update (Amaryllis,  1. Sep 2011, 05:18:49):
+Hi,
+
+sorry, musste kurzfristig updaten. Nach der langen Uptime aber wohl
+verschmerzbar.
+
+Ama*, hat kaum Zeit und musste die Zeit nutzen.
+
+PS: Sorry, Zesstra.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Update (Zesstra,  1. Sep 2011, 09:49:56):
+~#! rn=Amaryllis rt=1314847129 rg=bekanntmachungen
+~#! tid=1314847129
+Dann kuendige ich fuer das Wochenende direkt noch nen Reboot an. Irgendwann
+Samstag mittag bis nachmittag.
+Sorry, aber da gibts dann jetzt noch ein paar Dinge aufzuraeumen, sowohl in
+Mudlib auch als Driver, die ich jetzt naturgemaess nicht vorbereitet hatte.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Projekt: Test-Uptime Ruestungsschutz (Zesstra,  1. Sep 2011, 10:30:28):
+Huhu,
+
+ein geplantes Projekt fuer den naechsten Reboot (also diesen) war, dies vor
+einem Wochenende zu machen und dabei testweise einen verstaerkten
+Ruestungsschutz zu aktivieren. Mit dem sollte das Mud ein WE laufen und Magier
+und Spieler Erfahrungen sammeln, wie sich das auswirkt. (In der Hoffnung, dass
+sich Spieler motivieren lassen, trotz der kurzen Test-Update etwas zu metzeln,
+wenn das nicht stimmt, wird es uns nicht viel bringen.)
+Nach dem WE sollte ein erneuter Reboot folgen, mit dem zunaechst der alte
+Ruestungsschutz wieder aktiv wird und im Anschluss eine Diskussion erfolgen,
+ob die Aenderung gut oder schlecht ist. Wenn gut, wuerde der verstaerkte
+Ruestungsschutz permanent eingeschaltet.
+
+Jetzt ist diese Planung natuerlich etwas ueber den Haufen geraten. Wir koennen
+diesen ganzen Plan jetzt entweder fuer div. Monate auf Eis legen oder dennoch
+versuchen durchzuziehen.
+Wenn wir diesen Test wollen, bedeutet das einen Reboot am Freitag
+Nachmittag/Abend zur Aktivierung und einen am Montag morgen zur Deaktivierung.
+Wenn wir den Test nicht machen, gibt es einen Reboot am Samstag.
+
+Jetzt haette ich gerne Meinungen von Spielern, ob wir dieses Test-Wochenende
+jetzt am kommenden machen sollen oder nicht, da diese von Reboots ja gut
+betroffen sind. ;-)
+Meinungen bitte als Antwort in der Rubrik diskussion bis morgen Mittag/frueher
+Nachmittag.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Projekt: Test-Uptime Ruestungsschutz (Zesstra,  2. Sep 2011, 22:33:53):
+~#! rn=Zesstra rt=1314865828 rg=bekanntmachungen
+~#! tid=1314865828
+Huhu,
+
+zur Zeit sieht alles ganz gut aus, es ist unwahrscheinlich, dass ein weiterer
+Reboot zeitnah gemacht werden muss.
+
+Wir beginnen jetzt also eine Uptime mit dem verstaerkten Ruestungsschutz. Die
+Mehrzahl der Spieler meinte, dass ein Wochenende zum Testen nicht ausreichend
+sei. Daher werden wir das jetzt auf ca. 2 Wochen ausdehnen, auch etwas
+abhaengig davon, wie es sich entwickelt und welche Rueckmeldungen von Spielern
+und Magiern einlaufen.
+
+Viel Spass!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Avatarbildchen (Zesstra,  3. Sep 2011, 12:08:19):
+Huhu,
+
+Mesirii bastelt ja gerade an einem neuen Webclient fuer das MG. Dieser soll
+u.a. auch so kleine Bilder neben den Statusbalken fuer LP/KP anzeigen. Und
+diese sollen personalisierbar sein.
+Daher unterstuetzen wir das seit dieser Uptime, indem jeder Spieler fuer
+seinen Char einen Link ins Netz angeben kann, welcher auf so ein
+Avatarbildchen verweist. Der Client wird sich diese Information dann bei
+Bedarf aus dem MG holen und den Avatar runterladen.
+Dieses Avatarbildchen bzw. der Link hat keine spieltechnische Bedeutung im MG
+und wird nur fuer atmosphaerische Zwecke in den das unterstuetzenden Clients
+genutzt.
+
+Setzen laesst sich das mit dem Befehl 'avatar' (s. hilfe avatar)
+Per 'finger -a' kann man den Link anderer Spieler einsehen (hilfe finger).
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Region Polar (Zook,  5. Sep 2011, 00:25:59):
+Hallo zusammen,
+
+die Region Polar verliert leider ihren Regionsmagier Noel; er war
+eine sehr lange Zeit leider nicht mehr online. Vielen Dank, Noel,
+fuer Deine Arbeit und Dein Engagement.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Region Inseln (Zook,  5. Sep 2011, 11:14:06):
+Hallo zusammen,
+
+ich hatte kuerzlich Kontakt mit Seleven und leider findet sie
+momentan nicht genuegend Zeit fuer ihren Regionsmagierposten,
+so dass sie von ihrem Posten zuruecktritt. 
+
+Besten Dank fuer Deine Unterstuetzung und Mitarbeit, Seleven!
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Wueste (Zook,  7. Sep 2011, 09:07:03):
+Hallo zusammen,
+
+aus Zeitgruenden tritt Amaryllis von ihrem Posten als
+RM Wueste zurueck. Besten Dank fuer Deine Arbeiten und Dein
+Engagement, Amaryllis. 
+
+(Fuer weitere Posten wie Sheriff und Serverwartung bleibt sie
+aber weiterhin passende Ansprechpartnerin.)
+
+Keine Angst in der Wueste, Ennox hat sich bereit erklaert,
+wieder etwas aktiver als RM zu sein; da wird er aber selbst
+noch etwas zu schreiben.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wueste (Zook,  8. Sep 2011, 16:12:46):
+~#! rn=Zook rt=1315379223 rg=bekanntmachungen
+~#! tid=1315379223
+Raschaua hat mir mitgeteilt, dass er momentan nicht so viel
+Zeit und Gelegenheit fuer die Wueste hat; er nimmt eine RM-
+Auszeit und greift hoffentlich bald wieder ein!
+
+Viele Gruesse, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+reboot heute... (Zesstra, 11. Sep 2011, 13:22:27):
+huhu,
+ ich weiss auch keine details, aber Amaryllis hat meines wissens ein
+Sicherheitsupdate eingespielt, welches einen reboot erforderte.
+Jetzt ist daran speziell etwas unschoen, dass die bisherige diskussion klar
+gemacht hat, dass die anhebung des ruestungsschutzes zu starke auswirkungen
+hat. ich bin nur leider gerade unterwegs und hab nur telnet. sobald ich wieder
+einen shellzugang habe, werde ich dort einige anpassungen vornehmen. und dann
+brauchen wir leider heute noch einen reboot - aber besser jetzt direkt heut
+nachtmittag als in einigen tagen. naehere infos gibt es dann auch spaeter.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: reboot heute... (Humni, 11. Sep 2011, 16:17:53):
+~#! rn=Zesstra rt=1315740147 rg=bekanntmachungen
+~#! tid=1315740147
+Wir haben an den Ruestungen nochmal was geaendert, aber es ist Eure Aufgabe,
+rauszufinden, was. Haha. Damit jetzt keiner mit den dicken Superruestungen
+rumrennt und ich Euch nochmal gerne alle fressen will, gibt es jetzt noch
+einen Reboot.
+
+Danach ist aber erstmal unser Ziel, das Ganze eine gewisse Zeit lang stabil zu
+halten und haben (derzeit) eigentlich erstmal keine weiteren Reboots geplant.
+Ob sich Plaene durchhalten lassen, koennen wir natuerlich auch nicht
+versprechen, aber wir sind da optimistisch.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+EMail-Adressen (Zesstra, 14. Sep 2011, 20:42:14):
+Huhu,
+
+Immer mal wieder tauchen Spieler auf, die ein neues PW haben wollen,
+jedoch keine EMail-Adresse im Char hinterlegt haben. Oft ist es dann
+nicht moeglich, den Char zu reaktivieren.
+Daher ist die Angabe einer EMail-Adresse jetzt bei Spielererzeugung
+nicht mehr optional. (ja, das loest nicht alle Probleme, aber einige.)
+Ebenso akzeptiert das Kommando email jetzt kein "none" o.ae. mehr.
+
+Es gilt wie frueher auch schon: Wir schicken keine Werbung an die Adressen und
+geben sie auch nicht weiter. (Allerdings koennen Magier sie einsehen.)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Region Gebirge (Zook, 16. Sep 2011, 11:11:37):
+Da Boing momentan nicht gut Zugriff auf das MG hat und in der
+Regel nur ueber seine Pressesprecher kommunizieren kann und 
+zukuenftige nicht so viel Zeit fuer die Region Gebirge hat,
+ist er von seinem Posten zurueckgetreten.
+
+Vielen Dank fuer die lange Betreuung der Region und die Beitraege
+zu ihr!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Zugaenge ins MG (Zesstra, 21. Sep 2011, 16:32:54):
+Huhu,
+
+aus aktuellem Anlass. ;-)
+Wenn der Zugang via Port 23 ins MG nicht funktioniert, sind wir ueber
+entsprechende Meldungen dankbar. ;-)
+Das soll euch aber nicht abhalten, ins MG zu kommen, nehmt dann einfach Port
+4711. (Ihr konnt auch einfach immer Port 4711 nehmen, der ist viel
+zuverlaessiger.)
+Und als dritte Option haben wir noch nen verschluesselten Zugang auf Port
+4712, den ihr mit entsprechenden Clients oder einem Programm namens stunnel
+nutzen koennt.
+Links:
+http://mg.mud.de/online/index.shtml
+http://mg.mud.de/download/stunnel.shtml
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Neues Web-Telnet auf der Homepage (Zesstra, 24. Sep 2011, 00:21:38):
+Huhu,
+
+Mesirii hat uns ein neues Web-Telnet gebastelt. Das soll in Zukunft noch mehr
+koennen, aber es ist in einem Zustand angekommen, in dem man damit auf den
+meisten Browsern spielen kann.
+Ich habe das heute auch auf dem MG-Server installiert, sodass die Verbindung
+jetzt nicht mehr ueber Mesiriis Server gehen muss.
+
+Ihr findet das neue WebTelnet auf unserer Homepage. Der direkte Link ist:
+http://mg.mud.de/WebTelnet/mg-client.html
+
+Ueber Anregungen/Ideen/Fehlerberichte, etwaiges Lob (dass bitte insb. an
+Mesirii) und ggf. Mithilfe beim Basteln (s. Rubrik mudclients) oder auch
+Dokuschreiben freuen wir uns. ;-)
+http://wiki.morgengrauen.info/index.php?n=MorgenGrauen.MG-Client
+(Dort gibt es auch Anfaenge einer Doku.)
+
+Auf Mesiriis Server werden weiterhin Testversionen laufen, welche Features
+enthalten, die erst spaeter "bei uns" ankommen, weil sie noch entwickelt oder
+getestet werden:
+http://x.cd/3w
+
+Vielen Dank an Mesirii!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer RM in Polar (Zook, 25. Sep 2011, 00:57:59):
+Hallo zusammen,
+
+wir haben einen neuen Regionsmagier fuer die Region Polar gefunden.
+Caldra wird Humni bei dieser Aufgabe zukuenftig unterstuetzen.
+
+Vielen Dank fuer Deine Bereitschaft, Caldra! Und gebt Caldra
+ein wenig Zeit, sich in diese Region und neue Aufgabe einzuarbeiten.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Erzmagier-Treffen (Zook, 25. Sep 2011, 19:57:42):
+Es hat gestern und heute ganz konspirativ ein Erzmagier-Treffen
+gegeben. Ergebnisse ... aeh, mal ueberlegen, naja, lasst Euch
+ueberraschen.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Zustaendigkeit fuer Forscherpunkte und Zaubertraenke (Zook, 25. Sep 2011, 20:12:04):
+Hallo zusammen,
+
+ab heute ist Miril fuer die Vergabe von Forscherpunkten und die Verwaltung
+der Zaubertraenke zustaendig. 
+
+Viel Freude bei Deiner neuen Aufgabe, Miril!
+
+Zook.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Statusreporte fuer Spieler (Zesstra, 26. Sep 2011, 12:50:49):
+Huhu,
+
+wir haben uns dafuer entschieden, Statusreporte direkt im Spielerobjekt zu
+integrieren.
+Spieler koennen sich ab ende/reboot ohne irgendwelche Hilfsmittel wie Teddy,
+Zauberstab, Gilden etc. ueber Aenderungen ihrer Lebenspunkte,
+Konzentrationspunkte, Vergiftungen, Vorsicht und Fluchtrichtung informieren
+lassen.
+Hierbei steht der LP-Report von Anfang an zur Verfuegung, fuer die anderen
+muss man etwas tun:
+Konzentrationspunkte: Quest Hilf den Gnarfen
+Vergiftungen: Katzenjammer
+Vorsicht: Schrat kann nicht einschlafen
+Fluchtrichtung: Seher
+
+Die Statusreporte lassen sich einzeln mit dem Befehl "report" einschalten (s.
+entsprechende Hilfeseite).
+
+Der Teddy behaelt vorlaeufig die Reportfunktionalitaet, langfristig wird er
+sich jedoch veraendern.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Statusreporte fuer Spieler (Arathorn, 26. Sep 2011, 18:02:48):
+~#! rn=Zesstra rt=1317034249 rg=bekanntmachungen
+~#! tid=1317034249
+Hallo zusammen,
+
+zu diesem Thema noch zwei Kleinigkeiten:
+
+1) Die Quest-NPCs der von Zesstra genannten Quests sollten jetzt die 
+   zusaetzlichen Report-Infos korrekt freischalten. Wenn Probleme auftreten,
+   bitte melden.
+
+2) Fuer die Funktionsweise sei nochmal auf die zugehoerige Hilfeseite
+   "report" verwiesen.
+
+Viel Spass mit dem Feature!
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Spieler-Spieler-Kaempfe (Zesstra,  5. Okt 2011, 22:36:38):
+Huhu,
+
+in Zukunft werden Spieler-Spieler-Kaempfe ausserhalb der dafuer vorgesehenen
+Kampfarenen (d.h. ausserhalb der Region Schattenwelt) automatisch abgebrochen
+bzw. gar nicht erst aufgenommen.
+
+Was sich nicht aendert: Wer sich zum Deppen macht, indem er andere Spieler
+angreift, wird auch in Zukunft ausgeschimpft und bei Uneinsichtigkeit ggf. aus
+dem Spiel entfernt.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Spieler-Spieler-Kaempfe (Zesstra,  5. Okt 2011, 23:01:12):
+~#! rn=Zesstra rt=1317846998 rg=bekanntmachungen
+~#! tid=1317846998
+Ok, da jemand (Goetter sind echt anspruchsvoll) fragte, ob ich eine kleine
+Begruendung ergaenzen koennte:
+Im Gegensatz zu frueher sind die Moeglichkeiten, eine Spieler-Spieler-Kampf
+auszuloesen, vielfaeltiger, komplexer und unueberschaubarer geworden, nicht
+zuletzt durch gemischte Teams. Eine erstmal fuer sich harmlos erscheinenden
+NPC-Manipulation konnte z.B. dazu fuehren, dass der begleitete Spieler mit nem
+anderen Spieler in den Kampf geraet. Dieses in jedem einzelnen Fall
+nachzuverfolgen bzw. nach Moeglichkeit bereits im Vorraus zu erkennen,
+erfordert Zeit und Muehe jedes Magiers, die eigentlich besser anderweitig
+genutzt werden kann.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Anforderungen zum Seher (Zook,  5. Okt 2011, 23:03:10):
+Hallo zusammen,
+
+wie in der entsprechenden Hilfeseite zu den Seheranforderungen nieder-
+gelegt, haben wir EM+ uns vorgenommen, jedes Jahr die Seheranforderungen
+auf Angemessenheit zu pruefen und ggf. nach oben oder unten anzupassen.
+
+Nach langer Diskussion und vielfaeltigem Bedenken und Austausch 
+von Ideen und Anregungen und wieder ueberlegen und neu bedenken
+und erst einmal zur Seite legen, dann wieder aufnehmen, alle
+Argumente noch einmal neu aufwaermen, aufkoecheln, abkuehlen, 
+wieder aufwaermen, durchkochen, verdunsten lassen und .... 
+
+... naja, das Ergebnis unserer Evaluierung:
+
+Die Seheranforderungen bleiben, wie sie sind. 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Magierlevel [H] und [W] (Zook, 10. Okt 2011, 08:58:12):
+Hallo,
+
+wir wollen hier im MorgenGrauen zukuenftig Magierlevel nur noch
+dann vergebeben, wenn dahinter Aufgaben und Verantwortlichkeiten
+stehen. Aus diesem Grund sind einige aeltere [H]/[W]-Zuordnungen
+von mir geaendert worden und die entsprechenden Magier auf einen
+passenden Vollmagier-Level geaendert worden.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Mud down (Amaryllis, 22. Nov 2011, 13:47:49):
+Hi,
+
+es kann sein, dass das Mud am Wochenende temporaer nicht erreichbar ist wegen
+Updates. Ich werde aber dafuer kaempfen, dass der Server online bleibt und
+somit die Uptime nicht leidet. Naehere Infos, sobald ich was weiss.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mud down (Amaryllis, 24. Nov 2011, 20:00:13):
+~#! rn=Amaryllis rt=1321966069 rg=bekanntmachungen
+~#! tid=1321966069
+Die Uptime sollte nicht beeintraechtigt sein, der Server laeuft weiter.
+Allerdings koennte es ggf. zu kurzen Netzhaengern kommen (mehr erwarte ich
+eigentlich bei einem vernuenftigen Provider auch nicht, der entsprechende
+Redundanz hat).
+
+AMa*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Mud down (Amaryllis, 27. Nov 2011, 16:09:13):
+~#! rn=Amaryllis rt=1322161213 rg=bekanntmachungen
+~#! tid=1321966069
+Arbeiten abgeschlossen.
+
+Wenn ich das richtig sehe, gab keine Aussetzer.
+
+Schoenes Rest-WE noch.
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Adventskalender 2011 (Zesstra,  1. Dez 2011, 23:39:45):
+Huhu,
+
+es hat dieses Jahr leider etwas laenger gedauert...
+Aber der Weihnachtstroll hat jetzt doch Tuerchen versteckt und auch der
+Para-Weihnachtstroll sucht wieder nach Hilfe...
+
+Und auch ich suche nach Hilfe - naemlich beim Verstecken von neuen Tuerchen
+und der Auswahl neuer Diebe... Ich versuche, in den naechsten Tagen einen
+kleinen Gegenstand zu bauen, mit dem ihr mir helfen koennt, den
+Adventskalender fuer alle vielseitiger zu machen. Ihr koennt damit
+Details/Kommmandos in einem Raum als Tuerchenversteck und NPCs als Dieb
+vorschlagen. Ich hoffe, dass ihr damit dann bald noch mehr Spass mit selbst
+versteckten Tuerchen und Wirbeln habt. ;-)
+
+Bei Problemen sprecht mich bitte an, ich versuchte die dann schnellstens aus
+der Welt zu schaffen.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Frohes neues Jahr! :-) (Zook,  1. Jan 2012, 14:20:18):
+Hallo liebe Mitspieler und Mitentwickler! :) 
+
+Ich moechte mich bei Euch allen fuer das Mitspielen, Mitmachen,
+Mithelfen, Mitprogrammieren, Mitadministrieren, Mitbalancieren etc.
+im vergangenen Jahr bedanken. Ohne die Spieler und ohne viele Stunden
+an Hilfe im Hintergrund wuerde ein Spiel wie das unsere schnell leer,
+langeweilig und doof. Daher meinen besten Dank!
+
+Ich hoffe, wir finden alle im neuen Jahr wieder viel Zeit zum Mudden,
+ich sehe da noch eine Reihe von spannenden neuen Themen, die man
+weiter vertiefen koennte. Und ich hoffe natuerlich auf eine tolle 
+Party(-Woche) im Sommer. 
+
+Beste Gruesse, Euer Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Frohes neues Jahr! :-) (Rumata,  2. Jan 2012, 10:34:52):
+~#! rn=Zook rt=1325424018 rg=bekanntmachungen
+~#! tid=1325424018
+Auch von mir ein frohes neues Jahr!
+:-)
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Amaryllis, 13. Mai 2012, 09:40:21):
+Hi,
+
+am Dienstag wird es voraussichtlich einen Reboot geben.
+Aufgrund enger Termingrenzen kann dies ziemlich rasch geschehen.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Uptime wohl eher fehlerbehaftet und kurz... (Zesstra, 15. Mai 2012, 21:57:25):
+Leider muss ich sagen, dass das MG noch Fehler hat. Und dass ich keine Zeit
+mehr habe, das zu fixen. (s. mein Artikel in magier.urlaub)
+Ich bin erst wieder am WE wieder da. Bis dahin laufen div. Dinge nicht
+richtig, wenn das nicht noch von jemand anderem gefixt wird.
+Dementsprechend ist davon auszugehen, dass es spaetestens am So zu min einem
+weiteren Reboot kommen wird.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Uptime... (Zesstra, 16. Mai 2012, 00:04:14):
+So, inzwischen hat sich die Lage nach Bastelei und einem neuen Reboot etwas
+geaendert. Aktueller Stand:
+Die bislang bekannten Fehler konnten sich soweit klaeren lassen, dass jetzt -
+soweit bekannt - nur noch lokale Probleme vorhanden sind, die sich ohne einen
+Reboot beheben lassen. Wenn das so bleibt, dann wird es am Wochenende doch
+keinen Reboot mehr geben und wir koennen die Uptime hoffentlich geniessen.
+
+Wenn ihr Fehler bemerkt, meldet euch bitte direkt. Nichts ist aergerlicher als
+ein Fehler, der 2 Wochen spaeter zum Reboot fuehrt. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Videos aus dem MorgenGrauen (Humni, 14. Jun 2012, 22:28:32):
+Hallo zusammen,
+
+Bei einigen Spielern kam der Gedanke auf, Videos im Sinne eines "How to play
+Morgengrauen" zu erstellen. Generell wollen wir das natuerlich nicht nur
+erlauben, sondern natuerlich unterstuetzen. Allerdings stehen dabei
+zugegebenermassen die Regeln ein wenig im Weg, da man ja "Geheimnisse" des
+Morgengrauens nach den Regeln nicht einfach veroeffentlichen darf.
+
+Darum moechten wir an dieser Stelle die Regeln ein wenig konkretisieren: Es
+ist natuerlich erlaubt, ein Video (oder auch eine anders geartete
+Beispielsequenz) aus dem Mud zu zeigen. Hier darf man auch ein wenig in das
+Spiel einsteigen. So darf auch eine kleine Anfaenger-Miniquest als Beispiel
+gezeigt werden (konkret denke ich an Lisa und die Badewanne bei den Zwergen),
+ebenso natuerlich Mudfeatures wie Kommunikation und auch Mechanismen
+erlaeutert werden (warum Lisa nicht mehr da ist, wenn man ihr gerade geholfen
+hat zum Beispiel).
+
+Was wir nach wie vor nicht wollen sind Komplettloesungen von ,,richtigen''
+Quests oder ,,Wie metzle ich den Drachengott''.
+
+An sich wuerden wir allerdings die Werke vor der youtube-Veroeffentlichung
+gerne sehen.
+
+Wenn ihr Euch unsicher seid, sprecht einfach einen Erzmagier Eures Vertrauens
+an, bevor ihr Sequenzen einbaut, die dann geloescht werden sollten. (Ich denke
+ueberigens, dass der gesunde Menschenverstand hier auch sein uebriges tut).
+
+Und natuerlich wird gerne gesehen, wenn ihr in der MPA schreibt, was ihr wo
+veroeffentlicht - man will das ja dann auch sehen ;-)
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+EK-Update (Arathorn,  9. Aug 2012, 13:41:31):
+Hallo zusammen,
+
+ich habe gerade einen weiteren, seit Ewigkeiten nicht mehr angeschlossenen
+Erstkill (temporaer) ausgetragen, d.h. einige von Euch werden eventuell
+feststellen, dass ihnen ein EK fehlt. Ich schreibe die Info hier hin, weil
+es relativ viele Spieler betrifft (vor allem alte Saecke), und ich 
+Euch (und mir) die manuelle Nachfrage ersparen will.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: EK-Update (Arathorn,  9. Aug 2012, 15:08:23):
+~#! rn=Arathorn rt=1344512491 rg=bekanntmachungen
+~#! tid=1344512491
+Und noch ein Gedicht. Wieder ein alter NPC, der fuer Spieler derzeit nicht
+erreichbar ist. Sofern der reaktiviert wird, kommt auch der EK wieder, dies
+ist aber derzeit nicht absehbar.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Gastzugaenge temporaer deaktiviert (Arathorn, 12. Aug 2012, 03:46:14):
+Hallo zusammen,
+
+aufgrund der unerfreulichen Besuche eines hartnaeckigen Trolls habe ich 
+gerade saemtliche Gast-Logins deaktiviert, um weiteren Unannehmlichkeiten
+vorzubeugen. Die Gastzugaenge werden voraussichtlich nur wenige Tage
+deaktiviert bleiben.
+
+Ich bitte um Verstaendnis fuer diese Massnahme. Auch mir gefallen die 
+dadurch ausgeloesten Nebenwirkungen nicht, aber derzeit bleibt keine
+andere Wahl, da besagter Troll auch ueber Intermud-Kanaele spammt, und ich 
+ihm diese Moeglichkeit zumindest vom MG aus verwehren moechte.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Teamspeak-Server (Arathorn, 13. Aug 2012, 21:03:29):
+Hallo zusammen,
+
+da von verschiedenen Seiten der Wunsch geaeussert wurde, einen MG-eigenen
+VoiceChat nutzen zu wollen, hat sich Olli dankenswerterweise bereit 
+erklaert, uns einen Slot auf seinem Teamspeak3-Server zur Verfuegung zu 
+stellen.
+
+  Den Client koennt Ihr hier bekommen: http://www.teamspeak.com
+  Die Server-IP ist 85.214.250.188, Port 4711
+  Als Server-Passwort dient der Name unseres bekannten Urvaters aller Magier.
+
+Der Vorteil gegenueber Skype und aehnlichen Loesungen ist m.E., dass alle
+Kommunikation ueber eigene Kanaele laeuft und nicht bei Fremdfirmen mitge-
+loggt wird.
+
+Der Server steht erst einmal temporaer zum Ausloten der Resonanz zur
+Verfuegung und insbesondere als Entgegenkommen von Olli - benehmt Euch also,
+wenn Ihr da drauf seid. ;-)
+
+Ich habe bereits einige Channel dort eingerichtet einschliesslich einem
+Magiertreff, wenn man mal in Ruhe technische Dinge bereden will/muss. Um da
+reinzukommen, braucht man entsprechende Berechtigungen, die ich auf Anfrage
+gerne einstelle. Sprecht mich einfach hier im Mud oder auf dem TS an, wenn
+ich dort bin.
+
+Viel Spass & Gruss,
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Teile-mit in andere Muds ("Intermud-TM") (Arathorn, 21. Aug 2012, 01:01:58):
+Hallo zusammen,
+
+als erste (vorlaeufige) Massnahme zur Eindaemmung des Spam-Problems wurde
+eingefuehrt, dass Spieler zum Absenden von Intermud-tms mindestens einen
+Abenteuerpunkt haben muessen. Dies basiert auf der Annahme, dass unsere
+"internationalen Gaeste" in Ermangelung ausreichender Kenntnisse der
+deutschen Sprache nicht in der Lage sein werden, hier im MG eine Quest
+zu loesen. Gaeste koennen grundsaetzlich keine Quests loesen und werden daher
+keine Intermud-TMs mehr senden koennen.
+
+Diese Bedingung loest natuerlich nicht das Problem, dass hier lokal im MG
+rumgespammt wird. Um diesen Punkt kuemmern wir uns noch, der soll aber nicht
+Gegenstand dieses Postings sein. Was wir damit jedoch verhindern, ist der
+von MG ausgehende Spam in andere Muds, was auch wichtig ist, da von verschie-
+dener Seite im Zuge der juengsten Spamwelle Meldungen ueber den Missbrauch
+von Intermud-TMs eingegangen sind.
+
+Die EM-Runde wird fuer die MG-interne ("lokale") Spamproblematik noch eine
+sinnvolle Abhilfe einfuehren, die moeglichst nebenwirkungsarm sein muss,
+um die erwuenschte Kommunikation zwischen allen Spielern gleichermassen 
+nicht zu beeintraechtigen, und die daher leider nicht von heute auf morgen
+implementiert werden kann. Wenn es hier eine tragfaehige Loesung gibt,
+werden wir uns noch einmal melden bzw. diese ggf. zur Diskussion stellen.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Teamspeak-Server (Arathorn, 27. Sep 2012, 20:46:32):
+~#! rn=Arathorn rt=1344884609 rg=bekanntmachungen
+~#! tid=1344884609
+Hallo zusammen,
+
+es kann sein, dass Olli die Tage mal den TS-Server neu aufsetzen muss. Wenn
+danach jemand Berechtigungsprobleme haben sollte oder andere Stoerungen
+auftreten, bitte melden.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Evalulierung Seheranforderungen (Zook,  8. Okt 2012, 09:26:32):
+Nach langen Bedenken, einer Woche Auszeit zum Nachdenken meinerseits,
+haben wir uns entschieden, bei der diesjaehrigen Evaluierung der
+Seher-Anforderungen diese wie folgt anzupassen: Keine Aenderung.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+AFK (Amaryllis, 28. Okt 2012, 01:23:41):
+Hi,
+
+ich bin (vermutlich) ab Montag fuer ein paar Tage weg (sofern ich meinen
+OP-Termin bekomme).
+
+Falls demn so ist: haltet das Mud sauber ;)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Teamspeak-Server (Zook, 29. Okt 2012, 21:26:32):
+~#! rn=Arathorn rt=1344884609 rg=bekanntmachungen
+~#! tid=1344884609
+Es geht nun auch mgts.mud.de als Adresse.
+Port muss man noch 4711 angeben.
+
+Mehr Infos kommen noch.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Teamspeak-Server (Zook, 30. Okt 2012, 20:05:27):
+~#! rn=Zook rt=1351542392 rg=bekanntmachungen
+~#! tid=1344884609
+So, gerade noch mal gesprochen, es muesste nun einfach gehen, 
+indem wir mgts.mud.de angeben; Port-Angabe muss nicht zwingend
+sein.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Spielerstufen und Stufenpunkte (Zesstra,  1. Nov 2012, 19:31:13):
+Huhu,
+
+wie ihr ja vermutlich alle wisst, gibt es im MG einen Spielerlevel alle 100
+Stufenpunkte. Dies hat den Nachteil, dass man als kleiner Spieler ziemlich
+lange braucht, bis man mal nen Level geschafft hat. Wenn man tagelage spielen
+muss, bis man ein sichtbares Ergebnis in einem neuen Spiel erkennt, fuehrt
+dies zu ziemlich viel Frustration.
+
+Wir haben uns deshalb entschieden, das in Zukunft fuer kleine Spielerlevel
+weniger als 100 Stufenpunkte notwendig sein werden.
+Konkret braucht ihr fuer neue Spielerlevel (nicht Gildenlevel!) dann folgende
+Menge an Stufenpunkten:
+
+1 -> 2: 20
+2 -> 3: 20
+3 -> 4: 40
+4 -> 5: 40
+5 -> 6: 60
+6 -> 7: 60
+7 -> 8: 80
+8 -> 9: 80
+
+Ab Spielerlevel 9 kostet ein Spielerlevel wieder wie gewohnt 100 Stufenpunkte.
+
+Die Aenderungen in den Gilden sind bereits aktiv.
+Fuer die korrekte Funktion des Spielerbefehls "info" braucht ihr jedoch ein
+ende/Reboot. Erhoehen koennt ihr aber auch ohne das.
+
+Wenn ihr in einer Gilde Probleme mit dem Spielerstufenaufstieg bemerkt, meldet
+euch bitte bei dem jeweiligen Gildenmagier und/oder mir.
+
+Wenn ihr an anderen Objekten Fehler bei der Anzeige eurer aktuellen oder
+erreichbaren Spielerstufe bemerkt, wendet euch bitte an den zustaendigen
+Gebiets- oder Regionsmagier.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Spielerstufen und Stufenpunkte (Zesstra,  1. Nov 2012, 19:31:22):
+~#! rn=Zesstra rt=1351794673 rg=bekanntmachungen
+~#! tid=1351794673
+Einige Folgen, die die Aktion hat:
+
+Ja, alle Spieler, die bisher Level 6 und mehr hatten, haben jetzt 4 Level
+'geschenkt' bekommen.
+
+Ja, das bedeutet, dass man schneller zu Stufen kommt, auf denen man
+Zaubersprueche oder sonstige Faehigkeiten lernen kann (bzw. allgemein dass
+alles etwas schneller geht, was nach Spielerstufe und nicht nach Stufenpunkten
+vergeben wird).
+
+Die Seheranforderungen werden nach Stufenpunkten bemessen, d.h. die
+Seherwerdung verschiebt sich automatisch 4 Spielerstufen nach oben - ihr
+braucht aber die gleiche Anzahl an Stufenpunkten.
+
+(Wer hierzu etwas schreiben will, darf das zwar nicht hier tun, aber in
+diskussion.)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Ungeplanter Neustart des Spiels am 7.11. (Zesstra,  7. Nov 2012, 00:26:27):
+Huhu allerseits,
+
+heute morgen um 0:03 ist es zu einem ungeplanten Neustart des Servers
+gekommen. Nicht nur des Muds, sondern des kompletten Rechners. Zur Zeit ist
+und leider noch unklar, warum dies passiert ist.
+
+Und jetzt was wichtiges: vor dem naechsten geplanten Reboot waren einige
+wichtige Wartungsarbeiten an der Mudlib geplant, die einen anschliessenden
+Neustart des Spiels erfordern.
+Dies hier war jetzt wie gesagt, nicht geplant. Wie werden jetzt versuchen,
+diese Arbeiten morgen abend durchzufuehren und dann im Anschluss im Laufe des
+Abends das Morgengrauen nochmal neuzustarten.
+
+Das heisst: geht von einem oder mehreren Reboots morgen im Laufe des Abends
+aus!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Uptime! (Zesstra,  7. Nov 2012, 22:30:00):
+Huhu,
+
+die Arbeiten an Driver und Mudlib sind anscheinend ganz gut gelaufen. Das MG
+laeuft wieder und bislang gibt es keine Anzeichen fuer aussergewoehnliche
+Probleme. Hoffen wir, dass es so bleibt und einer neuen langen Uptime nichts
+im Wege steht. Zum aktuellen Stand ist kein erneuter Reboot geplant.
+
+Wenn ihr noch Probleme und Ungereimtheiten bemerkt, meldet euch bitte.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+MSdT 16.11.2012 (Rumata, 16. Nov 2012, 11:16:53):
+Der megaschmarrn des Tages geht an Anthea fuer Re^173780
+
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Loginfehler von heute behoben... (Zesstra,  6. Feb 2013, 00:07:40):
+Huhu,
+
+die Probleme beim Login sind jetzt soweit behoben.
+
+Wer jetzt noch Probleme hat, melde sich bitte bei einem EM, bei denen sind es
+sozusagen Folgefehler.
+
+Bitte entschuldigt die Unannehmlichkeiten... :-( Und vielen Dank an alle, die
+geholfen haben, die Auswirkungen fuer die Spieler zu minimieren!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot und Downtime (Humni, 20. Feb 2013, 09:02:35):
+Hallo ihr,
+
+dem Log nach ist das Mud heute Nacht (vermutlich) gecrasht, gegen 1:44.
+
+Ich habe es irgendwie (!) wieder zum Laufen bekommen. Das war vermutlich nicht
+schlau, und nicht klug.
+
+Ich halte es nicht fuer unwahrscheinlich, dass weitere Reboots noetig sind.
+
+Questen und Leveln geht also, aber ich fuerchte, es werden weitere Reboots
+noetig sein. Metzelt also vorerst nicht zuviel Ausruestung.
+
+Wer von Euch neu ist, und das nicht kennt: In gewissen Abstaenden muss das Mud
+wegen Wartungsarbeiten herunterfahren. Das nennt man Reboot. Manchmal passiert
+das auch durch einen Fehler. Das nennt man Crash.
+
+Letzteres ist offensichtlich heute Nacht passiert. Warum, weiss ich noch
+nicht. Dazu wird spaeter mehr verkuendet.
+
+Ja, es ist normal, dass ihr ausser sogenannten "Autoloadern" Eure Ausruestung
+verliert. Ja, auch Euer Seherhaus oder Hotelzimmer ist nun leer.
+
+Soweit fuers erste, rechnet bitte im Zweifel mit weiteren Reboots.
+
+Humni, der hofft, dass er eben bei den Wiederbelebungsversuchen nicht zuviel
+Mist gebaut hat.
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Uptime ab 21.2. (Zesstra, 21. Feb 2013, 01:09:16):
+Huhu,
+
+letzte nacht im 1:44 ist unser Driver leider abgestuerzt und hat unsere
+schoene Uptime beendet. Sehr aergerlich. So wie es aussieht, war es auch ein
+echter Fehler im Driver - leider haben wir ihn noch nicht gefunden. Er scheint
+aber hinreichend selten zu sein, dass man trotzdem laengere Uptimes hinkriegt.
+
+Wir haben heute Abend dann die Gelegenheit genutzt, noch einige Fixes und
+neuen Code einzubauen und dann nochmal neuzustarten. Das war etwas holpriger
+als gedacht, aber wir hatten auch nicht viel Zeit zum Vorbereiten...
+
+Zur Zeit siehts recht vielversprechend fuer eine neue lange Uptime aus. Wenn
+ihr irgendwelche Fehler findet, sagt am besten schnellstens Bescheid.
+
+Mit dieser Uptime gibt es auch ein neues SSL-Zertifikat fuer den
+verschluesselten Zugang ins Mud, der dann wieder bis 2015 haelt (auch wenn ich
+nicht denken, dass die Uptime bis dahin haelt *g*).
+
+Zum Abschluss moechte ich Humni nochmal meinen Dank aussprechen, der das Mud
+wieder gestartet und einige grobe Fehler ausgebuegelt hat!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Neuerlicher Crash am 22.2. (Zesstra, 22. Feb 2013, 00:19:20):
+Huhu,
+
+es tut mir furchtbar leid, aber unser Crash im Driver hat sich leider
+wiederholt. Das positive dran ist, dass dies mich auf der Suche nach der
+Ursache naeher ans Ziel bringt.
+
+Dummerweise muss ich natuerlich morgen tagsueber meine Broetchen verdienen,
+d.h. so richtig intensiv kann ich erst wieder morgen abend suchen.
+
+Bis auf weiteres geht bitte davon aus, dass sich dieses Ereignis wiederholen
+kann - allerdings nicht muss. Der erste Crash war nach einer Uptime von >3
+Monaten, d.h. es geht auch laenger einen Tag. ;-)
+
+Ich halte euch auf dem laufenden, sobald ich naeheres rauskriege. Ich gehe
+davon aus, dass wir das Problem spaetestens am WE geloest kriegen.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neuerlicher Crash am 22.2. (Zesstra, 22. Feb 2013, 00:55:01):
+~#! rn=Zesstra rt=1361488760 rg=bekanntmachungen
+~#! tid=1361488760
+Kurzer Zwischenstand: Wir haben das Objekt identifiziert, bei dem der Driver
+sich beide Male verschluckt hat. Als Workaround haben wir das jetzt
+abgehaengt. Als Folge davon wandern zur Zeit die NPCs von Troy nicht mehr.
+Bitte nutzt das nicht aus (falls das geht) und wundert euch nicht.
+Ansonsten setzen wir die Fehlersuche morgen fort.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Neuerlicher Crash am 22.2. (Zesstra, 23. Feb 2013, 15:40:33):
+~#! rn=Zesstra rt=1361490901 rg=bekanntmachungen
+~#! tid=1361488760
+Der Fehler hat sich letzte Nacht nach einem sehr langen Abend gefunden, die
+Suche war recht muehselig (dicken Dank an Gnomi@Unitopia).
+
+Der Fehler existierte seit 2007 und hat mit dem Aufraeumen von bestimmten
+Datenstrukturen zu tun. Dass wir zweimal in kurzer Zeit dran gestorben sind,
+muss ein ziemlicher Zufall gewesen sein - es braucht auch eine etwas spezielle
+Bedingungen, damit die Auswirkung ein Crash ist.
+
+Allerdings ist es so, dass ne ganze Menge Code ihn potentiell ausloesen
+koennte. Daher muessen wir das Mud auch nochmal neustarten. Dies im Laufe des
+Abends geschehen. Danach werden wir hoffentlich wieder eine lange Uptime
+haben.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Uptime ab 23.2. (Zesstra, 23. Feb 2013, 23:13:33):
+Huhu,
+
+nachdem wir jetzt mit einem fehlerbereinigtem Driver und noch ein paar
+weiteren in den wenigen Tagen angefallenen Bugfixes nochmal neugestartet
+haben, sieht alles soweit gut aus.
+Bislang keine Fehler und keine Beschwerden von Spielern. Ich denke, das ist
+ein gutes Zeichen fuer die bevorstehende Uptime. :-)
+(Falls ihr was schwerwiegendes habt, meldet euch so schnell wie moeglich!)
+
+Und jetzt viel Spass!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Wenn es kommt, kommt es heftig. (Rumata, 25. Feb 2013, 09:43:16):
+So wie es aussieht, hat es heute nacht um 1:00 einen reboot des
+Rechners gegeben. Ich wusste davon auch nix. Mal sehen, ob wir
+rausfinden, was da bei netcologne los war...
+
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+FP-Veraenderungen (Humni,  1. Apr 2013, 11:43:34):
+Huhu,
+
+uns sind einige Schwierigkeiten mit dem bisherigen FP-System aufgefallen.
+
+Zum einen haben wir viele Spieler, die sich nicht auf eine Rasse und Gilde
+festlegen wollen. Diese muessen schon ihren ersten Seher hochspielen, und dann
+die anderen Spieler ebenso. Nun kann man sich merken, wo und wie man Monster
+toetet und Quests loest, aber die FPs sind die Crux: Die Spieler haben
+keinerlei Moeglichkeit, zu erkennen, ob sie einen Forscherpunkt gefunden
+haben.
+
+Dies war einmal so beabsichtigt, ist aber nicht mehr zeitgemaess.
+
+Ich gebe gerne zu, dass dies auch mir (als echtem Magiererstie) immer sauer
+aufgestossen ist. Zaehneknirschend habe ich dabei immer zugesehen, wie andere
+mit ihren Spielern gross wurden, ohne selbst (da Humni ja Magier ist) dabei
+mithalten zu koennen.
+
+Wir haben daher lange diskutiert, was man machen kann, und Miril als
+zustaendiger Erzmagierin kam daher die Idee, dass Forscherpunkte einfach eine
+Meldung erzeugen sollen.
+
+Sprich, ab sofort seht ihr, wenn ihr einen Forscherpunkt bekommt. Es passiert
+nicht immer ganz direkt, ein wenig (!) sollt ihr ja noch mit den Zweitspielern
+nachhorchen muessen.
+
+Aber ab sofort gibt es weniger Unterschiede zwischen Erst- und Zweitspielern.
+Ich denke, wir haben so die Pizzawelt ein Stueck gerechter gemacht.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: FP-Veraenderungen (Humni,  2. Apr 2013, 02:03:22):
+~#! rn=Humni rt=1364809414 rg=bekanntmachungen
+~#! tid=1364809414
+Nun gut, das war wohl zu dick aufgetragen. Aber vielleicht gibts ja doch den
+oder die wenigen, die es erstmal nicht gemerkt haben.
+
+Fuer diese sei gesagt: APRIL APRIL!
+
+Und wer sich ueber die Meldungen gewundert hat: Die waren (ich vermute quasi
+fast nur von mir) persoenlich handgefertigt.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Seher-Anforderungen (Zook, 29. Sep 2013, 11:25:42):
+Hallo,
+
+wie der Hilfe-Seite zu "seher" zu entnehmen ist, evaluierien wir
+Erzmagier+ jedes Jahr die Seheranforderungen und entscheiden 
+ueber Anpassungen. 
+
+Die diesjaehrige Evaluierung hat sich aufgrund meiner Abwesenheit
+ein bisschen verzoegert, aber hier ist das Ergebnis:
+
+Die Anforderungen bleiben wie bisher.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Alternative zum Webtelnet (Zesstra, 23. Okt 2013, 20:46:48):
+Huhu,
+
+ich habe ein zweites WebTelnet auf der Homepage verlinkt, welches alternativ
+zum bisher angebotenen verwendet werden kann:
+http://mg.mud.de/online/webtelnet_simple.html
+
+Es ist optisch schlichter und hat div. Funktionen nicht. Dafuer ist es
+technisch IMHO ausgereifter und wird nicht nur von uns genutzt, sondern auch
+vom Nightfall und anderen Projekten (nicht-MUDs).
+Vor allem letzteres ist wichtig, da wir zur Zeit nicht die Manpower haben, das
+Webtelnet weiterzuentwickeln.
+
+Es sind beide Webtelnets von http://mg.mud.de/online/index.shtml verlinkt.
+Beim "Klick" auf den Spielen-Knopf wird das bisherige Webtelnet benutzt.
+
+Jetzt zwei Fragen:
+Welchen findet ihr besser fuer Anfaenger?
+Ist die neue Alternative geeignet fuer Screenreader?
+(Antworten bitte in die Rubrik diskussion.)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Frohes Neues! :-) (Zook,  1. Jan 2014, 11:54:47):
+Hallo liebe Mitspieler/Mitmagier/Mitetwase :-)
+
+Ich wuensche Euch allen ein frohes neues Jahr 2014 und viele schoene
+gemeinsame Stunden hier im MorgenGrauen. Euch allen vielen Dank fuer das
+Mitspielen, Mithelfen, Mitdiskutieren im vergangenen Jahr.
+
+Beste Gruesse,
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Verschluesselter Webtelnet-Zugang (Zesstra,  6. Jan 2014, 19:22:43):
+Ich habe heute einem von unseren beiden Webtelnet-Zugaengen Verschluesselung
+(mit HTTPS/SSL/TLS) beigebracht.
+
+Soll heissen, ihr koennt euch jetzt auch ueber den Webtelnet einloggen ohne
+euer Passwort der NSA zu geben.
+Hierfuer muss dieser Link benutzt werden:
+https://mg.mud.de/online/webtelnet_ssl.html
+
+Sowohl unverschluesselte als auch verschluesselte Variante sind von
+https://mg.mud.de/online/ und http://mg.mud.de/online/
+verlinkt.
+
+Vorraussetzung, dass das geht, ist, dass euer Browser unser durch CAcert
+signiertes Zertifikat akzeptiert. Hierzu koennt ihr entweder in eurem Browser
+das sog. Rootzertifikat von CAcert importieren
+(http://www.cacert.org/index.php?id=3) oder eine einzelne Ausnahme fuer
+unseren Seite im Browser einrichten (der Browser fragt meistens nach, wenn ihr
+verschluesselt zu uns Verbindung aufnehmt und er CAcert nicht kennt).
+
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Abkuerzung tm fuer teile-mit (Zesstra, 12. Jan 2014, 14:37:32):
+Und weil mich das eigentlich schon ewig nervt:
+Neue Spieler und alte Spieler nach Ende/Reboot haben ein neues eingebautes
+Kommando 'tm', welches genau das tut, was ihr vermutlich alle als Alias habt:
+eine Abkuerzung fuer 'teile x mit y'.
+
+Sprich: eure Aliase sind dann alle unnoetig und ich waere euch dankbar, wenn
+ihr sie alsbald loescht.
+
+(Ausnahmsweise in bekanntmachungen, damit das moeglichst viele Leute
+ mitkriegen.)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Traurige Nachricht: Der Spieler Miro hat uns uns fuer immer verlassen... (Zook,  7. Mar 2014, 09:11:24):
+Hallo,
+
+ich muss Euch heute eine traurige Nachricht ueberbringen: Der Spieler, der
+hier im MorgenGrauen unter dem Namen Miro bekannt war und in den 1990er
+Jahren auch intensiver gespielt hatte, ist Anfang Februar ploetzlich und
+unerwartet verstorben.
+
+Fuer mich ist das ein schmerzlicher Verlust: Den Spieler "Miro" kannte
+ich hier im MorgenGrauen gar nicht; ich lernte den diesen Charakter
+spielenden Menschen vor einigen Jahren in einem beruflich/halb-privaten
+Umfeld kennen und schaetzen---ohne je zu wissen, dass er auch hier im 
+MorgenGrauen spielt bzw. gespielt hat. Die Nachricht von seinem Tod
+hat mich bereits Anfang Februar erreicht, aber erst vor einigen
+Tagen hat sich ein Mitspieler gemeldet und darauf hingewiesen, dass
+er hier im MorgenGrauen als Miro bekannt war.
+
+Wir werden ihm ein ehrendes Andenken bewahren.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Sicherheitsluecke Heartbleed (Zesstra,  8. Apr 2014, 20:01:35):
+Einige von euch haben vielleicht mitgekriegt, dass heute eine schwere
+Sicherheitsluecke in einer Software namens OpenSSL bekannt wurde[1,2]. Diese
+wird von zahlreichen Diensten im Netz benutzt. Die Sicherheitsluecke
+ermoeglicht einem Angreifer u.a. das Auslesen von privaten Schluesseln,
+Usernamen, Passwoertern und ggf. weiteren Dingen.
+
+Die gute Nachricht: alle verschluesselten Dienste vom Morgengrauen waren nicht
+betroffen.
+
+Die schlechte Nachricht: verwendet ihr z.B. Passwoerter nicht nur im MG,
+sondern auch woanders, koennten sie von anderen (verwundbaren) Diensten
+geleakt/kompromittiert worden sein. In diesem Fall empfehle ich euch, im MG
+neue Passwoerter zu setzen.
+
+Magier, welche sich mit einem SSH-Schluessel anmelden (z.B. fuer den Zugriff
+auf git), sollten ggf. neue SSH-Schluessel erzeugen und eintragen lassen,
+sofern sie auf ihren Rechnern in den letzten 2 Jahren verwundbare Versionen
+hatten.
+
+Neue Passwoerter solltet ihr auf keinen Fall ebenfalls bei Diensten verwenden,
+die noch verwundbar sind... Es gibt Websites[3], mit denen sich andere
+Websites testen lassen, ob sie die Sicherheitsluecke (noch) haben.
+
+[1]: https://netzpolitik.org/2014/heartbleed-ein-openssl-bug-der-weitreichende
+-folgen-haben-koennte/
+[2]: http://heartbleed.com/
+[3]: http://possible.lv/tools/hb/
+
+Bei Fragen, bitte ggf. in diskussion nachfragen/diskutieren.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sicherheitsluecke Heartbleed (Zesstra,  8. Apr 2014, 23:16:27):
+~#! rn=Zesstra rt=1396980095 rg=bekanntmachungen
+~#! tid=1396980095
+Nach weiterer Recherche: Magier muessen sich um ihre SSH-Schluessel doch keine
+Sorgen machen. Alles andere stimmt aber. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Aufraeumarbeiten... (Zesstra, 10. Apr 2014, 07:37:32):
+Huhu,
+
+heute Abend vermutlich zwischen 19:00 und 20:00 werde ich den Driver einige
+Aufraeumarbeiten im Mud durchfuehren lassen. Diese werden leider einige Weile
+brauchen. Ich kann das nur schaetzen auf irgendwas zwischen 5 und 20 Minuten.
+Waehrend dieser Zeit wird das Mud auf nichts reagieren - kein Login moeglich
+und keine Spielereingaben werden verarbeitet. Ich werde den Beginn noch auf
+den Ebenen ankuendigen, aber damit wisst ihr schonmal Bescheid.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Crash am Donnerstag Abend (10.4.) (Zesstra, 11. Apr 2014, 10:28:03):
+Huhu,
+
+wir ihr bemerkt habt, ist das MG ohne Vorwarnung neugestartet. Das war nicht
+beabsichtigt (und stellt uns EMs tatsaechlich vor einige Probleme, da mehrere
+von uns gerade in Urlaub fahren - ich bin gerade sogar unterwegs).
+
+Aktueller Stand der Ursachenforschung fuer den Crash ist, dass es ein
+Programmierfehler eines Magiers war, der zu einer massiv rekursiven
+Datenstruktur fuehrte. Diese wuchs an, bis er Driver bei ihrer Handhabung
+soviele Systemressourcen brauchte, dass er vom Betriebssystem abgebrochen
+wurde.
+
+Nach dem Reboot sind einige Probleme offenbar geworden (wie immer beim ersten
+Reboot nach langen Uptimes), die zur Zeit noch gefixt werden muessen. Es sind 
+allerdings ueberraschend wenig. Es ist jedoch wahrscheinlich, dass wir nach
+Abschlus der Arbeiten das MG nochmal neustarten werden. Wann dies der Fall
+sein wird, kann ich leider noch nicht sagen, vermutlich in den naechsten
+Tagen. Naeheres folgt in dieser Rubrik.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot am Dienstag Abend, 29.04. (Zesstra, 27. Apr 2014, 17:08:06):
+Huhu allerseits,
+
+der angekuendigte Reboot ist jetzt fuer den kommenden Dienstag Abend geplant.
+Es ist u.a. ein Update des Betriebssystems auf dem MG-Rechner geplant.
+Ausserdem nochmal ein paar Arbeiten an der Mudlib. Daher wird es ein bisschen
+Wartezeit geben, bis das Mud wieder laeuft.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot am Dienstag Abend, 29.04. (Amaryllis, 27. Apr 2014, 17:46:01):
+~#! rn=Zesstra rt=1398611286 rg=bekanntmachungen
+~#! tid=1398611286
+Hi,
+
+nur, damit Ihr eine ungefaehre Zeitangabe habt: Ich werde ca. 20:30 Uhr mit
+dem Update des Servers beginnen. Ende offen.
+
+Vorher koennt Ihr also noch Maxrue metzeln ;)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Neustart 29/30.04.2014 (Zesstra, 30. Apr 2014, 00:49:53):
+Huhu,
+
+wir hatten leider nach dem ersten geplanten Reboot noch Problemchen, weswegen
+wir noch ein zweites Mal neustarten mussten.
+
+Es einige Unregelmaessigkeiten im Zusammenhang mit Geld, bei denen wir nicht
+ganz sicher sind, ob das eigentliche Problem beseitigt wurde.
+Je nachdem, was morgen an Rueckmeldungen reinkommt, kann es sein, dass wir
+noch was fixen muessen und je nachdem, wie diese Korrekturen aussehen, kann
+das auch auf einen neuen Reboot hinauslaufen.
+
+Weiterhin: es gab ein paar Aenderungen an Code, der fuer die Kommunikationen
+von und mit Spielern zustaendig ist. Ich bin sehr daran interessiert, etwaige
+Fehlfunktionen (oder grob anderes Verhalten) zeitnah zu erfahren, um
+festzustellen, ob dort schwerwiegende Probleme auftreten.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neustart 29/30.04.2014 (Zesstra,  1. Mai 2014, 13:43:17):
+~#! rn=Zesstra rt=1398811793 rg=bekanntmachungen
+~#! tid=1398811793
+Ich bin inzwischen recht optimistisch, dass wir keinen weiteren Reboot
+brauchen.
+
+Die mir bislang berichteten Probleme dieser Uptime sind zwar teilweise etwas
+nervig zu finden und zu fixen. Aber sie sind nicht sooo schwerwiegend, so dass
+Spieler sie ggf. mit einem "ende" selber aus der Welt schaffen koennen oder
+dass sie sogar ohne "ende" behebbar sind.
+
+(Es gilt natuerlich wie immer: schwerwiegende Probleme koennen auch spaeter
+noch zu Tage treten. Insofern ist das mein Kenntnisstand zu diesem Zeitpunkt.)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Seheranforderungen (Zook, 29. Sep 2014, 15:24:15):
+Hallo,
+
+wie im Abschnitt zu "hilfe seher" beschrieben, haben wir auch dieses
+Jahr die Seheranforderungen evaluiert und ueber Anpassungen beraten
+und einen entsprechenden Beschluss gefasst. Dieser fiel am 15. 
+September 2014. Die Verkuendung musste jedoch aufgrund meines
+Urlaubs bis heute warten. 
+
+Insofern gebe ich bekannt:
+
+Die Seheranforderungen bleiben wie sie sind.
+
+Gruss,
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Rechnercrash (Rumata, 19. Nov 2014, 11:31:05):
+Hallo Leute,
+so wie es aussieht ist heute unser Rechner neu gebootet. Und der Gamedriver
+hat auch ein Problem. Also macht es Euch vorerst nicht zu bequem.
+
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Geldprobleme (Vanion, 19. Nov 2014, 12:27:23):
+Liebe Spielerinnen* und Spieler,
+
+derzeit sind erhebliche Mengen an Falschgeld im Umlauf. Folge ist eine
+erhebliche Unsicherheit bei unseren Handelsleuten, ob euer Geld nun echt ist,
+oder nicht. Sie haben sich daher entschlossen, gar kein Geld mehr anzunehmen,
+bis das Problem geloest ist.
+
+Die Taeter sind umzingelt, haben sich aber verbarrikadiert. Es wird also eine
+Weile (sicher bis heute Abend) dauern, bis das Problem geloest ist. (Fuer die
+Entfernung des ganzen Falschgeldes wird ein Reboot noetig sein.)
+
+Euer Geld ist natuerlich sicher, falls ihr Falschgeld habens solltet, wird
+dies nach der Krise automatisch in der Zentralbank umgetauscht.
+
+Fuer die MorgenGrauen-Zentralbank,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Rechnercrash (Zesstra, 19. Nov 2014, 23:15:45):
+~#! rn=Rumata rt=1416393065 rg=bekanntmachungen
+~#! tid=1416393065
+Nachdem wir jetzt nach dem ungeplanten Reboot erstmal einige Probleme aufgrund
+halbfertiger Baustellen hatten (an dieser Stelle vielen Dank an Rumata,
+Arathorn und Vanion) bis es wieder lief, haben wir uns heute Abend mehr der 
+Fehlersuche zugewandt.
+
+Nach Auswertung der Systemlogs sind wir etwas schlauer bzgl. dessen, was
+passierte. Es kam heute um 9:55 zu einem Drivercrash.
+Das automatische Neustarten des Muds klappte leider nicht, weil der Driver
+sofort wieder crashte. Daher dauerte es bis zu Rumatas manuellem Eingreifen
+bis es wieder lief.
+
+2 Baustellen haben wir heute im Laufe des Tages und Abends hergerichtet. Die
+Geldprobleme sollten erledigt sein (vielleicht bis auf kleine, lokale
+Probleme).
+Allerdings gibts es noch kleinere unerledigte Dinge (z.B. auch mal den
+aktuellen Zustand im Homemud laufen zu lassen) und dazu blieb heute abend
+keine Zeit mehr (ungeplante Reboots sind ne Pest!). Daher wird es heute keinen
+Reboot mehr geben, aber es gibt noch einen spaeter in dieser Woche - mit etwas
+Glueck morgen Abend.
+
+Die eigentliche Ursache des Drivercrashes ist leider unklar. Und weil uns
+aufgrund eines sehr ungluecklichen Umstandes (der sich in Zukunft nicht mehr
+wiederholen wird) ein wesentliches "Beweisstueck" (fuer Techniker: der
+coredump) ueberschrieben wurde, steht zu befuerchten, dass wir es auch nicht
+(so schnell) herausfinden werden. Ich erwarte aber nicht, dass es sich in der
+naechsten Uptime schnell wiederholt - wenn es nicht ohnehin ein bereits in den
+letzten Monaten gefixter Fehler war, dann ist zumindest ein seltener Fehler.
+
+Sobald wir was neues wissen oder nen belastbareren Plan haben, informieren wir
+euch (wie immer) hier.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Rechnercrash (Zesstra, 20. Nov 2014, 22:04:56):
+~#! rn=Zesstra rt=1416435345 rg=bekanntmachungen
+~#! tid=1416393065
+Heute zwischen 23:00 und 0:00 ist ein Reboot zu erwarten.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Schoene neue Welt... (Zesstra, 20. Nov 2014, 23:31:27):
+Huhu,
+
+das wichtigste ist jetzt erstmal wieder vorbereitet.
+Ein weiterer Reboot ist nicht geplant und wir hoffen auf eine lange Uptime.
+
+(Es kann natuerlich immer sein, dass unvorgesehene Probleme auftauchen, die
+dann doch wieder nicht ohne Reboot zu loesen sind. Wir gehen aber nicht davon
+aus.)
+
+Wer irgendwelche Fehler oder Probleme findet, vor allem wenn es was ist, was
+nicht nur lokal auftritt, bitte direkt bescheidsagen.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Traurige Nachricht: Der Spieler Vampire hat uns fuer immer verlassen... (Zook, 28. Nov 2014, 14:24:07):
+Heute morgen habe ich die traurige Nachricht erhalten, dass Vampire 
+verstorben ist. Wir werden ihm ein ehrendes Andenken bewahren.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Adventskalender: viel Spass beim Tuerchenfinden (Zesstra,  1. Dez 2014, 00:13:13):
+Huhu,
+
+wir EMs wuenschen euch bei der diesjaehrigen Suche nach Tuerchen und (in der
+Parawelt) Wiederbeschaffen von Weihnachtsgeschenken viel viel Spass und
+Erfolg!
+
+Uebrigens: viele eurer Vorschlaege vom letzten Jahr wurden fuer dieses Jahr
+eingebaut (vielen Dank an Arathorn), vielleicht erkennt ihr sie wieder. ;-)
+
+Ich wuerde mich freuen, wenn ihr auch dieses Jahr uns wieder Feedback fuer
+neue Tuerchen, Diebe oder einfach andere Einschaetzungen geben wuerdet.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+MG Konnektivitaetsprobleme (Amaryllis, 22. Dez 2014, 22:20:20):
+Hi,
+
+anscheinend gab es fuer den einen oder anderen das Problem, das MG zu
+erreichen.
+
+Problem koennten die DDOS-Attacken auf 1&1 und ggf Strato sein, aber auch
+andere Ursachen sind denkbar, da hier auch diverse Sicherheitsmechanismen wie
+IDS, Blacklisting o.ae. laufen.
+
+Wer betroffen ist, moege zunaechst einmal nach Moeglichkeit andere Zugaenge
+versuchen, z.B. ueber TorBrowser, da dieser andere IP-Adressen benutzt.
+
+Ansonsten mir bitte einmal mitteilen, von welchen IP-Adressen Ihr kommt, dann
+kann ich mal in den Filterregeln nachschauen.
+
+Derzeit ist m.E. weder Strato noch 1&1 hier firewalltechnisch gesperrt.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Notstrom neuer Regionsmagier Wueste. (Zook,  2. Jan 2015, 23:23:46):
+Ich ernannte Notstrom zum neuen Regionsmagier fuer die Wueste. Vielleicht
+kann er der Region neues Leben einhauchen. Hoffentlich versandet er 
+nicht wie andere, die sich diese Aufgabe vornahmen. 
+
+SCNR, das ist irgendwie zu verlockend gewesen.
+
+Nein, ganz ernsthaft: Notstrom kuemmert sich ab sofort um die Wueste, wir
+freuen uns, dass er die Region betreut und wuenschen ihm viel Erfolg dabei!
+
+Gruss,
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Crashs und Reboot (Zook,  7. Jan 2015, 16:30:01):
+Ersten Analysen nach wird fuer die Fehlerbehebung sicherlich noch ein
+Reboot benoetigt.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Crashs und Reboot (Zesstra,  8. Jan 2015, 23:04:24):
+~#! rn=Zook rt=1420644601 rg=bekanntmachungen
+~#! tid=1420644601
+Der Fehler ist identifiziert. Aber da wir morgen noch RL haben und einige
+andere Dinge auch noch zu erledigen sind, wird besagter Reboot wohl am WE
+stattfinden.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Crashs und Reboot (Zesstra, 10. Jan 2015, 14:14:10):
+~#! rn=Zesstra rt=1420754664 rg=bekanntmachungen
+~#! tid=1420644601
+Also: wenn ich etwas halbwegs definitives sagen kann, wann es diesen Reboot
+gibt, werde ich das in bekanntmachungen tun und/oder Armageddon starten. Bis
+dahin: ich weiss es auch nicht und die anderen Magier auch nicht.
+(Und es nutzt auch nix, wenn ihr andere Magier, die fragen dann naemlich mich
+und sie kriegen die gleiche Antwort.)
+Es ist fertig, wenn es fertig ist.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Crashs und Reboot (Zesstra, 11. Jan 2015, 02:56:46):
+~#! rn=Zesstra rt=1420895650 rg=bekanntmachungen
+~#! tid=1420644601
+Aktuelle Planung:
+Reboot des Muds am spaeten Sonntag Nachmittag (11.1.) mit anschliessendem
+Test. Wenn dabei Spieler durchs Mud laufen, wird der Test besser. ;-) Dabei
+finden wir hoffentlich verbliebene Probleme, die im Homemud/Testmud nicht
+auffielen.
+Anschliessend gegen/am Abend nochmal ein Neustart des Rechners wegen einiger
+Updates am Betriebssystem. Das wird vermutlich zuegig gehen.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Uptime... Neues Glueck... ;-) (Zesstra, 11. Jan 2015, 23:56:51):
+So. Nachdem nun scheinbar alles ruhig laeuft und weder viele Debugmeldungen
+scrollen noch von euch Beschwerden kommen, gehe ich mal davon aus, dass wir
+jetzt wieder eine laengere Uptime vor uns haben bzw. dass der naechste
+geplante Reboot ne ganze Weile hin ist.
+
+Viel Vergnuegen und spielt es nicht so schnell wieder kaputt. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Bugfix neuer Regionsmagier fuer das Verlorene Land (Zook, 18. Jan 2015, 15:23:05):
+Hallo,
+
+ich habe heute Bugfix als neuen Regionsmagier fuer das Verlorene Land
+berufen. Viel Spass und Erfolg mit Deiner neuen Region!
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Versuchskaninchen fuer den Test giftiger Kraeutertees gesucht (Zesstra, 22. Apr 2015, 21:30:47):
+Huhu,
+
+wir (die EMs) suchen ein paar Spieler, die Lust haben, die kombinierte Wirkung
+von den diversen im Spiel zu findenden Kraeutern am eigenen Koerper zu testen.
+(Den Testkoerper muesst ihr stellen, ihr bekommt aber ggf. einen neuen, wenn
+die Wirkung gar zu toedlich war. Fuer die Ausruestung wird keine Haftung
+uebernommen.)
+
+Die Erwartung waere: ueber ein paar Wochen (natuerlich nebenbei) Kraeuter
+sammeln und miteinander zu kombinieren und die entsprechende Wirkung zu
+testen, auch ggf. in Wechselwirkung mit anderen Dingen. Dementsprechend waere
+es also noetig, in den kommenden Wochen auch tatsaechlich aktiv zu spielen.
+;-)
+
+Vor allem technische Probleme wollen wir in der Phase ausmerzen, aber auch
+allgemeine Kommentare dazu sind willkommen (auch wenn ich nicht versprechen
+kann, dass wir allen folgen).
+
+Was gibts dafuer? Oeh. Die Chance, es vor allen anderen ausprobieren zu
+koennen, schonmal zu lernen und das gute Gefuehl, mitgeholfen zu haben. ;-)
+Vielleicht sogar ein paar lobende goettliche Worte.
+
+Interessenten melden sich bitte bei mir oder Arathorn.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Versuchskaninchen fuer den Test giftiger Kraeutertees gesucht (Zook, 28. Apr 2015, 10:23:15):
+~#! rn=Zesstra rt=1429731047 rg=bekanntmachungen
+~#! tid=1429731047
+Lobende goettliche Worte sage ich selbstredend zu. Voraussetzung
+sind allerdings ein paar schoene Tode.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Zugang ins MG: Port 23 und 4711 (Zesstra, 28. Apr 2015, 21:41:38):
+Huhu allerseits,
+
+aus aktuellem Anlass eine kleine Erinnerung. ;-)
+In den letzten Tagen gab es Spieler, die sich ueber den Port 23 nicht ins MG
+einloggen konnten. Eine moegliche Ursache ist, dass Netzbetreiber Verkehr auf
+diesem Port ausfiltern.
+Deswegen gibt es schon seit Ewigkeiten zwei Zugaenge ins MG:
+Port 23 und 4711.
+Siehe auch: http://mg.mud.de/online/index.shtml
+Wenn ihr also Probleme mit dem Login habt und euer Client sich zu Port 23
+verbindet, versucht einfach mal 4711.
+
+(Oder - wenn ihr auch nicht wollt, dass jemand zwischen euch und dem MG euer
+Passwort und eure Kommunikation mitlesen kann, koennte auch den
+verschluesselten Zugang benutzen: http://mg.mud.de/download/stunnel.shtml)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Morgengrauen-TS (Arathorn,  5. Jun 2015, 17:49:55):
+Hallo zusammen,
+
+das MG-Teamspeak ist jetzt wieder wie gewohnt ueber mgts.mud.de erreichbar.
+Hate hatte seinen DNS-Eintrag vor einer Weile mal bereinigt und dabei
+wohl diese Subdomain mit entsorgt. Er hat sie uns dankenswerterweise nun
+aber wiederhergestellt, so dass jetzt wieder alles beim alten ist.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Filterregeln Morgengrauen-Telnet (?) (Amaryllis, 15. Jul 2015, 21:23:22):
+~#! rn=Anatol rt=1436936463 rg=hardsoftware
+~#! tid=1435647689
+*GNARF*
+
+Davon, dass man am Gras zieht, waechst es auch nicht schneller!
+Und es duerfte wohl nicht sooo entscheidend sein, ob Du nun von Deinem VServer
+aus oder von sonstwo daueridelst...
+
+Ich zitiere mal aus einem anderen Posting:
+> 1&1 verweist auf NetCologne.
+> NetCologne Kontakt verweist auf NetCologne Stoerung.
+> NetCologne Stoerung verweist auf abuse@.
+> abuse@ reagiert nicht.
+
+> Zeile 2 und 3 mit maximaler Unfreundlichkeit. Ich bin ja kein NetCologne-
+  Kunde.
+
+Hierzu stelle ich fest:
+
+Dass "2 und 3 mit maximaler Unfreundlichkeit" erlebt wurde, kann ich weder
+bestaetigen noch dementieren, bin aber vom NC-Support anderes gewohnt.
+
+Die Punkte 2-4 sind komplett irrelevant, da Punkt 1 schon nicht vom
+verantwortlichen Provider (hier: 1&1) geloest wurde. Sich zurueckzulehnen
+und an den "Blockierer" zu verweisen, ohne die Dutzenden von Beschwerden,
+die vorliegen, zu bearbeiten - geschweigedenn das Problem zu loesen -
+zeugt nur von maximaler Ignoranz ala "Wir sind so gross, es kann sich eh
+keiner leisten, uns zu blocken!". Und dann einfach nur den Ball zurueck-
+zuspielen, ist wohl der Gipfel der Unverschaemtheit.
+
+Nochmal: Es erfolgten Dutzende von Beschwerden mit Logfile-Excerpts inkl.
+Timestamps, WHOIS etc. - also noch einfacher kann man es einer
+funktionierenden
+Abuse-Abteilung (die 1&1 anscheinend nicht hat) nicht machen. Im Gegensatz
+zu NetCologne bekommt man bei dem Laden auch noch nicht einmal einen Auto-
+Responder ueber die eingegangene Beschwerde - da ist selbst die oft so
+vielgeschmaehte Telekom besser, die in meinen Faellen sowohl einen Auto-
+Responder als auch i.d.R. innerhalb eines Tages nochmal die Rueckmeldung
+schickte, dass der Vollpatient geerdet ist.
+
+Erwartet die 1&1 ernsthaft, dass man sich das taegliche Flooding von gehackten
+Kisten etc. antut (mit der Gefahr, ggf. selbst kompromittiert zu werden, z.B.
+durch BruteForce-SSH-Attempts), auch noch den Traffic dieses Muells bezahlt
+und dann auch noch ruhig zusieht, wie dieser Saftladen die Haende in den
+Schoss legt?
+
+Ich hatte vor einiger Zeit einmal ueberlegt, aufgrund des Preises mit meinen
+Internetdiensten zu 1&1 zu wechseln. Ich werde nach den ganzen Erfahrungen
+hier
+den Teufel tun! What you pay is what you get - das sollte man sich mal ueber-
+legen, *warum* ggf. die Dienste dort so billig sind? Weil sie vielleicht genau
+am Support und an solchen, fuer einen guten ISP selbstverstaendlichen Dienst-
+leistungen (zu denen sie uebrigens auch verpflichtet sind) sparen?
+
+Ich habe gute Kontakte zu einigen Admins bei der 1&1, die mir das leider in
+den letzten Tagen bestaetigt haben. Ihnen sind natuerlich die Haende gebunden,
+aber sie sagten mir auch: Was Ihr da tut, ist voellig verstaendlich, und Ihr
+seid nicht die Einzigen. Es wird der Moment kommen, da wird sich diese
+Ignoranz
+insofern raechen, als es dann erheblich mehr Aufwand bedeutet, die ganzen
+verbrannten Netze wieder von den hunderten von Blacklists zu kratzen...
+
+Was bleibt nun als Loesung?
+Ich habe jetzt die Moeglichkeit gefunden, einzelne IPs aus den Blocks
+herauszu-
+nehmen, werde davon aber auch nur im begruendeten Einzelfall Gebrauch machen,
+weil mir das administrativ einfach zu aufwendig ist. Was das Routing bei NC
+angeht, so sollte das wieder vollstaendig offen sein. Wer also meint, dass
+seine (statische) IP hier geblockt sein sollte (bitte hierbei zuerst die
+relevanten Ports 23, 4711 und auch 80 durchprobieren - wenn z.B. nur 23
+geblockt ist, ist es sehr sicher ein Filter bei Eurem Provider oder Arbeit-
+geber!), moege mir die IP mitteilen, dann kann ich das nachschauen.
+
+Ich bitte um Verstaendnis, dass es einige Zeit gekostet hat, aber es hat mich
+auch einiges an Arbeit gekostet, und dass die Gespraeche mit NC jetzt nicht
+auf Prio1 bei denen waren, sollte bei einem FullSponsored-Server eigentlich
+einleuchten. (Zudem ist auch noch Urlaubszeit...)
+
+Ama*
+
+
+-----------------------------------------------------------------------------
+
+
+
+Region Wald (Zook, 26. Jul 2015, 21:07:04):
+Chagall ist von seinem Posten als Regionsmagier im Wald 
+zurueckgetreten. Ich bedanke mich bei ihm fuer die vielen 
+Jahre, in denen er diesen Job inne hatte und fuer seine Zeit
+und Engagement in der Region.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Amaryllis, 11. Sep 2015, 03:48:39):
+Hallo zusammen,
+
+es wird noch in diesem Monat einen Reboot geben.
+
+Grund (obwohl ich mich dafuer angesichts der hohen Uptime imho nicht
+rechtferigen muss ;)) ist ein OS-Update, das mir weitere Security-Optionen
+ermoeglicht, die in letzter Zeit angemeckert wurden und auf deren Reaktion,
+die von meiner Seite aus mit recht hohem Aufwand verbunden ist, ich keine 
+Lust mehr habe.
+
+Ich plane diesen Reboot fuer die kommende KW. Sollten Unwaegbarkeiten
+hinzukommen, die ich derzeit noch nicht komplett abschaetzen kann, eine Woche
+spaeter, d.h. letzte September-Woche.
+
+Es tut mir leid, dass ich Euch keinen genauen Termin nennen kann, aber ich bin
+gerade selbst hier etwas am "Rotieren" und weiss nur, dass ich den Reboot noch
+in diesem Monat hinkriegen sollte, um bei Notfaellen zeitnah im RZ sein zu
+koennen und nicht ggf. irgendwo in Auslandsprojekten "abzuhaengen".
+
+Sry for the inconvenience. Aber dem Spielspass, den uebervollen
+Seherschraenken
+und anderen Dingen koennte es sogar etwas gut tun ;)
+
+Schoenes Wochenende,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Reboot (Amaryllis, 14. Sep 2015, 07:19:35):
+~#! rn=Amaryllis rt=1441936119 rg=bekanntmachungen
+~#! tid=1441936119
+Hi,
+
+nach meinen jetzigen Planungen findet das Update und der damit verbundene
+Reboot etc. am Mittwoch abend (16.09.) statt.
+Rechnet mal mit einer laengeren Downtime.
+
+Und ja, genauer kann ich es nicht sagen - sogar das ist ohne Gewaehr ;)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Reboot (Amaryllis, 17. Sep 2015, 21:41:27):
+Hi,
+
+das Upgrade inkl. Reboot war soweit zum Glueck erfolgreich, die Vorarbeit hat
+sich gelohnt und ich musste nicht vor Ort sein ;)
+Es bugt wie immer nach Reboot hier und da, aber ich bin derzeit optimistisch,
+dass wir das ohne einen weiteren Reboot hinbekommen.
+
+Ein Dank geht an Arathorn und Zesstra, die per TS mit dabei waren, Daumen
+gedrueckt und nach erfolgreichem Reboot mitgeholfen haben (was Servertests
+angeht).
+EM-Power at it's best ;)
+
+Gruss,
+Ama*
+
+PS: Das Problem mit dem Webserver habe ich leider erst ca. eine Stunde nach
+Reboot geloest bekommen (doofer Apache), also ist nichts bei Euch kaputt
+gewesen, wenn Webseite und/oder Webtelnet nicht funktioniert haben ;)
+
+Auf eine hoffentlich lange Uptime!
+
+-----------------------------------------------------------------------------
+
+
+
+reboot (Amaryllis, 13. Okt 2015, 22:24:21):
+hi,
+
+es war leider kurzfristig noch ein reboot notwendig. ich hoffe, dass er der
+stabilitaet dienlich ist.
+
+gruss
+ama
+(sry fuer tipfehler, bin ueber handy online)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: reboot (Zesstra, 14. Okt 2015, 11:06:50):
+~#! rn=Amaryllis rt=1444767861 rg=bekanntmachungen
+~#! tid=1444767861
+Wir haben die konkrete Ursache fuer den Reboot am Montag vormittag ermittelt.
+Es handelte sich nicht um einen technischen Defekt. Weiterhin gehe ich davon
+aus, dass sich der Anlass in absehbarer Zukunft nicht wiederholt.
+Fuer einen weiteren Reboot in naher Zukunft ist zur Zeit auch kein Grund
+absehbar. Insofern wird die Uptime jetzt hoffentlich wieder laenger.
+
+Viel Spass!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Ignorieren (Zesstra, 28. Okt 2015, 20:41:08):
+Huhu,
+
+ich moechte eure Aufmerksamkeit auf den Befehl "ignoriere" lenken.
+Und zwar, weil mir aufgefallen ist, dass einige von euch den offenbar falsch
+benutzen. Guckt bitte alle mal in die Hilfeseite von dem Befehl und
+anschliessend in eure Ignoriereliste.
+
+Einige Bespiele, die nicht funktionieren (oder es zumindest bald nicht mehr
+tun):
+* faerbe
+* segen.spieler
+* finde
+* laeutere
+* segne
+* beschwoere
+
+Alle diese Beispiele wuerden nur Spieler mit diesem Namen ignorieren, aber
+keine Aktion.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Nachruf: Slaibnyr  (Zook, 14. Dez 2015, 19:46:17):
+Hallo zusammen!
+
+Ich habe die traurige Nachricht weiterzugeben, dass der Mensch, der
+hinter dem Spieler Slaibnyr stand verstorben ist. Wir werden ihm ein 
+Andenken bewahren.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Regionsmagier im Wald: Notstrom (Zook, 18. Dez 2015, 16:52:51):
+Hallo,
+
+
+nachdem im Wald langsam mangels Aufsicht der Schlendrian einzuziehen 
+droht, berufe ich Notstrom als Regionsmagier. Er hat schon die Baumschere,
+Kaefervernichtungsspray etc. bereit. 
+
+Ich wuensche Dir viel Spass und ein gutes Haendchen bei dieser Region!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+SSL Zugang (Rumata,  9. Jan 2016, 16:29:13):
+Hallo Leute,
+
+leider ist unser SSL Zertifikat abgelaufen, deshalb kann man sich
+momentan nicht auf dem SSL Zugang einloggen (wenn es doch geht, ist
+euer Client jedenfalls buggy ;-) Wir pruefen gerade, ob wir das
+Zertifikat ohne Reboot erneuern koennen, falls nicht waere in naeherer
+Zukunft ein Reboot faellig.
+
+Das zur Info
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Neues SSL-Zertifikat fuer mg.mud.de (Zesstra,  9. Jan 2016, 17:08:07):
+Hallo allerseits,
+
+unser Driver war zum Glueck auch schon neu genug, um das Austauschen der
+SSL-Zertifikate ohne Neustart zu erlauben (das kam tatsaechlich erst letztes
+jahr).
+Ich habe jetzt das Zertifikat fuer das Mud und auch fuer den Webserver
+aktualisiert. (Sollte noch irgendwo nen altes kommen, bitte bescheidsagen.)
+Der Vollstaendigkeit halber:
+Auch das neue Zertifikat ist von Cacert.org.
+Es hat den Fingerprint (SHA256): F5:E6:F3:B7:DF:15:0E:32:9C:1D:66:85:5B:02:EE:
+BB:76:09:FF:7D:6B:E2:35:BF:04:93:2B:32:78:0D:7D:7B
+Der verwendete private Schluessel hat 4096 bit Laenge.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues SSL-Zertifikat fuer mg.mud.de (Rumata,  9. Jan 2016, 18:19:40):
+~#! rn=Zesstra rt=1452355687 rg=bekanntmachungen
+~#! tid=1452355687
+Danke, Zesstra, fuer das schnelle fixen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neues SSL-Zertifikat fuer mg.mud.de (Amaryllis,  9. Jan 2016, 19:37:00):
+~#! rn=Zesstra rt=1452355687 rg=bekanntmachungen
+~#! tid=1452355687
+ich wusste doch, wieso ich im alten Jahr noch ein Upgrade durchgefuehrt
+habe... -)
+
+Ama**
+
+-----------------------------------------------------------------------------
+
+
+
