diff --git a/doc/lfun/AddInfo b/doc/lfun/AddInfo
index 193e407..c684fe0 100644
--- a/doc/lfun/AddInfo
+++ b/doc/lfun/AddInfo
@@ -23,8 +23,8 @@
       Schluesseltext(e) auf die Informationen gegeben werden sollen.
 
    string/closure meldung
-      Information, die gegeben werden soll/Closure Bekommt nichts
-      uebergeben.
+      Information, die gegeben werden soll; wenn 'meldung' eine
+      Closure ist, wird der gerufenen Funktion nichts uebergeben.
 
    string indent
       Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
@@ -62,7 +62,9 @@
    Silent:
       Bei 'silent'==1 erfolgt keine Textausgabe der Antwortmeldung im
       Raum, ist 'silent' ein String, so wird jener an alle anderen
-      Spieler ausser dem Fragesteller im Raum ausgegeben.
+      Spieler ausser dem Fragesteller im Raum ausgegeben. Dem
+      ausgegebenen Text wird der Name des NPCs als Indent
+      vorangestellt.
 
    Casebased:
       Die als Closure angegebene Methode entscheidet, ob oder wie der
@@ -106,9 +108,9 @@
        "Ich habe zwar kein Geld, aber [...] blablabla [...]",
        "sagt: ");
    AddInfo("muenzen",
-       "fluestert: Du willst Geld?",
+       "fluestert: Du willst Geld?\n",
        0,
-       "fluestert @WEM1 etwas zu.");
+       "fluestert @WEM1 etwas zu.\n");
 
    // "frage monster nach geld": alle im Raum hoeren
    //  Das Monster sagt: Ich habe zwar kein Geld, aber [...]
