diff --git a/OLD.polizei.bekanntmachungen b/OLD.polizei.bekanntmachungen
new file mode 100644
index 0000000..2debb53
--- /dev/null
+++ b/OLD.polizei.bekanntmachungen
@@ -0,0 +1,3003 @@
+Noch mal Spielermorden - Notwehr (Boing, 26. Apr 1993, 23:19:20):
+Hallo!
+
+Nachdem ein paar Spieler aus Paderborn meinten, sie muessten hier ein 
+bisschen wueten (vor allem Sven und Wurmesser taten sich durch Umbringen
+von anderen Spielern hervor), moechte ich noch mal wiederholen, dass
+das Ermorden von Spielern verboten ist und mit gewissen Unannehmlichkeiten
+bestraft wird:
+
+     1) Man kann seine Stufe nicht mehr erhoehen
+
+     2) Man kann keine Zaubertraenke mehr finden
+
+Bei Notwehr sollte sich der Spieler an Olpp oder an einen der Mud-Goetter
+(Jof, Rumata, Boing) wenden, dann wird das geprueft und wieder bereinigt.
+
+Tschuess,
+
+    Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Asrahel bis 1.10 entmagiert. (Rumata, 23. Sep 1993, 13:49:38):
+Leider ...
+
+da Asrahel zum wiederholten Male Hilfsobjekte fuer (Lieblings)Spieler
+geschrieben hat, und er von mir auch schon diesbezueglich verwarnt
+worden war, habe ich ihn (und seinem Zweitplayer Paule) auf Spielerlevel
+1 zurueckgesetzt.
+
+Diese Massnahme ist bis zum 1.10.1993 gueltig.
+
+Vorschlaege, wie in zukuenftigen Faellen mit solchen Vorfaellen
+umzugehen ist, nehme ich gerne entgegen. (bitte in der Rubrik
+etikette)
+
+Rumata, der sich leider mal wieder zum Oberbullen aufspielt.
+
+-----------------------------------------------------------------------------
+
+
+
+Wilson (Boing,  6. Dez 1993, 23:29:35):
+Hi!
+Nachdem Wilson laufend andere Spieler angegriffen hat, habe ich ihm jetzt
+einen Mord gesetzt (auch wenn kein Spieler dabei gestorben ist). Somit kann
+Wilson jetzt keine Zaubertraenke mehr finden und seine Stufe nicht weiter
+erhoehen.
+   Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Danke Boing.. (Olpp,  8. Dez 1993, 16:58:28):
+
+-----------------------------------------------------------------------------
+
+
+
+Venom verbannt. (Freund, 24. Jan 1994, 16:06:12):
+Gruess Gott,
+
+diesmal ist es leider keine angenehme Aufgabe, die mich zum Posten eines Artikels
+bringt. Einige von Euch werden schon Einzelheiten und / oder die ganze Geschichte
+gehoert haben - es geht um Andy - Venom - Siddlewitch - und wie er sonst noch so
+hiess. Hier kommt nur die Kurzform; ich habe keinen Nerv alles in Ausfuerlichkeit
+aufzuschreiben. Wer Fragen hat, kann sich an mich oder andere Muensteraner Magier
+wenden (fast alle wissen Bescheid, ueber dies und das...).
+
+Andreas (so heisst der Benutzer wirklich) ist anfangs durch haeufige Nervereien
+aufgefallen. (teile mit, rufe und : (emote) waren fast sein ausschliesslicher
+Befehlssatz. Boing baute dann endlich das 'ignoriere'-Kommando ein.)
+Spaeter, als er etwas erfahrener mit der Infra-Struktur MorgenGrauens war, hat er
+einigen Spielern geholfen (was er natuerlich durfte und auch begruesst wurde),an-
+dere aber weiter genervt und einige Anfaenger auch oft hinters Licht gefuehrt.
+Die Nervereien dehnten sich schliesslich auch auf das 'Echte Leben' aus, als er
+herausbekam, wo oftmals Magier anzutreffen sind, bzw. wer ueberhaupt im Mud mit-
+spielt.
+Den Vogel schoss er zweifelsfrei ab, als er das Passwort eines Magiers nutzte, um
+1. seinen Charakter durch bessere Werte aufzupeppeln und
+2. die GESAMMTE Mudlib zur Eigenverwertung (raub-) kopierte.
+Mit Hilfe dieses Wissens hat er sich dann natuerlich relativ gefahrenlos im Mud
+bewegen koennen und auch groessere Quests (Nibelungen z.B.) stellten nicht mehr
+eine Herausforderung dar, sondern waren aufgrund der Zugriffmoeglichkeit auf die
+programmierten Raeume leicht zu loesen.
+
+Heute morgen stellten wir ihn dann in der Gilde zur Rede.
+Er gab zunaechst vor, die Files wieder zu leoschen, was jedoch erst geschah,nach-
+dem er einsehen musste, mit dem VORGEBEN des Loeschens nicht durchzukommen. Des-
+weiteren gab er an und zu, er habe noch eine Kopie der Mudlib zuhause.
+Unter diesen Umstaenden beantragten einige Magier, Venom endgueltig zu banishen.
+
+Da es bei ca. 10 (Normal-) Magiern, 2 Regionsmagiern und 3 Erzmagiern (ich war
+per Modem drin, also konnte ich schlecht mitloggen, die Erzmagier weiss ich noch:
+Highlander, Kirk und Freund) keinen einizigen Widerspruch gab, verbannten wir
+Venom aus dem Spiel. Diese eigentlich als vorlaeufige Aktion geplante Massnahme
+erlangte ohne unser Zutun heute eine ziemliche Endgueltigkeit, da Andreas die Be-
+nutzernummer, die er als 'Fremd'nutzer bislang mit nutzte heute vom Rechenzentrum
+Muenster entzogen wurde,da sich (zum wiederholten Male) andere Benutzer ueber ihn
+beschwerten.
+
+So weit diese Informationen. Fuer Rueckfragen stehe ich gerne zur Verfuegung.
+Weitere Informationen koennten noch bei Kirk, Rochus und Mika eingeholt werden.
+(Wobei sie nicht wissen, dass ich sie hier erwaehne, aber ich denke mal, dass es
+so in etwas hinkommt... ;-)
+
+Mit leider etwas getruebter Freude, dieses Posten zu muessen verbleibt
+Euer Freund fuer alle Faelle (Markus).
+
+
+-----------------------------------------------------------------------------
+
+
+
+P.S. Freund (Olpp,  3. Feb 1994, 13:44:48):
+Spaet, aber nicht zu spaet, moechte ich natuerlich verkuenden, dass Freund
+bereits seit einiger Zeit 2. Sheriff im MorgenGrauen ist.
+Danke, Freund, dass Du mir die Arbeit abnimmst.
+
+Olpp.
+
+-----------------------------------------------------------------------------
+
+
+
+BITTE LESEN! (Freund, 23. Feb 1994, 21:45:03):
+Gruess Gott,
+ich schreibe diesen Artikel, weil es viele (gerade neue) Spieler gibt, die
+wenig Ahnung von unserem Rechtssytem haben und sich dann bei irgendwelchen
+Problemen an irgendwelche Leute wenden, die nicht helfen koennen / wollen.
+
+Im MorgenGrauen gibt es eine strikte 2-Klassengesellschaft, die der Spieler
+und Magier. Letztere koennen prinzipiell alles erdenkbare in dieser Welt an-
+stellen. Das kann unter Umstaenden leider auch dazu fuehren, dass gemeine
+Magier ihre Macht missbrauchen (unsichtbare Flueche an Spieler haengen, 
+ihre Punkte grundlos abziehen, sie einfach toeten, gegen ihren Willen tran-
+sen (hin und her teleportieren) oder aehnliches). 
+Aber auch Spieler sind nicht immer nett zueinander. Obgleich es strengstens
+untersagt ist, andere Spieler anzugreifen, versuchen es einige unbelehrbare
+immer wieder. Aber auch kleinere Verstoesse gegen die Moral sind an der Tag-
+esordnung: Leichen werden gefleddert, Sachen beim Ordnen des eigenen Ruck-
+sacks geklaut, weibliche Charaktere mit entsprechenden Verben belaestigt,
+und so weiter.
+
+Wenn Euch so etwas zustoesst und ihr nicht bereit seid, das auf sich beruhen
+zu lassen, koennt ihr Euch an den Scheriff im MorgenGrauen wenden, dessen
+Aufgabe genau darin liegt, sich solcher Sachen anzunehmen.
+Scheut Euch nicht, auch, wenn ihr wenig Erfahrung habt, Kontakt aufzunehmen.
+(Egal, ob Spieler oder Magier. :-)
+
+Im Moment gibt es zwei Scheriffs im MorgenGrauen:
+Ein Freund fuer alle Faelle (hilfsbereit) - Knuddeleisbaer
+Olpp ist wieder auf dem Boden.
+
+Leider ist Olpp in letzter Zeit etwas beschaeftigt (ausserhalb des Muds) und
+selten da.
+Ich (Freund) bin aber nahezu taeglich im Mud zu erreichen. Ihr koennt auf ver-
+schiedene Arten Kontakt aufnehmen:
+Wenn ich eingeloggt bin:
+teile freund mit Hilfe, kommst Du mal bitte?
+
+Wenn ich nicht da bin:
+Ins Postamt gehen und einen Brief schicken.
+
+Wenn ihr kein Postamt kennt, oder alles oeffentlich diskutieren wollt:
+Eine Zeitung besorgen (liegt in der Gilde) und in die Rubrik 
+polizei.beschwerden einen Artikel schreiben. 
+(Mit: lies rubrik 15    und dann: schreibe Beschwerde)
+
+Es gruesst Euch mit friedlichem Gruss ein
+Freund fuer alle Faelle (Scheriff).
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Neuer Hilfssheriff (Freund, 13. Jan 1995, 11:22:07):
+Gruess Gott,
+in Ermangelung von freier(!) Zeit, brauche ich Unterstuetzung in Form
+eines Kollegen, der wesentlich mehr Zeit hier verbringen kann.
+Das ist CATWEAZLE.
+Ich denke, dass mein Arbeitsstress nicht permanent ist, und hoffe, in ein
+paar Wochen auch wieder aktiver sein zu koennen... :-)
+Bis dann hat Catw* meine vollstes Vertrauen in seinen Gerechtigkeitssinn.
+
+Ein FREUNDlicher Sheriff, der sich jetzt gegen die MudMafia verstaerkt hat.
+
+-----------------------------------------------------------------------------
+
+
+
+Hochzeiten! (Catweazle,  1. Mar 1995, 19:48:37):
+Hi!
+Ich muss zugeben ich bin im Augenblick ein bisschen stinkig. Da haben wir
+in letzter Zeit genug Stress mit Magiern, die Werte bei Spielern aendern
+oder sie transen und dann muss ich von diesem Theater in der Kapelle er-
+fahren.
+Da werden wahllos Spieler hin- und hergetranst, Spieler gefroggt, Halsweh
+verpasst, sogar saemtliche Befehle disabled. Also, lagnsam gehts zu weit!
+Die Hochzeit ist kein Spielplatz fuer Magier um tolle Tools auszutesten
+und auszuprobieren, was alles machbar ist.
+Die Hochzeit ist eine Spielsequenz, wie jede andere Quest oder Aufgabe
+auch, und ein Magier hat da erst mal gar nix dran rumzupfuschen. Die
+einzige Moeglichkeit fuer Spieler in das Geschehen in der Kirche ein-
+zugreifen ist der 'Einspruch' und dieser ist dazu da, falls tatsaechlich
+ebensolcher besteht. Der trauende Magier sollte nicht einfach darueberhin-
+weggehen und die Zeremonie von neuem starten, sondern wenigstens mal
+nachfragen, _warum_ den nun jemand Einspruch sagt. Falls dann nix
+vernuenftiges kommt, kann man ihn immernoch rausschmeissen oder halsweg
+verpassen, aber nicht einfach so, wahllos, weil jemand die Zeremonie beein-
+flusst.
+Vor allem das Transen ist ja wohl unter aller Sau. Ihr wisst genau, das
+es verboten ist, aber nein, es ist ja _nur_ aus der Kirche raus. Es ist
+halt generell verboten! Basta!
+Fazit, falls sowas nochmal vorkommen sollte, das Magier die Zeremonie
+stoeren, oder Spieler unbegruendet Einspruch rufen, mir Beschied sagen, oder
+mailen, dann setzt es erst mal was ....
+Trotzdem Yours truly,
+          Catweazle (Sheriff)
+
+-----------------------------------------------------------------------------
+
+
+
+Passwoerter! (Catweazle, 24. Mar 1995, 20:49:16):
+Hi!
+Ich moechte Euch einmal darauf hinweisen, das es sehr wichtig ist, das ihr
+Euch ein vernuenftiges Passwort zulegt! Ich hab heute wieder einmal einem
+Spieler sein Passwort zuruecksetzen muessen, weil jemand sich in seins
+reingehackt hat (naja, gehackt ist uebertrieben, der Name war gleich dem
+Pass-
+wort :) ) und dann mit dessen Charakter rumgespielt hat. Diesmal wars nur
+ein Spieler, aber ich moechte vermeiden, das bei nem Magier 'eingebrochen'
+wird.
+Also wenn Euer Passwort zu einfach ist, macht ein neues. Ein vernueftiges
+Passwort enthaelt uebrigens eine Kombination aus text, grossgeschriebenem
+Text und Zahlen, besser keine Sonderzeichen. Auch sollte das Password kein
+sinnvolles Wort ergeben.
+Yours truly,
+        Catweazle
+
+-----------------------------------------------------------------------------
+
+
+
+Vergehen verboten! (Catweazle, 13. Jun 1995, 13:55:37):
+Hi!
+Da ich im Moment mal wieder (oh, welch Abwechslung) verd... wenig Zeit
+habe, und unter anderem mal wieder Partyplanungsgedoens machen muss,
+untersage ich hiermit ab sofort jegliche Vergehen, damit ich weniger
+polizeigeschaeftlichen Tatigkeiten nachgehen muss...
+Yours truly,
+        Catweazle,  Sheriff
+
+-----------------------------------------------------------------------------
+
+
+
+Scriptspieler (Catweazle, 20. Jun 1995, 10:14:44):
+Hi!
+So, mir reichts jetzt mittlerweile, das mit den Scriptspielern ist
+uns voellig ueber den Kopf gewachsen. Scriptspieler sind nicht unbedingt
+das tollste im Mud und ich denke, sie machen ein Mud genauso kaputt,
+wie ZT-Listen oder Komplettloesungen.
+Daher gilt ab sofort folgende Regelung:
+
+    SCRIPTSPIELER SIND VERBOTEN!!!!!
+
+Unter Scriptspieler versteh ich im allgemeinen solche Spieler, die ohne
+selbst am Bildschirm mitarbeiten zu muessen, Dinge automatisch tun.
+Z.B. Kaempfen, Trainieren, Rumlaufen, Hinterherlaufen, Sich automatisch
+toeten, etc. Im besonderen solche Spieler, die auf Trigger reagieren.
+Wegescripts sind ausdruecklich 'geduldet'!
+
+Diese Massnahme begruende ich wie folgt:
+Scriptspieler ruinieren die Stimmung im Mud. Es sind keine echten Spieler
+und nur verschaffen sich einen Vorteil gegenueber 'echten' Spieler,
+indem sie die neotigen Aufgaben automatisiert erledigen. Dies ist nicht
+im Sinne eines Muds. Einige Scriptspieler verbraten durch ihre hohe
+auf Dauer, meist sinnlose Aktivitaet ne Menge Rechenzeit und verlangsamen
+das Mud. Wieder andere haben komplette Aktionen getriggert und reagieren
+wie NPCs, wodurch es schon zu Playerkills gekommen ist.
+Manche behindern durch ihre rucksichtslosen, weil unbeobachteten
+Aktivitaeten andere Spieler in Ihrem Spiel, meist in Questen.
+
+Um dieses Verbot durchzusetzen gestatte ich jedem Magier, der einen
+Scriptspieler als solchen identifiziert, diesen auszuloggen, am ge-
+schicktesten mit einem remove_interactive(). Hierbei ist wichtig, das es
+sich auch wirklich um einen Scriptspieler _handelt_, was man leicht ver-
+ifizieren kann, wenn man versucht ihn anzusprechen!
+
+Sollte ein ausloggen nicht genuegen, weil der SPieler getriggert wieder
+eingeloggt wird, werde ich keine Hemmungen zeigen, das savefile zu loeschen
+und den Namen zu banishen!!
+
+Ich moechte jeden Spieler bitten, wenn er einen Scriptspieler findet, dies
+an einen Magier seiner Wahl mitzuteilen.
+
+Yours truly,
+    Catweazle (Sheriff)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Scriptspieler (Jof, 20. Jun 1995, 10:32:40):
+#! rn=Catweazle rt=803636084
+
+ Noch ein Wort dazu: Es waere fatal, wenn jetzt die Magier anfingen, Leute
+auszuloggen, weil sie sie fuer scriptspieler HALTEN. Ich faende es gar nicht
+gut, wenn die Magier die Scriptspieler AUSLOGGEN; sie sollten ihren Verdacht
+vielmehr einem der EMs mitteilen. Alles andere fuehrt lediglich ins Chaos.
+Wenn einer einen SPieler ausloggt, den er faelschlicherweise fuer einen
+Scriptspieler gehalten hat, ist das ein SCHWERER Regelverstoss und wird auch
+als solcher behandelt.
+
+ Jof
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Scriptspieler (Catweazle, 20. Jun 1995, 10:35:48):
+#! rn=Jof rt=803637160
+Jof hat natuerlich recht!
+Wenn ihr Euch nicht HUNDERTPROZENTIG sicher seit, das ihr einen
+Scriptspieler vor Euch habt, dann lieber nem Erzi bescheid sagen, der
+hat noch ein paar moeglichkeiten extra, sowas rauszufinden...
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Entmagierung (Rochus, 14. Nov 1995, 13:47:24):
+Baboon ist jetzt wieder fuer eine Woche Spieler.
+Der Grund ist recht schnell erklaert:
+  zwinge spieler iss giftpille
+Der Spieler war anscheinend abwesend (idle) und ist daran gestorben.
+Es sollte klar sein, dass ein Magier so etwas nicht tun darf,
+auch wenn als mildernde Umstaende hinzukommen dass der Spieler nervt.
+Der Hauptgrund dafuer, dass Baboon nur eine Woche bekommen hat,
+war jedoch, dass er seinen Fehler sofort eingesehen hat.
+
+-----------------------------------------------------------------------------
+
+
+
+Skriptverbot (Wargon,  1. Feb 1996, 11:27:17):
+  Hi!
+Wie ihr ja schon in der Einlogmeldung gesehen habt, sind Skripte und Trigger
+verboten. Das sind sie uebrigens schon seit laengerem, es fehlte allerdings
+noch eine klare Definition. Diese soll hier jetzt folgen:
+--- <SNIP> --- <SNIP> --- <SNIP> ---
+DEFINITION: Script
+	Ein Script ist eine Reihe von mindestens zwei Kommandos, welche
+	durch eine einzelne Aktion zum Ablauf gebracht werden.
+
+DEFINITION: Trigger
+	Ein Trigger ist eine automatisierte Reaktion auf Ausgaben durch 
+	die eine weitere Aktion oder ein Script ausgeloest wird.
+
+DEFINITION: Komplettloesung
+	Eine Komplettloesung ist das, was der Name sagt, oder eine
+	schriftliche Zusammenstellung von vielen Hilfen zu einer
+	Quest.
+
+--
+VERBOTE:
+	Die Benutzung und die Weitergabe von Scripten und Triggern
+	ist grundsaetzlich nicht erlaubt.
+	Die Verbreitung von Komplettloesungen ist strengstens untersagt,
+	da diese die Arbeit der Magier ignorieren und das Spiel kaputt machen.
+
+AUSNAHMEN:
+	Bestimmte Scripte, welche der Erleichterung der Fortbewegung dienen
+	und NUR die unten angegebenen Befehle enthalten sind beschraenkt
+	geduldet. 
+	Faellt ein solches Script besonders auf, kann es ohne Begruendung
+	durch den Sherriff verboten werden.
+
+	BEFEHLE: Bewegungsbefehle, lang, kurz, ultrakurz
+--
+STRAFE BEI ZUWIEDERHANDLUNG:
+	1. Auffallen
+	   -> Empfindliche Einbussen bei den Skills
+        2. Auffallen
+	   -> Loeschung des Charakters
+
+        Die Bestrafung bei der Verbreitung von Komplettloesungen wird
+	sofort und ohne Verwarnung ausgefuehrt.
+--- <SNIP> --- <SNIP> --- <SNIP> ---
+Die Kommandos und Aktionen sind solche, die sich auf das Mud auswirken. Es
+verbietet euch niemand, auf eurem Bildschirm Texte farbig hervorzuheben o.ae.
+Ich hoffe, damit ist erstmal fuer etwas mehr Klarheit gesorgt,
+  Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Absolutes Scriptverbot! (Catweazle,  1. Feb 1996, 15:13:29):
+
+Hi all!
+
+So, dies ist ein ernsthafter Artikel und ich versuche ihn daher auch mal
+so zu formulieren. Es geht um eine Verschaerfung des Scriptverbotes.
+
+Mittlerweile sieht es so aus, das ich keine bzw. nur noch sehr wenige
+Moeglichkeiten habe, eindeutig festzulegen, ob ein Spieler scriptet,
+oder nicht. Tatsaechlich sind nur derartige Scripter auffindbar, die
+zB ueber WE nen eins anwerfen.
+
+Die meisten Scripter sind aber solche, die automatisierte Standard-
+sachen, wobei der Spieler aber dabei ist und notfalls (zum Beispiel,
+wenn ich ihn anzusprechen versuche) einschalten kann. Der Unterschied
+zu einem Scripter, der ausgedehnte Raucherpausen waehrend des Scriptens
+macht ist nur gering. Ein Anwesendscripter kann sich, was ich zB auch
+schon mal beobachtet habe, bequem unterhalten.
+
+Um dieser Tatsache Herr zu werden, haben wir Erzmagier in einer kleinen
+Sitzung beschlossen, dass Scripts und Trigger komplett verboten werden.
+WAS genau als Script und Trigger bezeichnet wird konntet Ihr in einem
+frueheren Artikel von Wargon lesen, oder aber Euch mit 'hilfe scripte'
+anschauen.
+
+Generell ist JEDES Script verboten! ABER es gibt eine Ausnahme, naemlich
+das, was ich jetzt einmal als Wegescript bezeichnen moechte. Darunter
+verstehe ich eine Aneinanderreihung von 'Bewegungsbefehlen', also
+solchen Eingaben, die nur zur Fortbewegung zaehlen. Genau genommen ge-
+hoert ein 'oeffne tuer' nicht dazu, und ein 'toete waechter' schon gar
+nicht! Diese Wegescripts sind die EINZIGE Ausnahme fuer das
+Scriptverbot!
+
+Um dieses Scriptverbot durchsetzen zu koennen haben wir uns dazu ent-
+schlossen, harte Strafen gegen Scripter zu verhaengen, zB Entfernen
+aller ZTs, Entfernen aller Gildenfaehigkeiten, EPs auf 0, etc.
+Dies gilt nur fuer das erste mal! Beim ZWEITEN mal wird der Charakter
+rigoros geloescht.
+
+Ich gebe zu diese Regelung ist SEHR hart, aber bisher hab ich mit
+meinen halbherzigen Verwarnungen wenig Erfolg gehabt, was zu diesem
+extremen Scriptverbot gefuehrt hat.
+
+Das beste Argument, das ich bisher gegen dieses Verbot gehoert habe
+ist, das es schlecht zu ueberpruefen sei. Ein Beispiel dafuer ist
+ein 'schau' am Ende eines Wegescripts. Es IST moeglich dieses schau
+waehrend das Wegescript laeuft per Hand einzugeben, trotzdem sieht
+es so aus, als ob es automatisch am Ende des Scripts ausgefuehrt
+wird. Dazu bliebe mir zB die Moeglichkeit laenger zuzusehen, und
+wenn ich mehrere Male ein 'toete waechter' am Ende eines Weges sehe,
+dann schoepfe ich erst mal schweren Verdacht, vom dem ihr mich dann
+abbringen duerft.
+
+Ich habe noch zwei Ergaenzungen:
+Zum einen gehoert zu diesem Scriptverbot ein Komplettloesungsverbot.
+Das heisst, das Erstellen fuer nicht eigene Zwecke und vor allem
+Weitergeben vom KL ist strengestens verboten. Sollte jemand dabei
+erwischt werden, KL zu verteilen ist ein sofortiges Loeschen des
+Charakters nicht auszuschliessen.
+Zum Anderen sind in letzter Zeit haeufig Scripts aufgetaucht, die
+ZTs suchen und finden. Sollte ich einen Spieler finden, der ein
+solches Script benutzt, werde ich diesen - und falls bekannt auch
+dessen Erstspieler - ohne zu Zoegern loeschen, und das ist mein
+_voller_ Ernst.
+
+Ich denke das waers fuers Erste. Ich stehe gerne zu Fragen,
+Anregungen und Kritiken zur Verfuegung, aber bitte versucht, wenn
+ihr etwas derartiges wollt, eine mail zu schreiben, ich werde dann
+wahrscheinlich oeffentlich in der Zeitung antworten. Bei zuvielen
+persoenlichen Anfragen komme ich wohl nicht mehr nach.
+
+Yours truly,
+        Catweazle (Sheriff)
+
+PS: Tut mir Leid, dass ich diesen Artikel erst jetzt veroeffent-
+    licht habe. Ich wollte ihn eigentlich schon gestern Abend
+    posten, als ich das Verbot ins Login geschrieben habe, hab es
+    aber aufgrund des oben stehenden Umfangs leider nicht mehr
+    geschafft. Dies hat wohl zu enormer Verwirrung gefuehrt,
+    wofuer ich mich entschuldigen moechte.
+
+-----------------------------------------------------------------------------
+
+
+
+Oetti for Spieler! (Catweazle, 14. Mai 1996, 20:03:04):
+Hi!
+ 
+Zu meinem grossen Bedauern muss ich folgendes bekanntgeben:
+
+Am letzten Freitag hat Sundance, ein Zweitspieler von Bombowski,
+in unflaetiger Weise die angetraute von Oetti mit Kosenamen
+(Schlampe, etc.) beglueckt. 
+Daraufhin hat Oetti in heroischer Weise den widerlichen und 
+frauenfeindlichen Bombowski-zweitie ruhiggestellt, indem er ihn
+kurzerhand per ZAP dem Tode uebergeben hat.
+Bombowski hat sich samt Zweitie daraufhin beleidigt und schmollend 
+selbstgeloescht.
+Wie jeder weiss, ist ein derartiger Eingriff ins Spielergeschehen,
+auch mit derart heren Absichten, nicht erlaubt. 
+Ich sehe mich daher leider gezwungen, Oetti fuer seine heldenhafte
+Tat bestrafen zu muessen. 
+Die Bestrafung aeussert sich in zwei Wochen Spielerdasein und 
+beginnt augenblicklich.
+Ich hoffe Oetti wird sich nach den zwei Wochen wieder reuig und 
+gelaeutert in die Magierschaft einreihen koennen *huestel*.
+
+Yours truly,
+     Catweazle
+
+PS: Never trust a Sheriff :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Oetti for Spieler! (Dancer, 14. Mai 1996, 20:07:41):
+~#! rn=Catweazle rt=832096984
+~#! tid=832096984
+Wie alle, die neben Oetti im Raum standen leicht feststellen konnten, war
+Oettis Handlung vollkommen berechtigt und eine logische Folge. Es war ja nicht
+ohne Warnung. 
+Man muss feststellen, dass hier dass Rechtssystem eindeutig versagt hat, eine
+Saeule, die unsere Gesellschaft stuetzen sollte, ist eine Fehlkonstruktion!
+Das Recht ist hier nicht GERECHT! Das Leben ist hart und grausam und unfair
+und ueberhaupt!
+Was ich nur sagen wollte: viel Spass als Spieler, Oetti ;-))
+
+Dancer - liebt Dich trotzdem...:)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Oetti for Spieler! (Morgoth, 15. Mai 1996, 07:16:49):
+~#! rn=Dancer rt=832097261
+~#! tid=832096984
+aehm
+wenn du deinen magiervetrag liest steht da drin dass du spieler nicht positiv
+oder negativ beeinflussen darfst. nun, zap ist m.E. eine sehr negative
+beeinflussung und NIE gerechtfertigt.
+morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Oetti for Spieler! (Schrumpfi, 15. Mai 1996, 08:53:56):
+~#! rn=Catweazle rt=832096984
+~#! tid=832096984
+Ich frag mich nur, wer sich da ins Spielergeschehen eingemischt hat.
+Kommst Du Dir nicht laecherlich vor, Cat?
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Oetti for Spieler! (Dancer, 15. Mai 1996, 11:50:55):
+~#! rn=Morgoth rt=832137409
+~#! tid=832096984
+Bist Du RL auch so verkrampft? ;-)
+
+Dancer - knuddelt Morgoth nochmal ganz doll, weil ich es alles mit Sicherheit
+nicht ernst nehme :-)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Oetti for Spieler! (Paracelsus, 15. Mai 1996, 12:03:07):
+~#! rn=Dancer rt=832153855
+~#! tid=832096984
+Irgendwie naehert sich das so langsam aber sicher (mal wieder) dem
+Punkt, wo dann irgendwer fordert, man sollet doch am besten alle
+Regeln abschaffen, es ist ja eh nur eine virtuelle Realitaet
+und wer damit nicht zurecht kommt sieht das einfach alles
+zu eng.
+
+Paracelsus [Aufregemodus: deaktiviert]
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Oetti for Spieler! (Mupfel, 15. Mai 1996, 16:37:13):
+~#! rn=Morgoth rt=832137409
+~#! tid=832096984
+Ein Magiertestie ist kein Spieler, in dessen 'Spielgeschehen' ein anderer
+Magier nicht eingreifen koennte... Zappen gehoert dazu... bei normalen
+Spielern ist das was anderes... aber wenn einer mit nem Testie muell macht und
+dazu die Anwesenden noch beleidigt, ist zapp (alternativ auch das jail) ein
+angemessenes Mittel IMHO. Ein Testie ist NIE als Spieler anzusehen... man muss
+immer den Magier 'dahinter' sehen... 
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Oetti for Spieler! (Durian, 16. Mai 1996, 12:37:48):
+~#! rn=Mupfel rt=832171033
+~#! tid=832096984
+Ganz kurze Frage, ohne den aktuellen Fall bewerten zu wollen ...
+
+Was ist eigentlich mit all den zaps die regelmaessig stattfinden 
+(stattfanden) um ungeliebte Playerkiller aus dem Weg zu raeumen?? Mir sind
+sind so um die 5 bis 10 Faelle bekannt. Es ist fuer die RM's ja auch einfach,
+welche herauszufinden, sie werden ihnen schliesslich mitgeteilt.
+
+Also, ich zappen von Playerkillern erlaubt? Nein, wieso sind dann nicht ein
+paar der RM's mal Spieler gewesen?
+
+Also wenn hart durchgreifen, dann doch bitte konsequent! Oder?
+
+- Durian
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Oetti for Spieler! (Mupfel, 17. Mai 1996, 18:45:27):
+~#! rn=Durian rt=832243068
+~#! tid=832096984
+Playerkiller zappen? 'at bla frieden'. fuer die 'bestrafung' ist ganz klar der
+sherrif da und nicht 'rambo' durian. 
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Laecherliche Zweikaempfe (Catweazle, 17. Mai 1996, 19:43:15):
+Tagchen!
+ 
+Sooo, jetzt hat sich das Geschreie vielleicht etwas gelegt. Naja,
+ist zumindest mein kleiner persoenlicher Eindruck.
+
+Nach einer Woche seit Tat, stundenlangen naechtlichen Belaberungen
+auf Kanaelen und einem Zeitungsthread, der sich mittlerweile ueber
+mindestens 3 Rubriken erstreckt, kann ich ja mal Resuemee ziehen.
+
+Tja, was ist der Ausgangspunkt. Magier A mag Magier B nicht und 
+Magier B laesst Magier A das mehr als deutlich spueren, woraufhin 
+Magier A versucht ihm moeglichst eine reinzuwuergen und Magier B
+volles Rohr zurueckgibt. 
+Was ergibt: Kleinkriege zwischen ganz genau 2 (ZWEI) Magiern, die
+meinen, sie muessten sich oeffentlich alle machen.
+
+Achso, um dem ganzen unverstaendlichen Krams mal zu beseitigen,
+Magier A ist Saikan und Magier B ist Oetti. Ich moechte jetzt aber 
+trotzdem darauf verzichten, die mir bekannte Vorgeschichte zu 
+erzaehlen.
+
+Ich finde es erschreckend, was fuer Kreise ein Antipatie zweier
+Spieler im MorgenGrauen mit sich bringen kann. Prinzipiell wuerde
+ich das Wort benutzen wollen, das mir am ehesten in diesem Thread 
+aufgefallen ist: laecherlich.
+
+Ich finde es eher laecherlich, wenn zwei meinen, sie muessten Ihren
+Streit auch noch in der Zeitung breit treten/treten lassen. Ich finde
+es gleichermassen laecherlich, wenn Leute meinen, sie muessten sich 
+fuer die eine oder andere Seite ins Zeug werfen, ohne den Streit auch
+nur Ansatzweise verstanden zu haben.
+
+Okok, Oetti hat nen Spieler gezappt, gut. Oder besser nicht gut, denn 
+das ist ein schwer verbotener Eingriff ins Spielergeschehen. Sieht man 
+dann allerdings, das der Spieler ein 'Zweitie' eines Magiers ist, 
+kommen mir da schon wieder Zweifel auf. Spieler oder nicht Spieler,
+das ist .. (viel zu literarisch :-).
+Laecherlich ist es dann Forderungen hoeren zu muessen, Oetti dafuer 
+_mindestens_ fuer 4 Wochen zu banishen.
+Laecherlich ist es ebenso Beitraege hoeren zu muessen wie 'Lass doch,
+das war doch nur Oetti'. Auch ein Oetti hat eben keine Narrenfrei-
+heiten im MG.
+Laecherlich ist es weiterhin, sich wegen eines Zapps mitsamt ange-
+paarten Magier zu loeschen.
+
+
+Was tun, also als Sheriff. 
+Die Forderung nach Bestrafung fuer Oetti war enorm, die Tat verboten, 
+aber wenn man die Begleitumstaende betrachtet eher verstaendlich und,
+und, zumindest aus meiner Sicht, 'verzeihlich'.
+Ich habe also zu einer (ausreichenden) Loesung gesucht.
+Tja, ich habe also Oetti zum Spieler gemacht, um den Strafforderern
+genuege zu tun, habe aber gleichzeitig nicht gerade unabsichtlich
+'vergessen' Oetti zu mbanishen, sodass er sich gleich wieder zum
+Magier machen konnte. Das Urteil war also eher milde und zugegebener-
+massen _laecherlich_, das allerdings auch mit einer gewissen
+Absicht.
+
+Tja, leider habe ich uebersehen, das sich halt doch jeder angepisst 
+fuehlen wuerde, die einen naemlich WEIL ich Oetti verknackt habe, die
+anderen, weil ich es so schlampig getan habe. (Ich benutze dieses Wort
+uebrigens recht haeufig bei Maennern, eine Frau als Schlampe zu bezei-
+chnen ist IMHO eine der fiesesten Beleidigungen, die es gibt). Ich
+finde die Heftigkeit, mit der manche dabei reagiert haben nicht nur
+schade, sondern deutlich fehl am Platz. Es ist oft nicht leicht, die
+richtige Entscheidung in einem Streitfall zu treffen, aber bei einem
+Urteil, das einem persoenlich nicht passt gleich (uebrigens oeffent-
+lich, dankeschoen) loszubollern, ist deutlich daneben...
+
+Hm, nun isses nicht mehr zu aendern. Oetti hat seine 'Strafe'
+bekommen und dabei belasse ich es. Ich finde die Tatsache allein, das 
+Bombowski sich geloescht hat, macht die Geschichte ausreichend, oehoem,
+laecherlich, um von einer _echten_ Bestrafung abzusehen.
+
+Was ich aus dieser Geschichte gelernt habe ist, das wohl ein viel zu
+luschiger Sheriff bin. Ich bin immer sehr langsam mit Bestrafungen,
+und tue es tatsaechlich wirklich richtig ungern. Leute zu bestrafen
+macht meist sehr, sehr wenig Spass, und daher versuche ich meist,
+die Spieler mit der Androhung von Bestrafung die Schranken zu setzen.
+Ihr werdet es vielleicht nicht verstehen, aber in fast allen Faellen
+reicht das auch voellig aus :-)
+
+Dumm war, das ich bei dieser Bestrafung wohl versucht habe, deutlich zu
+machen, das ich manchmal halt DOCH jemanden bestrafe. Oetti als Exempel
+zu benutzen war eher ein Fehler, zumindest bei dieser 'Art' der 
+'Bestrafung'.
+
+So, damit auch Ihr was lernt. Rumpfuschen an Spielern ist VERBOTEN!
+Stats, EPs, HP setzen, healen, snoopen, ZAPPEN sind verbotene Dinge,
+und Ihr habt als Magier da gefaelligst die Finger davon zu lassen!!!
+Da mittlerweile gerade bei Magiern ein kleines Gespraech offenbar nicht
+mehr weiterhilft, werde ich wohl in Zukunft tatsaechlich auf Bestrafungen
+bei Magiern zurueckgreifen muessen :(
+
+Ach uebrigens, mir in dem Thread vorzuwerfen, schlimmere 'Vergehen' 
+anstandslos durchgehen zu lassen, wenn ich diese erst seit 10 Minuten kenne,
+finde ich hochgradig unfair. Ich gestatte mir jetzt, darueber zu schmollen.
+
+Womit habe ich angefangen? Achja, Fehden zwischen zwei Spielern. Also 
+nochmals, wenn ihr Euch nicht moegt, oder hasst, oder wie auch immer, 
+schreibt Euren Mist nicht in die MPA, schreit es nicht ins MG hinaus und,
+was noch viel wichtiger ist, schleppt Eure MG-Altlasten nicht mit ins RL!
+DANN wirds naemlich richtig boesartig.
+
+So, hab ich jetzt den Faden verloren? Hab ich zuviel geschrieben?
+Muss ich Oetti loeschen? Oder Saikan?
+
+So, und jetzt werde ich die Zeitung aufraeumen, ich darf naemlich alles 
+loeschen, wenn ich will. Ich bin naemlich Sheriff, jawoll ...
+
+Yours truly,
+     Catweazle 
+
+-----------------------------------------------------------------------------
+
+
+
+Torfdueng (Rochus, 23. Mai 1996, 17:57:52):
+Habe Torfdueng wegen Playerkills vorlaeufig auf Spielerlevel gesetzt.
+Cat wird festlegen, wie lange er das bleibt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Laecherliche Zweikaempfe (Schrumpfi, 24. Mai 1996, 18:25:36):
+~#! rn=Catweazle rt=832354995
+~#! tid=832354995
+Jaja, Catty Du bist halt nur der Sheriff. Wie war das? Ich bin nichts, ich
+kann nichts, gebt mir einen Sheriffstern. Hoehoe aber dafuer kannst Du klasse
+Decken streichen ;-)
+Naja, loescht Catweazle! ;-)
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+UNT-Scripter (Catweazle, 12. Jun 1996, 21:49:29):
+Tach!
+
+So, ich habe wieder mal eine unledige Aufgabe zu erfuellen.
+WIe ich gestern auf dem Stammtisch gehoert habe, ist im Augenblick ein
+Untersuche-Script im Umlauf. Wargon hat bereits einige Nutzer dieses 
+Scripts verwarnt und zwar: Arty, Bottom, Crolla, Orktoeter, Phygos und
+Skywalker.
+Ich habe zwei weitere gefunden und zwar Sloane und Symbiont, die sich bitte
+hiermit verwarnt fuehlen sollen, bzw noch mal angesprochen werden.
+
+Wargon hat 'nur' verwarnt, aber das reicht mir nicht. 
+Ich bin zwar immer lieb und nett, aber ich moechte trotzdem eine Strafe 
+verhaengen. Die Wahl der Strafe ist in diesem Fall einfach, ich werde 
+sie dem Vergehen anpassen: Alle bisher von diesen Spielern gefundenen 
+Forscherpunkte werden geloescht.
+Yours truly,
+     Catweazle
+
+PS: Nochwas..wenn ich denjenigen finde, der dieses unt-script geschrieben
+    und dann auch noch verteilt hat, werde ich ohne zoegern sofort loeschen!!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: UNT-Scripter (Wargon, 13. Jun 1996, 13:48:57):
+~#! rn=Catweazle rt=834608969
+~#! tid=834608969
+  Hi!
+Als kleiner Anreiz fuer Scripter: Ab sofort werden erwischte Scripter von der
+Topliste ausgenommen. Das gilt auch schon bei Verwarnungen und auf Lebenszeit.
+  Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Wenn Ihr es denn so wollt.... (Catweazle, 14. Jun 1996, 13:47:44):
+Hi!
+
+Ok, ich habe vor zwei Tagen diesen artikel geschrieben, da ich gehofft
+habe, dass die unt-Scripterei aufhoert. Dem ist leider nicht so :(
+
+Erst moch nen kleines Vorwort, es hat sich gezeigt, das symbiont und 
+phygos nicht wie von mir und wargon verdaechtigt, gescriptet haben, 
+aehnliches gilt u.U. fuer bottom und sloane. Diese sind somit ent-
+lastet.
+
+Ich hab aber trotzdem verstanden, das ein bisschen FP-Zuruecksetzen 
+nicht reicht. Ich habe weitere 4 Leute im Verdacht, die NACH meinem
+Artikel gescriptet haben. Sollte es sich bewahrheiten, das ich recht habe,
+so werde ich das strafmass verschaerfen. Zu dem bisherigen FP auf 0,
+folgt ein EP auf 0 und gildenstats auf 5%.
+Klingt hart, gell?
+Isses auch, geht aber wohl nicht anders!!! :(
+
+Ich denke ich bin nicht der einzige der sich mit der Hand an den Kopp 
+gepackt hat, als ich lesen musste, das einige superkluge Seher meinten,
+sie muessten das wunderschoene script dahingehend austesten, wann denn 
+das script gefaehrlich wird. Kinners Script ist Script, ob Ihr das nur 
+nur ausprobiert oder ernsthaft benutzt. Ihr seid auch in dem log aufgetaucht,
+und ich seid damit genauso scripter wie alle anderen auch. 'Ich wollte das 
+nur mal testen' ist keine entschuldigung!!! Vor allem nicht, da ihr das 
+mit 'austesten' wieder soweit bringt, das ihr Eure scripts optimieren 
+koennt :((
+
+Also> HOERT AUF MIT DIESEM SCRIPTMIST!!!
+Jeder der ab jetzt wieder in dem log auftaucht und bestaetigt gescriptet
+hat, kriegt von mir diese nicht kleine strafe aufgebrummt!
+
+Yours truly,
+      Catweazle (Sheriffclown)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wenn Ihr es denn so wollt.... (Schrumpfi, 15. Jun 1996, 04:14:00):
+~#! rn=Catweazle rt=834752864
+~#! tid=834752864
+Cat, Dich wird nie einer ernstnehmen, wenn Du die Charaktere nicht loescht, so
+wie beim einloggen angedroht. Ich finde die Strafe die Du da androhst
+eigentlich nicht wirklich hart. Erst wenn Du wirklich einen geloescht hast,
+dann werden sich die Leute das auch ueberlegen ob die es nochmal riskieren
+wollen. Aber bitte  erst ueberpruefen ob sie auch wirklich gescriptet haben.
+Ich will Dir da nicht drein reden in Deinem Job aber ich wuerd auch keinen
+ernst nehmen, der mir wasweissichwas androht und es dann nicht tut.
+S.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wenn Ihr es denn so wollt.... (Ketos, 24. Jun 1996, 00:31:17):
+~#! rn=Schrumpfi rt=834804840
+~#! tid=834752864
+Bevor man den Charakter loescht koennte man ihn auch einen Monat
+zwangsbeurlauben.
+- Ketos -
+
+-----------------------------------------------------------------------------
+
+
+
+Oetti geloescht (Rumata,  3. Sep 1996, 13:51:36):
+Da Oetti sich gestern (mehr oder weniger gewaltsam) sich des Terminals von
+Guybrush bemaechtigt hat, um einen Spieler zu zappen, haben Kirk, Hate,
+Wargon, Catweazle und ich uns entschlossen, seinen Charakter ganz zu loeschen.
+Das mag vielleicht hart klingen, aber da er genau deshalb Magierpause hatte,
+sehen wir seiner Unverbesserlichkeit als erweisen an.
+Guybrush ist wegen wegen fahrlaessiger Unterstuetzung bis ente der Woche
+gespielert. (Spilern helfen darf er natuerlich trotzdem nicht :-)
+
+Schade, dass es dazu kommen musste.
+Rumata
+
+-----------------------------------------------------------------------------
+
+
+
+Guybrush vermagiert (Catweazle,  3. Sep 1996, 19:07:33):
+Hi!
+
+Im juengsten Verfahren gegen Ex-Magier Oetti und seinen Nebenangeklagten
+Guybrush ist es bedauerlicherweise zu einem schweren Verfahrensfehler
+gekommen, aus dem ich mich gezwungen sehe, die Verspielerung des Magiers
+Guybrush fuer ungueltig zu erklaeren.
+
+Yours truly,
+     Catweazle
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Oetti geloescht (Li,  4. Sep 1996, 09:41:51):
+~#! rn=Rumata rt=841751496
+~#! tid=841751496
+> Schade, dass es dazu kommen musste.
+
+Das glaube ich Euch nicht! Ihr seid doch froh, dass ihr Oetti endlich
+loswerdet. Und was heisst schon Unverbesserlichkeit? Wir wissen doch alle um
+Oetti und wie er ist. Und Oetti ist (sorry war!) eine Bereicherung fuers MG.
+Natuerlich hat er Magierregeln gebrochen, aber mein Gott habt ihr nichts
+anderes drauf, als autoritaer und langweilig einfach sein save-file zu
+loeschen? Seid ihr so unflexibel, langweilig oder einfallslos?
+Sag mal, rumata, bist Du zufaellig bei der Polizei angestellt? Wenn ich mir
+Deinen Artikel so ansehe...
+>wegen fahrlaessiger Unterstuetzung
+Meine Guete, das klingt ja wie ein Polizeibericht.
+Naja, jetzt ist das Mg wieder brav und bieder. Friede, Freude, Eierkuchen.
+Alle Goetter und EMs sind zufrieden es herrscht ruhe, wieder ein aufmuepfuger
+Charakter eliminiert! Prima!
+Ich gratuliere Euch!
+Li (Und jetzt kommt mir nicht wieder mit dem Argument, wer wiederholt
+Magierregeln bricht, muss  geloescht werden, sonst endet das MUD im Chaos. Das
+glaube ich Innenminister Kanther nicht, und das glaube ich Euch auch nicht)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Oetti geloescht (Hate,  4. Sep 1996, 10:52:55):
+~#! rn=Li rt=841822911
+~#! tid=841751496
+Wenn ich mir den letzten Artikel so ansehe frage ich mich, ob Li ueberhaupt
+mitbekommen hat, was hier in letzter Zeit so gelaufen ist.
+Vielleicht waere es angebracht, sich mal damit zu beschaeftigen, WARUM
+Oetti mehrfach zum Spielerdasein verdammt wurde. 
+Es kann nicht angehen, dass Personen, die sich einen Scheissdreck um andere
+kuemmern auch noch hoch gelobt werden. Oettis Verhalten kann ich in keinem
+Fall akzeptabel. Abgesehen davon, dass er mehrfach gegen die Magierregeln
+verstossen hat, hat er dabei auch noch anderen geschadet. Und hier ist es
+absolut egal, ob diese anderen Personen im Nachhinein ihre Punkte, Sachen
+etc wiederbekommen haben.
+Wenn soetwas einmal passiert, ist das noch einzusehen, man kann mal ein
+Problem haben und ausflippen, aber wenn jemand solche Aktionen mehrfach und
+eindeutig mit ABSICHT macht, dann ist das durchaus ein Grund denjenigen
+loszuwerden, und das ohne Abstriche. Wenn Oetti sich nicht genug im Griff
+hat, soll er gefaelligst das mudden sein lassen oder eine Runde DOOM spielen,
+wo es keinen stoert.
+Also bitte nicht nochmehr solche daemlichen Nachrufe und Artikel wie der
+von Li. Beschaeftigt Euch mit dem PROBLEM *und* mit dem System, dass wir hier
+haben und es ist eben NICHT EGAL, ob jemand gezappt wird oder schikaniert.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Oetti geloescht (Li,  4. Sep 1996, 11:14:37):
+~#! rn=Hate rt=841827175
+~#! tid=841751496
+Tja Hate, vielen Dank fuer Deine nette Antwort
+Li (vergleicht die Mg-Regierung immer mehr mit der Bundesregierung)
+P.S. auch wenn Du tausendmal Erzmagier bist, solltest du anderen Leuten
+gegenueber ein gewisses Mass an Selbsteinschaetzung zutrauen und sie nicht
+einfahc als daemlich abqualifizieren, nur weil sie nicht Deiner Meinung sind.
+Einen gewissen Ton sollten auch Erzmagier einhalten, und Du solltest dich
+nicht wundern Hate, warum Du als selbstherrlich bei sehr vielen
+Spielern/Magiern gilst.
+P.P.S. Ich hab nie gesagt, Oetti muesse nicht bestraft werden, ach was solls,
+Du kapierst ja sowieso nicht, um was es mir geht (aber vielleicht andere EMs?)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Oetti geloescht (Hate,  4. Sep 1996, 11:19:48):
+~#! rn=Li rt=841828477
+~#! tid=841751496
+Lies Dir bitte Deinen eigenen Artikel mal durch.
+Du bist Der Meinung, wir waeren gluecklich mal jemanden Loeschen zu koennen.
+Es wuerde nie soweit kommen, haetten sich einige hier etwas besser im Griff.
+Und jemanden, der wissentlich mit einer Magiershell umgeht um anderen zu 
+schaden gilt bei mir schon lange nicht mehr als "aufmuepfig". Dieser Ausdrueck
+verharmlost die ganze Sachlage ja wohl. Vielleicht solltest Du Dir darueber
+mal Gedanken machen? Aehnliche Tendenzen sehe ich auch in Artikeln anderer
+Leute, die versuchen Oetti als den Lieben Menschen darzustellen, der er
+nie gewesen ist. Es gibt Spaesse und es gibt unverantwortliches Verhalten.
+Der Grund zur Loeschung gehoert zu letzterem.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Oetti geloescht (Wurzel,  4. Sep 1996, 11:55:34):
+~#! rn=Hate rt=841828788
+~#! tid=841751496
+ich hab mich bis jetzt ja rausgehalten, aber allmaehlich geht mir die
+diskussion doch auf den geist.
+fakt ist, dass ein spieler gezappt worden ist, und das ist klar gegen die 
+magierregeln. wie man damit umgeht, ist ein ganz anderes ding.
+nach meinem geschmack waere es am sinnvollsten, den quatsch auszubauen.
+ich kann mir keine situation vorstellen, wo ein magier einen spieler zappen
+MUSS, also sollte die moeglichkeit dazu entfernt werden.
+es kann wohl nicht verhindert werden, dass leute magier werden, die mit dem
+eigentlichen aufgabengebiet eines magiers nichts am hut haben. aber man kann
+es ihnen schwerer machen, unsinn zu veranstalten. einen magier zu bremsen,
+der sich gut auskennt, ist wohl nicht so einfach, aber die problemfaelle
+zeigen doch im regelfall nicht unbedingt die fundierte lpc-kenntnis... wenn
+also ein nasenbaer-magier meint, die shell nur zum goto und unbegrenzten
+shout haben zu wollen, lasst ihn doch. aber macht es schwerer, damit unfug
+zu machen.
+eine einfache loeschung von oetti loest doch das problem ueberhaupt nicht,
+der naechste kommt bestimmt. wer vorsorge treffen kann und es trotzdem nicht
+tut, den trifft eindeutig eine mitschuld.
+
+wurzel (kopfschuettelnd)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Oetti geloescht (Li,  4. Sep 1996, 13:28:25):
+~#! rn=Wurzel rt=841830934
+~#! tid=841751496
+vielen Dank wurzel, dass Du das auf den Punkt bringst, was ich versucht habe
+auszudruecken!
+Li (hier fehlt kein Ironie Off, das ist ernst gemeint!)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Oetti geloescht (Schrumpfi,  5. Sep 1996, 21:19:45):
+~#! rn=Li rt=841828477
+~#! tid=841751496
+Und wie bitte soll er bestraft werden? Er IST ja schon bestraft worden und hat
+Spielpause -1 (aeh hatte). Ne ne Li, ich haette zwar nie gedacht das ich das
+jemals schreibe aber ich muss den Erzies in diesem Punkt voll und ganz
+zustimmen.
+Catweazle tut mir echt schon leid, loescht er die Spieler/Magier nicht, die
+sich nicht an die Regeln halten, is er ein Weichei, loescht er sie doch, is er
+ein machtgeiler Erzmagier. Was zum Donner soll er denn machen?? Naja und von
+wegen Ton einhalten ect, werden die Erzies ja auch nicht grade mit
+Glaseehandschuhen angefasst. 
+Schrumpfi diesmal eindeutig auf der Seite von 'denen da oben'
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Oetti geloescht (Li,  6. Sep 1996, 09:08:24):
+~#! rn=Schrumpfi rt=841951185
+~#! tid=841751496
+Sorry, Schrumpfi, dass du jetzt den EMs Recht geben musst. .-)
+Aber mal im Ernst: Ich glaube immer noch, dass es andere Moeglichkeiten geben
+muss, ausser Spieler loeschen. Natuerlich blieb den EMs nichts anderes Uebrig,
+darueber hab ich mich auch nie beschwert!
+Was mich betrifft, so muss ich zugeben, dass ich an diesem morgen ziemlich
+schlechte Laune hatte und meinen Aerger hauptsaechlich an Hate ausgelassen
+habe.
+Moechte mich hiermit dafuer bei Hate entschuldigen. (Jetzt sagt nicht, warum
+keine mail, wer oeffentlich rumbloekt, sollte sich auch oeffentlich
+entschuldigen).
+Ich moechte hiermit die Angelegenheit mal zum Abschluss bringen. vielleicht
+sollte man sich ernsthaft mal ueberlegen, zap abzuschaffen. Natuerlich gibt es
+ne Menge moeglichkeiten, spieler vom Leben in den tod zu befoerden, aber wie
+waere es, wenn zap, trans, HP Veraenderungen bei Spieler nur ab einem gewissen
+Grad erlaubt sind? Ok, dann wird es schwieriger, dass jeder Magier einem
+Spieler helfen kann, aber so haefig sind die (erlaubten) Situationen auch
+nicht, in denen ein Spieler getranst werden muss.
+Natuerlich gibt es noch ne Menge Moeglichkeiten, aber wenn Magier erstma nen
+bischen LPC anwenden muessen, um einen Spieler zu toeten, verzichten
+zumindestens einige drauf, weil es ihnen zu umstaendlich wird.
+bis denne,
+li
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Oetti geloescht (Schrumpfi,  6. Sep 1996, 15:30:56):
+~#! rn=Li rt=841993704
+~#! tid=841751496
+Jau! Ich bin sowieso schon lange dafuer, dass manche Befehle erst ab einem
+bestimmten Level moeglich sind. Ob das jetzt Level 26 oder 45 ist, ist mir
+dann egal. Oder ab Level 26 kriegt man diesen und jenen Befehl dazu und ab
+Level 45 (oder 30 oder was weiss ich) kriegt man alle Befehle. Ist ganz
+einfach zu machen denk ich mal, so wird das in fast jedem englisch-sprachigem
+Mud gemacht. 
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+WWW-Seiten... (Catweazle,  9. Sep 1996, 18:35:00):
+Guggug!
+
+Bei meiner juengsten Durchsicht aktueller WWW-Seiten habe ich die Seite 
+http://ernie.orch.ruhr-uni-bochum.de/cgi-bin/mg/save_oetti 
+gefunden.
+
+Da auf dieser Seite propagandistisches Material ueber Unpersonen des MGs
+gelagert werden, gebe ich hiermit bekannt, das das Aufrufen dieser Seite
+von Seiten der MG-Polizei schwer geahndet werden wird. 
+Sollte mir trotzdem bekannt werden, das MorgenGraeuler diese Seite benutzen
+muss mit Hoechststrafen gerechnet werden.
+
+Yours truly,
+     Catweazle ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Abstufung (Catweazle, 14. Okt 1996, 20:11:24):
+Hi!
+
+In gegenseitigem Einvernehmen sind wir soeben uebereingekommen Vrai
+von Level 55 abzustufen. Die Abstufung erfolgte aufgrund von nicht fuer
+die Oeffentlichkeit wichtigen Belangen und mit Vrais Einverstaendnis.
+
+Yours truly,
+     Catweazle
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abstufung (Catweazle, 14. Okt 1996, 20:13:05):
+~#! rn=Catweazle rt=845316684
+~#! tid=845316684
+
+Suelzgewaesch ....
+Ich bin ein diplomatisches Arschloch ;-)
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+PK in Abwesenheit (Catweazle, 11. Nov 1996, 21:20:52):
+Hi!
+
+Ok, hier eine kleine Info zur PK-Politik.
+Mir ist es in den letzten Monaten haeufig untergekommen, das begangene PKs 
+und Scripten vom Spieler mit dem 'Diebstahl' des Accounts begruendet 
+wurden, genauer: 'angeblich' wurde der Charakter von jemand anderem, meist
+unbekanntem benutzt. 
+Ich gebe zu, das ich bei diesen Faellen nicht sehr konsequent in der
+Beurteilung war, manchmal hab ich den Spieler verknackt, manchmal nicht.
+Das moechte ich jetzt aendern und darum schreibe ich diesen Artikel.
+Zukuenftig werden ich mit jedem, der mit der 'Entschuldigung' kommt, 'das war
+ich nicht, jemand hat mein passwort geklaut', genauso verfahren, wie mit jedem
+anderen Taeter auch. Geklaute Passwoerter sind keine Entschuldigung fuer das
+Verhalten des Charakters, mit anderen Worten, jeder Besitzer eines Charakters
+ist fuer diesen VOLL selbst verantwortlich, insbesondere fuer die Sicherheit
+des Passwortes. 
+
+Ich hoffe dies spornt mal ein bisschen dazu an, sich ein sicheres Passwort zu
+ueberlegen, ich moechte daran erinnern, das erst kuerzlich ueber 3700 
+Passwoerter von einem _Standard_-Crackprogramm herausgefunden wurden.
+
+Yours truly,
+     Catweazle
+
+-----------------------------------------------------------------------------
+
+
+
+Auf Wunsch von Grimmborn (Silvana,  4. Feb 1997, 20:07:52):
+
+Wer sich dafuer interessiert, was so alles nach dem neuen Telekommunika-
+tionsgesetz moeglich ist, sollte sich unbedingt folgendes ansehen:
+
+http://www.iks-jena.de/mitarb/lutz/security/90tkg.interface-draft.html
+
+Ist richtig erschreckend und unheimlich, was da so moeglich ist. :-(
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+PK Andres (Highlander,  5. Feb 1997, 17:08:16):
+So, nachdem ich mit Andres und Johnsilver geredet habe, entscheide ich mich
+fuer folgende Regelung: Andres behaelt seinen PK bis zum 06.02., das
+sind zwei Wochen statt der ueblichen vier.
+Das ist nicht Standard, darauf moechte ich potentielle PKler hinweisen.
+Warum? Wum, das Opfer, ist ein Mehrspielercharakter. Nachgewiesenerweise.
+Daher kann ich sowieso nicht davon ausgehen, dass eine Antwort des Spielers
+von dem ist, der am Druecker war. Der Spieler, der bei dem PK hinter Wum
+stand, kommt laut Johnsilver auch erst in ein paar Wochen wieder.
+Die zwei Wochen Frist habe ich aus folgenden Gruenden gewaehlt:
+- Andres plaediert auf einen versehentlichen PK
+- Johnsilver bestaetigt, dass Wum an dem Tag wohl ziemlich auf Aerger aus
+  war und auch den PK in Kauf genommen hat, nachdem er angegriffen war
+- ich kann sowieso eine Aussage Wums nicht ernst nehmen, weil ich nicht
+  weiss, von wem sie kommt.
+- Andererseits will ich den PK nicht einfach so durchgehen lassen -
+  immerhin starb ein Seher dabei
+  Nein. Das heisst nicht, dass ein Seher mehr wert ist als nur einfach
+  ein Spieler. Auch ein PK an einem normalen Spieler gibt Aerger.
+  Ich will's aber in Anbetracht der Situation nicht uebertreiben. Nachdem
+  die zwei Wochen Frist morgen bereits um sind, habe ich mich fuer diesen
+  Zeitraum entschieden. Dieser PK wird nicht weiter angerechnet werden.
+
+  Highlander, Hilfssheriff
+
+-----------------------------------------------------------------------------
+
+
+
+PKs Oetti/Sidolin (Highlander,  7. Feb 1997, 13:24:10):
+Gestern haben sich Oetti und Sidolin gegenseitig umgebracht. Und das,
+obwohl ich sie wiederholt unterbrochen habe (Frieden gestiftet) und ihnen
+gesagt habe, dass sie das lassen sollen.
+Wegen dieser offensichtlichen Missachtung des Verbots, Spieler zu toeten,
+erhalten beide 10 Wochen lang zwei PKs. Das heisst, keine EP, keine StuPs
+usw. Nicht dass ich glaube, dass das die beiden juckt, aber darum geht's
+nicht. Was sie aber eventuell juckt, ist, dass das gleichzeitig die letzte
+Warnung ist. Beim naechsten PK, fuer den sie nicht eine _gute_ Erklaerung
+haben, wird der jeweilige Charakter geloescht und gebanisht. Dauerhaft.
+Dass euch *schiel oetti und sidolin* das vielleicht nicht weiter juckt,
+ist kein Grund, die Konsequenzen nicht folgen zu lassen.
+
+Highlander ryn Tahar, Hilfssheriff
+
+-----------------------------------------------------------------------------
+
+
+
+Re: PKs Oetti/Sidolin (Catweazle,  7. Feb 1997, 19:54:26):
+~#! rn=Highlander rt=855318250 rg=polizei.bekanntmachungen
+~#! tid=855318250
+
+Also er macht das ja ganz souveraen, dieser Hilfssheriff :)
+
+YTC *an Federn zupf*
+
+-----------------------------------------------------------------------------
+
+
+
+Scripten / idlen (Highlander, 17. Mar 1997, 18:54:49):
+Aus gegebenem Anlass moechte ich mal folgendes vorlaeufig so
+klarstellen: Mit einem Monster kaempfen, das man nicht
+toeten kann und laengere Zeit idle sein ist vielleicht
+kein scripten - aber unerwuenscht. So unerwuensct, dass man sich nicht
+wundern sollte, wenn das Monster nach Warnung auf einmal eine wesentlich
+hoehere Schlagkraft hat...
+Das Monster sollte danach wieder normalisiert werden, sonst gibt's Aerger,
+wenn ein Unbeteiligter dabei draufgeht. Also daneben stehenbleiben waehrend
+der Aktion, meine Damen und Herren Magier. Und am besten eh jemand mit
+hoeherem Magierlevel drauf hinweisen. So ab RM aufwaerts.
+   Gruss,
+
+     HrT
+
+-----------------------------------------------------------------------------
+
+
+
+PK Holden (Highlander, 19. Mar 1997, 13:49:30):
+Holden: PK bis 19.3. + 8 Wochen.
+  HrT
+PS: Falls es, was ich hoffe, der erste war.
+
+-----------------------------------------------------------------------------
+
+
+
+Mariacron geloescht (Wargon, 21. Mar 1997, 11:36:03):
+Wegen Unbelehrbarkeit wurde Mariacron nach ihrem 3. PK geloescht.
+  Wargon, heute mal als Vollstrecker aktiv.
+
+-----------------------------------------------------------------------------
+
+
+
+Mir reichts! (Wargon, 14. Apr 1997, 13:52:58):
+  Hi!
+
+Wie es scheint, ist es mittlerweile gang und gaebe, dass Spieler von
+Magiern ohne groessere Probleme genaue Zahlenwerte von Stats oder anderen
+Properties von NPCs bekommen, oder auch Einblicke in den Quellcode von
+wichtigen Programmabschnitten odre ganzen Regionen bekommen.
+
+Ausserdem scheint das "Verleihen" von Magiern an Spielern in die Mode zu
+kommen.
+
+Dass dies hochgradig verboten ist, weiss jeder Magier (es steht naemlich
+so im Magiervertrag), und auch jeder Nichtmagier sollte sich das wohl
+denken koennen. Schliesslich sind Quests/Monster/aehnliches normalerweise
+so programmiert, dass die Spieler durch Knobelei oder erarbeiten einer
+geeigneten Taktik an das Problem herangehen sollen. Durch Einblicke
+hinter die Kulissen wird dies unterlaufen, und der Programmierer haette
+sich die Arbeit im Endeffekt sparen koennen.
+
+Problematisch wird es nun bei der Frage "Was tun?"
+Um die Taeter bestrafen zu koennen, muss man sie natuerlich erst mal
+erwischen. Jetzt jeden Magier unter Beobachtung zu stellen ist natuerlich
+utopisch und auch nicht Sinn der Sache.
+Was man allerdings machen kann: man kann seinen Protest gegen diese
+Entwicklung erklaeren. Da andererseits aber gutes Zureden meistens nicht
+hilft, habe ich mich zu folgenden Protestaktionen entschlossen:
+
+* Das Abenteuer 'Frieden fuer Tarko Reub' entfaellt. Man kann der Stadt
+  natuerlich weiterhin helfen, es gibt nur keine AP mehr (und keine
+  Questbelohnung).
+  Ob es irgendwann noch eine anderweitige Belohnung fuer die Erfuellung
+  der Aufgabe geben wird, weiss ich noch nicht; momentan jedenfalls nicht.
+
+* Der 'entgifte'-Spruch entfaellt, soweit man ihn als Belohnung des
+  Abenteuers 'Frieden fuer Tarko Reub' gelernt hat. Die entsprechende
+  Klerikeranrufung bleibt natuerlich bestehen.
+  Vielleicht wird das Spiel dadurch fuer einige ja wieder interessanter...
+
+* Die Seherhaeuser werden fuer drei Wochen deaktiviert. Dazu stehen noch
+  ein paar Takte in seher.entwicklung.
+  Die Deaktivierung erfolgt uebermorgen (16.04.97).
+
+* Ich will keine Magierzweities mehr in den Erleuchteten- und Hohepriester-
+  raengen des Heiligen Ordens haben.
+
+Bis auf die Seherhaeuserdeaktivierung sind alle Aktionen unbefristet.
+
+  Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Mir reichts! Nachschlag... (Wargon, 15. Apr 1997, 13:42:53):
+  Hi!
+
+Hier noch mal ein paar (klaerende?) Worte zu der gestern gestarteten Aktion:
+
+- Was sind die Ursachen?
+Dass in einem Spiel auch geschummelt wird, ist klar. Dass die Schummelei  von
+den Leuten, die sich um einen angenehmen Spielablauf  bemuehen	(sprich:  von
+Magiern, die aktiv programmieren, und von den  Erzmagiern  als	"Verwaltung")
+nicht gern gesehen wird, ist auch klar.
+Ganz und gar nicht klar ist das Ausmass, welches die  Schummelaktionen	mitt-
+lerweile angenommen haben.
+In der Erzmagierpost haeuften sich in  letzter	Zeit  die  Beschwerden	ueber
+Verstoesse gegen "geltendes Recht" (den Magiervertrag).  Neben  dem  Verraten
+exakter NPC-Werte wie z.B. deren LPs oder  der	Angriffsstaerke  wurden  auch
+fleissig Magier  an  Spieler  ausgeliehen,  die  Stats	oder  Skillwerte  von
+Spielern hochgesetzt, und Files der MudLib (wie z.B. Spellbooks)  an  Spieler
+weitergegeben.
+Der ominoese "Dortmunder Stammtisch" trug insofern dazu bei, als dass  einige
+Spieler dort den Eindruck erweckten, dass helfende Magier fuer sie  schon  zu
+einer selbstverstaendlichen Groesse im Spielgeschehen geworden sind.
+Durch diese Art von Schummelei wird natuerlich die Arbeit  der	Programmierer
+zunichte gemacht, die sich Muehe geben, Knobelei  und  Taktik  in  spielbarer
+Form zu implementieren. Belohnungen jedweder Art (seien  es  nun  Questbeloh-
+nungen oder die Vorzuege des Sehertums) verlieren ihren Sinn, wenn sie	jeder
+durch passende Schummelaktionen erhalten kann.
+Alles in allem jedenfalls kamen wir Erzies zu dem Schluss, dass es  so	jetzt
+nicht mehr weitergehen kann...
+
+- Wieso gerade *solche* Aktionen?
+Es gab prinzipiell mehrere Moeglichkeiten, auf die oben geschilderte Entwick-
+lung zu reagieren.
+Ein rein verbaler Protest durch einen Artikel in der MPA  o.ae.  haette  kaum
+eine Wirkung gehabt. Die einzigen Reaktionen waeren von  den  professionellen
+"Alles Scheisse"-Schreiern gekommen (die ja auch jetzt mit ihren wenig  kons-
+truktiven Beitraegen als erste reagierten), der Rest haette entweder mit  den
+Schultern gezuckt oder nur milde gelaechelt.
+Ein anderer Vorschlag war, das MUD aus Protest fuer zwei Wochen abzuschalten.
+Damit waere zwar jeder auf das Problem aufmerksam geworden, allerdings	gaebe
+es dann keine Moeglichkeit, die Sache MG-intern zu diskutieren.
+Also mussten andere Alternativen gesucht werden.
+Wie oben erwaehnt, wird durch die Schummelei die Arbeit der Magier ignoriert.
+Somit lag es nah, dass die Magier selbst einmal  zeigen,  wie  es  ohne  ihre
+Arbeit aussieht. Das Ergebnis habt ihr zur Zeit vor Augen.
+Ausserdem sieht man, dass die Aktion ein ziemlicher Erfolg war,  schliesslich
+wird jetzt aller Orten diskutiert. :)
+
+- Aber trifft das nicht die Falschen?
+Die Verstoesse selbst kommen natuerlich aus den Magierkreisen. Allerdings ist
+das Ganze immer eine Sache von Angebot und Nachfrage; ich glaube nicht,  dass
+ein Magier einem Spieler einfach so hoehere Stats aufdraengt, ohne  dass  der
+Spieler ihn danach gefragt hat.
+Die Aktionen haben vor allem den Sinn, euch zu zeigen, wie es  hier  aussehen
+wird, wenn es einfach so wie bisher weitergeht. Das sollten  natuerlich  auch
+alle am eigenen Leibe erfahren koennen.
+Das soll nicht heissen, dass in Magierkreisen nichts geschieht. Die bisherige
+lasche Handhabung solcher Faelle wird jedenfalls der  Vergangenheit  angehoe-
+ren; ausserdem laufen Diskussionen, ob wirklich jeder Depp zum Magier  werden
+kann, wenn er nur einen verantwortungslosen Sponsor findet, oder  ob  frische
+Magier wirklich sofort ueberall Leserechte erhalten sollen.
+
+Ich hoffe, dass jetzt etwas mehr Klarheit in die Sache gekommen ist,
+  Wargon
+
+
+-----------------------------------------------------------------------------
+
+
+
+Beobachter / Oetti (Highlander, 15. Apr 1997, 14:19:43):
+Beobachter wurde heute geloescht. Abgesehen davon, dass er
+einer der Gruende fuer die Wargonsche Aktion war, hat er heute mit
+Ankuendigung einen Spieler getoetet und damit auf groebste gegen den
+Vertrag verstossen.
+Da Oetti ein Testspieler Beobachters war, wurde er ebenfalls geloescht.
+Kein Magier - kein Testspieler.
+
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Bombadil geloescht (Boing, 21. Apr 1997, 15:51:00):
+Aufgrund massiver Spielerhilfe (Gildenskills setzen, Objekte clonen,
+Questhilfe, transen zu ZT-Fundorten ...) wurde Bombadil und die betroffenen
+Charaktere Luna, Star und Angst geloescht. 
+Bombadil hatte die Moeglichkeit zur Stellungnahme, welche er auch genutzt
+hat.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Gando (Silvana, 20. Mai 1997, 21:56:48):
+Noch ein Abschied.
+Gando hat sich bei fortgesetztem, schwerem Verstoss gegen die 
+Magierregeln erwischen lassen als da waeren: Spieler transen, Geld
+clonen, Heilstellen reseten und Spieler dahin transen ... Auf die
+moeglichen Konsequenzen angesprochen hat er sich fuer den ehrenvollen
+Weg der Selbstloeschung entschieden.
+
+  Silvana - heute mal mit fernwestlicher Mentalitaet.
+
+-----------------------------------------------------------------------------
+
+
+
+Lofoten, Elfendorf u.ae. (Highlander,  2. Jun 1997, 13:42:53):
+Zur Klarstellung: Ich habe vorhin ueber 10 Charaktere
+mit Namen wie Elfendorf, Lofoten etc. sowie ein paar NPC-Namen geloescht
+und gebanished. Sowas werde ich auch in Zukunft machen, wenn ich Namen
+sehe, die Gegenden oder NPCs des MorgenGrauens gehoeren.
+Dabei ist Anakyns Postreiter auch draufgegangen. Tja, wenn Du den auch
+in so einem Moment einloggst und rumrufst...
+Wenn mir einer sagt, wie man files vom Backup holt, kriegst Du ihn von mir
+aus sogar wieder. Aber nur dieses eine Mal, an sich sollte er geloescht
+bleiben bei dem Namen. Nur aus Traditionsgruenden...
+HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Wer Passwoerter klaut... (Highlander,  4. Jul 1997, 15:28:47):
+... muss damit rechnen, geloescht zu werden.
+Im aktuellen Fall hat es Janice sowie die Zweities
+Rosa Susi Vera Yasmin Majestix Amazonia Ravon Adular
+erwischt. Janice hat ein ausgespaehtes Magierpasswort dazu benutzt,
+files via ftp zu holen. Verhalten dieser Art koennen und werden wir
+nicht dulden.
+
+  Highlander ryn Tahar
+
+-----------------------------------------------------------------------------
+
+
+
+Passwortweitergabe (Highlander, 31. Jul 1997, 13:07:32):
+Ich moechte fuer den Fall, dass so ein Fall nochmal auftritt, auf eines
+hinweisen: Wer sein Passwort weitergibt, hat Pech, wenn derjenige, der das
+Passwort bekannterweise hat, Mist baut und eine Strafe bekommt.
+Diese Strafe trifft alle Zweitcharaktere des Uebeltaeters,
+_und dazu gehoert dann auch der Char mit dem weitergegebenen Passwort._
+Merke: Das Passwort ist geheimzuhalten.
+
+    Highlander ryn Tahar
+
+-----------------------------------------------------------------------------
+
+
+
+Another one bites the dust... (Highlander, 20. Aug 1997, 14:46:11):
+Tja, und wieder einmal musste jemand ausnutzen, was er nicht durfte.
+Ohne weitere Details: Diesmal hat es Kemp erwischt, der sich auch
+ehrenhaft selber in das Schwert stuerzte, bevor er sich als wer
+weiss ich nicht reinkarnierte.
+    HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Zyr -> /dev/null (Highlander, 29. Okt 1997, 12:53:38):
+Ein Test/Zweitspieler, der Spieler toetet, ist unerwuenschst. Ex und hopp.
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Oho, Ohoo. (Highlander,  4. Nov 1997, 10:49:58):
+Das war ein Trigger zuviel, Ohoo. Nach der bereits erfolgten Verwarnung
+hast Du Dich hiermit in weniger als Luft aufgeloest.
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Spielpause Death (Highlander, 11. Nov 1997, 12:34:44):
+Death hat wegen Spielerhilfe 4 Wochen Spielpause verpasst bekommen.
+  HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Spielpause GulDukat (Highlander, 11. Nov 1997, 12:36:00):
+GulDukat hat vier Wochen Spielpause verordnet bekommen, da er ueber einen
+Trigger einen als Papagei verkleideten Spieler gezapt hat. Ausserdem
+wurde sein Magierlevel 35, den er ausgerechnet als Hilfssheriff bekam,
+auf 25 runtergesetzt.
+HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Guldukat's Strafe (Freund, 18. Nov 1997, 00:39:11):
+Hallo liebe Zielgruppe!
+
+Ich moechte Euch hiermit ueber die Geschehnisse im Fall "Guldukat und
+der verheerende Trigger" informieren. Das dies erst jetzt geschieht,
+hat nicht das geringste mit dem Maeulerzerreissen einiger weniger zu
+tun, die hier schon wieder (?) glaubten, einen mysterioesen Fall von
+Vetternwirtschaft aufgedeckt zu haben, sondern ist vielmehr einem
+defekten Motherboard und einem alarmschlagenden CPU-Luefter meines
+Privatrechners anzurechnen.
+
+Die Fakten: Guldukat hatte einen Trigger auf "xxx flattert herein.".
+Dieser Trigger wurde auch durch Mango ausgeloest, der in der Wer-Liste
+mit "Ein Papagei namens Mango" gefuehrt wurde und als MSG_IN "flattert
+herein" gesetzt hatte. Der Trigger bewirkte das Absetzen des Kommandos
+"zap papagei". Da Mango zudem den Tarnhelm benutzte, reagierte er auf
+das ID "papagei".
+Nachdem Mango als erstes seine todesbedingten Verluste zurueck bekam,
+beschlossen Highlander, Boing und ich _gemeinsam_, was nun zu tun sei.
+Diese Auswahl der "Entscheidungstraeger" war zufaellig und resultierte
+aus der Tatsache, dass Highlander als Sheriff zustaendig war, und Boing
+und meiner einer als einzige HLMs anwesend waren. Aus meiner Zeit als
+Sheriff kann ich auch anmerken, dass es immer angenehmer ist, "Strafen"
+mit anderen abzustimmen, um nicht die Uebersicht zu verlieren.
+Wir einigten uns - ohne Guldukat angehoert zu haben (er hatte sich drei
+Minuten nach seinem PK ausgeloggt, offensichtlich ohne sich ueber diesem
+Gewahr zu sein) - auf 4 Wochen Spielpause allerdings davon ausgehend,
+dass sein Trigger "zap mango" produziert hatte.
+Als nun Morn, Guldukats X.-tie auftauchte, um sich zur Sache zu aeussern,
+war Highlander leider (RL-pruefungsbedingt) fuer mehrere Tage nicht im
+Mud. Boing beauftragte daher mich mit der "Anhoerung" des Falles und gab
+mir "freie Entscheidungsgewalt". :-) (Wir wollen an dieser Stelle des
+Artikels nicht vergessen, dass wir von einem Spiel reden. ;-)
+Nachdem ich also Morn die Chance gab, sich zu "rechtfertigen", aenderte
+sich bei mir der Sachverhalt etwas; denn erst jetzt wurde klar, dass durch
+die Auswirkungen des Tarnhelms der Kill durch "zap papagei" ausgeloest
+wurde; das ist fuer mich etwas wirklich anderes, da der moegliche Vorsatz,
+oder das Spielertoeten billigend in Kauf zu nehmen, dadurch wegfiel.
+Daher einigten wir uns wie folgt:
+- 1 Woche Spielpause fuer Guldukat
+- permanenter Magier-Levelverlust Guldukats von 35 auf 26.
+- Loeschen aller Trigger in Guldukats Frontend
+
+Highlander wurde selbstverstaendlich informiert und gab nachtraeglich
+sein Einverstaendnis.
+
+Noch einige Worte zu den polemischen Artikeln hier:
+Es reissen immer wieder einige Leute ihr Maul auf, sobald sie glauben,
+irgendetwas liefe anders, als wenn sie es unter Kontrolle haetten.
+Das mag auch so sein!
+Aber gerade diese Leute reden dann immer von solchen hohen Werten wie
+Fairness und Gleichbehandlung.
+Ich finde, damit jedem Charakter _wirkliche_ "Gerechtigkeit" erfahren
+kann, ist man als Strafvollzieher genoetigt, jeden Fall einzeln mit den
+entsprechenden Hintergruenden zu betrachten. Ein allgemeines Gesetz,
+"wer einen Spieler toetet, muss 4 Wochen raus", kann keine Gerechtigkeit
+erzeugen. Aber eine Menge Frust. Mango hat im Prinzip nichts verloren.
+Klar, etwas Stolz, etwas Zeit, aber sonst?
+
+Ein Freund - als Ex-Sheriff mit der Materie wohl vertraut.
+
+
+-----------------------------------------------------------------------------
+
+
+
+PKs Hefe (Highlander, 20. Nov 1997, 13:57:54):
+Hefe hat von mir 2 PKs eingetragen bekommen, die er in zwei Monaten
+wieder loswerden kann. Er hat wiederholt getarnt Spielern ein Runen-
+schwert gegeben und sie dazu aufgefordert, es zu zuecken. Und sage jetzt
+keiner, die haetten sich ja das Schwert ansehen koennen. Darauf reinfallen
+tun sowieso nur eher neuere Spieler, und ausserdem hat er das wie einen
+"netten NPC" aufgezogen. Die Absicht war da, das reicht.
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Heiland (Rumata, 24. Nov 1997, 10:26:15):
+Der Name schien auf Ablehnug zu stosschen, dashalb habe ich ihn geloescht
+gruss, rumata
+
+-----------------------------------------------------------------------------
+
+
+
+ZT entschaerft (Freund, 24. Dez 1997, 00:45:51):
+Frohe Weihnacht und besinnliche Feiertage!
+
+Ich habe gerade den strittigen Zaubertrank inhaltlich entschaerft. Fuer den
+Fall, dass sich die dikutierende Mehrheit _fuer_ den Erhalt der
+urspruenglichen Fassung aussprechen sollte, gibt es natuerlich eine
+unveraenderte Kopie derselben.
+
+In Absprache mit Boing und Highlander bin ich unterdessen auch wieder
+Co-Sheriff geworden. Die Zeiten aendern sich, die Sheriffs bleiben. :-)
+
+Eines noch: Ich bin gerade dabei, die Regeln fuer das Scripten eindeutig
+festzulegen. Daher habe ich ernsthaftes _wissenschaftliches_ Interesse an den
+verschiedenen Scripten, die ihr entwickelt habt. Bitte mailed mir dieselben
+doch mal zu. Wer mir nicht traut, kann das gerne auch als Gast oder Achtie
+tun, mir geht es um eine moeglichst genaue Definition, die spaeter gueltig
+sein soll, und da halte ich es fuer sinnvoll, alles moegliche zu
+beruecksichtigen.
+
+Die, die mich laenger kennen, (oder von frueher:-) duerften wissen, dass mir
+das _Spielen_ des MGs am Wichtigsten ist.
+
+EIn Freund fuer alle Faelle.
+
+-----------------------------------------------------------------------------
+
+
+
+Spielpause (Freund,  3. Feb 1998, 15:36:49):
+Tag,
+
+hiermit tue ich kund und zu wissen, dass Terrorist eine Spielpause von 14
+Tagen absitzt.
+
+Grund: Spielerhilfe.
+
+Freund, warnend.
+
+-----------------------------------------------------------------------------
+
+
+
+Gildenskills abgewertet (Freund,  5. Feb 1998, 11:14:07):
+Gruess Gott,
+
+Keys Gildenfaehigkeiten haben deutliche Einbussen hinnehmen muessen, nachdem
+er mit einem Magiertestie direkt nach einem Reboot Objekte "gesichert" hat.
+
+Freund, "doing his job".
+
+-----------------------------------------------------------------------------
+
+
+
+Scripter (Freund, 10. Feb 1998, 19:54:50):
+Tag,
+
+Gando wurden seine Gildenfaehigkeiten halbiert.
+
+Grund: Scripten.
+
+Kurz und knapp: Freund.
+
+-----------------------------------------------------------------------------
+
+
+
+Bankier-->/dev/null (Freund, 27. Feb 1998, 12:19:05):
+Bankier wurde geloescht, da er seit geraumer Zeit immer wieder Spieler
+angriff. 
+Freund.
+
+-----------------------------------------------------------------------------
+
+
+
+SCRIPTE (Freund, 27. Feb 1998, 15:41:24):
+So,
+es gibt ab dem 1.3.98 Aenderungen bezueglich der Einstufung von Scripten:
+Diese sind jetzt (wie vorher auch) VERBOTEN! Ich moechte dazu die Lektuere von
+"hilfe scripte" empfehlen.
+Aber, neu ist, dass die Sheriffs da jetzt ruecksichtsloser durchgreifen
+werden. Scripten schadet naemlich dem Spielspass der "echten" Spieler. Daher
+ergaenzend zu "hilfe scripte":
+1. Wegescripte duerfen nur die Wegbefehle (Richtungen) und Modus-Befehle
+enthalten. Alles andere wird ab Maerz auch so bestraft!!!
+2. Untersuche Scripte werden ziemlich streng bestraft.
+Ein Cut & Paste GILT als Scripten! (Siehe Definition "hilfe scripte"). Wer
+untersuche-Scripte nach dem 1.3.98 benutzt, wird geloescht. Keine Warnung.
+3. Wer sich dem Verdacht aussetzt, gescriptet zu haben, wird dies im
+Allgemeinen bewusst tun. Ueberraschend zu tun nach dem Motto: Wie - 30 Befehle
+in der Sekunde soll ein Script sein? - wird nicht helfen. Wer dieses Risiko
+nicht eingehen moechte, der sollte die Finger von allen Grenzfaellen lassen!
+
+Freund.
+
+-----------------------------------------------------------------------------
+
+
+
+Nachtrag (Freund, 27. Feb 1998, 15:57:31):
+Hilfe Scripte wurde eben von mir an die Bewegungsbefehle angepasst.
+
+Ich bitte um werte Beachtung.
+
+Freund.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: SCRIPTE (Boing, 27. Feb 1998, 17:15:41):
+~#! rn=Freund rt=888590484 rg=polizei.bekanntmachungen
+~#! tid=888590484
+Ich moechte hier noch eben ergaenzen, dass zu Bewegungsbefehlen auch 
+Sachen wie 'kletter ueber mauer' oder 'teleportiere 5' gehoeren, das
+ist in Freunds Artikel nicht ersichtlich, in 'hilfe scripte' aber
+genau beschrieben. Das hat wohl fuer einige Missverstaendnise gesorgt.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Tueren (Freund, 27. Feb 1998, 18:23:11):
+~#! on=Freund ot=888600096 og=polizei.beschwerden
+Hi,
+
+die Magier des MorgenGrauens sind gebeten worden, Ihre Raeume auf
+ueberfluessige Tueren hin zu untersuchen. Zukuenftig kann ergo eine Tuer als
+Wegescript-Stop-Shild (TM) dienen, wenn man sich nicht der Loesch-Gefahr
+aussetzen moechten. 
+
+Daher werden einige der Tueren auf Hauptverkehrsstrassen sicherlich in den
+naechsten Tagen oder Wochen angepasst werden. Falls ihr welche findet, meldet
+das doch bitte auch an einen zustaendigen Magier. Achtung: Melden != Nerven.
+
+Freund, raet dazu, diese kleine Reform als Positiv anzuerkennen.
+
+P.S.: Einige Tueren sind absichtlich als Stopper gedacht und werden sicherlich
+nicht entfernt... ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Loeschungen (Freund,  3. Mar 1998, 11:34:52):
+Tag.
+
+Wegen Spielerhilfe geloescht wurde der Magier-Charakter Jennifer und der
+Nutzniesser Nemesys.
+
+Freund.
+
+-----------------------------------------------------------------------------
+
+
+
+Das Grauen hat einen Namen: rm -f brummel.o (Freund, 11. Mar 1998, 12:27:34):
+Tag,
+
+Wegen Spielerhilfe wurde Azrael verwarnt und sein Zweitie Brummel geloescht.
+
+Freund.
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Scriptregeln (Freund, 25. Mar 1998, 15:19:28):
+Scriptregeln ab dem 2.4.98, daher KEIN Aprilscherz!
+
+1. Komplettloesungen:
+   ~~~~~~~~~~~~~~~~~~
+
+Das Benutzen und die Weitergabe von Komplettloesungen, die beispielsweise
+eine Aufgabe loesen oder andere nicht offensichtliche Informationen des
+Spiels preisgeben, ist untersagt. Das Benutzen selbst entwickelter KLs
+(z.B. Mitschreiben beim ersten Loesen einer Quest) ist erlaubt.
+Die Weitergabe ist untersagt, denn die Magier investieren nicht ihre Phantasie
+und ihre Zeit in das Programmieren von stimmungsvollen Dingen, um danach zuzu-
+schauen, wie hunderte von Spielern durch ihr Gebiet eilen, ohne nachher zu
+wissen, WAS sie eigentlich gemacht haben. 
+KL-Anwendern und -versendern droht die Loeschung. Trotzdem wird nach der
+Schwere des Vergehens bestraft.
+
+
+2. Forscherpunkt-Listen:
+   ~~~~~~~~~~~~~~~~~~~~~
+
+Besitz, Benutzung und Weitergabe von FP-Listen entspricht dem Punkt 1.
+
+
+3. Untersuche-Scripts:
+   ~~~~~~~~~~~~~~~~~~~
+
+Diese sind verboten. Untersuche-Scripts fragen selbstaendig eine, mehrere oder
+alle Detailtiefen eines Raumes ab. Sie ignorieren damit ebenso wie Komplett-
+Loesungen die Arbeit der Magier. 
+Bestrafung erfolgt nach Schwere des Vergehens.
+
+A
+
+4. Andere Scripte, Trigger, Key-Bindings:
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Solange nicht andere Spieler durch Aktionen eines der o.g. Dinge gestoert wer-
+den, sind diese erlaubt, falls sie NICHT ohne Beaufsichtigung ablaufen. Das
+Kriterium hierbei ist die Ansprechbarkeit. Wer fuer einen Zeitraum von 1 Min.
+nicht auf teile-mits und/oder Raummitteilungen reagiert, wird als Script be-  
+handelt. Die Bestrafung erfolgt nach Schwere des Vergehens.
+
+
+Bestrafungen koennen sein: 
+* Spielpause  * Abwerten von Gildenfaehigkeiten und FPs  * Loeschung  * 
+----------------------------------
+
+So sieht das dann mal aus. Falls Euch etwas nicht passt, droht nicht gleich
+mit Selbstloeschung oder Ignoranz, schreibt es lieber. Falls Ihr endlich mal 
+zufrieden seid, schreibt es ganz unbedingt! :-)
+
+Ein Freund. 
+
+
+-----------------------------------------------------------------------------
+
+
+
+Seherstatus (Freund,  1. Apr 1998, 08:36:27):
+Hallo.
+
+Wie Silvana bereits schrieb, haben wir in einer Erz-Magier-Eil-Konferenz(TM)
+gestern die auf der Party gewuenschte Erschwerung der Seheranforderungen in
+die Mudlib eingebaut.
+Da eh schon ein neues Feature in die Lib integriert wurde, naemlich die
+"Vogelfreiheit" (auch moeglich fuer Magier!), war es nur ein kleiner Schritt,
+das folgende umzusetzen:
+Ab sofort duerfen die Hoechst-Level-Seher (Lev > 50 und in den Top-10 der
+Top-Spieler-Liste) angegriffen werden.
+
+Viel Spass mit diesem Feature wuenscht:
+Freund, das Script-Jaeger-Script.
+
+-----------------------------------------------------------------------------
+
+
+
+Schummeln, nein Danke (Highlander,  1. Apr 1998, 16:41:17):
+Und aus diesem Grunde gibt es weder Warrior noch Ratazong mehr. Vom letzteren
+stammte das Mittel, der andere hat's verwendet.
+     HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Semmel (Paracelsus, 22. Jul 1998, 22:06:48):
+Da Semmel offenbar meint, er koennte sich ueber seinen Regionsmagier
+hinwegsetzen, indem er Sachen in Verzeichnisse verschiebt, wo selbiger
+keine Schreibrechte mehr hat und die dann auch noch anschliesst, hat er
+Spielpause, bis der Sheriff etwas anderes entscheidet.
+
+Paracelsus - hat was gegen Mega-Lag
+
+-----------------------------------------------------------------------------
+
+
+
+Harte Zeiten... (Hobo,  1. Apr 1999, 18:08:28):
+Liebe Spieler, 
+
+nachdem mit mir endlich mal ein durchsetzungsbereiter Sheriff (ok: Assi) da
+ist, wernden harte Zeiten auf Euch zukommen.
+Also, die wichtigsten Dinge:
+ - Gleichzeitiges Einloggen von mehreren Charakteren, die von einer Person
+gefuehrt werden, ist verboten.
+
+ Verleihen von Charakteren fuehrt zu sofortiger Loeschung
+
+ Bei Loeschung eines Spielers (aus welchem Grund auch immer, ausgenommen:
+Selbstloeschung) werden alle verbundenen Zweitspieler ebenfalls geloescht.
+
+ Das verwenden von (auch selbst angefertigten KLs ist untersagt. In naechster
+Zeit werde ich eine Liste erarbeiten, in welcher Zeit man eine Quest ohne KL
+spielen kann. Wird die Zeit unterboten, koennen keine Questpunkte angerechnet
+werden.
+
+ Bei PK, stoerendem Skripten und anderen Taetigkeiten, die z.B. zur
+ASbstufung in der Gilde fuehren, werden prozentual FP abgeozgen.
+
+ Hmm, das waer's erst mal. Demnnaechst mehr..
+
+    Hobo - machtgeil und ordnungsbesessen
+
+-----------------------------------------------------------------------------
+
+
+
+bierchen (Highlander, 26. Mai 1999, 00:05:53):
+~#! on=Highlander ot=927669931 og=bekanntmachungen
+Bierchen kann jetzt erst mal eine Woche in Ruhe darueber nachdenken,
+ob es sich lohnt, seine Nerven mit einem durchgehen zu lassen und einen
+Spieler in einen gefaelschten Tod zu stuerzen. Will heissen,
+dass er von mir 7 Tage Spielpause verpasst bekommen hat,
+weil er sich nicht beherrschen konnte.
+
+   Highlander ryn Tahar
+
+-----------------------------------------------------------------------------
+
+
+
+Patryn (Rumata,  8. Jun 1999, 12:16:24):
+Hallo Leute,
+ 
+Patryn ist wegen Ausnuetzen von Sicherheitsloechern fuer zwei Monate
+in die Spielpause gegangen und wird mit einer Abstufung rechnen muessen.
+Da Patryn auch fuer das Mud aktiv war mir glaubhaft das Mass seiner
+Ausnutzung versichern konnte, habe ich von der ueblichen Betrafung
+(Komplettloeschung ohne Verwarnung) absehen koennen.
+ 
+Aus diesem Anlass moechte ich darauf hinweisen, dass bei Sicherheitsloechern
+der Spass definitiv aufhoert, insbesondere bei Bugs mit denen man ROOT
+Rechte bekommt.
+ 
+Uebrigens koennten auch Zweites betroffener Charakter in Zukunft nicht
+unverschont bleiben.
+ 
+Rumata
+
+-----------------------------------------------------------------------------
+
+
+
+Patryn (Boing, 26. Jul 1999, 14:54:35):
+Aufgrund seiner Verdienste fuer das Mud wurde die Herunterstufung von
+Patryn (35 -> 25) rueckgaengig gemacht. Er hat ab sofort wieder Level 35.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Buffy &c (Wim,  5. Aug 1999, 13:23:18):
+
+Wegen mehrfachen und wiederholten Angriffen von Spielern wurde Buffy nebst
+bekannten Zweities geloescht.
+Der Spieler hat bis zu letzt keine Einsicht zu seinen Taten gezeigt.
+
+Wim
+
+
+-----------------------------------------------------------------------------
+
+
+
+Grimmborn und die Hydra (Highlander, 21. Sep 1999, 14:23:52):
+Hiermit setze ich Grimmborn auf Bewaehrung, da er gestern mehrmals die Hydra
+geheilt hat und damit verhindert hat, dass sie getoetet wurde.
+Magier duerfen das Spiel nicht beeinflussen, wogegen diese Aktion
+verstossen hat. Das Heilen eines Spielers, das auch gestern war, nehme ich
+dabei als "Folgefehler", da es einer der Hydragegner zu diesem Zeitpunkt
+war. Die Bewaehrung geht auf unbestimmte Dauer, ich hoffe aber, dass
+wenigstens ein Vierteljahr nichts passiert.
+
+   HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Muadib for Deputy (Highlander, 25. Sep 1999, 01:19:35):
+Hi,
+
+ich habe Muadib mit sofortiger Wirkung zum Co-Sheriff, Deputy oder was
+auch immer ernannt. Sein Level 35 ist auf eigenen Wunsch, sonst haette
+er jetzt ein E am Hals. :>
+Wenn ich also nicht da bin, koennt ihr euch jetzt auch an ihn wenden.
+
+  HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Deputy (Muadib, 28. Sep 1999, 15:48:08):
+Hi,
+
+wie sich einige denken koennen, benoetigt die Einarbeitung in mein neues Amt
+etwas Zeit. Das Gleiche gilt fuer meine Levelextrabratwurst.
+Ich versuche zusammen mit Highlander, diese Zeit so kurz wie moeglich zu
+halten.
+Es waere nett, wenn Ihr anfangs etwas Geduld mit mir haben koenntet.
+Ansonsten hoffe ich, dass wir gut miteinander auskommen :)
+
+bya
+
+
+muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Untersuchescripte (Muadib, 28. Sep 1999, 16:27:37):
+hi,
+
+aus gegebenem Anlass, moechte ich einmal darauf hinweisen, dass
+untersuchescripte nicht erlaubt sind. auch dann nicht wenn sie auf
+tf-webseiten zu finden sind.
+darum stellt sie doch bitte einfach ab.
+
+gruss
+
+muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Sebastian geloescht (Boing, 16. Nov 1999, 18:56:53):
+Da wir hier niemand gebrauchen koennen, der in der Rubrik www oder 
+aehnlichem seine Raubkopien vertreibt, wurde der Spieler Sebastian
+geloescht.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Scarry & co. (Wim, 16. Nov 1999, 22:47:04):
+Die selbe Person, welche vor einiger Zeit mit Buffy wahllos Spieler angriff
+und beleidigte ist nun mit dem Charakter "scarry" aufgefallen.
+Da eine Aenderung des Verhaltens nicht feststellbar war und ausserdem im PKs
+nach eigener Aussage "am A.... vorbei" gehen, habe ich auch diesen Charakter
+ohne weitere Warnung geloescht.
+
+Wim
+
+-----------------------------------------------------------------------------
+
+
+
+Team mit Zweities (Muadib,  7. Mar 2000, 19:04:19):
+Hi,
+
+eine kleine Anmerkung aus aktuellem Anlass.
+Wie die meisten von Euch wissen, koennen Zweitspieler von einem
+Spieler nicht zusammen mit diesem Spieler oder anderen Zweitspielern
+dieses Spielers in ein Team.
+Dies wird direkt bei Teameintritt ueberprueft.
+Statt Zweitspielern nun einfach Spieler auszuleihen und diese in ein Team zu 
+stecken, ist eine einfache Umgehung dieser Regelung.
+Diese Umgehung ist jedoch nicht nur einfach sondern auch definitiv
+ungewuenscht.
+Wer immer diese Umgehung nutzt, sollte sich darueber im Klaren sein,
+dass nicht nur ihm, sondern auch den beteiligten, ausgeliehenen Spielern
+eine Spielpause droht, falls er erwischt wird.
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Dieder/PK (Highlander, 15. Jun 2000, 23:27:53):
+Dieder hat heute Mudgott angegriffen und getoetet. Auch wenn Mudgott
+nu vielleicht oder auch recht sicher identisch war mit [ZT]erstoerer,
+so ist doch das Playerkilling verboten. Es waren ja schliesslich auch
+genug EMs da, die das Problem haetten loesen koennen, wenn einer nur noch
+nervt. Als deutlichen Hinweis auf das PK-Verbot laeuft er jetzt halt bis
+Samstag abend mit einem PK rum, was ihn ja nicht am Spielen an sich hindert.
+Ab sagen wir Samstag 2300 kann jeder EM den PK wieder loeschen.
+
+HrT
+
+-----------------------------------------------------------------------------
+
+
+
+erkenntnis zu untersuche-skripten (Muadib, 14. Aug 2000, 11:48:21):
+hi,
+
+wie bekannt sein sollte, sind untersuche-scripte nicht erlaubt.
+um bei einigen ueberraschungen zu vermeiden, hier kurz die erlaeuterung,
+dass das auch fuer parallel laufende untersuchescripts gilt.
+dieser erkenntnis mussten sich leider auch Shodo, Maula, Marena und Darth
+stellen. Wer sie vermisst weiss nun wieso.
+
+Gruss 
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Re: erkenntnis zu untersuche-skripten (Muadib, 14. Aug 2000, 11:53:34):
+~#! rn=Muadib rt=966246501 rg=polizei.bekanntmachungen
+~#! tid=966246501
+noch ein nachtrag, wegen der vielen nachfragen:
+mit parallelen untersuche-scripten, sind mehrere zweities eines spielers, die
+das selbe untersuche-script zur gleichen zeit durchlaufen, gemeint.
+
+gruss
+
+muadib
+
+-----------------------------------------------------------------------------
+
+
+
+UEBERARBEITETE REGELN (Muadib, 30. Aug 2000, 12:21:26):
+Hi,
+da die Regeln im Morgengrauen doch etwas verwirrend und teilweise sogar
+widerspruechlich waren, wurden sie ueberarbeitet.
+Die einzelnen Hilfeseiten fuer scripte, zweitspieler und strafen wurden
+geloescht und in der Hilfeseite regeln neu zusammengefasst.
+Desweiteren wurde die Hilfeseite zu sheriff ueberarbeitet und fuer Magier
+erweitert. Der Magiervertrag wurde etwas entruempelt.
+
+Die ueberarbeiteten Regeln lassen sich mit dem Befehl "hilfe regeln" aufrufen.
+
+Diese Regeln treten sofort in Kraft. 
+
+Kritik, Fragen und andere Hinweise sind herzlich willkommen.
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Padreic 55 -> 45 (Boing, 12. Okt 2000, 13:09:41):
+In letzter Zeit gab es immer wieder Vorfaelle mit Padreic,
+die uns zu dem Schluss gefuehrt haben, dass er das [W] fuer
+'Weiser' nicht mehr verdient hat. 
+Konkret ging es um idlende Spieler, die er ausgeloggt hat
+und wofuer er von Muadib verwarnt wurde, dass das zu unter-
+lassen sei. Daraufhin kuendigte er an, dann halt auch selbst
+massenhaft Spieler idlen zu lassen, was er auch einige Tage
+spaeter in die Tat umsetzte (einige erinnern sich evtl.
+an die Spieler Dumma bis Dummi usw.). Nachdem es Beschwerden
+von Spielerseite gab wurden die Charaktere von mir ausgeloggt
+und Padreic sowohl von Zook als auch von mir darauf hingewiesen, 
+dass dieses Verhalten als stoerend empfunden wird. Wenige Tage
+spaeter gab es wieder so eine Aktion, diesmal mit weniger
+auffaelligen Namen, was aber irgendwie auch nichts genuetzt
+hat. Der darauf folgenden weiteren Beschwerde wurde hiermit
+nachgegangen.
+Dazu kommt noch die etwas aeltere Aktion, wo er Sachbeitraege
+in der MPA nach schmarrn verlegte, um eine Diskussion zu 
+beenden.
+Darauf folgt: Abstufung von Padreic von Level 55 auf 45.
+
+  Boing (vertritt heute mal Muadib)
+
+-----------------------------------------------------------------------------
+
+
+
+kls auf wwwseiten (Muadib,  2. Jan 2001, 15:41:35):
+Hi,
+
+KLs auf WWW-Seiten zu veroeffentlichen, ist nicht tolerierbar und wird mit
+Nachdruck bestraft. 
+Infolgedessen wurde Kan und der Zweitspieler Cheng auf unbestimmte Zeit
+gesperrt.
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Bierchen (Muadib, 10. Jan 2001, 15:35:44):
+Hallo,
+
+wie Ihr wohl schon wisst, hatte Bierchen vor kurzem Teile seiner
+Gebiete auf der Magieinsel abgehaengt und dies mit Differenzen mit Wim
+und der, wie er es formuliert hat, kluengelbehafteten Unterstuetzung
+Wims durch andere Erzmagier begruendet. Die einzelnen Vorwuerfe Wim
+und Anderen gegenueber wurden jedoch nicht klar formuliert, sondern
+lediglich andeutungsweise vorgebracht und auf verschiedenen Ebenen
+diskutiert.
+
+Bierchen wurde daraufhin von mir gebeten seine Vorwuerfe zu
+konkretisieren und mir zur weiteren Untersuchung zukommen zu lassen.
+
+Darauf formulierte Bierchen folgende Vorwuerfe: 
+-Ein Zweitspieler von Wim, Lews, wechselte von der Chaosgilde in die 
+Tanjiangilde, obwohl dies nicht vorgesehen ist. Der Spieler wurde also 
+manipuliert. Aus diesem Grund wurde Lews von mir als Testspieler markiert. 
+-Rochus wurde nachtraeglich anstatt Bierchen als Wims Sponsor eingetragen.
+Dieses Vorgehen ist nicht explizit verboten, inwiefern man hier eine 
+Aenderung vorgenommen werden sollte, stelle ich zur Diskussion.
+
+Diese Vorwuerfe scheinen mir als Rechtfergigung fuer das Verhalten
+Bierchens nicht im geringsten angemessen. Leider hat  Bierchen auf
+weitere Nachfrage keine weiteren Punkte mehr geaeussert. Stattdessen
+hat er weiter Code abgehaengt. Davon betroffen sind nun die
+Magieinsel, Teile der Feuerinsel, Teile des Polargebietes und die
+Chaosgilde.
+
+Mit dem Abhaengen des entsprechenden Codes hat Bierchen vorsaetzlich
+den Spielern, welche nun Verluste an Spass, Forscherpunkten,
+Zaubertrankstandorten, kurzfristige Einschraenkungen in einigen Quests
+und Gildenquests hinnehmen muessen, sowie den Magiern, welche mit
+Ihrer Arbeit entweder auf den entsprechenden Code verweisen, auf ihm
+aufbauen oder diesen erst ermoeglicht haben, Schaden zugefuegt.
+
+Mit diesem Verhalten hat Bierchen zusaetzlich versucht, die Abstufung
+Wims zu erzwingen.
+
+Aus diesen Gruenden wird Bierchen mit sofortiger Wirkung geloescht.
+Die Schaeden durch den abgehaengten Code werden so schnell und gut wie
+moeglich korrigiert. Hier ausdruecklichen Dank an Alle, die nun
+Extraarbeit leisten.
+
+Ich bedauere, dass es zu einer solchen Eskalation kommen musste und
+moechte hier ausdruecklich darauf hinweisen, dass grundsaetzlich jeder
+seine Beschwerden, egal ueber wen oder was, entweder bei Highlander
+und mir oder natuerlich auch bei den Erzmagiern oder den Goettern
+vorbringen kann. Ich werde versuchen diesen Beschwerden soweit wie
+moeglich und unabhaengig von Person oder Position nachzugehen und die
+entsprechenden Konsequenzen durchzusetzen. Konstruktive Kritik ist
+ebenfalls willkommen, schliesslich existiert so etwas wie
+Unfehlbarkeit nicht.
+
+Dies gilt auch fuer eventuell offene Punkte diesen Fall betreffend.
+
+Ich hoffe, dass wir in Zukunft gemeinsam wieder zu einem erfreulichen
+Spielen und Arbeiten im MorgenGrauen zurueckfinden koennen.
+
+Muadib
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Wim (Boing, 19. Jan 2001, 12:02:07):
+Hallo,
+
+soeben wurde Wim von mir auf Stufe 26 runtergesetzt und mit 6 Montaten
+Spielpause belegt. Begruendet wird dies mit mehreren Regelverstoessen:
+
+- Snoopen von Privatgespraechen
+- Bewusste Benachteiligung von einzelnen Magiern (oder Spielern)
+- Manipulation eines Zweitspielers
+
+Ich habe mit Wim lange ueber die verschiedenen Punkte gesprochen, er
+hat sie eingestanden und sieht sein Fehlverhalten ein. Die ausgesprochene
+Strafe wurde von ihm akzeptiert.
+
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+codelookups (Muadib, 31. Jan 2001, 16:25:40):
+Hi,
+
+ich moechte nochmal darauf hinweisen, dass Magier fuer 
+ihre Zweitspieler keinen fremden Code scannen sollen, um
+diesen Spieler voranzutreiben. Sollte so ein Fall auftreten,
+muss der entsprechende Magier zumindest mit einer Markierung
+des Spielers als Testspieler, oder einer langen Spielpause, die
+die normale Forscherzeit fuer diese Informationen auf jeden Fall 
+ueberschreitet, rechnen. So geschehen vor einiger Zeit mit Seven.
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Gandulf (Muadib,  9. Mar 2001, 14:57:34):
+
+Hallo,
+
+wie viele von euch vielleicht schon wissen, wurde Gandulf, ein Zweitspieler
+von Mesirii, als eine Art Lagerverwalter mittels TinyFugue betrieben.
+
+Gandulf konnte von Spielern Objekte entgegennehmen, diese naeher
+klassifizieren und in seinem Seherhaus ablegen. Desweiteren war es moeglich
+Objekte von Gandulf auszuleihen oder detaillierte Informationen ueber ein
+Objekt zu erfragen und bestimmte Objekte, welche noch  nicht im Lager waren,
+zu erwarten.
+Desweiteren war es zum Beispiel noch moeglich Daten ueber die Hydra zu
+erfragen.
+
+Die Steuerung Gandulfs erfolgte ueber einen teile-mit-Mechanismus.
+Wurde Gandulf von keinem Spieler benutzt, so war er dennoch anwesend und nicht
+ansprechbar.
+
+Es ist zwar ueblich, dass Spieler Objekte und Informationen dazu untereinander
+austauschen, und dies soll auch nicht eingeschraenkt werden, jedoch verstoesst
+Gandulf hier doch gegen verschiedene Regeln.
+
+Gandulf ist ein Vollscript.
+Gandulf ist ein Untersuchescript.
+Gandulf stellt anderen Spielern Gildenfaehigkeiten zur Verfuegung, um ein
+Objekt naeher zu klassifizieren und verstoesst somit zumindest potentiell
+gegen die Regel zweier gleichzeitig aktiver Spieler.
+
+Diese Regelverstoesse werden wie gefolgt geahndet:
+Da Gandulf offensichtlich nur zu dem Zweck als Lagerverwalter zu dienen,
+erschaffen wurde(betrachtet man aktive Skriptzeit und Spielzeit), wird er
+geloescht.
+Mesirii als Erstspieler Gandulfs erhaelt eine Sperre von 6 Wochen.
+Spieler welche Gandulf nutzten oder Zugang zu ihm hatten, haben bewusst ueber
+laengere Zeit einen Regelverstoss ausgenutzt und erhalten daher eine Strafe in
+Form einer Spielpause. Da die Nutzung Gandulfs, oder deren Intensitaet nicht
+exakt nachweisbar ist, wird diese Strafe an die im Seherhaus erlaubten Spieler
+vergeben und nur mit einer symbolischen Woche angesetzt. Die betroffenen
+Spieler werden einzeln angeschrieben. 
+
+Die Strafen treten ab kommenden Sonntag in Kraft.
+
+Diese Reaktion ist keine Regelaenderung. Es ist weiterhin erlaubt Skripte
+unter Beachtung der Regeln zu benutzen. 
+
+Durch die extrem hohe Anzahl von Objekten die Gandulf bekannt waren erhaelt
+das Bereitstellen von Informationen zu diesen Objekten KL-Charakter, zumindest
+wird die Arbeit der Magier, diese Informationen moeglichst interessant zu
+verpacken, abgewertet. 
+Bitte zieht diesen Aspekt in Erwaegung, bevor ihr massiv Informationen ueber
+einen wie auch immer gearteten Dienst bereitstellt.
+
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gandulf (Muadib,  9. Mar 2001, 19:57:12):
+~#! rn=Muadib rt=984146254 rg=polizei.bekanntmachungen
+~#! tid=984146254
+Hi,
+eine Ergaenzung:
+Diese Liste und die Anzahl der Erlaubten unterscheidet sich in wenigen
+Elementen, hauptsaechlich durch das automatische Miterlauben der Zweities
+durch Gandulf. Dies wurde von mir nicht sorgfaeltig genug geprueft und dafuer
+moechte ich mich hiermit bei den Betroffenen entschuldigen. 
+Die Spielpause gilt nur fuer die tatsaechlichen Nutzer.
+
+Gruss 
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Kuschel (Muadib,  3. Apr 2001, 16:25:04):
+Hallo,
+
+leider hat Kuschel im WWW KLs fuer eine grosse Menge an ZTs angeboten. Dies
+wurde bisher nicht toleriert und wird auch in Zukunft nicht toleriert werden.
+Aus diesem Grund wurde eine unbestimmte Spielpause fuer Kuschel und seine
+Zweities ausgesprochen.
+
+Gruss
+
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kuschel (Boing,  4. Apr 2001, 11:58:42):
+~#! rn=Muadib rt=986307904 rg=polizei.bekanntmachungen
+~#! tid=986307904
+Da hier der Informationsfluss wohl doch sehr auf Geruechten basiert,
+moechte ich mal ein paar Dinge klarstellen:
+
+- Die veroeffentlichte ZT Liste ist nicht nur eine leicht erweiterte
+  Fassung der beruehmten ZT Liste 17, sondern eine Auflistung, die zu
+  jedem Orakel-Spruch ein komplettes Script (exakte Wege, Kommandos,
+  alles) zur Verfuegung gestellt hat.
+  Es wurde erwaehnt dass die alten ZT-Listen tolertiert wurden. Das
+  ist richtig und liegt darin begruendet, dass wir erkannt hatten, 
+  dass das alte ZT-System fuer Spieler nicht mehr spielbar war.
+  Das hat sich jedoch mit Einfuehrung des Orakels komplett geaendert.
+  Genau aus diesem Grund wurde sogar das Orakel eingefuehrt: Um die
+  Notwendigkeit einer ZT-Liste aus dem Spiel zu nehmen.
+
+- Allein im letzten Jahr wurde Slyfox MEHRFACH wegen verschiedenster
+  Dinge verwarnt, angefangen beim heimlichen (unmarkierten) Hochspielen
+  eines 2ties der Magier werden sollte, bis hin zu uebelsten 
+  Beschimpfungen von Einzelpersonen (das nennt sich in anderen Muds 
+  harrassment und ist dort allein gesehen schon ein Loeschungsgrund).
+  Er wurde gewarnt und hat nichts daraus gelernt.
+
+    Boing
+
+-----------------------------------------------------------------------------
+
+
+
+KLs auf Webseiten (Muadib, 31. Mai 2001, 18:59:43):
+Hi,
+
+leider muss ich nochmals ausdruecklich darauf hinweisen, dass das oeffentliche
+zur Verfuegungstellen von KLs auf Webseiten auf keinen Fall toleriert werden
+kann. Das juengste Opfer in dieser Hinsicht ist Eolahus gewesen. Er hat sich
+selbst geloescht.
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Willow... (Zook, 22. Aug 2001, 16:36:30):
+... hat sich eine Spielpause von drei Wochen eingehandelt. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Killende Magier (Muadib,  9. Dez 2001, 17:53:07):
+Hi,
+
+ich moechte hiermit eventuell vorhandene Missverstaendnisse ausraeumen.
+Kills durch Magier sind genau so wie auch andere Playerkills NICHT erlaubt.
+Wer sich trotz dieser Klaerung in Zukunft in dieser Hinsicht befleissigen
+will, muss dann halt mit den auftretenden Konsequenzen leben.
+Wer Opfer eines killwuetigen Magiers wird und dies nicht direkt bemerkt wird,
+sowas kommt vor, der melde sich bitte bei mir oder einem Erzmagier seines oder
+ihres Vertrauen.
+Viel Spass noch weiterhin
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+PK-Spieler und T-Online (Muadib, 20. Sep 2002, 10:46:53):
+Hi,
+
+nachdem ich die letzten Tage das zweifelhafte Vergnuegen hatte um die 20 Chars
+eines einzigen PK-Spielers von T-Online zu loeschen, habe ich nun die Netze
+217.80.0.0 und 217.84.0.0 bis Dienstag gesperrt. 
+Ich hoffe dass in dieser Zeit keine neuen Spieler aus diesem Bereich abgewehrt
+werden.
+
+Die Telekom ist benachrichtigt ueber den Stoerenfried und unternimmt
+hoffentlich etwas. Die bisherigen Erfahrungen zeigen, dass die Telekom
+durchaus taetig wird.
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+SPAM (Muadib, 25. Sep 2002, 15:48:45):
+Hi,
+
+wie es scheint werden auch ins MG Spammails verschickt. Mich wuerde
+interessieren wie gravierend das Problem zur Zeit ist. 
+Daher waere es nett wenn ihr mir ne kleine Rueckmeldung geben koenntet, falls
+ihr schon mal Spammail ins MG bekommen habt.
+Die Rueckmeldung koennt ihr gerne per teile-mit machen, auch wenn ich idle
+bekomm ich das dann schon mit :)
+
+Danke
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Aenderung an ewigen Spielpausen (Muadib, 27. Okt 2002, 10:40:08):
+Hallo,
+
+ich habe die Liste der Spieler mit nicht
+selbst gesetzten ewigen Spielpausen ueberarbeitet.
+
+Dabei gab es, neben automatisch geloeschten
+Spielern, folgende Ergebnisse:
+
+Einige Spieler mit ewigen Spielpausen wurden
+endgueltig geloescht.
+
+Bei anderen Spielern wurde die ewige Spielpause
+auf einen ablaufenden Zeitraum geaendert.
+
+Diese Begnadigung, ich mag das Wort nicht aber es trifft,
+gilt nur fuer diese Spieler, auf keinen Fall 
+rueckwirkend fuer geloeschte Spieler.
+Auch fuer die Zukunft laesst sich daraus kein 
+Begnadigungsrecht ableiten. 
+
+Selbst wenn es in Zukunft zu Begnadigungen kommen
+sollte, so wird der Gesamtsperrzeitraum mindestens
+zweieinhalb Jahre betragen. 
+Dies ist uebrigens auch, neben dem Vergehen natuerlich,
+massgebend fuer die neuen Sperrzeiten.
+
+Fuer Magier gibt es keine Begnadigung.
+
+Normalerweise nenne ich in solchen Artikeln soweit
+moeglich keine Namen, in diesem Fall jedoch scheint 
+es mir angebracht um tausende von Nachfragen und 
+Geruechte zu vermeiden.
+
+Somit also die Namen.
+
+Geloescht wurden:
+telnet
+kuschel
+kampfblech
+golomon
+
+Begnadigt wurden:
+slyrella
+slyfox
+slycat
+shodo
+selissa
+schlawiner
+sammler
+nummerzwei
+nummereins
+maula
+marena
+kan
+darth
+cheng
+
+Gruss
+
+Muadib
+
+
+-----------------------------------------------------------------------------
+
+
+
+Erinnerung und Hinweis (Muadib,  7. Nov 2002, 14:29:45):
+Hi,
+
+ich moechte hiermit daran erinnern, dass Komplettloesungsscripte fuer Quests
+nicht erlaubt sind. Hier sind nicht irgendwelche Q-Zaehler oder Namenwuerfler
+gemeint, sondern Scripts welche eine Quest komplett loesen.
+
+Dann habe ich noch einen kleinen Hinweis: wird mit copy&paste gearbeitet und
+ueberdecken die einkopierten Eingaben viele Kommandos, so ist dies schlicht
+und einfach nicht von einem Script zu unterscheiden und wird auch so behandelt
+werden.
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Waffenfertigkeiten (Muadib,  5. Feb 2003, 15:11:49):
+Hi,
+
+im Zusammenhang mit den Waffenfertigkeiten moechte ich ganz kurz 
+darauf hinweisen, dass "totideln" ohne Ansprechbarkeit als Skript
+betrachtet wird. 
+Wer will kann das genau mit "hilfe regeln" nachlesen.
+
+Nur mal so.
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+KL, FPListen etc (Muadib, 25. Feb 2003, 14:56:46):
+Hi,
+
+aus aktuellem Anlass moechte ich darauf hinweisen, dass Veroeffentlichungen
+von KLs, FPListen, etc. gegen die Regeln verstoesst und entsprechend geahndet
+wird.
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Offizielle Beschwerde (Muadib,  2. Apr 2003, 20:21:49):
+~#! rn=Towarisch rt=1049238277 rg=polizei.beschwerden
+~#! tid=1049238277
+das posten in die mpa als gast ist erlaubt. darueber besteht sicher keine
+uneinigkeit.
+ebenso erlaubt ist das loeschen von artikeln von gaesten in der mpa durch
+grimmborn. soweit ich das sehe macht er eben dieses auch mit der angemessenen
+konsequenz.
+
+
+-----------------------------------------------------------------------------
+
+
+
+spielpause (Muadib, 17. Apr 2003, 15:55:24):
+gibt es fuer nen tag fuer muadib wegen gescrolles an einem unschuldigen
+mudder.
+das ist durchaus als exempel zu sehen.
+
+
+
+
+
+
+
+fuer erboste: ->  :)
+
+-----------------------------------------------------------------------------
+
+
+
+Spassobjekte (Muadib, 17. Jun 2003, 15:25:59):
+Hi,
+
+es gibt im MG doch so einige Objekte in Spielerhaenden, die da eigentlich gar
+nicht hinkommen duerften den Weg dorthin aber doch mit Hilfe magischer
+Taetigkeit gefunden haben.
+Dies Objekte sind meistens mehr oder minder spassige Gimmicks und greifen ins
+Spielgeschehen kaum ein.
+Mit einer Ausnahme:
+Sie bevorzugen die Spieler, die einen Magier kennen, der einem so etwas
+programmiert und in die Haende gibt und wecken absolut verstaendliche
+Begehrlichkeiten bei denjenigen die eben keine solchen Objekte haben.
+Das ist recht unfair.
+Zudem ist das Clonen und Weitergeben von Objekten an Spieler fuer Magier nicht
+erlaubt.
+
+
+Deswegen werde ich wann immer mir solche Objekte auffallen, sie aus dem Spiel
+nehmen und mit dem entsprechenden Magier eine Loesung angehen.
+Es geht mir nicht darum meine Verknackstatistik zu erhoehen, sondern nicht
+gerechtfertigte Benachteiligung von Spielern zu vermeiden.
+Ich werde mit ziemlicher Sicherheit nicht aktiv nach solchen Objekten suchen,
+aber ich denke schon dass mir ein oder zwei Auffallen werden.
+
+Es gibt uebrigens einen ganz einfachen Weg als Magier solche Spassobjekte
+dennoch ins Spiel zu bringen: genehmigen lassen und anschliessen!
+Dann haben auch alle was von.
+
+Gruss
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Vanion... (Zook, 23. Sep 2003, 22:46:41):
+... wird fuer die Woche vom 29. September bis zum 5. Oktober der Ansprech-
+Erzmagier vom Dienst bzw. falls Euch das lieber ist, Euer "Vertrauens-EM";
+wendet Euch also in allen Dingen hoeflichst an ihn.
+
+Zook.
+
+PS: Warum steht das in polizei.bekanntmachungen?
+PPS: Mal sehen, wann das jemand verlegt.... ;)))))
+
+-----------------------------------------------------------------------------
+
+
+
+Faken von Spielern (Zook,  8. Nov 2005, 14:12:08):
+Hallo liebe Mitspieler und besonders liebe Mitmagier,
+
+ich will noch einmal darauf hinweisen, dass das Faken von Spielern via 
+Echoall oder irgendwie via Tools auf den Ebenen unerwuenscht ist und bitte
+Euch dies dringend zu unterlassen. 
+
+Sollte ich dennoch einmal eines solchen Fakers habhaft werden, duerfte es
+um sein Savefile sehr schlecht bestellt sein. Nur, dass sich hinterher
+keine beschwert, er haette nich gewusst... 
+
+i.A. Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Aushilfen rauswerfen! (Zook, 10. Feb 2006, 14:59:04):
+Ich notifiziere, dass der Sheriff, also Muadib, nun wieder vollends seine
+Aufgaben uebernimmt und mich als Aushilfe rausgeworfen hat. Also alle
+Beschwerden, Anzeigen, Bestechungsgelder nun direkt an Muadib. Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaubsvertretung (Zook,  1. Okt 2006, 19:17:03):
+Hallo zusammen, unser Sheriff befindet sich derzeit im Urlaub (wie war das
+mit 24/7? ;). Ich uebernehme seine Urlaubsvertretung. Ich stehe also fuer
+alle Fragen rund um Regeln, Regelverstoesse und aehnliches zur Verfuegung. 
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaubsvertretung (Muadib,  4. Okt 2006, 13:24:09):
+~#! rn=Zook rt=1159723023 rg=polizei.bekanntmachungen
+~#! tid=1159723023
+was hat mein urlaub mit 24/7 zu tun?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Urlaubsvertretung (Zook,  4. Okt 2006, 14:50:11):
+~#! rn=Muadib rt=1159961049 rg=polizei.bekanntmachungen
+~#! tid=1159723023
+Pssssst! Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Aus gegebenem Anlass (Humni,  1. Okt 2007, 18:16:36):
+... weise ich darauf hin:
+
+* Nicht jeder Name, der nicht gebanisht ist, ist auch geduldet. Insbesondere
+Namen, die ausgesprochen gebanishten Namen aehneln, koennen mit Loeschung
+rechnen.
+* JEDER Zweitie muss markiert werden. Nicht erst mit Level 5. So bald wie
+moeglich. Dazu darf man auch gerne einen Magier ansprechen (der sich
+natuerlich irgendwie vergewissern sollte, dass das wirklich ein Zweitie des
+entsprechenden Spielers ist).
+
+Ich weiss nicht, ob und wer solche Geruechte wie "erst mit Level 5 muss man
+sich markieren" verbreitet. Sie sind jedenfalls falsch.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Aktive Spieler (Amaryllis, 16. Feb 2008, 20:28:30):
+Hallo zusammen,
+
+ich moechte aus aktuellem Anlass nochmal auf die Regelung hinweisen, dass nur
+maximal 2 aktive Charaktere pro Spieler erlaubt sind. Das gilt auch fuer
+"verliehene" Charaktere. Alles, was darueber hinausgeht, darf nur noch
+kommunizieren, aber z.B. nicht mitmetzeln o.ae. - das gilt auch fuer
+"einfache" Taetigkeiten wie "dumm rumstehen und bei Gelegenheit Knoepfe
+druecken" etc.
+
+Zum genauen Wortlaut einfach nochmal die Regeln studieren.
+
+Danke fuer die Aufmerksamkeit.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Ueben an "ewigen" Monstern (Amaryllis, 29. Feb 2008, 23:15:31):
+Hi,
+
+ich moechte aus aktuellem Anlass darauf hinweis, dass Ueben an Monstern, die
+ewig stehen, als Bugausnutzung betrachtet wird - auch, wenn der Char
+ansprechbar ist.
+
+
+Sonderfaelle, bei denen das ausdruecklich so gewuenscht ist, koennen mir gerne
+mitgeteilt werden - dann bitte mit entsprechender Begruendung.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ueben an "ewigen" Monstern (Amaryllis, 29. Feb 2008, 23:17:21):
+~#! rn=Amaryllis rt=1204323331 rg=polizei.bekanntmachungen
+~#! tid=1204323331
+Ingrid:
+
+Beispiele wie die Puppe im Struv gelten bereits als Ausnahme ;)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Libori (Amaryllis,  2. Mar 2008, 14:12:55):
+14 Tage Spielpause wegen Uebeskriptens im Imbiss. Vorbehaltlich
+Skillreduktion.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Libori (Amaryllis,  2. Mar 2008, 14:29:26):
+~#! rn=Amaryllis rt=1204463575 rg=polizei.bekanntmachungen
+~#! tid=1204463575
+Aufgrund von Rueckfragen:
+
+Ist als erster Warnschuss zu verstehen. Weitere Vergehen dieser Art (dies sich
+wohl eingebuergert haben, wie ich leider feststellen muss) koennen auch anders
+geahndet werden.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Banker (Amaryllis, 28. Mai 2008, 21:47:39):
+Hi,
+
+$subject hat wegen Uebeskriptens eine kleine Denkpause und Anpassung des
+geskripteten Skills erfahren.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Banker (Amaryllis, 28. Mai 2008, 22:17:01):
+~#! rn=Amaryllis rt=1212004059 rg=polizei.bekanntmachungen
+~#! tid=1212004059
+Ingrid:
+
+Desweiteren wuerde ich dringend darum bitten, dass Banker richtig markiert
+wird, so dass der Erstie erkennbar ist.
+Sonst werd ich sauer ;)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Hougan... (Amaryllis, 12. Aug 2008, 20:17:52):
+...ist der Rennleitung ins Netz gegangen.
+
+Ergebnis fuer Uebeskripten: Spielpause und Skillabzug beim geuebten Skill.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Ennox + Mesirii (Amaryllis, 29. Aug 2008, 18:42:12):
+Hi,
+
+wegen KL-Veroeffentlichung wurden o.g. Charaktere zu 3 Monaten Spielpause
+verdonnert.
+
+Ich moechte an dieser Stelle nochmals darauf hinweisen, dass sowas kein Scherz
+ist und z.B. in der Vergangenheit bei Slyfox inkl. aller X-ties zu einer
+"lebenslangen" Spielpause gefuehrt hat.
+
+Bitte macht sowas nicht, und verderbt dadurch auch nicht den Nutzniessern den
+Spass.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Abstufung Grimmborn (Rumata, 17. Mar 2009, 09:57:36):
+~#! on=Rumata ot=1237280157 og=bekanntmachungen
+Hallo,
+
+Grimmborn hat sich wiederholt an Spielern zu schaffen gemacht,
+und sich dabei auch noch dilettantisch angestellt.
+
+
+So darf man in Zukunft hier nicht mehr mit Magiertools herumlaufen.
+
+Deshalb verhaengen wir (die EMs)
+- einen Monat Spielpause,
+- *permanente* Rueckstufung auf Level 15
+- Verlust aller Magiertools
+
+Fuer die EMs,
+  Rumata
+
+-----------------------------------------------------------------------------
+
+
+
+Kanyahon (Amaryllis, 25. Mar 2009, 21:02:47):
+2 Monate Spielpause wegen Versenden einer Quest-Loesung.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Tot-Idlen von NPCs (Amaryllis,  5. Mai 2014, 20:32:55):
+Hi,
+
+aus gegebenem Anlass nochmal der Hinweis, dass $subject verboten ist, wenn der
+Char nicht ansprechbar ist...
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Bugaunutzung (Amaryllis, 22. Sep 2015, 09:01:13):
+Hi,
+
+durch den Reboot wurde u.a. ein Bug entfernt, der anscheinend schon recht
+lange existiert und die Chaosgilde betraf.
+Ich kann mir nur schwer vorstellen, dass ich der erste gewesen sein soll, der
+dies "rausgefunden" hat.
+
+Ich moechte an dieser Stelle gar nicht weiter darauf herumreiten oder jemanden
+verdaechtigen, sondern nur dies zum Anlass nehmen, nochmal auf das Thema
+"Regeln" bzgl. "Bugausnutzung" hinzuweisen.
+
+Gruss,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
