UNItopia News: Brett Computer, Gruppe HomeMud, Artikel 246
-------------------------------------------------------------------------------
Titel: HomeMud-FAQ
Artikel: 246 Bezug: 0
Verfasser: Croft Datum: 05.10.03 15:48:13
-------------------------------------------------------------------------------
------------------------------------------------------------------------------
-
_ _ _ _ ___ _ _
| | | | \ | |_ _| |_ ___ _ __ (_) __ _
| | | | \| || || __/ _ \| '_ \| |/ _` |
| |_| | |\ || || || (_) | |_) | | (_| |
\___/|_| \_|___|\__\___/| .__/|_|\__,_|
|_|
_ _ __ __ _ _ ____ _____ _ ___
| | | | ___ _ __ ___ ___| \/ | | | | _ \ | ___/ \ / _ \
| |_| |/ _ \| '_ ` _ \ / _ \ |\/| | | | | | | |___| |_ / _ \| | | |
| _ | (_) | | | | | | __/ | | | |_| | |_| |___| _/ ___ \ |_| |
|_| |_|\___/|_| |_| |_|\___|_| |_|\___/|____/ |_|/_/ \_\__\_\
Verfasser: Croft@UNItopia
Datum: 05.10.2003 15:45
Aktuelle Version ist stets am Brett Computer:HomeMUD zu finden.
URL: http://www.unitopia.de/cgi-bin/news?news=/Computer/HomeMud
-------------------------------------------------------------------------------
Fragen in dieser HomeMud-FAQ vom 05.10.03:
1. Was ist ein HomeMud?
2. Was ist der (Game)Driver?
3. Was ist die MudLib?
4. Ich will ein HomeMud. Wie bekomme ich eins?
5. Der Driver findet die MudLib nicht: 'Bad mudlib directory'?
Der Master laesst sich nicht laden: 'Failed to load master object
'secure/master''?
6. Allgemein: Das HomeMud faehrt nicht hoch oder stolpert ueber sehr viele
Fehler! Was kann ich tun?
7. Das HomeMud faehrt hoch aber es gibt dabei viele Fehlermeldungen ala
'Illegal use of save|restore_object'! Was nun?
8. Wie werde ich Gott in meinem HomeMud?
9. Wie werde ich Admin in meinem HomeMud?
10. Ok. Das HomeMud hab ich jetzt. Aber die Enzyclopedia laeuft nicht.
Was tun?
11. Damit tut es auch noch nicht richtig. Es kommt dabei zu einer Too Long
Evaluation!
12. Wo aendere ich den Namen des Muds?
13. Und wo sind jetzt die Domains und aehnliche Verzeichnisse wie /z?
14. Ich darf nicht ueberall schreiben!?! Einigen Objekten scheinen Rechte
zu fehlen?
15. Ich habe im HomeMud viele schoene Sachen programmiert. Wie kann ich
die nun in UNItopia eingliedern lassen?
16. Ich will aus meinem HomeMud ein richtiges Mud machen. Was sollte ich
beachten?
17. Zugriffsbeschraenkungen: Was ist ACCESS.ALLOW? Was heisst 'No Matching
Entry.'?
18. Was ist der ERQ? Was will mir 'exec of erq demon '*/erq' failed.'
sagen?
19. Ich bin Gott in UNItopia und will im HomeMud fuer UNItopia
programmieren. Mir fehlen aber einige Sachen wie z.B. die
Monsterrassen. Wo finde ich die?
---------------------------------------------------------------------------
1. Was ist ein HomeMud?
Ein HomeMud ist nichts anderes als ein Mud, das man bei sich zu Hause
auf dem Rechner hat. In der Regel sind es nur wenige Raeume und wird
als ruhige (garantiert niemand, der dazwischenredet oder bruellt) und
billige (das Modem kann ruhen) Programmierumgebung benutzt. Das
HomeMud besteht aus 2 Teilen: dem (Game)Driver und der MudLib.
---------------------------------------------------------------------------
2. Was ist der (Game)Driver?
Der (Game)Driver ist sozusagen das Herz des Muds. Er kuemmert sich um
die externe Funktionalitaet (das Einloggen, usw) bzw. stellt auch die
Programmierumgebung und einen gewissen Teil der Funktionen.
Die erste Version des Drivers wurde 1989 von Lars Pensjoe entwickelt.
Daher stammen auch die Bezeichnungen LPMUD (Lars Pensjoe MUD) und LPC
(Lars Pensjoe C). Auf ihn spielt auch der Lars bei TOD an. Ab 1991
kuemmerte sich Joern Rennecke (Amylaar) um die Weiterentwicklung und
seit 1997 ist Lars Duening (Mateese) zustaendig.
UNItopia benutzt die 'current' Version des LDMud Drivers. Zum jetzigen
Zeitpunkt (05.10.03) wird die Version 3.2.10-dev.600 verwendet.
Der Driver kuemmert sich noch nicht um die Sprache. D.h. mit diesem
Driver werden sowohl englische als auch deutsche Muds betrieben. Die
Driversourcen findet man entweder auf dem UNItopia-Server unter
ftp://ftp.unitopia.de/Driver/LDMud/ldmud*.tar.gz
oder direkt auf der Homepage des LDMud-Projektes
http://www.bearnip.com/lars/proj/ldmud.html
Eventuelle Diffs fuer die verschiedenen Patchlevel befinden sich auch
dort. Die Diffs werden unter Unixen mit
gzip -cd <Diff> | patch -p1 -d <Verzeichnis_in_dem_die_Sourcen_sind>
angewendet. Falls gzip meckert, ist das Diff evtl. schon im Klartext.
Wie der Driver zu installieren ist, entnimmt man der beiliegenden
INSTALL-Datei. Meist reicht es in src/settings/unitopia die 'exec
./configure [..]'-Zeile anzupassen, anschliessend aus dem
src-Verzeichnis heraus die Datei auszufuehren und mit 'make', 'make
install', 'make utils', 'make install-utils' den Driver zu uebersetzen
und zu installieren. Letztlich kann man mit strip den Driver von
ca. 1.8 MB auf ca. 0.7 MB verkleinern.
Mit Hilfe der Cygwin-Tools auf
http://sourceware.cygnus.com/cygwin/
kann man sich den Driver auch unter Win32 selbst uebersetzen.
Wer zu faul ist sich den Driver selbst zu compilieren findet bereits
uebersetzte Versionen auf dem UNItopia-FTP-Server.
Fuer Linux:
ftp://ftp.unitopia.de/Driver/Linux/driver.bin-*.tar.gz
Fuer Win32:
ftp://ftp.unitopia.de/Driver/Win32/bin-ldmud-*.exe
Im Laufe der Zeit hatte das Binary des Drivers verschiedene Namen.
Ganz alte Versionen hiessen 'parse', aeltere Versionen 'driver'.
Heutzutage nennt sich das erzeugte Binary 'ldmud' (jeweils
gegebenenfalls gefolgt von einer Versionsnummer).
---------------------------------------------------------------------------
3. Was ist die MudLib?
Wenn der Driver das Herz des Muds ist, dann ist die MudLib (Library =
Bibliothek) der restliche Koerper des Muds. In ihr befinden sich viele
Standardobjekte und Funktionen, die man so braucht. Mittlerweile gibt
es recht viele verschiedene MudLibs. Die deutschsprachigen MudLibs
basieren meist auf der MudLib von Morgengrauen oder UNItopia.
Da die MudLibs von den jeweiligen Admins weiterentwickelt werden,
entstehen natuerlicherweise nach und nach Unterschiede.
Die MudLibs der Muds sind meist auf deren FTP-Servern zugaenglich.
Die UNItopia-MudLib ist unter
ftp://ftp.unitopia.de/UNItopia/mudlib.tar.gz
ftp://ftp.unitopia.de/UNItopia/muddocs.tar.gz
zu finden. Ersteres ist die MudLib und zweiteres die Doku der MudLib.
Falls die MudLib mal nicht mit dem Driver will, sollte man sich von
beidem die neueste Version besorgen.
---------------------------------------------------------------------------
4. Ich will ein HomeMud. Wie bekomm ich eins?
Das haengt davon ab, auf was fuer einem System es aufgebaut werden
soll.
Man besorgt sich einen passenden Driver fuer das System (vgl Frage 2).
Entweder direkt als Binary oder als Source, den man selbst uebersetzt.
Und man braucht noch eine MudLib (vgl Frage 3). Hat man beides, steht
dem eigenen HomeMud eigentlich nichts mehr im Wege.
Fuer Windows gibt es mittlerweile auch ein Driver-Mudlib-Bundle, in
dem das HomeMud komplett vorkonfiguriert ist:
ftp://ftp.unitopia.de/pub/Driver/Win32/HomeMUD-yyyymmdd.zip
yyyymmdd steht hierbei fuer das Erstellungsdatum.
Ansonsten lohnt sich vielleicht auch ein Blick nach
http://www.unitopia.de/
ftp://ftp.unitopia.de/
ftp://ftp.uni-stuttgart.de/pub/misc/games/mud/
ftp://ftp.mud.de/
---------------------------------------------------------------------------
5. Der Driver findet die MudLib nicht: 'Bad mudlib directory'?
Der Master laesst sich nicht laden: 'Failed to load master object
'secure/master''?
Dann sucht der Driver wohl an der falschen Stelle nach der MudLib. Mit
'ldmud -m<Pfad>' kann man den Driver auf die richtige Spur bringen.
Alternativ sollte man beim Uebersetzen des Drivers das korrekte
Verzeichnis in der richtigen Settings-Datei angeben.
Zweitere Fehlermeldung kann allerdings auch bedeuten, das der Master
zwar an der richtigen Stelle liegt, aber ihn irgendjemand verpfuscht
hat. In diesem Falle sollten noch diverse Compile-Fehler angezeigt
werden.
---------------------------------------------------------------------------
6. Allgemein: Das HomeMud faehrt nicht hoch oder stolpert ueber sehr viele
Fehler! Was kann ich tun?
Stelle sicher, dass du eine moeglichst aktuelle Version des Drivers und
der MudLib hast (vgl Frage 2 und 3). Mitunter kann es auch sein das
der neuste Driver Probleme hat, dann ist es ratsam den Driver zu nehmen
mit dem UNItopia gerade laeuft ;-). Diese Version findet man entweder
mit einem 'wer unitopia' von einem anderen Mud aus oder ueber
http://unitopia.uni-stuttgart.de/cgi-bin/wer
heraus.
Manchmal wird vergessen die Datei /doc/driver/setup_mudlib der MudLib
auszufuehren. Hiermit werden einige wichtige Verzeichnisse und Dateien
angelegt, die sich nicht in den Archiven befinden.
Falls es trotzdem Probleme gibt: Schreibe einen Artikel an das
Computer/HomeMud Brett. Hierbei solltest du dein Betriebssystem, die
Driverversion, eine kurze Beschreibung des Problems und evtl Teile des
Debug-Logs bzw. der Driver-Ausgaben im Artikel angeben. Meistens findet
sich recht schnell die Loesung.
---------------------------------------------------------------------------
7. Das HomeMud faehrt hoch aber es gibt dabei viele Fehlermeldungen ala
'Illegal use of save|restore_object'! Was nun?
Zwei moegliche Ursachen:
Falls es sich um Objekte aus dem apps/ Verzeichnis handelt, die sich
nach var/ abspeichern oder von dort laden wollen, so liegt der Verdacht
nah, dass der MudLib beim Auspacken an einigen Stellen Carriage Returns
(CR aka ^M aka \r) als Zeilenende-Kennung hinzugefuegt wurden, da ein
vermeintlich intelligenter Entpacker unter Windows auf Grund seiner
Einstellungen dies fuer noetig hielt. Irgendwo unter den Optionen
laesst sich die 'smart decompression of tars' (oder so aehnlich)
abstellen und noch mal neu die MudLib auspacken.
Die andere Moeglichkeit waere, dass den Objekten die Rechte fehlen sich
zu saven und zu restoren. Entweder die Rechte vergeben oder einfach
die gesammten Zugriffsrechte deaktivieren (vgl Frage 14).
---------------------------------------------------------------------------
8. Wie werde ich Gott in meinem HomeMud?
Dazu muss man das HomeMud verlassen haben. Man nehme sich mit einem
Editor das eigene Playerfile vor und aendere die Zahl die beim Eintrag
"level" steht von 1 auf 25. Man sollte etwas aufpassen beim editieren,
da sonst die Datei nicht mehr korrekt eingelesen werden kann.
Die Playerfiles finden sich unter
/var/players/<Anfangsbuchstabe>/<Name>.o
also z.b. fuer Croft waere es
/var/players/c/croft.o
Wenn man sich nun einloggt, sollte man Level 25 haben.
---------------------------------------------------------------------------
9. Wie werde ich Admin in meinem HomeMud?
Um Admin zu werden, trage man seinen kleingeschriebenen Namen in der
MudLib in /sys/config.h in das Define ADMINS ein. Damit das ueberall
aktiv ist, sollte man das HomeMud kurz runter und wieder hochfahren.
Alternativ kann man auch den Driver mit 'ldmud -D ADMINS='({"croft"})''
starten.
---------------------------------------------------------------------------
10. Ok. Das HomeMud hab ich jetzt. Aber die Enzyclopedia laeuft nicht.
Was tun?
Man lese das README im MudLib-Verzeichnis und stolpere ueber das
zc /apps/help_tool->do_read()
das man als Admin (vgl Frage 9) ausfuehren muss.
---------------------------------------------------------------------------
11. Damit tut es auch noch nicht richtig. Es kommt dabei zu einer Too
Long Evaluation!
Dann sollte man den Driver mit einer hoeheren Evalgrenze starten.
Unter Linux waer das z.B. mit 'ldmud -E500000'.
Alternativ koennte man dem Driver beim Uebersetzen schon eine hoehere
Evalgrenze setzen.
---------------------------------------------------------------------------
12. Wo aendere ich den Namen des Muds?
Man schaue in der MudLib nach /sys/config.h und aendere das
entsprechende Define MUD_NAME. Alternativ starte man den Driver mit
'ldmud -D MUD_NAME='"Croftopia"''.
---------------------------------------------------------------------------
13. Und wo sind jetzt die Domains und aehnliche Verzeichnisse wie /z?
Tja, du hast halt nicht UNItopia bei dir auf dem Rechner, sondern nur
ein HomeMud mit der UNItopia-MudLib. Die Domains sind nicht fuer den
Hausgebrauch gedacht. Es gibt zwar halboeffentliche Tars, aber die
sind nur fuer Domainlords und Leuten mit aehnlichen Aufgabenfeldern
zugaenglich.
---------------------------------------------------------------------------
14. Ich darf nicht ueberall schreiben!?! Einigen Objekten scheinen Rechte
zu fehlen?
Goetter und Objekte haben hier nur bestimmte Zugriffsrechte. Man muss
bestimmten Gruppen angehoeren um auf bestimmte Files Rechte zu haben.
Im HomeMud ist das wohl alles eher ueberfluessig, deswegen ist es
ratsam den Driver mit 'ldmud -D NO_ACLS' zu starten. Dann darf im
HomeMud jeder und alles ueberall zugreifen. Damit sind dann auch
weitere Probleme mit Objekten, denen die Rechte fehlen, hinfaellig.
---------------------------------------------------------------------------
15. Ich habe im HomeMud viele schoene Sachen programmiert. Wie kann ich
die nun in UNItopia eingliedern lassen?
Zitat Gnomi:
"Nur um es klarzustellen: Das Gott-Sein ist eine notwendige Bedingung
dafuer, dass es in UNItopia eingegliedert wird, es gibt aber keine
Garantie dafuer. In der Tat ist diese Reihenfolge (erst was im HomeMUD
bauen, dann Gott werden, dann einbauen) aeusserst unguenstig, weil vor
Beginn eines Projektes das Konzept mit den zustaendigen Goettern
diskutiert werden soll, um schon im vornherein Probleme und Fehler zu
vermeiden und den Einbau sicherzustellen. Schliesslich kann es
passieren, dass keinem Dein Projekt gefaellt, weil es z.B. nirgendwohin
passt. Diese Diskussion des Konzeptes faellt bei Dir weg, was dann im
Nachhinein zur Ablehnung Deines Projektes oder zu grossen Aenderungen
fuehren kann. Ausserdem fehlen Dir bei Beginn des Projektes Ressourcen
von UNItopia, was dazu fuehren kann, dass Du Objekte programmierst, die
es schon laengst in UNItopia gibt, Dir aber nicht zur Verfuegung
stehen. (Falls Du keine Freunde hast, welche sich in der Programmierung
in UNItopia auskennen, kann es dazu kommen, dass Du zu altem Codestyle
tendierst, also veraltete Funktionen, welche es nachwievor gibt,
nutzt.) Daher solltest Du Dir ueberlegen, erst Gott in UNItopia zu
werden und dann Dein Projekt in Angriff zu nehmen.
Ach ja, und dann gibt es immer noch die Moeglichkeit, dass an einem
solchen Projekt bereits in UNItopia gearbeitet wird, so dass ein
zweites garantiert nicht eingebaut wird..."
---------------------------------------------------------------------------
16. Ich will aus meinem HomeMud ein richtiges Mud machen. Was sollte ich
beachten?
In
http://unitopia.uni-stuttgart.de/misc/auchwill.html
steht eine Zusammenstellung dessen, was man so beachten sollte, wenn
man ein eigenes Mud aufmachen will. Desweiteren findet sich ein leider
durchaus realistisches Szenario eines neuen Muds dort.
---------------------------------------------------------------------------
17. Zugriffsbeschraenkungen: Was ist ACCESS.ALLOW? Was heisst 'No Matching
Entry.'?
Mit ACCESS.ALLOW kann man bestimmen, welche IPs wann Zugriff auf das
HomeMud haben.
Die Syntax der Regeln ist kurz gesagt:
<ipnum>:[p<port>]:<class>:<max>:<start>:<end>:<text>
<ipnum>:[p<port>]:<class>:<max>:h<hours>:w<days>:m=<text>
Eine genauere Dokumentation befindet sich in der ACCESS.ALLOW Datei,
die den Driver-Sourcen beiliegt.
Steht nur nachfolgende Zeile in der Datei, so kann sich jeder zu jeder
Zeit einloggen:
*.*.*.*:0:-1:0:0:No msg
Falls in der Datei z.B. nur folgender Eintrag drinsteht, koennen sich
nur Nutzer von localhost im HomeMud einloggen:
127.0.0.1:0:-1:0:0:No msg
Die Fehlermeldung 'No Matching Entry.' deutet an, das zu einem
versuchten Zugriff kein Eintrag gefunden konnte. Das passiert
z.B. falls sich nur der localhost-Eintrag im File befindet und sich
jemand von aussen einloggen will. In diesem Fall koennte man mit
der Zeile
*.*.*.*:1:0:0:0:Externer Zugriff auf das HomeMud ist nicht erlaubt.
einen dezenten Hinweis geben.
---------------------------------------------------------------------------
18. Was ist der ERQ? Was will mir 'exec of erq demon '[..]' failed.'
sagen?
Der ERQ ist der External Request Demon. Mit dessen Hilfe ist es
moeglich externe Programme auszufuehren, also z.B. einen NPC an
gnuchess anzubinden, damit dieser Schach spielen kann.
Genauere Dokumentation befindet sich unter /doc/concepts/erq.
Die Fehlermeldung deutet daraufhin, dass sich der ERQ nicht an der
Stelle befindet, an der ihn der Driver vermutet. Entweder ist der
Eintrag in der Settings-Datei des Drivers falsch oder der ERQ ist
schlichtweg nicht installiert. Da man allerdings den ERQ im HomeMud in
der Regel nicht braucht, empfiehlt es sich den Driver mit 'ldmud -N' zu
starten. Damit wird der ERQ nicht aktiviert und somit auch nicht
vermisst.
---------------------------------------------------------------------------
19. Ich bin Gott in UNItopia und will im HomeMud fuer UNItopia
programmieren. Mir fehlen aber einige Sachen wie z.B. die
Monsterrassen. Wo finde ich die?
Unter /static/adm/ und /var/ befinden sich im HomeMud nicht alle
Dateien, die es in UNItopia gibt. Z.B fuer die Monsterrassen empfiehlt
es sich /var/MONSTER_DEFS ins HomeMud zu kopieren.
Es wird momentan ueberlegt fuer Goetter mit HomeMud ein spezielles
Archiv zusammenzustellen, in dem derartige Dateien enthalten sind,
damit man sie sich nicht immer einzeln und ungepackt ziehen muss.