@@ -148,7 +150,7 @@
 
    AddInfo(({"keks","kekse"}),
        #'query_kekse,"        // ein Verweis auf die Funktion
-       sagt: ",
+       "sagt: ",
        0,                     // nicht silent :)
        #'case_fighting);      // noch ein Funktionsverweis
 
@@ -185,50 +187,58 @@
    protected string question_gold() {
      // wieviel Kohle hat der Spieler
      int money = this_player()->QueryMoney();
-     string* y = map(deep_inventory(this_player()),
-                   function string(object o) {
-                     if(o->QueryMaterial(MAT_GOLD)>0 &&
-                        strstr(object_name(o),"/items/money")<0 &&
-                        o->QueryProp(P_NAME))
-                       return o->name(WER,1);
-                   })-({0});
+     string* valuables = ({});
+
+     // Wertgegenstaende suchen, d.h. Material kein Gold,
+     // Objekt kein Geld, und auch nicht unsichtbar
+     foreach(object o : deep_inventory(this_player()))
+     {
+       if ( o->QueryMaterial(MAT_GOLD)>0 &&
+            load_name(o) != "/items/money" &&
+            o->QueryProp(P_SHORT) &&
+            !o->QueryProp(P_INVIS) )
+       {
+         valuables += ({o->Name(WER,1)});
+       }
+     }
 
      // das geht an alle anderen im Raum, silent bietet sich hier
      // nicht an, weil es mehrere Moeglichkeiten gibt
      send_room(environment(),
-       (Name(WER,1)+" murmelt "+
-        this_player()->name(WEM,1)+
-        " etwas zu"+
-        ((money || sizeof(y))?
-          " und glotzt "+this_player()->QueryPronoun(WEN)+" gierig an.":
-          ".")),
+       sprintf("%s murmelt %s etwas zu%s.",
+               Name(WER,1),
+               this_player()->name(WEM,1),
+               (money || sizeof(valuables))?
+                 " und glotzt "+this_player()->QueryPronoun(WEN)+
+                 " gierig an" : ""),
        MT_LOOK|MT_LISTEN,
        MA_EMOTE, 0, ({this_player()}));
 
-     // und hier die Antwort an den Spieler selbst, mit vielen
-     // Verzweigungen fuer dessen Besitztum
-     return("Ich hab kein Gold bei mir."+
-       ((money || sizeof(y))?
-         " Aber du "+
-         (money?
-           "hast ja jede Menge Kohle bei dir, so etwa "+money+
-           " Muenzen."+
-           (sizeof(y)?
-             " Ausserdem "+
-             ((sizeof(y)==1)?"ist":"sind")+
-             " auch noch "+CountUp(y)+" aus Gold.":
-             ""):
-           (sizeof(y)?"hast ja ein paar Wertsachen dabei: "+
-           CountUp(y)+
-           (sizeof(y)==1?" ist":" sind")+
-           " aus Gold.":"")):
-         ""));
+     // Und hier die Antwort an den Spieler selbst, mit diversen
+     // Verzweigungen fuer dessen Besitztum.
+     string reply = "Ich hab kein Gold bei mir.";
+     string verb = sizeof(valuables) ? "ist" : "sind";
+     if ( money )
+     {
+       reply += " Aber Du hast ja jede Menge Kohle bei dir, so etwa "+
+                money+" Muenzen.";
+       if ( sizeof(valuables) )
+         reply += sprintf(" Ausserdem %s auch noch %s aus Gold.",
+                    verb, CountUp(valuables));
+     }
+     else if ( sizeof(valuables) )
+     {
+         reply += sprintf(
+           " Aber Du hast ja ein paar Wertsachen dabei: %s %s aus Gold.",
+           CountUp(valuables), verb);
+     }
+     return reply;
    }
 
    // "frage monster nach gold"
    // - der Fragesteller hoert zB:
-   //   Das Monster murmelt: Ich hab kein Gold bei mir. Aber du hast ja
-   //   Das Monster murmelt: jede Menge Kohle bei dir, so etwas <number>
+   //   Das Monster murmelt: Ich hab kein Gold bei mir. Aber Du hast ja
+   //   Das Monster murmelt: jede Menge Kohle bei Dir, so etwa <number>
    //   Das Monster murmelt: Muenzen. Ausserdem ist/sind noch <object1>
    //   Das Monster murmelt: und <object2> aus Gold."
    // - die Umstehenden hoeren:
diff --git a/doc/props-liste b/doc/props-liste
index 745a671..d62564f 100644
--- a/doc/props-liste
+++ b/doc/props-liste
@@ -796,6 +796,8 @@
 
 * P_TEAM_WIMPY_ROW
 
+* P_TELNET_KEEPALIVE_DELAY
+
 * P_TELNET_RTTIME
 
 * P_TESTPLAYER
diff --git a/doc/props/P_SYNTAX_HELP b/doc/props/P_SYNTAX_HELP
index 1d1cb67..a4f4cdf 100644
--- a/doc/props/P_SYNTAX_HELP
+++ b/doc/props/P_SYNTAX_HELP
@@ -6,8 +6,7 @@
 NAME
 ====
 
-   P_SYNTAX_HELP
-      "lib_p_syntax_help"
+   P_SYNTAX_HELP                        "lib_p_syntax_help"
 
 
 DEFINIERT IN
@@ -24,8 +23,10 @@
    angezeigt, wenn der Spieler das Kommando "syntaxhilfe <objekt>"
    eingibt. Die Property kann verschiedene Datenstrukturen enthalten:
 
-   1) ein String Der String wird angezeigt, hierbei ggf. umgebrochen,
-   vorhandene Zeilenumbrueche werden beibehalten.
+   1. ein String:
+
+   Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
+   Zeilenumbrueche werden beibehalten.
 
    2. ein Array: ({hilfetext, bedingungen})
 
diff --git a/doc/props/P_TELNET_KEEPALIVE_DELAY b/doc/props/P_TELNET_KEEPALIVE_DELAY
new file mode 100644
index 0000000..6c91627
--- /dev/null
+++ b/doc/props/P_TELNET_KEEPALIVE_DELAY
@@ -0,0 +1,45 @@
+
+P_TELNET_KEEPALIVE_DELAY
+************************
+
+
+NAME
+====
+
+   P_TELNET_KEEPALIVE_DELAY "p_lib_telnet_alive_delay"
+
+
+DEFINIERT IN
+============
+
+   <player/telnetneg.h>
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property kann der zeitliche Abstand zwischen zwei
+   Aussendungen der "Telnet Timing Mark", welche fuer das Telnet keep-
+   alive benutzt wird, bestimmt werden. Die Angabe ist in Heartbeats.
+   Eine 0 fuehrt zu einer Standardverzoegerung (zur Zeit 240 s).
+
+   Wenn diese Property in einem Magier (oder Spieler) gesetzt wird,
+   sollte experimentell ermittelt werden, welcher Wert sinnvoll ist.
+   Dies kann z.B. dadurch erfolgen, dass von 120 (Heartbeats) eine
+   stufenweise Reduktion erfolgt, bis kein Disconnect mehr erfolgt.
+   Helfen sehr niedrige Werte nicht, sollte die Verzoegerung wieder
+   erhoeht werden bzw. das Keepalive ganz abgeschaltet werden.
+
+
+BEMERKUNGEN
+===========
+
+   Die Property sollte nicht auf weniger als 30 gesetzt werden.
+
+
+SIEHE AUCH
+==========
+
+   *../pcmd/telnet*
+
+25.07.2019, Zesstra
diff --git a/doc/wiz/homemud b/doc/wiz/homemud
index cd23d87..2f703c3 100644
--- a/doc/wiz/homemud
+++ b/doc/wiz/homemud
@@ -11,7 +11,8 @@
    Distribution abweichen):
 
    libjson0/json-c, libssl, libsqlite3, libpcre3, libxml2, libgcrypt,
-   libpcre3, libiconv
+   libpcre3, libiconv (diese ist bei neueren Distributionen in
+   libc6-dev enthalten).
 
    Beachte, dass man auf debianbasierten System auch die
    entsprechenden Entwicklerpackete (**-dev*) mitinstallieren muss,
@@ -22,7 +23,7 @@
 =======================================
 
    Mit den folgenden Schritten installiert man die gegenwaertige
-   mudlib und einen Driver der Version LDMUD-3.5.x.
+   mudlib und einen Driver der Version LDMUD-3.5.x (x < 99).
 
    1. Lade den aktuellen Driver unter
       https://github.com/ldmud/ldmud herunter. Du kannst auch das Repo
@@ -56,22 +57,30 @@
       "ldmud <port>" kannst Du auch den Port bestimmten, auf welchem
       das Homemud laeuft.
 
-   Optional kannst Du noch den Namen des Mudgottes von Jof auf etwas
-   anderes aendern, das geht wie folgt:
+   9. Einloggen als "jof".
 
-     mv save/j/jof.o save/t/thomas.o
-     mv secure/save/j/jof.o secure/save/t/thomas.o
+   Optional kannst Du *anschliessend* den Namen des Mudgottes von Jof
+   auf etwas anderes aendern, das geht wie folgt:
+
+     clone /obj/tools/MGtool
+     xcall $me->SetProp(P_START_HOME, "/players/thomas/workroom");
+     ende
+
+   Auf der Shell:
+
+     mv data/save/j/jof.o data/save/t/thomas.o
+     mv data/secure/save/j/jof.o data/secure/save/t/thomas.o
      # (beachte den Namen des Unterverzeichnisses, es ist der erste Buchstabe
      # Deines Namens. )
-     sed -i 's/jof/thomas/' secure/save/t/thomas.o
+     sed -i 's/jof/thomas/' data/secure/save/t/thomas.o
      mkdir -p players/thomas
      mv players/jof/workroom.c players/thomas/workroom.c
 
-   Nachdem Login muss man nun noch den Workroom anpassen:
-
-   clone /obj/tools/MGtool
-   xcall $me->SetProp(P_START_HOME, "/players/thomas/workroom");
-   save
+   Beachte hierbei allerdings, dass in Homemuds immer automatisch
+   sichergestellt wird, dass "Jof" existiert. Falls noetig, wird diesr Char
+   ohne Passwort angelegt. Ist Dein Homemud erreichbar, gibt "jof" bitte ein
+   Passwort und lasse den Char bestehen. (Alternativ muss Du das File
+   /secure/testmud.c anpassen.)
 
 
 Beispielinstallation
@@ -91,23 +100,9 @@
    # Alternative
    git clone https://mg.mud.de/gerrit/mudlib-public mudlib
    cd <mudhome>
-   cd <mudlib>
-   mv save/j/jof.o save/t/thomas.o
-   mv secure/save/j/jof.o secure/save/t/thomas.o
-   # (beachte den Namen des Unterverzeichnisses, es ist der erste Buchstabe
-   # Deines Namens. )
-   sed -i 's/jof/thomas/' secure/save/t/thomas.o
-   mkdir -p players/thomas
-   mv players/jof/workroom.c players/thomas/workroom.c
    bin/ldmud
    # oder
    bin/ldmud -m <alternative path to mudlib> <alternative port>
+   # Einloggen als Jof.
 
-Nachdem Login muss man nun noch den Workroom anpassen:
-
-   clone /obj/tools/MGtool
-   xcall $me->SetProp(P_START_HOME, "/players/thomas/workroom");
-   save
-
-Letzte Aenderung: 2018-12-09 von Deaddy (auf Basis von Zesstras engl.
-Anleitung)
+Letzte Aenderung: 2019-07-31 Zesstra
