\documentstyle[a4,iso,times,german,titlepage]{report}
\title{
	{\Huge\bf EazyBBS}\\
	The Advanced Mailbox System\\
	{\bf Benutzerhandbuch}
}
\author{
	Andreas M. Kirchwitz\\
	Seesener Str. 69\\
	D--10709 Berlin\\
	Tel.~873376
	\and
	Sven Polewacz\\
	Bartningallee 7\\
	D--10557 Berlin\\
	(Co-Autor)
}
\date{Letzte Änderung: \today\\
	Copyright \copyright\ 1988-1993
}
\pagestyle{headings}
\begin{document}
% \setcounter{secnumdepth}{2}
\setcounter{tocdepth}{4}
\maketitle
\sloppy

\tableofcontents

\chapter{Copyright Notice}
\section{Mut zu Neuem}

Wer EazyBBS nachmacht oder verfälscht oder nachgemachte oder
verfälschte
sich verschafft und in Verkehr bringt, wird mit Gurus nicht unter zwei
Stück bestraft.

Den ernsten Leser bitten wir, die letzten Witzeleien dieses Handbuchs
zu entschuldigen und versichern ihm, daß es ab hier nichts mehr zu
lachen gibt! [CBM 8050 Bedienungshandbuch]

\section{Allgemein}

Das Programmierer--Team von EazyBBS (in Zukunft lapidar als "`wir"'
bezeichnet) lehnt jede Art von Garantien ab, welche die Tauglichkeit
der Software für einen bestimmten Zweck versprechen. Wir haften nicht für
Fehler in der Dokumentation und auch nicht für Schäden, die durch den
Gebrauch dieser Dokumentation, deren Inhalt oder unserer Software direkt
oder indirekt entstehen.

{\bf Wir behalten uns vor, jederzeit Änderungen an dieser Dokumentation oder
deren Software vorzunehmen, ohne jeden Anwender davon zu benachrichtigen.}

\section{Beschränkte Garantie}

Wir garantieren, daß:
\begin{itemize}
\item das Material, Disketten und Dokumentation nicht beschädigt sind.
\item die Software ordnungsgemäß zusammengestellt ist.
\item die Dokumentation vollständig ist und alle Informationen enthält,
	die wir für die Bedienung der Software als erforderlich halten.
\item die Software im Prinzip so funktioniert, wie es in der Dokumentation
	beschrieben ist.
\end{itemize}

\noindent {\bf Wir haften nicht für direkte oder indirekte Schäden.}
\medskip

Wir lehnen jede Art von Haftung oder stillschweigender Garantie ab,
insbesondere, daß sich die Produkte von uns für einen ganz bestimmten
Zweck eignen. Wir beschränken unsere Garantie auf das Ersetzen defekter
Disketten und Programme.

Entsprechend obenstehender Angaben tragen Sie als Anwender die
Verantwortung, mit Ihrem Programm sorgfältig umzugehen, und damit auch
die Kosten mutwilliger Beschädigungen und Fehler außerhalb der
obengenannten Beschränkungen.

\section{Anwenderlizenz}

Der Kauf unserer Software bedeutet für Sie das Akzeptieren der
Bedingungen dieser Lizenz!

Wir behalten uns alle Rechte für Ihre Programme vor. Jedes Programm fällt
unter diesen Lizenzvertrag. Ein entsprechendes Vergehen wird geahndet.

\subsection{Erlaubter Gebrauch}
Das Programm darf nur auf einem einzigen Computer mit einem einzigen
Bildschirm verwendet werden. Sie dürfen eine oder mehrere Kopien dieses
Programms herstellen, damit Sie über ausreichend Kopiedisketten
verfügen, falls Ihre Arbeitsdisketten zerstört werden. Dazu dürfen Sie
eine und nur eine Kopie des Programms auf Ihrer Harddisk machen.

\subsection{Unerlaubter Gebrauch}
Ohne ausdrückliche schriftliche Bewilligung von uns dürfen Sie
folgendes {\em nicht} tun:

\begin{itemize}
\item Das Programm in Verbindung mit mehr als einem Computer gleichzeitig
	verwenden.
\item Das Programm, Kopien davon oder dessen Dokumentation an jemand
	anderes verkaufen.
\item Erstellen von Kopien des Programms, der Dokumentation oder von
	Disketten, ausgenommen derjenigen Kopien, die in diesem
	Lizenzvertrag bewilligt sind.
\item Die Verwendung des Programms in einem Netzwerk, einem
	Time--Sharing--System, einem interaktiven Fernsehnetzwerk, einem
	Mehrprozessorsystem oder einem Mehrplatzsystem, falls nicht eine
	spezielle Lizenz von uns vorliegt, beziehungsweise jeder einzelne
	Benutzer über eine eigene Lizenz mit uns verfügt.
\item Veränderungen am Programm vornehmen.
\item Das Übertragen des Programms oder das Bewilligen einer Unterlizenz,
	Vermietung oder das Übertragen weiterer Rechte auf andere.
\item Eine wörtliche oder übertragene Übersetzung der Dokumentation oder
	des Programms erstellen.
\item Anpassen des Programms an eine andere Hardware.
\item Durchführen telefonischer oder elektronischer Datenübertragung
	des Programms. (gilt nicht für unregistrierte Version)
\item Vertrieb oder Vermietung des Programms an andere auf dauernder oder
	auch nur vorübergehender Basis.
\end{itemize}


\section{Beendigung der Lizenz}

Die Lizenz gilt als beendet, wenn Sie alle Disketten, Dokumente und
Kopien aller Art zerstören. Diese Lizenz fällt ebenfalls dahin, wenn Sie
gegen eine der obengenannten Bedingungen verstoßen. Sie sind in einem
solchen Fall verpflichtet, all Ihre Disketten, Dokumente und Kopien aller
Art zu vernichten.

\section[Unregistrierte Version]{Copyright bei unregistrierter Version}

Vielleicht halten Sie zur Zeit unter Umständen die unregistrierte Version
von EazyBBS in Händen.  Dies bedeutet:

Das Copyright auf alle Teile des Programms liegt bei uns, den Programmierern.
Jedoch steht es jedem frei, das Programm privat zu testen und/oder zu
verbreiten.  Wer Gefallen an dem Programm findet und mehr Support wünscht,
kann sich an uns wenden (Adresse, siehe am Ende) und EazyBBS käuflich
erwerben.  Es gilt ansonsten das oben Gesagte.

\section{Illegale Benutzung}
Sollten wir entdecken, daß irgendjemand mit unserem Programm eine
offizielle Mailbox fährt, ohne das Programm gekauft zu haben, gibt
es Haue.  Hey, sei ehrlich!  Kauf, was Du benutzt!

\section{xprzmodem.library}

Die {\em xprzmodem.library} ist nicht Bestandteil von EazyBBS.

Wir rühmen uns daher auch nicht, daß EazyBBS Z-Modem
beherrsche, sondern wir weisen nur darauf hin, daß es
unterstützt wird. Dieser (und kommenden) Libraries ist es
zu verdanken, daß EazyBBS gemessen an seinen Leistungen
relativ preiswert ist. Es sollte daher die Pflicht jedes
ehrlichen Käufers sein, den Autoren von
XPR\footnote{External File Transfer Protocol}-Libraries
durch Zusenden einer "`Anerkennung"' Dank zu sagen.

EazyBBS läuft auch einwandfrei ohne die {\em xprzmodem.library},
freilich ohne Z-Modem.

\section{UUCP Software}

AmigaUUCP-Software ist nicht Bestandteil von EazyBBS.

Solche Netzwerk-Software ist in guten Mailboxen und auch von manchen
Universitäten gratis erhältlich und wird meist als "`Freely Distributable"'
oder "`Shareware"' vertrieben.  Es obliegt Ihnen, die Arbeit der jeweiligen
Autoren angemessen zu honorieren.

Einführungen und Anleitungen zu UUCP finden Sie in der Regel
ebenfalls dort, woher Sie die Software beziehen können.

\chapter{Allgemeine Übersicht}

Die folgende kurze Übersicht erhebt keinesfalls Anspruch auf Vollständigkeit.
Sie soll nur einen groben Einblick in die Funktionsvielfalt von EazyBBS
bieten.

\section{Implementierte Features}
\begin{itemize}
\item mehrsprachige Benutzerführung, maximal neun Sprachen\\
	(bei Benutzereingaben, Bildschirmausgaben und Befehlen)
\item frei definierbare Befehle (Wortsteuerung)
\item Multi-User (mehrere Benutzer gleichzeitig)
\item Unterstützung multi-serieller Schnittstellenkarten
\item Datei-Übertragungs-Protokolle:\\
	X-Modem, X-Modem CRC und X-Modem 1K ("`YModem"');\\
	außerdem Z-Modem--Support mit {\em xprzmodem.library}
\item Befehle, Dateinamen, Boards, Files etc. können abgekürzt werden
\item zusätzlich UNIX--Pattern-Matching bei diversen Befehlen
\item Online-Hilfe in der Mailbox für alle Befehle\\
	(ähnlich UNIX-Befehl "`man"')
\item Online-Games möglich  ("`Greed"' bereits built-in,\\
	"`Sokoban"' und "`Global War"' extern erhältlich)
\item extrem schneller Fullscreen-Editor\\
	(benötigt gute VT100- bzw. VT102-Emulation)
\item komfortable Fullscreen-Eingabemasken\\
	(zum Editieren von Benutzerdaten etc.)
\item ANSI-Support auch für Benutzer\\
	(d.~h. Farben, Fettdruck, Unterstreichen etc.)
\item diverse sog. User-Variablen, die sich auf den aktuellen User beziehen
\item umfangreiches, themen-bezogenes Message- und File-System\\
	(einfach zu bedienen durch Menüsteuerung)
\item persönlicher "`Newstree"' für jeden Benutzer ermöglicht
	individuelles Anzeigen neuer Daten seit letztem Zugriff
\item Wartung kann auch komplett von außerhalb (extern) erfolgen
	(einerseits durch die simulierte Shell-Ebene mit direktem Zugriff auf
	angeschlossene Peripherie, andererseits durch diverse Befehle zum
	Editieren von Texten, Rubriken, Benutzern mittels leicht bedienbarer
	Fullscreen-Eingabemasken)
\item alle Parameter und Texte frei vom System-Betreiber editierbar,\\
	dadurch sieht nicht jedes System aus wie das andere
\item Bildschirm-Modus (Display-Mode) frei einstellbar
\item Größe des Bildschirms frei einstellbar
\item gewünschte Fonts frei einstellbar
\item Binary-Mails, d.~h. Programme mit X/Z-Modem per Mail verschicken
\item Auflisten des Inhalts von Archiven online in der Mailbox
\item Ausgabe von CRC-Prüfsummen online in der Mailbox
\item automatischer, frei konfigurierbarer Datei-Test (File Check)\\
	(leicht erweiterbar)
\item "`Moderated Groups"', d.~h. ein bestimmter Verwalter (Owner) muß
	alle gesendeten Dateien erst per Hand freigeben, bevor die Benutzer
	darauf zugreifen können
\item Unterstützung der Cursor-Tasten bei allen Eingaben
\item Unterstützung deutscher Umlaute für alle gängigen Rechnertypen
	(auch für Laien leicht konfigurierbar)
\item spezieller Text-Transfer-Modus, der Texte nach dem Upload bzw.
	Download mit X/Z-Modem automatisch gemäß der eingestellten
	Umlaute wandelt
\item Batch-Download
\item Batch-Upload
\item Fullscreen-Chat beim Sysop-Call\\
	(heimlicher Mitschnitt in eine Datei möglich)
\item zeilenorientierter (IRC-ähnlicher) Multi-User-Chat\\
	(heimlicher Mitschnitt in eine Datei möglich)
\item Anschlußmöglichkeit an UUCP-fähige Netzwerksysteme\\
	(UseNet, Z-Netz, Maus, Fido usw.)
\item unterstützt AmigaOS 2.0 (und höher)
\item \dots und andere nette Dinge, die wir aus Platzgründen nicht alle
	erwähnen können :-)
\end{itemize}

\section{Geplante Features}
\begin{itemize}
\item Work-Space für jeden Benutzer, wo er Dateien entpacken und neu
	zusammenpacken kann etc.\\
	Quasi eine kleine Shell.
\item bessere Anleitung :-)
\item und vieles anderes mehr, was Benutzer und Sysops an uns herantragen
\end{itemize}

\section{Preise (allgemein)}
Für 200,-~DM kann man EazyBBS kaufen und hat natürlich keinerlei
Einschränkungen. In diesem Fall erhält man die gerade aktuelle Version.
Private Systeme erhalten EazyBBS zum Vorzugspreis von 100,-~DM und
können die Differenz zum vollen Preis ggf. nachzahlen, wenn sie vom
privaten in den öffentlichen Status überwechseln wollen.

\section{Update--Service}

Kein Programm ist perfekt.  So auch EazyBBS.  Darum verbessern wir es
ständig, berücksichtigen dabei Vorschläge von Sysops und Benutzern und
entfernen Fehler (Bugs), die gefunden werden.  Natürlich ist das für uns
mit viel Arbeit verbunden.

\subsection{Updates zum Selbstkostenpreis}
Jeder "`Minor Update" (d.~h.  jede neue Revision) kostet 10,-~DM, sofern er
nicht durch das Entfernen von Fehlern entstanden ist bzw.  {\em wir} der
Meinung sind, ein kostenloser Update sei angemessen.

\subsection{Kostenlose Updates}
Jeder Käufer {\em einen} Update (also eine Revision) seiner Versions-Serie
(d.~h.  V1.x, V2.x, V3.x usw.) frei.  Mit Erscheinen einer neuen Version
erlischt diese Option.

\subsection{Zuschlag für neue Versionen}
Wir behalten uns jedoch vor, "`Major Updates"' (grundlegend neue Versionen)
von EazyBBS mit preislich erhöhter Update-Option zu verkaufen, weil 10,-~DM
den Aufwand nicht mehr rechtfertigen würden.

Desweiteren behalten wir uns vor, Änderungen an dieser Dokumentation oder
deren Software vorzunehmen, ohne jeden Anwender davon zu benachrichtigen.

\subsection{Aktuelle Version}
Es empfiehlt sich, die beim Kauf angegebenen Referenz-Mailboxsysteme für
etwaige Updates zu besuchen und dem Benutzer "`{\tt Big Bonzo}"' eine
entsprechende Meldung in einem dieser Systeme zukommen zu lassen.  Außerdem
können telefonisch (siehe am Ende) oder über UUCP/InterNet jederzeit die
aktuelle Versionsnummer erfragt und andere Auskünfte eingeholt werden.

In der Mailbox {\em ZikZak} (siehe am Ende) wurde für EazyBBS-Kunden
ein spezielles Brett names {\tt System/Forum} eingerichtet, wo Käufer und andere Interessierte
Ideen an die Entwickler herantragen und Fragen stellen können.
In dieser Mailbox erhalten Sie auch Updates der EazyBBS Software.

\section{Hardware-Anforderungen}
Die Voraussetzungen für eine einwandfreie Funktionsweise von EazyBBS
sind --- gemessen am heutigen Standard --- gering.

Sie benötigen einem {\em Commodore Amiga}, der das Betriebssystem {\em
Kick\-start} und die Benutzeroberfläche {\em Work\-bench} in der Version 2.0
(oder höher) benutzt und über mindestens 1 MB Hauptspeicher verfügt.
Desweiteren ist ein beliebiges "`Datenaustauschgerät"' (Modem, ISDN etc.)
nach Hayes-Standard anzuraten (EazyBBS läßt allerdings recht flexibel
anpassen).  Eine Festplatte ist empfehlenswert, aber nicht zwingend
notwendig.

Es soll nicht unerwähnt bleiben, daß der AMIGA mit einem M68000-Prozessor
nicht in der Lage ist, Geschwindigkeiten von mehr als 19200~bps mittels der
internen seriellen Schnittstelle zuverlässig zu verarbeiten bzw.
systemkonform Text mit dieser Geschwindigkeit
flexibel auf dem Bildschirm darzustellen.

Für höhere Geschwindigkeiten wird daher eine Beschleuniger-Karte
(Turbo-Karte) mit M68020 (oder höher) und mindestens 2~MB 32-Bit--Fast-RAM
empfohlen.

\chapter[Installation]{Installation von EazyBBS}

Um das Mailboxsystem EazyBBS zur Benutzung zu installieren, befolgen Sie die
nachstehenden Anweisungen in der aufgeführten Reihenfolge.  Ein wenig
Erfahrung im Umgang mit der Shell (CLI) des Amiga wird vorausgesetzt.  Im
Zweifelsfall schlagen Sie in Ihren Handbüchern nach.

Da aufgrund der Masse von frei einstellbaren Parametern der Umgang mit
diversen Hilfsprogrammen (Editoren, Disk-Utilities usw.) und teilweise
der Shell unumgänglich ist, wird und muß auf eine Installation seitens
der Workbench verzichtet werden.

Der Start eines fertig installierten Systems von der Workbench aus ist
jedoch jederzeit mittels des mitgelieferten Skripts {\tt EazyBBS\_Port1}
möglich, welches ggf. auf die lokalen Verhältnisse angepaßt werden muß.

\section{Neuinstallation}
\begin{enumerate}
\item Richten Sie auf Ihrer Festplatte ein Verzeichnis (Directory) ein, welches ganz
	allein Ihrer Mailbox gehören soll. Artfremde oder eigene Daten dürfen
	dort nicht abgelegt werden. Beispielsweise:

\begin{verbatim}
          makedir dh0:EazyBBS
\end{verbatim}

\item Weisen Sie diesem Verzeichnis das logische Gerät {\tt MB:} zu.

\begin{verbatim}
          assign MB: dh0:EazyBBS
\end{verbatim}

Da diese Zuweisung stets für EazyBBS erforderlich ist, empfiehlt es sich,
sie in die Datei {\tt s:User-Startup} aufnehmen.

\item Kopieren Sie den gesamten Inhalt der mitgelieferten Diskette(n) in
	dieses Verzeichnis. Achten Sie darauf, daß alle Unterverzeichnisse
	(Subdirectories) mitgekopiert werden. Das Datum der Dateien und
	die Status-Flags (Protection Bits) müssen erhalten bleiben.

\begin{verbatim}
          copy df0: MB: all clone quiet
          copy df1: MB: all clone quiet
          ...
\end{verbatim}

Wenn Sie EazyBBS nicht auf Diskette(n), sondern als gepacktes Archiv
erhalten haben, vergewissern Sie sich, daß beim Entpacken die Struktur
der Verzeichnisse, die Status-Flags (Protection Bits) und das Datum der
Dateien erhalten geblieben ist.

\item Setzen Sie den Stack der Shell, von der Sie EazyBBS starten werden,
	auf mindestens 50000. Benutzen Sie andere Programme, die ebenfalls
	intensiv vom Stack Gebrauch machen, muß der Wert ggf. erhöht werden.
	Nach dem Start von EazyBBS kann der Stack bei Bedarf wieder auf einen
	niedrigeren Wert gesetzt werden.

\begin{verbatim}
          stack 50000
\end{verbatim}

Vergessen Sie niemals, den Stack vor dem Start von EazyBBS oder zugehöriger
Programme (Daemons, Utilities etc.) mindestens auf den angegebenen Wert zu
setzen!

\item Weisen Sie nun folgenden Verzeichnissen die entsprechenden
	logischen Geräte zu:

\begin{verbatim}
          assign MB_TMP:   MB:Tmp
          assign MB_DATA:  MB:Data
          assign MB_USER:  MB:User
          assign MB_BOARD: MB:Board
          assign MB_FILES: MB:Files
\end{verbatim}

Da diese Zuweisungen stets für EazyBBS erforderlich sind, empfiehlt es sich,
sie in die Datei {\tt s:User-Startup} aufnehmen.

Dem erfahrenen Anwender ist hiermit ein Mittel in die Hand gegeben, bei
Bedarf Teile der Daten auf verschiedene Geräte zu verteilen.  Beachten Sie,
daß diese logischen Geräte trotzdem auf eigenständige Verzeichnisse
weisen müssen und nicht auf ein gemeinsames Verzeichnis, in dem alle Daten
zusammen abgelegt werden.

Das zu einem {\em Assign} (Zuweisung) gehörige Verzeichnis kann auf
einen beliebigen Datenträger gelegt werden.  Die Zuweisungen für
{\tt MB\_BOARD:} und {\tt MB\_FILES:} dürfen ihrerseits unterteilt werden
mit der Option {\em ADD} des Befehls {\em Assign} (funktioniert aufgrund
eines Fehlers im Betriebssystem derzeit noch nicht).  Die anderen
Zuweisungen dürfen nicht weiter unterteilt werden.

Beim Start von der Workbench muß ggf.  das Skript {\tt Eazy\-BBS\_\-Port1}
entsprechend den lokalen Gegebenheiten angepaßt werden, wenn sie eine andere
Verzeichnisstruktur verwenden möchten.

\item Richten Sie es so ein, daß zum logischen Verzeichnis {\tt LIBS:} das
Mailbox-Verzeichnis {\tt MB:libs} hinzugefügt wird. Dies ist seit der
Betriebssystemversion AmigaOS 2.0 folgendermaßen möglich:

\begin{verbatim}
          assign LIBS: mb:libs add
\end{verbatim}

Da diese Zuweisung stets für EazyBBS erforderlich ist, empfiehlt es sich,
sie in die Datei {\tt s:User-Startup} aufnehmen.

Die {\em eazytools.library} und {\em eazyrecord.library} stellen EazyBBS und
den zugehörigen Programmen Hilfsfunktionen zur Ver\-fü\-gung und verringern
den Speicherverbrauch bei Benutzung mehrerer Ports.

Die {\em eazypattern.library} stammt von Heiko Schlichting und wurde unter SAS/C
speziell für EazyBBS entwickelt. Dafür sind wir sehr dankbar. Die Library
ist frei kopierbar --- alle Rechte liegen bei Heiko Schlichting.

Aus urheberrechtlichen Gründen nicht im Lieferumfang von EazyBBS enthalten
ist die {\em xprzmodem.library} von Rick Huebner.

Achten Sie darauf, daß sich beim Start von EazyBBS alle auf der Workbench 2.0
vorhanden Libraries aus dem {\tt :libs} Verzeichnis in Ihrem aktuellen {\tt LIBS:} Verzeichnis
befinden. EazyBBS ist ohne einige dieser Libraries nicht lauffähig.

Die {\em xprzmodem.library} wird nicht zwingend benötigt.  Ist sie nicht
vorhanden, kann von EazyBBS aus kein Z-Modem--Protokoll zur Übertragung von
Daten verwendet werden.  Man findet die {\em xprzmodem.library} unter
anderem auf der AmigaLibDisk \#236 der Fred-Fish-PD-Serie.  Aktuellere
Versionen der Library sind in vielen Mailboxen erhältlich.

\item Im Directory {\tt MB:PD-Tools} finden Sie andeutungsweise diverse frei
zugängliche Programme, die sehr hilfreich für den Umgang mit EazyBBS sind.
Die Programme werden insbesondere benötigt, um den Inhalt von Archiven zu
listen, Archive auf Korrektheit zu überprüfen und einige andere Dienste
zur Verfügung zu stellen.  Es wird empfohlen, sich diese Programme zu
installieren und über das {\tt path} Kommando EazyBBS zugänglich zu
machen.  Aus urheberrechtlichen Gründen können wir diese Programme nicht
EazyBBS beilegen, allerdings helfen wir gern bei der Beschaffung dieser
Programme.

\item Das Verzeichnis {\tt MB:c} enthält einige Programme, die EazyBBS
benötigt.  Normalerweise ruft EazyBBS diese Programme mit absolutem Pfad
auf, allerdings wenn sie EazyBBS vernetzen wollen oder aus anderen Gründen
auf diese Programme zugreifen wollen, empfiehlt es sich, diese Programme
in den Suchpfad aufzunehmen.  Tun Sie dies mit:

\begin{verbatim}
          path MB:c add
\end{verbatim}

Wenn Sie Programme aus dem EazyBBS-Paket von anderen Programmen aus starten
wollen (z.~B.  Cron, ToolManager), denken Sie daran, den oben genannten
Befehl möglichst früh in der Datei {\tt s:User-Startup} aufzurufen, damit
der Suchpfad bereits korrekt gesetzt ist, wenn andere Programme gestartet
werden.

\item Einige Funktionen von EazyBBS benutzen {\em ARexx} (eine Art
Skriptsprache, die mit jedem Amiga ausgeliefert wird).  Dazu ist es nötig,
ein spezielles Programm namens {\tt RexxMast} zu starten.  RexxMast sollten
Sie am besten in der Datei {\tt s:User-Startup} aufrufen.  Es verbraucht
keine CPU-Zeit (solange es nicht angesprochen wird) und nur sehr wenig
Speicher.

\item Gewisse Einstellungen des Modems kann Ihnen das Programm nicht
abnehmen, weil die Kommandos dafür nicht einheitlich sind.

Bitte lesen Sie deshalb auch  den Abschnitt zur Konfiguration des
Modems, denn sonst kann EazyBBS keine externen Anrufe empfangen.
Bitten ziehen Sie notfalls die Dokumentation Ihres Modems zu Rate,
denn dort werden solche Dinge ausführlich erläutert.

Statt eines Modems können Sie natürlich auch andere
Datenübertragungseinrichtungen wie z.~B.  eine ISDN-Karte verwenden.
\end{enumerate}

Das Mailboxsystem ist nun prinzipiell betriebsfertig installiert.
Allerdings empfehlen wir Ihnen, EazyBBS auf Ihre Bedürfnisse anzupassen,
wozu beispielsweise der Name Ihrer Mailbox, Benutzernamen, individuelle
Begrüßungstexte und andere Ein- und Ausgabemeldungen gehören.

Ebenso kann es nötig sein, erst einige Betriebsparameter der Mailbox
auf Ihre spezielle Systemumgebung anzupassen.  Bitte lesen Sie daher
auch die Kapitel zur {\em Konfiguration} von EazyBBS.

Die mitgelieferte Konfiguration ist mit sinnvollen Daten belegt.  Sie
dient als Beispiel für eine mögliche Konfiguration --- von vielen.

\section{Installation eines Updates}

Aufgrund des konzeptionellen Aufbaus von EazyBBS und der daraus
resultierenden Flexibilität erfordert die Installation eines Updates
ein wenig Geduld und Sorgfalt. Wir bitten, dies zu entschuldigen.

Sofern nicht anders empfohlen, findet man in der bei jedem Update
mitgelieferten und aktualisierten Datei {\tt History.txt} Anweisungen, die
zu befolgen sind.  Die Reihenfolge (chronologisch von oben nach unten) ist
wichtig.

Grundsätzlich bleiben beim Update die Verzeichnisse
{\tt MB\_USER:}, {\tt MB\_FILES:}, {\tt MB\_BOARD:} und {\tt MB\_TMP:}
unangetastet. Zwar kann es sein, daß ein mitgeliefertes, zusätzliches
Programm dort Daten modifizieren muß, um sie für eine neue Version
von EazyBBS aufzubereiten, jedoch dürfen von den mitgelieferten
Update-Disketten keine Daten in diese Verzeichnisse kopiert werden.

Normalerweise werden Sie folgendes tun, um die wichtigsten Dateien
eines Updates zu installieren (angenommen, in Laufwerk {\tt df0:}
befindet sich der Update):

\begin{verbatim}
          copy df0:c mb:c all clone quiet
          copy df0:libs mb:libs all clone quiet
          copy df0:History.txt mb:History.txt clone quiet
\end{verbatim}

Neben neuen Versionen des Hauptprogramms, der Daemons, Libraries und
Zusatzprogramme ist in der Regel das Verzeichnis {\tt MB\_DATA:} von
Bedeutung.  Dort befindet sich eine große Anzahl von Konfigurationsdateien,
Hilfsdateien und Mailboxdaten.  Da jeder Systembetreiber viele Dateien auf
die eigenen Bedürfnisse angepaßt haben wird, empfiehlt es sich nicht, das
alte Verzeichnis unkontrolliert mit dem neuen zu überschreiben.

Mit passenden Utilities (beispielsweise {\em find}) muß ermittelt werden,
welche Dateien sich geändert haben.  Die eigenen Dateien sind dann gemäß
den Vorgaben der Anleitung bzw.  der oben erwähnten Datei {\tt History.txt}
an die neue Version anzupassen.  Sollten Sie Fragen oder Probleme haben,
helfen wir Ihnen gern.  Wir sind uns der Tatsache bewußt, daß Updates
(leider) nicht sehr komfortabel bewerkstelligt werden können.

Ein anderer Weg besteht darin, die zu EazyBBS mitgelieferten Dateien
beizubehalten, also das alte Verzeichnis {\tt MB\_DATA:} einfach durch das
neue zu ersetzen.  Dies ist freilich die sicherste Methode eines Updates ---
allerdings nicht gerade die einfallsreichste, was die Indivualität Ihrer
Mailbox angeht.  Ihnen bleibt auch nicht erspart, anschließend einige der
alten Einstellungen (z.~B.  Mailboxname, Modemkonfiguration) in die neuen
Daten einzutragen.

\chapter{Konfiguration}

Im Lieferumfang von EazyBBS ist bereits eine benutzbare Beispielkonfiguration
enthalten, die praktische Verwendung in der {\em EazyBBS Support-Mailbox}
findet.  Solche Einstellungen geben einer Mailbox einen individuellen
Charakter.  Sie sagen auch etwas über den Betreiber der Mailbox aus.

Wir empfehlen Ihnen daher, die Konfiguration auf Ihre persönlichen
Bedürfnisse anzupassen.  Die Benutzer Ihrer Mailbox werden es Ihnen danken
und Ihre Mühe durch rege Beteiligung honorieren.

Die mitgelieferte Beispielkonfiguration soll dabei als Referenz dienen.
Sie enthält sinnvolle Vorgabe-Werte (Defaults), an denen Sie sich
orientieren können.

Die Einstellungen für EazyBBS erfolgen überwiegend in menschenlesbaren
Textdateien (ASCII-Files), die mit einem beliebigen Text-Editor bearbeitet
werden können.

Die Überschriften der folgenden Abschnitte enthalten meist die Namen der
Konfigurationsdateien (stets im Verzeichnis {\tt MB\_DATA:}).  EazyBBS unterstützt
sowohl mehrere Ports als auch mehrere Sprachen.  Deshalb steht in den Namen
der Platzhalter {\em \$port} für eine gültige Port-Nummer (1 und aufwärts),
der Platzhalter {\em \$sprache} für eine der neun möglichen Sprachen (1--9,
wobei im Gegensatz zu {\em \$port} die Folge der Zahlen lückenlos bei 1
beginnen muß, d.~h.  gibt es eine Sprache 4, so muß es auch die Sprachen 1--3
geben).

Da sich EazyBBS in drei Systeme ({\em Main, Mail, File}) aufteilt, sind ggf.
für jeden Bereich separat Dateien zu erstellen.  Der Dateiname enthält dann
den Platzhalter {\em \$ebene}, der durch {\tt Main} (BBS), {\tt Mail} (POST)
oder {\tt File} (FILES) zu ersetzen ist (alle drei Dateien müssen jeweils
existieren).

Aufgrund der enormen Flexibilität des Systems kann das unsachgemäße
Ändern der Konfigurationsdateien unvorhersehbare (unangenehme) Folgen haben,
die zum Verlust von Daten führen können.

\section{Fernwartung}

EazyBBS ist darauf ausgelegt, auch von außerhalb bedient und gewartet zu
werden.  Dies bedeutet, Sie können sich z.~B.  von einem Freund aus in Ihre
Mailbox einloggen und von dort die Konfiguration (Einstellungen) ändern.
EazyBBS wird nach Ihrem Logout die Änderungen berücksichtigen.

Alle für den Mailboxbetrieb relevanten Dateien werden beim Start des
Programms und anschließend nach dem Logout jedes Benutzers automatisch
erneut ausgelesen, ohne das Programm neu starten zu müssen.  Über einen
gesonderten Befehl (normalerweise {\tt update system}) kann das System
explizit veranlaßt werden, sofort die geänderten Einstellungen zu
berücksichtigen.

\section{Mailbox Konfiguration}

Wir wollen nun auf die Konfiguration der Mailbox an sich eingehen.  Da sich
sämtliche Konfigurationdateien (egal wofür) im Verzeichnis {\tt MB\_DATA:}
befinden, kann es innerhalb der einzelnen Abschnitte über Mailbox- und
Modem-Konfiguration zu Überschneidungen kommen.  Lassen Sie sich dadurch
aber nicht verunsichern.

Okay, genug der grauen Theorie.  Hier sind nun die Dateien, thematisch
gegliedert \dots

\subsection{System-Einstellungen}

Die System-Einstellungen beeinflussen die Funktionsweise und das Verhalten
der Mailbox.  Der Aufbau (das Format) für die zugehörigen Dateien ist jeweils
festgelegt, so daß die Dateien nur im Rahmen spezieller Regeln geändert
werden können.

\subsubsection[Configuration]{MB\_DATA:Configuration/\$port}
EazyBBS stellt (pro Port) eine globale Konfigurationsdatei zur Verfügung, in
der festgelegten Variablen Werte zugewiesen werden können, um so auf
unkomplizierte Art und Weise EazyBBS an die persönlichen Bedürfnisse
anzupassen.  Der syntaktische Aufbau dieser Datei entspricht einigen durch
{\em UNIX} gesetzten Standards:

\begin{itemize}
\item Ist eine Zeile entweder völlig leer oder beginnt mit einem Doppelkreuz
({\tt \#}) --- wobei hinter dem Doppelkreuz beliebiger Text stehen kann ---, so wird sie als
Kommentar gewertet und ignoriert.

\item Eine Zeile, in der eine Variable mit einem Wert belegt werden soll, beginnt
mit beliebig vielen ($n \geq 0$) Leerzeichen und/oder Tabulatoren. Darauf
folgt der Name der Variablen (Groß-/Kleinschreibung egal) mit mindestens
einem abschließenden Leerzeichen und/oder Tabulator.
Den Abschluß bildet der Wert, den man einer Variablen zuweisen möchte.
Da es sich dabei meist um Zahlenwerte handelt, ist in eigenem Interesse auf
sinnvolle Werte zu achten. Nach dem Variablenwert kann die Zeile entweder mit
{\em Return} abgeschlossen werden oder wiederum mindestens ein Leerzeichen und/oder
Tabulator enthalten mit beliebigem anschließendem Text (der ignoriert wird).

\item Soll der Wert für eine Variable selbst ein Space enthalten, so ist der
Wert in doppelte Anführungszeichen ("` \dots "') zu setzen.

\item Anders aufgebaute Zeilen sind nicht erlaubt.
\end{itemize}

\noindent Folgende Variablen müssen {\em sinnvoll} mit Werten belegt werden:

\begin{description}
\item[Baud, Bits per Second (in bps)]
Die Geschwindigkeit, mit der Modem und Rechner im günstigsten Fall
kommunizieren können.
Bei einem 2400-bps-Modem wäre das z.~B. die Zahl {\tt 2400}.

Besitzer von Modems mit optimierter Datenübertragung (Fehlerkorrektur,
Kompression) (meist $> 2400$ bps) sollten die maximale Geschwindigkeit
angeben, mit der Rechner und Modem fehlerfrei kommunizieren können.  Dies
sind heutzutage meist {\tt 19200} oder {\tt 38400} bps.  Teilweise auch
höher.  Das Modem ist dabei auf eine feste Geschwindigkeit (fixed
DTE\footnote{Data Terminal Equipment} rate) einzustellen, so daß das Modem
ausschließlich und immer mit dieser Geschwindigkeit (der höchstmöglichen)
betrieben wird.

Die hier angegebene Übertragungsrate beschreibt nur, mit welcher
Geschwindigkeit Rechner und Modem sich untereinander verständigen
(also z.~B. Kommandos an das Modem gesendet werden). Auf die
tatsächliche Geschwindigkiet, wie sie bei einer externen Verbindung
zustande kommt, hat der Wert keinen Einfluß.

\item[Chat-Status (on/off)]
Möchte man gleich beim Start der Mailbox den {\tt call}-Befehl für Benutzer
sperren (kein Signal an der Console, nur Nachricht an den Benutzer, so ist
diese Variable auf {\tt off} zu setzen.  Entsprechend wird mit {\tt on} der Call
erlaubt.

\item[ChatLog-Status (on/off)]
Möchte man das Mitschneiden (Logging) des Full\-screen-Chats standardmäßig
einschalten, ist dieser Wert auf {\tt on} zu setzen.  Beim Eintritt in den
Chat wird automatisch ein Logfile angelegt im Verzeichnis {\tt MB:} mit dem
Namen des gerade aktiven Benutzers.  Mit {\tt off} schaltet man das
automatische Mitschneiden aus.

Der Zustand wird bei Aktivierung des Chats zusätzlich in der Titelzeile
angezeigt.

\item[ConsoleEditor]
Wenn man von der Console aus eingeloggt ist, liegt es nahe, nicht den
vergleichsweise unkomfortablen internen Editor der Mailbox zu benutzen,
sondern einen frei einstellbaren.  Dies ist hiermit möglich, beispielsweise
durch "`{\tt Ed \%s -sticky}"'. Der angegebene Editor muß sich im DOS-Suchpfad
befinden.

Möchte man dennoch den internen Editor benutzen, kann das spezielle
Schlüsselwort {\tt builtin} benutzt werden.

\item[DefaultPrompt]
Der Text vor der Eingabeaufforderung (Prompt) ist besonders für unerfahrene
Benutzer eine wichtige Hilfe.  Der Prompt sollte Auskunft darüber geben, in
welchem Board bzw.  welcher FileArea man sich befindet.  Die verbleibende
Restzeit kann ebenfalls hilfreich sein.  Trotz allem bietet das Prompt auch
Platz für individuelles Design.  Achten Sie jedoch darauf, daß es nicht zu
lang wird.  Ein gutes Prompt wäre beispielsweise "`{\tt \[\%r\] \%l:\%a\%b$>$ }"'.

Welche Platzhalter im Prompt möglich sind, entnehmen Sie bitte der
allgemeinen Hilfe ({\em MB\_DATA:LongHelp/General.1}).

\item[Download-Overdraw (in Prozent)]
In der ersten Hälfte der Benutzerzeit ist es möglich, daß beim Start eines
Downloads die Benutzerzeit überzogen wird.  Logischerweise bedeutet der Wert
{\tt 0}, daß man die Benutzerzeit nicht überziehen darf, {\tt 100}
bedeutet, daß man das Doppelte der Userzeit mit dem Download verbringen darf
(also 100~\% mehr), {\tt 200} das Dreifache (200~\% mehr) usw.

Werte kleiner als {\tt 0} sind nicht sinnvoll und daher verboten.

\item[FileCommentLines (in Zeilen)]
Die maximale Anzahl der möglichen Zeilen im Editor des File-Systems (FAS)
für den erläuternden Text zu Dateien.

Solch ein Text soll kein Roman werden, sondern er soll dem Benutzer bei der
Entscheidung helfen, ob die Datei für ihn von Nutzen sein könnte. Eine
Bildschirmseite dürfte normalerweise ausrichten.  Tragen Sie hier z.~B.
{\tt 20} ein.

\item[GuestTime (in Minuten)]
Diese Zeit steht Anrufern zur Verfügung, die nicht in das System eingetragen
sind.  Die Zeitspanne sollte ausreichend lang gewählt werden, damit sich
neue Benutzer im System umsehen und gegebenenfalls einen Antrag auf
Eintragung stellen können.

Ein realistischer Wert ist {\tt 15}. Der Wert {\tt 0} sperrt jeglichen
Zugriff für nicht-eingetragene Benutzer.

\item[HangupTime (in Zehntelsekunden)]
So lange hält EazyBBS DTR\footnote{Data Terminal Ready} auf "`low"', um das
Modem zum Auflegen zu veranlassen.  Der Wert muß hoch genug sein, damit das
Modem auch tatsächlich auflegt.  Gegebenenfalls im Modem-Handbuch
nachschlagen.

\item[HarddiskLimit (in Bytes)]
Wenn nach dem Logout des nächsten (oder gerade aktiven Users) nicht
mindestens so viel freie Bytes auf den zur Mailbox gehörenden Geräten
sind, bricht das Programm ab.
Realistisch wären z.~B. {\tt 1000000} Bytes, d.~h. 1 MB.

Man kann somit halbwegs solche Situationen ausschließen,
in denen das System seine eigenen (sehr wichtigen) internen Daten
nicht mehr speichern kann. Der Verlust dieser internen Daten kann
den Verlust sämtlicher Daten des Systems zur Folge haben.

Die Zahl {\tt 0} setzt die Kontrolle außer Kraft.

\item[IntuiFontName]
Gibt den Zeichensatz (Font) an, den das Betriebssystem benutzen soll für
Menüs, Fenstertitel, Requester etc.  Beispielsweise {\tt helvetica.font}.

Der Zeichensatz unterliegt keinen Beschränkungen.

\item[IntuiFontSize]
Größe des unter {\em IntuiFontName} angegebenen Zeichensatzes.

\item[MailboxName]
In dieser Variable steht der Name Ihrer Mailbox.  Der Name sollte
nach Möglichkeit eindeutig, jedoch nicht länger als ca.~30 Zeichen sein.
Die Längenbeschränkung ist keine interne Beschränkung, sondern eine
Empfehlung zur besseren Lesbar-- und Übersichtlichkeit.

\item[MailLines (in Zeilen)]
Die maximale Anzahl der möglichen Zeilen im Editor des Mail-Systems (PMS)
für persönliche Nachrichten.

\item[MailIntroLines (in Zeilen)]
Die maximale Anzahl der möglichen Zeilen im Editor des Mail-Systems (PMS)
für den Intro-Text.

Dieser Text (falls vorhanden) wird anderen Benutzern häufig angezeigt
und sollte daher möglichst kurz gehalten werden. Ein niedriges Limit
(z.~B. {\tt 5}) wird empfohlen.

\item[MailBonus (in Prozent)]
Siehe {\em UploadBonus}; hier jedoch im Zusammenhang mit dem Schreiben von
persönlichen Nachrichten (auch Senden von Dateien) im Mail-System (PMS).

In einer normalen Mailbox ist es nicht üblich, den exzessiven Austausch von
persönlichen Nachrichten zu fördern.  Deshalb sollte dort der Wert auf
{\tt 0} gesetzt werden.

\item[MessageBonus (in Prozent)]
Siehe {\em UploadBonus}; hier jedoch im Zusammenhang mit dem Schreiben von
öffentlichen Mitteilungen im Message-System (BBS).

\item[MessageLines (in Zeilen)]
Die maximale Anzahl der möglichen Zeilen im Editor des Message-Systems (BBS)
für Mitteilungen in Brettern (Boards).

Compiler-bedingt ist die maximale Anzahl von Zeilen auf 65535 Stück
beschränkt und steht im Prinzip für "`unbegrenzt viele"' Zeilen.

\item[ModemDevice]
Das hier angegebene Device wird für die Ansteuerung der seriellen
Schnittstelle verwendet.  Normalerweise ist dies das beim Amiga
mitgelieferte {\tt serial.device}.

Besitzer von internen Modems, Multi-I/O- oder ISDN-Karten kön\-nen hier
den Namen ihres (an die jeweilige Hardware angepaßten) Devices eintragen.

Devices fühlen sich im Verzeichnis {\tt DEVS:} besonders wohl.

\item[ModemUnit]
Hiermit kann die Gerätenummer des unter {\em ModemDevice} spezifierten
Devices angegeben werden.  Besitzer von internen Modems oder sogenannten
Multi-I/O-Karten können hier einen von (normalerweise) {\tt 0} abweichenden
Wert eintragen.

Gibt man den speziellen Wert {\tt -1} an, werden sämtliche Zugriffe auf die
serielle Schnittstelle unterbunden.  Dies ist nützlich, wenn man einen Port
ausschließlich für Console-Logins benutzen möchte. Einige Operationen
laufen dann deutlich schneller ab.

\item[RGB\_Color1, RGB\_Color2, RGB\_Color3, RGB\_Color4]\ \\
EazyBBS arbeitet mit vier Farben.  Diese lassen sich auf die individuellen
Bedürfnisse einstellen.

Beim Amiga setzt sich jede Farbe aus Rot-, Grün- und Blau-Anteilen
zusammen (von 0-15). Der Einfacheit halber ist es üblich, die Anteile
nicht einzeln, sondern nach der Rechenvorschrift \dots

\begin{verbatim}
          RGB_Color = 256*Red + 16*Green + Blue
\end{verbatim}

\noindent\dots zu einer "`Gesamtfarbe"' (0-4095) zusammenzuziehen.  In
eigenem Interesse ist auf gültige Werte zu achten.

Farbe~1 gilt für den Hintergrund, Farbe~2 ist die normale Zeichenfarbe
und die restlichen zwei Farben sind beliebig.

Berücksichtigen Sie, daß Benutzer Ihres Systems mit hoher Wahrscheinlichkeit
andere (individuelle) Farbwerte benutzen. Die hier eingestellten Farbwerte
gelten ausschließlich für Ihren Bildschirm (auf Ihrem Rechner). Sie können
sich nicht darauf verlassen, daß andere Benutzer dieselben Farbtöne verwenden.

\item[RingDelay]
Da EazyBBS nicht die Auto-Answer--Option\footnote{Modem nimmt eingehende
Anrufe selbsttätig, d.~h.  automatisch an} des Modems verwendet, sondern
"`per Hand"' Anrufe entgegennimmt, spezifiziert RingDelay die Anzahl von
Klingelzeichen, bevor ein Anruf akzeptiert wird.  Siehe auch {\em
MB\_DATA:Mo\-dem\-Ring/\$port}.

Der kleinste (sinnvolle) Wert ist {\tt 1} und bedeutet, daß EazyBBS sofort
nach dem ersten Klingelzeichen mit dem Aufbau einer Verbindung beginnt.
Größere Werte können sinnvoll sein, wenn man das Telefon nebenbei
privat nutzen und eine gewisse Chance haben möchte, einen Anruf persönlich
entgegenzunehmen.

Mit dem Wert {\tt 0} verbietet man EazyBBS, auf Anrufe zu reagieren.

\item[ScreenMode]
Seit AmigaOS~2.0 besitzen die verschiedenen Auflösungen (sogenannte Display-Modi)
festgelegte Namen, wie sie beispielsweise beim gleichnamigen
Preferences-Programm {\em ScreenMode} benutzt werden.  Solch einen Namen gibt
man hier an, wenn man möchte, daß EazyBBS seinen Bildschirm (Screen) in
einer bestimmten Auflösung öffnet.

Alternativ kann man das speziellen Schlüsselwort {\tt Workbench} benutzen,
um EazyBBS zu veranlassen, den Display-Modus der Workbench zu kopieren
(clone) und verwenden.

\item[ScreenWidth/ScreenHeight]
Es ist möglich, die Größe des Bildschirms von EazyBBS selbst zu bestimmen.
Dazu muß man diesen Variablen die Breite und Höhe in Pixeln zuweisen.

Einige Umstände sollte man dabei beachten.  Ein eingeschalteter Rahmen um
den Screen (siehe {\em WindowBorder}) nimmt zusätzlich Pixel in Anspruch.
Andererseits hat es aber auch keinen Sinn, den Bildschirm maximal groß zu
wählen, da (je nach Zeichensatz) die Breite des Bildschirms so gewählt
werden sollte (bzw.\ muß), daß genau 80 Zeichen darauf Platz haben.  Bei
der Höhe sind jedoch kaum Grenzen gesetzt (es müssen nur mindestens 25
Zeilen sein).

Weiterhin zu beachten ist, daß ein einmal gesetztes Maß nur noch erhöht,
jedoch niemals herabgesetzt werden sollte, da sich dann automatisch die vom
Benutzer eingestellten Daten für seine persönliche Bildschirmhöhe ändern
und --- wurden sie einmal herabgesetzt --- nicht wieder automatisch erhöht
(nur erniedrigt) werden.

\item[ScreenOpen (on/off)]
Diesen Wert sollte man auf {\tt off} setzen, denn so wird beim Start
der Mailbox der Ausgabebildschirm geschlossen (iconified) gehalten,
damit "`Highspeed-User"' bei der Bildschirmausgabe nicht einschlafen.
Man kann den Bildschirm natürlich jederzeit öffnen.  Dies sollte man
jedoch nur tun, wenn man ihn wirklich benutzt, denn Bildschirmausgabe
belastet den Rechner (auch mit Turbo-Karte) sehr stark.

\item[TaskPriority-Std (-128 -- 127)]
Die Task-Priorität, mit der EazyBBS normalerweise laufen soll.

Es ist ratsam, EazyBBS zumindest eine Priorität von {\tt 2} zu gönnen,
damit Benutzer in der Mailbox flüssig arbeiten können und nicht
beeinträchtig werden durch im Hintergrund laufende Programme.  Ist kein
Benutzer aktiv, verbraucht EazyBBS keine Rechenzeit!

\item[TaskPriority-Xfer (-128 -- 127)]
Die Task-Priorität, mit der EazyBBS bei der Übertragung von Dateien
(File-Transfer) laufen soll.

Normalerweise sollten Sie hier den Wert aus {\em TaskPriority-Std} eintragen,
wenn Sie jedoch EazyBBS mit nur einen Port benutzen und eine optimale
Datenübertragungsrate wünschen, können Sie hier einen relativ hohen Wert
eintragen.

\item[TextFontName]
Gibt den Zeichensatz (Font) an, mit dem Ein- und Ausgabe von Text auf dem
Bildschirm erfolgen soll.  Beispielsweise {\tt topaz.font}.

Der Zeichensatz darf nicht proportional, sondern muß eine feste
Zeichenbreite haben, also vom Typ "`fixed width"' sein.

\item[TextFontSize]
Größe des unter {\em TextFontName} angegebenen Zeichensatzes.

\item[TimeBonusTable]
Wie im Straßenverkehr gibt es auch in Mailboxen gewisse Stoßzeiten.  Um
Anrufer während dieser Stoßzeiten etwas zu bestrafen und Anreiz für einen
Anruf zu anderer Zeit zu schaffen, kann eingestellt werden, ob dem Benutzer
für die aktuelle Sitzung eine bestimme Zeit abgezogen, hinzugezählt oder
nichts dergleichen unternommen wird.

Die Variable umfaßt exakt 24 Zeichen.  Begonnen wird mit der Stunde 0
(00:00-00:59) und geendet mit der Stunde 23 (23:00-23:59).  Ein Plus-Zeichen
'+' bedeutet, daß die Zahl in der Variable {\em TimeBonusPlus} zur aktuellen
Benutzerzeit dazugezählt wird.  Bei einem Minus-Zeichen '--' wird die Zeit
aus {\em TimeBonusMinus} abgezogen.  Ein Gleichheits-Zeichen '=' läßt die
aktuelle Benutzerzeit unverändert.

Die Veränderung der Benutzerzeit ist ausschliesslich für den aktuellen
Anruf gültig!

\item[TimeBonusMinus (in Minuten)]
(siehe {\em TimeBonusTable})

\item[TimeBonusPlus (in Minuten)]
(siehe {\em TimeBonusTable})

\item[Timeout (in Sekunden)]
Mit der Timeout-Zeit ist die Zeitspanne gemeint, in der ein Benutzer keine
Eingabe tätigen kann, ohne daß das System von ihm denkt, er möchte die
Verbindung beenden.  Dieser "`Countdown"' läuft natürlich nur dann, wenn
auch wirklich eine Eingabe verlangt wird.  Ist er abgelaufen, ohne daß eine
Aktion vom Benutzer erfolgte, beendet EazyBBS die bestehende Verbindung und
geht danach erneut online.

Ein gebräuchlicher Wert für wortgesteuerte Systeme ist {\tt 120},
sollte aber im Interesse der Benutzer nicht zu niedrig gewählt werden.
Der Wert {\tt 0} setzt das Timeout außer Kraft, und man nimmt in
Kauf, daß die Box unendlich lang blockiert werden kann.

\item[UploadBonus (in Prozent)]
Da während des Sendens von Dateien die Uhr für die Benutzerzeit nicht
angehalten wird, gibt es hiermit die Möglichkeit, dem Benutzer nach dem
Senden die Zeit wieder zurückgegeben, die er verbraucht hat, um ihn für das
Senden von Dateien nicht zu "`bestrafen"'.

Es wird die Prozentzahl (Teile von Hundert) der verbrauchten Zeit angegeben,
die dem Benutzer gutgeschrieben werden soll.  Also z.~B.  {\tt 100} (Prozent)
für die Rückerstattung der gesamten verbrauchten Zeit, {\tt 50} für die
Hälfte der verbrauchten Zeit oder {\tt 0} für keinerlei Veränderung.

Nach den Gesetzen der Mathematik sind auch Werte über {\tt 100} zulässig.
{\tt 200} steht demnach für die Rückerstattung der doppelten verbrauchten
Zeit usw.

\item[UucpName]
Diese Variable enthält den Netzwerk-Namen Ihrer Mailbox. Im Falle von
UUCP muß dies der vollständige, domainisierte Name sein.  Sind Sie nicht
vernetzt, setzen Sie hier das gleiche ein wie bei {\em MailboxName}.

\item[WindowBorder (on/off)]
Es ist möglich, daß der Bildschirm von EazyBBS einen Rahmen erhält (wie er
gewöhnlicherweise bei Windows existiert).  Belegt man die Variable mit dem
Wert {\tt on}, wird dieser Rahmen gezeichnet.  Mit {\tt off} bleibt der
Bildschirm rahmenlos.

Ein Rahmen benötigt --- abhängig von der Betriebssystemversion --- links,
rechts, oben und unten einige zusätzliche Pixel (unter AmigaOS~2.0 z.~B.
jeweils vier), so daß eventuell {\em ScreenWidth} und {\em ScreenHeight}
verändert werden müssen.

\item[XPRZmodemName]
Normalerweise wird man als Library für die Übertragung mit
Z-Modem--Protokoll die {\tt xprzmodem.library}
verwenden wollen.  Man kann hier aber auch einen anderen Namen angeben.
Es ist nicht möglich, den Namen der Library während des Betriebs zu
ändern; die Änderung des Namens wird erst wirksam, wenn man EazyBBS
beendet und neu startet.

Es ist in eigenem Interesse darauf zu achten, daß die Library den
Konventionen des XPR-Standards 2.0 (oder höher) entspricht.

Libraries fühlen sich im Verzeichnis {\tt LIBS:} besonders wohl.
\end{description}

\subsection{Ein-/Ausgabe}
Es folgen verschiedene Text-Dateien, die (sofern nicht anders angegeben)
von beliebiger Länge sein und prinzipiell beliebige Zeichen
enthalten können. Direkte VT-Codes werden beispielsweise korrekt an
die Gegenstelle gesandt, jedoch auf dem EazyBBS-Screen freilich nicht
ihrer Bedeutung nach gewandelt. Um jedoch seine Texte trotzdem mit
VT-Sequenzen optisch aufbessern zu können, die auch auf dem Bildschirm
von EazyBBS korrekt dargestellt werden, können hier die sogenannten
Backslash-Codes verwendet werden, wie sie in einem späteren Abschnitt
der Anleitung (ANSI/VT-Support) noch genauer spezifiziert werden oder
jederzeit der Datei {\em MB\_DATA:LongHelp/General.1} entnommen werden
können.

\subsubsection[Application]{MB\_DATA:Application}
Vor dem Menü für den Antrag auf Eintragung wird jedem Benutzer dieser Text
angezeigt.  Da im Anschluß daran das System von sich aus fragt, ob man
fortfahren möchte, sollte der Text mit einer entsprechenden Frage enden
({\em ja} für "`Antrag stellen"', {\em nein} für "`Abbruch"').  Außerdem
sollte er einige Informationen zu der folgenden Eingabemaske erhalten, denn
nicht jeder Gast muß schon Erfahrungen mit Mailboxen gemacht haben.

Legt man darauf Wert, empfiehlt sich hier der Vermerk, beim Antrag einen
korrekten (echten) Namen, die Telefonnummer und die Adresse anzugeben zwecks
Überprüfung der Identität des Benutzers.  Für die Teilname an UUCP ist
dies zwingend notwendig.

\subsubsection[GuestHelp]{MB\_DATA:GuestHelp}
Stellt sich während des Logins heraus, daß der Benutzer noch nicht
in das System eingetragen ist (Eingabe eines nicht vorhandenen Namens),
wird diese Datei als {\em Erste Hilfe} angezeigt.

Hier sollte zumindest Erwähnung finden, wie man einen Antrag auf
Eintragung in das System stellt bzw. sich weitere Hilfstexte über
das System anzeigen läßt.

Ebenfalls nicht verkehrt wäre es, den Benutzer darüber zu informieren,
daß EazyBBS ein System ist, welches eine gute VT-Emulation voraussetzt.

\subsubsection[IllegalBaud]{MB\_DATA:IllegalBaud}
Kommt eine Verbindung mit einer unbekannten {\em CONNECT}-Mitteilung zustande,
d.~h. eine Geschwindigkeit, die Ihr Modem möglicherweise beherrscht, dessen
Erkennungs-Code Sie aber (weshalb auch immer) nicht in die Datei
{\em MB\_DATA:Mo\-dem\-Connect/\$port} eingetragen haben, so wird dieser Text angezeigt
und anschließend die Verbindung mit dem Anrufer getrennt.

Man darf nicht vergessen, daß zu diesem Zeitpunkt das System komplett
uninitialisiert ist.  Die Benutzung von {\em User-Variablen} ist strikt
untersagt.

Da wir es hier mit einer unvorhergesehenen Verbindung zu tun haben, sollte
man sich nicht darauf verlassen, daß der Anrufer diesen Text tatsächlich
korrekt lesen kann.

\subsubsection[IllegalTime]{MB\_DATA:IllegalTime}
Kommt eine Verbindung mit zwar bekannter, aber für die aktuelle Zeit
gesperrter {\em CONNECT}-Mitteilung zustande, d.~h.  eine Geschwindigkeit,
die momentan ganz einfach unerwünscht ist, wird dieser Text ausgegeben und
die Verbindung anschließend getrennt.

Bedenken Sie, daß zu diesem Zeitpunkt das System komplett uninitialisiert
ist.  Die Benutzung von {\em User-Variablen} ist strikt untersagt.

\subsubsection[LoginText]{MB\_DATA:LoginText}
Vor dem Login in das System wird diese Datei jedem Benutzer angezeigt.  Da
hier noch nicht klar ist, wer der Anrufer ist und welche Konfiguration er
benutzt, sollte man auf den Einsatz von Umlauten völlig verzichten und mit
VT-Codes besonnen umgehen.

Normalerweise enthält die Datei so etwas wie das Logo Ihrer Mailbox.

\subsubsection[LoginText-UUCP]{MB\_DATA:LoginText-UUCP}
Diese Datei ist nur für ein eventuell installiertes UUCP-Gateway sinnvoll.
Der Text wird sofort ausgegeben, nachdem der Benutzer mit dem passenden
Kommando das UUCP-Gateway aktiviert hat.

Der Text sollte eine kurze und präzise Beschreibung enthalten, was
der Benutzer jetzt tun muß, um sich seinerseits auf UUCP einzustellen.
Das wäre insbesondere die rasche Beendigung seines Terminalprogramms und
der Start seiner UUCP-Software (mit geeigneten Optionen).

\subsubsection[LogoutText]{MB\_DATA:LogoutText}
Nach dem Logout-Wunsch (nicht Relogin!) aus dem System wird jeder Anrufer mit
diesem abschließenden Text beglückt.  Da man davon ausgehen kann, daß
viele Anrufer hier bereits von sich aus die Leitung getrennt haben, sollte
dieser Text nicht allzu wichtige Informationen enthalten.

Merke:  Ein cooler Spruch kommt immer gut an.

\subsubsection[News]{MB\_DATA:News}
Neuigkeiten rund um das System.
Der Text wird nicht-eingetragenen Benutzern immer angezeigt und
bereits eingetragenen nur dann, wenn er ihnen zuvor noch nicht
präsentiert wurde. Ausschlaggebend sind dafür das Login-Datum des
Benutzers sowie das DOS-Datum (Amiga-FileSystem) der Datei.
Beim Editieren der Datei und anschließendem Speichern wird das Datum
in der Regel automatisch auf das aktuelle Datum gesetzt und die
Datei somit allen Benutzern angezeigt.

Halten Sie den Inhalt kurz, und setzen Sie diese Datei sparsam ein, denn
EazyBBS verlangt nach dem Anzeigen eine Bestätigung des Benutzers.
Automatische Login-Skripte werden dadurch verwirrt.

\subsubsection[AlarmSysop]{MB\_DATA:AlarmSysop}
Dieses Programm bzw.  Skript (Flag 's' !) wird ausgeführt, wenn jemand in
der Mailbox versucht, den Sysop mit dem Befehl {\tt call} zu alarmieren bzw.
"`an die Console zu holen"', wie man zu sagen pflegt.

Als erstes Argument wird die Nummer des ausführenden Ports übergeben.
Über ARexx ist Kommunikation mit der Mailbox möglich.

\subsubsection[IllegalTime]{MB\_DATA:SysopIsAway}
Kann der Sysop mit dem Befehl {\tt call} nicht erreicht werden, so
wird dieser Text ausgegeben.

\subsubsection[LogoutProg]{MB\_DATA:LogoutProg/\$port}
Nach jedem Logout eines Benutzers kann auf dem jeweiligen Port der
Mailbox ein frei definierbares Programm (oder Skript) ausgeführt
werden.  Für diese Zeit gibt EazyBBS die serielle Schnittstelle
bedingungslos frei, so daß sich dieser Mechanismus vor allem für
das UUCP-Gateway (Anruf beim Newsfeed) anbietet.

Da EazyBBS während dieser Zeit zwar inaktiv ist, aber dennoch im Speicher
verbleibt und einige Resources der Mailbox hält, ist es strikt verboten,
irgendwelche Mailboxdaten auszulesen oder zu verändern.

Möchte man von der Möglichkeit des Aufrufs eines Programms nach
jedem Logout keinen Gebrauch machen, so empfiehlt es sich, für
den entsprechenden Port auch kein Programm abzulegen.  EazyBBS
prüft zuerst die Existenz eines Programms für den jeweiligen Port
und führt ggf. vor Aufruf des Programms einige Operationen aus,
die etwas Zeit kosten.  Existiert erst gar kein Programm, erkennt
EazyBBS das und geht deutlich schneller wieder online.
(ein simples Anhängen der Endung {\em .o} oder {\em .bak} an den ursprünglichen
Programmnamen reicht bereits aus, damit EazyBBS das Programm nicht
mehr findet)

Verwendet man als Programm ein Skript, so sollte man nicht vergessen,
das Flag 's' zu setzen.

\subsection{Mehrsprachige Dateien}

Ein deutsch-englisches Mischmasch wird bereits als 1.~Sprache mitgeliefert.
Die 1.~Sprache (also mit {\tt 1} am Ende) wird beim Start des Programms
geladen und ist die erste, die {\em jeder} Benutzer beim Login zu sehen
bekommt.  Erst danach wird die vom Benutzer gewünschte Sprache nachgeladen.
Daher wird empfohlen, als "`Sprache 1"' die Landessprache oder Englisch zu
nehmen!

\subsubsection[UserPrograms]{MB\_DATA:UserPrograms/\$nummer}
Es kann manchmal von Vorteil sein, wenn ein Benutzer auch Programme starten
darf, ähnlich dem Sysop vom EazyBBS-CLI aus.  User-Programme werden in dem
genannten Verzeichnis mit den Nummern von {\tt 1} bis $\infty$ (unendlich)
abgelegt.  Es kann sich dabei um Skripts (DOS, ARexx) als auch um echte
ausführbare Programme handeln.  Ausgaben, die nach "`stdout"'
(Standard-Ausgabe) gehen, protokolliert EazyBBS mit und gibt sie
anschließend auf dem Bildschirm aus.

Während der Abarbeitung eines User-Programms stellt EazyBBS Zugriffe auf die
serielle Schnittstelle ein.  User-Programme können also die serielle
Schnittstelle (shared mode) benutzen, ohne daß Konflikte entstehen.

Es besteht kein Zwang, daß die Nummern der Programme "`durchgehend"'
sind.  Wichtig ist prinzipiell nur, daß es sich tatsächlich um
Nummern handelt.

Als erstes Argument wird die Nummer des ausführendes Ports übergeben.
(geplant: Über ARexx ist Kommunikation mit der Mailbox möglich.)

\subsubsection[UserPrograms/Menu]{MB\_DATA:UserPrograms/Menu/\$sprache}
Die Datei enthält eine Übersicht der ver\-füg\-baren User-Programme, die
der Benutzer starten kann.  Es han\-delt sich hierbei um eine reine
Text-Datei, die keinen weiteren Einfluß auf die User-Programme hat.

So können Sie beispielsweise "`geheime"' User-Programme einrichten,
deren Nummern sie nicht im Menü verzeichnen, sondern nur denjenigen
Benutzern nennen, die davon Kenntnis haben sollen.

\subsubsection[ShortHelp/Editor]{MB\_DATA:ShortHelp/Editor/\$sprache}
Aktiviert man im Editor die Help-Funktion (2mal CTRL-V), so wird diese Datei
mit allen erlaubten Editor-Kommandos (eingeleitet durch CTRL) angezeigt.  Da
man diese Editor-Hilfe nur mit {\em Return} verlassen kann, sollte dies auch
in der Datei Erwähnung finden.

\subsubsection[Cmd]{MB\_DATA:Cmd/\$ebene/\$sprache}
Diese Dateien enthalten die Befehle, die das System beherrschen soll und mit
denen Benutzer das System steuern können.  Zu jedem Befehl gehört eine
Kennzahl.  Da die Dateien schon korrekt gefüllt sind, sollte man leicht
erkennen, zu welchem Befehl welche Zahl gehört.  Die Zahlen sind {\em
konstant} und die Befehle {\em frei} editierbar.  Ein Befehl setzt sich aus
maximal zwei Wörtern zusammen, die jeweils aus maximal 15~Buchstaben
bestehen dürfen.

Soll ein Befehl nicht zugänglich sein, wird er einfach aus der Liste
herausgenommen oder auskommentiert.  Um sich näher zu informieren, was die
einzelnen Befehle bewirken, sollte man sich die (weiter unten beschriebenen)
Help-Files ansehen.

Pro Zeile wird ein Befehl definiert.  Zwischen den einzelnen Datenfeldern
jeder Zeile und auch am Zeilenanfang dürfen beliebig viele Leerzeichen oder
Tabulatoren stehen.  Die Gesamtlänge einer Zeile ist jedoch auf ungefähr
70~Zeichen beschränkt.  Das erste Datenfeld ist die Kennzahl.  Darauf folgt
der Befehl.  Besteht ein Befehl nicht nur aus einem, sondern zwei Wörtern,
gilt jedes Wort als eigenständiges Datenfeld.

Leere Zeilen und solche, die mit einem Doppelkreuz '\#' beginnen, werden
ignoriert.

\subsubsection[Outputs]{MB\_DATA:Outputs/\$sprache}
Es handelt sich hierbei um beinahe sämtliche Text-Ausgaben des Systems.
{\em Eine} Zeile ist jeweils immer eine kurze (beliebige) Erläuterung zu
jeder Ausgabe, die darauffolgenden Zeilen stellen die Ausgabe als solche dar,
wie sie später auch der Benutzer zu sehen bekommt.

Da die Ausgaben sehr oft stark aufeinander abgestimmt sind bzw. vom
System gewisse Konventionen bei der Länge bestimmter Ausgaben
gesetzt sind, sollte man wirklich {\em nur dann} Änderungen vornehmen,
wenn man sich der Konsequenzen voll bewußt ist.

Die einzelnen Ausgaben werden durch einen spezielles Zeichen voneinander
getrennt. Dieses Trennzeichen wird als erster Datensatz der Datei
angegeben, an den sich unmittelbar die einzelnen Ausgaben anschließen,
die jeweils durch besagtes Zeichen voneinander getrennt werden müssen.
Das Trennzeichen ist für die Ausgaben selbst tabu, darf also nicht
verwendet werden.

Jede Ausgabe darf maximal 1024 Bytes lang sein.
Die Beschränkung auf 1024 ist willkürlich und kann auf
Wunsch hin auch vergrößert werden.

Die Backslash-Codes für VT-Sequenzen (siehe weiter unten), können
hier selbstverständlich auch benutzt werden.

Anhand {\em dieser} Dateien überprüft EazyBBS, welche Sprachen
vorhanden sind. Erstellen Sie also niemals eine Output-Datei einer
bestimmten Sprache, wenn nicht auch {\em alle anderen} Dateien für diese
Sprache existieren.

Bedenken Sie, daß aus Effizienzgründen diese Datei (bis auf die
Kommentarzeilen) komplett im Speicher gehalten werden muß, da sehr
oft ein Zugriff auf diese Daten erfolgt. Sollten Sie über Mangel an
Speicher klagen, können sie notfalls hier einige Bytes
einsparen, indem sie die Ausgaben auf ein notwendiges Maß verkürzen.

\subsubsection[Inputs]{MB\_DATA:Inputs/\$sprache}
Ähnlich den Outputs, jedoch können hier die mehrsprachigen Eingaben
spezifiziert werden.
Die möglichen Buchstaben (a--z) sind in der im Kommentar erläuterten
Reihenfolge in Kleinschrift einzugeben (ohne Spaces etc.). Genau einen
Buchstaben davon {\em müssen} Sie in einen Grossbuchstaben umwandeln,
was zur Folge hat, daß diese Auswahl vom Benutzer auch über die Return-
bzw. Leertaste erreicht werden kann (es sollte sich dabei um eine
ungefährliche Auswahlmöglichkeit handeln).

\subsubsection[LongHelp/General]{MB\_DATA:LongHelp/General.\$sprache}
Allgemeiner Hilfs-Text.
Er sollte den allgemeinen Umgang mit dem System beschreiben und alle
nötigen Informationen über Editor, ANSI-Codes, Up-/Downloads,
Umlaute, System-Prompt usw. enthalten, die in den
Kommando-spezifischen Hilfstexten nicht erwähnt werden.

Diese Datei sollte man sich in jedem Fall durchlesen, denn sie enthält
elementares Grundwissen über EazyBBS.

\subsubsection[LongHelp/*/cmd\_*]{MB\_DATA:LongHelp/\$ebene/cmd\_*.\$sprache}
Hilfstext (d.~h.  Anleitung) zu einem bestimmten Befehl.  Der Platzhalter '*'
steht hier\-bei für die Nummer des Befehls und ist iden\-tisch mit der aus
{\em MB\_DATA:Cmd/\$ebe\-ne/\$sprache} bekannten Nummer.  (andere Sprachen
und Systeme entsprechend)

Diese Dateien gehören zu den wichtigsten:  Zum einen werden dort {\em alle}
Befehle genau beschrieben (man sollte sich diese Dateien gut durchlesen) und
zum anderen kann man anhand der Dateien am einfachsten die Beziehung zwischen
"`Nummer eines Befehls"' und "`Auswirkung des Befehls"' ablesen...

Bevor man einen unbekannten Befehl benutzt, sollte man in jedem Fall zuerst
den entsprechenden Hilfstext lesen.

\subsubsection[ShortHelp]{MB\_DATA:ShortHelp/\$ebene/\$sprache}
Ein relativ kurzer Hilfstext, der nur die verfügbaren Kommandos einer Ebene
auflisten und eine knappe Erläuterung enthalten sollte, wie man die
ausführlichen Hilfstexte zu den einzelnen Kommandos abruft.

\subsubsection[ShortHelp/Terminal]{MB\_DATA:ShortHelp/Terminal/*.\$sprache}
In diesem Verzeichnis befinden sich einige Texte, die benötigt werden,
um das Terminalprogramm eines Benutzers auf Wunsch zu konfigurieren.
Das Format ist sehr wichtig.  Testen Sie die Dateien nach einer Änderung
mit einer minimalen Bildschirmhöhe von 24 Zeilen.

\subsubsection[ShortHelp/Terminal]{MB\_DATA:ShortHelp/Listfiles/\$sprache}
Hilfetext innerhalb des Fullscreen-Filelisters im FileArea-System.  Der Text
darf keinesfalls länger als sieben Zeilen sein, wobei die letzte Zeile dann
nicht mit einem Linefeed abgeschlossen werden darf (Achtung, in manchen
Editoren ist es nicht möglich, Zeilen ohne Linefeed zu erzeugen).  Testen Sie
den Hilfetext nach einer Änderung mit einer minimalen Bildschirmhöhe von 24
Zeilen.

\subsubsection[ShortHelp/Terminal]{MB\_DATA:ShortHelp/Irc/\$sprache}
Hilfetext innerhalb der Multiuser-Chats.  Die zugänglichen Kommandos sollten
hier mit einer kurzen Erläuterung angezeigt werden.

\begin{itemize}
\item {\tt Intro.\$sprache}\\
Kurze Einleitung zu diesem Terminal-Test, ob man
überhaupt VT100 bzw. VT102 darstellen kann.

\item {\tt Backspace.\$sprache}\\
Überprüfung für Möglichkeit eines destruktiven Backspace.

\item {\tt Colors.\$sprache}\\
Frage, ob Farben anzeigbar sind
bzw. überhaupt gewünscht werden.

\item {\tt InsertMode.\$sprache}\\
Wird Insert-Mode unterstützt? Wenn nein, allgemein
Rückstufung auf abgespecktes VT102-Protokoll (Tiny VT102).
Unter anderem für JR-Comm und NComm geeignet.

\end{itemize}

\subsection[Masken]{Ein-/Ausgabe Masken}
Zur komfortablen Eingabe bietet EazyBBS sogenannte Ein- und Ausgabemasken.
Das sind fertige Text-Dateien, die zuerst auf dem Bildschirm ausgegeben
werden und auf denen anschließend der Benutzer seine Eingaben tätigt.
Solche Masken dürfen nicht mehr als 24 Zeilen einnehmen, weil dies die
untere Grenze (kleinster gemeinsamer Nenner) für alle Terminalprogramme ist
(VT100-Standard).

Die Maskentexte als solche sind ohne Bedeutung für EazyBBS, d.~h.
die Positionen, an denen Ein- und Ausgaben erfolgen, sind in EazyBBS
festgelegt.

\subsubsection[SystemInfo]{MB\_DATA:Mask/SystemInfo/\$sprache}
Diverse für den Benutzer interessante Daten bezüglich der aktuellen Hard-
und Software-Konfiguration des Systems werden hier erfaßt.  Das Layout ist
teilweise auf die für Ihr System eingestellten Werte anzupassen.

\subsubsection[AreaEdit]{MB\_DATA:Mask/AreaEdit/\$sprache}
Wenn die Daten für die Boards und FileAreas verändert werden sollen,
erscheint diese Maske.

\subsubsection[UserEdit]{MB\_DATA:Mask/UserEdit/\$sprache}
Dies ist die Eingabemaske für das Editieren von Benutzerdaten.  Das Layout
muß auf einige der Ausgaben (siehe {\em MB\_DATA:Outputs/\$port}) angepaßt
werden.

\subsubsection[FileEdit]{MB\_DATA:Mask/FileEdit/\$sprache}
Beim Editieren der Daten von Dateien in FileAreas wird mit
dieser Maske gearbeitet.

\subsubsection[BatchUpload]{MB\_DATA:Mask/BatchUpload/\$sprache}
Editieren der Daten von Dateien nach dem Batch-Upload zum anschließenden
Einsortieren in FileAreas.

\subsubsection[XferStat]{MB\_DATA:Mask/XferStat/\$sprache}
In diese Maske werden einige chart-ähnliche Daten über die Ausnutzung
des Systems durch die Benutzer eingetragen. Dazu gehören die Anzahl
der Anrufe, die geschriebenen Mitteilungen, die Uploads und die
Downloads.

\subsection{Archiv-List und Archiv-Check}

EazyBBS bietet einige besondere Leckerbissen bei der Handhabung von
Archiven (zusammengepackte Daten) an.  Hierfür existieren spezielle
Konfigurationsdateien.

\subsubsection[FileList]{MB\_DATA:FileList/\$extension}
Um sich von der Mailbox aus den Inhalt (Contents) eines Archivs ansehen zu
können, entscheidet EazyBBS anhand der Endung (Extension, alles ab dem
letzten Punkt '.' im Dateinamen), um welche Art von Archiv es sich handeln
könnte.

Für jede Endung ist eine Skriptdatei (Flag 's' !) anzulegen, die ein
Argument (nämlich den Namen des Archivs) übergeben bekommt und (auf welche
Weise auch immer) den Inhalt des Archivs auflistet und die Ausgabe nach
"`stdout"' (Standard-Ausgabe) schickt, damit EazyBBS es mitprotokollieren und
anzeigen bzw.  auswerten kann.  Das hört sich etwas kompliziert an, aber der
normale Aufruf der gängigen Archivierungsprogramme schickt alle Ausgaben
bereits nach "`stdout"', so daß man sich darüber nicht den Kopf zerbrechen
sollte.  Manche Programme (z.~B.  einige Versionen von UnZip) schicken jedoch
die Ausgabe leider nach "`stderr"' (Standard-Fehlerausgabe), was nicht immer
korrekt ausgewertet werden kann.  Für solche Programme sind re-compilierte
Versionen bei uns (kostenlos) erhältlich.

Um für ein DOS-Skript festzulegen, daß es exakt ein Argument benötigt,
dient die folgende Sequenz zu Beginn des Skripts:

\begin{verbatim}
          .KEY file/A
          .BRA {
          .KET }
\end{verbatim}

Der Aufruf des Archiv-Programms könnte danach in etwa wie folgt aussehen:

\begin{verbatim}
          Zoo v "{file}"
\end{verbatim}

Das angegebene Programm muß sich im DOS-Suchpfad befinden (oder mit seinem
absoluten Pfadnamen aufgerufen werden).  Desweiteren muß der Name des
Archivs in doppelte An\-füh\-rungs\-zei\-chen gesetzt werden, damit auch
Dateinamen bearbeitet werden können, die Leerzeichen (Spaces) enthalten.

\subsubsection[FileCheck]{MB\_DATA:FileCheck/\$extension}
EazyBBS bietet die Möglichkeit, Dateien in FileAreas nach dem Empfang
(Upload) auf Fehler zu prüfen.  Anhand der Endung (Extension, alles ab dem
letzten Punkt '.' im Dateinamen) wird entschieden, nach welcher Strategie die
Datei geprüft werden soll.

Für jede Endung ist eine Datei anzulegen, die als Inhalt in der ersten Zeile
den korrekten Aufruf des zur Endung passenden Test-Programms hat.  Der Name
der Datei, deren Inhalt geprüft werden soll, wird (C-like) durch das Kürzel
"`{\tt \%s}"' repräsentiert.  Es ist nötig, "`{\tt \%s}"' in
Anführungszeichen zu setzen, um Dateinamen bearbeitet zu können, die
Leerzeichen (Spaces) enthalten.

In der zweiten Zeile der Datei geben Sie an, wie die Datei zu Beginn
eingeschätzt werden soll.  Mit dem Schlüsselwort (Keyword) "`{\tt start
negative.}"' ist die Datei anfangs fehlerhaft (gesperrt), mit "`{\tt start
positive.}"' ist sie vorerst fehlerfrei (freigegeben).

Nun geben Sie nach den Keywords "`{\tt positive result:}"' und "`{\tt
negative result:}"' jeweils zeilenweise Zeichenketten an, die ein Indiz
für den Wechsel in den jeweiligen Zustand sind.

Je nachdem, in welchem Zustand (positiv oder negativ) das System nach
Abarbeitung der letzten Zeile ist, wird die zu prüfende Datei gesperrt oder
freigegeben.

Dies wird vielleicht besser verständlich durch ein kurzes Beispiel:

\begin{verbatim}
          Zoo xNq "%s"
          start positive.
          negative result:
          WARNING:
          FATAL:
\end{verbatim}

Das Archiv wird anfangs als fehlerfrei eingestuft ({\em start positive.}).
Mit "`{\em negative result:}"' wird nun festgelegt, daß beim Vorkommen der
folgenden Zeilen ({\em WARNING:} oder {\em FATAL:}) in der Ausgabe des
Archiv-Programms der Status des Archivs von fehlerfrei auf fehlerhaft
wechselt.

Es ist wichtig, daß das Archiv-Programm seine Ausgaben nach "`stdout"'
(und nicht nach "`stderr"') schickt, damit EazyBBS sie verarbeiten kann.
Die meisten Programme tun dies bereits automatisch.

\subsection{Funktionstasten}

Es besteht die Möglichkeit, sich die Funktionstasten ({\em F1} bis {\em
F10}) für einen Login von der Console aus nach Belieben zu belegen.  Benutzt
werden können die Tasten "`pur"', zusammen mit {\em SHIFT} oder mit {\em
ALT}, womit insgesamt 30 frei definierbare Funktionstasten zur Verfügung
stehen.  Festlegen kann man dies in der Datei {\tt MB\_DATA:FKeys}, die sich
aufbaut wie auch die Dateien für die Outputs und Inputs, d.~h.  eine Zeile
Kommentar, dann beliebig langer Text (max.  1024 Bytes) beendet durch ein im
ersten Datensatz festgelegtes Trennzeichen wie z.~B.  einen senkrechten
Strich '$|$', eine Tilde '\~\/', ein Dach '\^\/' oder das At-Sign '@'.
Dieses Trennzeichen ist innerhalb der folgenden 30 Datensätze für die
Funktionstasten tabu.

Zusätzlich existieren 20 weitere vom System fest belegte Funktionstasten
(F-Keys), die über {\em CTRL} und {\em SHIFT+CTRL} zu erreichen sind (d.~h.
CTRL+fkey, SHIFT+CTRL+fkey).  Sie ersetzen nicht vorhandene Gadgets und
ergänzen die Menüs.

\begin{description}
\item[f1, F1:]
Die Systemzeit des gerade aktiven Benutzers wird um 10 Minuten erhöhen bzw.
erniedrigt.

\item[f2:]
Der Screen wird geschlossen, was etwas CHIP-Memory spart und den Prozessor
weniger belastet.  Die Geschwindigkeit von EazyBBS erhöht sich bei
geschlossenem Screen merklich.  War der Screen vorher bereits geschlossen,
wird er nun wieder geöffnet.

Der Geschwindigkeitsgewinn kommt zustande, weil die Textausgabe (trotz
Pufferung) auf dem Bildschirm (auch die im Transfer-Window) etwas
Prozessorzeit kostet.  Vor allem bei hohen Übertragungsraten wird dies
deutlich.  Lassen Sie daher den Screen geschlossen, wenn Sie ihn nicht
wirklich benötigen.

Der Screen kann nicht verändert werden, wenn Help- oder Transfer-Window
geöffnet sind.

\item[f3:]
Sämtliche Eingaben eines aktiven Benutzers, der von außen in das System
eingeloggt ist, werden ignoriert bzw.  wieder freigeben (Toggle).  Den
aktuellen Zustand gibt das Wort "`SerLock"' (serial lock, serielle
Schnittstelle gesperrt) in der Statuszeile an.

\item[F3:]
Damit schaltet man um (Toggle), ob im Fullscreen-Chat alles mitgeschnitten
werden soll oder nicht.  Die Funktionstaste ist nur im Chat zu benutzen.  Der
aktuelle Status wird in der Titelzeile durch das Word "`ChatLog"' angezeigt.

\item[f4:]
Modem neu initialisieren.\\
(es kann je nach Modem und Einstellung der DIP-Schalter bzw.  Konfiguration
trotzdem nötig sein, zusätzlich vorher das Modem per Hand aus- und wieder
einzuschalten)

\item[f5:]
Der gerade aktive Benutzer wird aus dem System rausgeworfen.  Seine restliche
Benutzerzeit für diesen Tag wird auf eine Minute reduziert.\\
(es kann eventuell eine kurze Weile dauern, bis die Verbindung tatsächlich
getrennt ist)

\item[F5:]
Hiermit schalten Sie um, ob der Sysop-Ruf (Call) gesperrt oder
freigegeben werden soll (Toggle).

Ruft ein Benutzer den Sysop an die Console, ertönt normalerweise ein
Signal --- das kann man hiermit vermeiden. Der Benutzer bekommt eine
entsprechende Mitteilung, daß der Sysop nicht erreichbar ist.

Den aktuellen Status sieht man im Help-Window oder in den Menüs.

\item[f6:]
Aktiven Benutzer sobald wie möglich in den Chat rufen.\\
(nicht immer ist es sinnvoll, dies sofort zu erzwingen,
z.~B. beim Upload, Download oder im Editor;
EazyBBS registriert das und wartet, bis sich eine passende
Gelegenheit ergibt)

\item[F6:]
Nach dem Logout des gerade aktiven Benutzers selbst einen
Console-Login durchführen. (erneut drücken, um zu widerrufen)

Den aktuellen Zustand gibt ein '*' in der 1. Spalte Statuszeile
an. Der Sysop wird kurz vor dem seinem Login alarmiert (Bell),
weshalb man den Lautsprecher anschalten sollte.

\item[f7:]
Aktivem Benutzer {\em Gast}-Level geben.\\
Den aktuellen Zustand gibt das Wort "`Guest"' in der Statuszeile an.

\item[f8:]
Aktivem Benutzer {\em User}-Level geben.\\
Den aktuellen Zustand gibt das Wort "`User"' in der Statuszeile an.

\item[f9:]
Aktivem Benutzer {\em Sysop}-Level geben.\\
Den aktuellen Zustand gibt das Wort "`Sysop"' in der Statuszeile an.

\item[f10:]
Programm beenden.\\
Befindet sich zu dieser Zeit ein Benutzer im System,
können einige aktuelle Daten verloren gehen.
\end{description}

\noindent Hinweis: Keine der Aktionen hat Einfluß auf die gespeicherten
Benutzerdaten, sondern nur auf die aktuelle Situation!

\subsection{Help Window}
Wer sich die Belegung der Funktionstasten nicht merken kann, kann sich mit
der {\em HELP}-Taste während des Programmablaufs eine Übersicht in einem
Hilfsfenster auf den Bildschirm holen.  Durch nochmaliges Drücken von {\em
HELP} wird das Window wieder geschlossen.

Das Help-Window blockiert den Mailbox-Betrieb {\em nicht}, d.~h. Sie können
sich jederzeit das Window ansehen, ohne daß evtl. eingeloggte Benutzer
dies merken.

Einige Funktionstasten (Toggle-Funktionen) ändern ihre Funktionalität
bei bestimmten Ereignissen. Der Inhalt des Help-Windows trägt diesem
Umstand Rechnung und zeigt stets an, was die Funktionstasten zur Zeit
bedeuten und nicht, was sie generell bewirken.

\section{Modem Konfiguration}

Modems müssen für den Betrieb mit einer Mailbox anders konfiguriert werden
als bei normalem Betrieb, wo man selbst eine andere Mailbox anruft.  Die
folgenden Einstellungen stellen einen guten Kompromiß dar, um sowohl die
Mailbox als auch ein Terminalprogramm ohne viele Veränderungen abwechselnd
benutzen zu können.

\noindent Es kann nicht schaden, wenn Sie auch einen Blick in das Handbuch
Ihres Modems werfen, denn einige Befehle zur Ansteuerung des Modems sind
nicht genormt und daher bei vielen Modellen unterschiedlich.

\subsection{Hardware-Anforderungen}

Ihr Modem muß mit dem Computer mit einem
7-adrigen (seven-wire) Kabel verbunden sein, das zu den üblichen Leitungen
(Ground, TD\footnote{Transmit Data}, RD\footnote{Receive Data}) auch
Hardware-Handshaking (CTS\footnote{Clear To Send}, RTS\footnote{Ready To Send}) und
Hardware-Controlling (DTR\footnote{Data Terminal Ready}, CD\footnote{Carrier Detect})
unterstützt.

Normalerweise müssen Sie dem Modem auch mitteilen, daß es dieses spezielle
Kabel unterstützen soll.  Laden Sie dazu ein Terminalprogramm.  In der Regel
schaltet man nun die CD-Erkennung mit {\tt AT\&C1} ein.  Die DTR-Erkennung
ist so einzustellen, daß das Modem bei DTR~$\to$~"`low"' resettet und auflegt
--- meistens geschieht dies mit {\tt AT\&D3}, manchmal auch {\tt AT\&D2}
(siehe Modem-Handbuch).

Hardware-Handshaking wird von normalen Modems ($\leq 2400$~bps) meist nicht
unterstützt.  Verwenden Sie aber ein schnelles Modem ($> 2400$~bps), so ist
Hardware-Handshaking unbedingt einzuschalten.  Dies geschieht meist mit {\tt
AT\&H1} (transmit) und {\tt AT\&R2} (receive).

Jetzt müssen Sie diese Einstellungen fest in den internen Speicher Ihres
Modems bannen, so daß sie auch nach einem Reset ({\tt ATZ} oder Aus-/Einschalten)
des Modems wirksam sind. Dies geschieht in der Regel mit {\tt AT\&W},
evtl. auch über DIP-Switches.

\subsection{Modem-Einstellungen}

Wie bereits angesprochen, existieren nicht nur für die Mailbox, sondern
auch für das Modem Konfigurationsdateien.  Diese werden nun erläutert.

\subsubsection[ModemInit]{MB\_DATA:ModemInit/\$port}
Jeder Eintrag in dieser Datei besteht aus zwei Zeilen.  Die erste Zeile gibt
die Zeichenkette an, die zur Initialisierung des Modems an dasselbe geschickt
werden soll.  Die zweite Zeile gibt die Wartezeit an, bis weitere Kommandos
an das Modem geschickt werden dürfen, da Modems normalerweise nicht sofort
weitere Kommandos bearbeiten können.  Als Wartezeit empfehlen wir mindestens
eine Sekunde.  Die Wartezeit wird in Zehntelsekunden angegeben.

Solche zweizeiligen Einträge können beliebig oft vorkommen.  EazyBBS schickt
solange Zeichenketten an das Modem und wartet anschließend, bis die Datei
leer ist.

Kommentarzeilen (Doppelkreuz '\#' zu Beginn) sind erlaubt und werden
ignoriert.  Leerzeilen werden nicht ignoriert, sondern als gültige Daten
behandelt --- in solch einem Fall wird nur ein {\em Carriage Return} an das
Modem gesendet.

Beachten Sie bitte, daß der {\em Hayes}-Standard\footnote{Beschreibung von
Modem-Befehlen} eine maximale Zeilenlänge von 40 Zeichen vorgibt.  So ein
Initialisierungsstring wird im allgemeinen mit dem Kommando {\tt AT}
beginnen.

Folgende Einstellungen muß dieser Init-String abdecken, sofern Ihr Modem
nach einem Reset (DIP-Switch, NVRAM) nicht bereits entsprechend konfiguriert
ist.  Die Einstellungen in eckigen Klammern sind gültige Beispiele für ein
2400-bps-Modem.  Insbesondere bei Highspeed-Modems können die Kommandos
abweichen, und andere Einstellungen müssen verwendet werden:

\begin{itemize}
\item Ein sinnvoller Übertragungsstandard, der eine zügige Kommunikation
        zwischen Modem und Computer erlaubt
\item Modem echot Kommandos nicht zurück [{\tt ATE0}]
\item Voll-Duplex [{\tt ATF1}]
\item Antworten sind "`nur"' Zahlen [{\tt ATV0}]

	Unterstützt das Modem keine Zahlenantworten, müssen ggf. andere
	Konfigurationsdateien entsprechend geändert werden.
\item Unterscheidung zwischen den verschiedenen Geschwindigkeiten beim
	Verbinungsaufbau ({\em CONNECT}) und ggf. auch Datenkompression
	und Fehlerkontrolle [{\tt ATX1}]
\item Auto-Answer {\em aus} [{\tt ATS0=0}]
\item lang genug auf Verbinungsaufbau warten [{\tt ATS7=60}]
\item kein Wechsel von Data- in Kommandomodus möglich [{\tt S2=128}]
\item Modem sendet Antworten [{\tt ATQ0}]

\end{itemize}

\noindent Es könnte daher wie folgt aussehen: {\tt ATS0=0S2=128S7=60B0E0F1V0X1Q0}

Alle anderen Einstellungen (z.~B. Lautsprecher ein/aus etc.) bleiben
dem System-Betreiber überlassen, sofern sie nicht den oben genannten
Anforderungen widersprechen.

Sie können natürlich auch völlig andere Einstellungen verwenden, jedoch
werden Sie dann einige andere Konfigurationsdateien enstprechend anpassen
müssen.

\subsubsection[ModemStart]{MB\_DATA:ModemStart/\$port}
Diese Datei ist wie {\em ModemInit} aufgebaut.  Sie wird jedoch nur
einmalig direkt nach dem Start von EazyBBS abgearbeitet.  Hiermit kann
das Modem in einen festen Zustand versetzt werden, um {\em ModemInit}
möglichst klein halten zu können (spart Zeit, Mailbox geht nach Anruf
schneller wieder online).

\subsubsection[ModemEnd]{MB\_DATA:ModemInit/\$port}
Diese Datei ist wie {\em ModemInit} aufgebaut. Sie wird jedoch nur
einmalig vor dem Beenden von EazyBBS abgearbeitet.  Hiermit kann der
mit {\em ModemStart} eingestellte Zustand wieder aufgehoben oder ein
Zustand hergestellt werden, der für weitere Arbeiten mit dem Modem
(z.~B. Terminalprogramm, UUCP) erforderlich ist.

\subsubsection[ModemRing]{MB\_DATA:ModemRing/\$port}
Diese Datei besteht aus vier Einträgen (Zeilen) in festgelegter Folge, die
durch Kommentar- und Leerzeilen unterbrochen werden dürfen.

\begin{enumerate}
\item Der erste Eintrag enthält die Meldung des Modems, wenn jemand anruft
(z.~B.  {\tt RING}).  Sie dürfen Pattern-Matching (*,?) verwenden, falls Ihr
Modem keine einheitlichen Meldungen sendet (z.~B.  {\tt RING*}).

\item Der zweite Eintrag enthält (in Zehntelsekunden) die Zeit, die das Modem
nach Empfang der Anruf-Meldung ({\em Ring}) warten soll (manche Modems
akzeptieren unmittelbar nach einem {\em RING} keine Zeichen).

\item Der dritte Eintrag beschreibt, was an das Modem gesendet werden soll,
um den Anruf anzunehmen (z.~B.  {\tt ATV0A}, d.~h.  Nummerantworten
einschalten und Verbindung herstellen).

\item Der letzte Eintrag gibt wiederum (in Zehntelsekunden) eine Wartezeit
an.  Manche Modems legen dreisterweise auf, wenn unmittelbar nach Annahme des
Anrufs durch {\em ATA} Zeichen an das Modem gesendet werden.

\end{enumerate}

\subsubsection[ModemConnect]{MB\_DATA:ModemConnect/\$port}
Hier muß eingetragen werden, für welche Geschwindigkeiten Ihre Mailbox
Anrufe entgegennehmen soll, wie die einzelnen Geschwindigkeiten für Sie auf
dem Bildschirm kenntlich gemacht werden sollen (meist in Anlehnung an die
{\em CONNECT}-Mitteilung des Modems) und andere interne Dinge, für die Sie
im Handbuch Ihres Modems nachschlagen sollten.  Die Datei ist bereits zur
Zeit für das {\em USRobotics Courier HST Dual Standard} (alte Version)
konfiguriert:  300--14400~bps mit und ohne Datenkompression bzw.
Fehlerkorrektur.

Für jede Geschwindigkeit existiert ein Datensatz, der aus fünf Zeilen
besteht, die unmittelbar aufeinander folgen müssen.  Zwischen den einzelnen
Datensätzen dürfen beliebig viele leere Zeilen oder solche, die mit einem
Doppelkreuz '\#' beginnen, eingefügt werden.

\begin{enumerate}
\item Die erste Zeile enthält die Zeichenfolge, die Ihr Modem sendet, wenn
es erfolgreich eine Verbindung hergestellt hat.  Da es sinnvoll ist,
Zahlen-Antworten des Modems zu verlangen (das ist nämlich sehr sicher und
geht außerdem ein wenig schneller), wäre das z.~B.  für eine Verbindung
mit 2400~bps die Zahl {\tt 10}.  Wenn man unbedingt will oder das Modem
Zahlenantworten nicht erlaubt, kann man natürlich auch ausgeschriebene
Text-Antworten nehmen (z.~B.  {\tt CONNECT 2400}).

Sie dürfen Pattern-Matching (*,?) verwenden, falls Sie nicht alle Antworten
des Modems kennen oder Sie ähnliche Verbindungen der Übersichtlichkeit halber
zusammenfassen möchten (z.~B.  {\tt CONNECT*14400*}).

Groß-/Kleinschreibung spielt keine Rolle!

\item In die zweite Zeile tragen Sie mit maximal zehn Zeichen ein, wie diese
Geschwindigkeit Ihnen in der Statuszeile des EazyBBS-Bildschirms kenntlich
gemacht und dem Benutzer in der Mailbox angezeigt werden soll.  Es dient nur
als Information und hat keinen Einfluß auf den Betrieb.

\item Die dritte Zeile enthält einen Wert, der den realen Datendurchsatz
beschreibt.  Normalerweise ist er ähnlich dem bps-Wert (also {\tt 2400} bei
2400 bps), jedoch bei Modems mit Datenkompression oder variablen
Geschwindigkeiten sollte hier ein Erfahrungswert eingetragen werden.  Der
Wert wird benutzt, um Download- bzw.  Uploadzeiten für die Dateiübertragung
zu berechnen.

\item Die vierte Zeile eines Datensatzes gibt an, mit welcher Geschwindigkeit
(in bps) Modem und Rechner kommunizieren sollen.  In aller Regel entspricht
dies exakt der Geschwindigkeit, die für diese Art der Verbindung gilt (siehe
erste Zeile); aber beim Betrieb mit Modems mit eingebauten Fehlerprotokollen
und Komprimierungsverfahren, die einen höheren Datendurchsatz erreichen als
durch 1:1 Übertragung der Zeichen möglich wäre, ist dies eine weit höhere
Geschwindigkeit.

Insbesondere bei Highspeed-Modems läßt man die Rate zwischen Rechner und
Modem normalerweise konstant auf dem höchstmöglichen Wert, der dann hier
einzutragen ist (z.~B.  {\tt 19200} oder {\tt 38400}).

\item Die fünfte Zeile muß exakt 24 Zeichen enthalten und gibt an, zu
welchen Zeiten ein Anruf mit dieser Geschwindigkeit erwünscht ist.  Jedes
Zeichen steht für eine Stunde (beginnend mit 00:00--00:59, endend mit
23:00--23:59).  Ein Pluszeichen '+' bedeutet, die Geschwindigkeit ist
erlaubt, ein Minuszeichen '--' sperrt sie für diese Stunde.

\end{enumerate}

Es ist allgemein sinnvoll, alle dem Modem bekannten Arten von Verbindungen
aufzuführen und für unerwünschte Geschwindigkeiten die letzte Zeile des
Eintrags nur mit Minuszeichen zu füllen.

\chapter{Programme, Tools und Utilities}

Das Mailboxsystem EazyBBS besteht nicht einfach nur aus einem einfachen
Programm, sondern basiert auf dem Zusammenspiel mehrerer aufeinander
abgestimmter Programme.  Einige dieser Programme sind sogar ohne EazyBBS
benutzbar.

Alle Programme setzen einen vollständig installierten Amiga unter dem
Betriebssystem AmigaOS~2.0 (oder höher) voraus.  EazyBBS muß bereits
installiert sein (siehe entsprechendes Kapitel).

\section{Daemons}
EazyBBS bedient sich sogenannter {\em Daemons} zur Verwaltung interner Daten.
Als Daemons (Server) bezeichnet man Programme, die meist unscheinbar im
Hintergrund laufen und Applikationen (Clients) --- wie z.~B.  EazyBBS --- bei
der Erfüllung ihrer Aufgaben behilflich sind.  Daemons werden meist
eingesetzt, wenn Synchronisationsprobleme gelöst oder Datenbestände
verwaltet werden müssen.

Sofern nicht anders angegeben, sollten alle Daemons stets im Hintergrund
laufen, wenn man irgendein anderes Programm des Mailboxsystems benutzen
möchte.  Die Daemons verbrauchen von sich aus keine Rechenzeit, können also
auch dann im Hintergrund bleiben, wenn man etwas völlig anderes machen
möchte.

Folgende Daemon-Programme stehen dem Mailboxsystem derzeit zur Verfügung:

\subsection{EazyCommDaemon}
Der {\em EazyCommDaemon} ist für Kommunikationsaufgaben zuständig.  Er
steuert den Multi-User-Chat und stellt Informationen über den Status der
einzelnen Ports zur Verfügung.  Mit seiner Hilfe kooperieren die
verschiedenen Ports.

\subsection{EazyInOutDaemon}
Der {\em EazyInOutDaemon} verwaltet die Ein- und Ausgabe-Texte.

\subsection{EazyLogfileDaemon}
Der {\em EazyLogfileDaemon} administriert die Logfiles (Protokoll-Dateien).
Er stellt sicher, daß keine zwei Programme zur selben Zeit auf dieselben
Dateien zugreifen.

Beim Aufruf des Daemons ist ein optionales Argument erlaubt.  Dies legt fest,
welche Länge das Anruferprotokoll der Mailbox haben soll.  So würde {\tt
500} die Anzahl der Anruferprotokolleinträge auf 500 Stück begrenzen.  Gibt
man keine Zahl an, so wird der voreingestellte Wert 1000 verwendet.

\subsection{EazyMsgFileDaemon}
Der {\em EazyMsgFileDaemon} synchronisiert Zugriffe auf die Mitteilungen und
Files der Mailbox.  Er nimmt überdies einige Aufgaben der eigentlichen
Mailbox wahr, indem er die Boards und FileAreas verwaltet.

\subsection{EazyUserDaemon}
Der {\em EazyUserDaemon} verwaltet hauptsächlich die Daten der Benutzer,
dazu gehören auch die persönlichen Nachrichten (Mails).

Beim Aufruf des Daemon-Programms ist ein optionales Argument erlaubt.  Dies
legt die Zeitspanne (in Tagen) fest, in der Benutzer wenigstens einmal
anrufen müssen, um nicht aus dem System entfernt zu werden.  Der Wert {\tt
0} setzt diese Aussonderung von "`Karteileichen"' außer Kraft.
Voreingestellt ist der Wert 30 (also ca. ein Monat).

\section{EazyBBS}

Bei {\em EazyBBS} handelt es sich um das Hauptprogramm der Mailbox.  Es
kommuniziert mit den Daemons und steuert die sichtbare Oberfläche für die
Mailboxbenutzer.

Für jeden Port muß {\em EazyBBS} einmal gestartet werden.  Dazu geben Sie
als Argument die Nummer des gewünschten Ports an.  Möchten Sie, daß
EazyBBS selbst die nächste verfügbare Port-Nummer ermittelt, können Sie
{\tt 0} als (speziell für diesen Zweck reservierte) Port-Nummer angeben.

Als zweites Argument können Sie (müssen aber nicht) die Option {\tt GETTY}
verwenden, um EazyBBS in eine bestehende Leitung hinein zu starten. Dazu ist
es aber nötig, EazyBBS mit einigen Daten zu versorgen, die es normalerweise
beim Aufbau der Verbindung ermittelt hätte.  Diese Daten müssen sich im
lokalen Environment von EazyBBS befinden:

\begin{description}

\item[DeviceName] Name des Devices, das EazyBBS verwenden soll.  Ist die
Variable nicht gesetzt, wird der Wert aus der Konfigurationsdatei verwendet.

\item[DeviceUnit] Unit-Nummer des Devices.  Ist die Variable nicht gesetzt,
wird der Wert aus der Konfigurationsdatei verwendet.

\item[Connect] Mitteilung des Modems über Art der Verbindung.  Diese Variable
muß gesetzt sein, damit die Dauer von Datenübertragungen berechnet werden
kann.

\item[Baud] Geschwindigkeit (in bps) zwischen Rechner und Modem.  Ist die
Variable nicht gesetzt, wird der Wert aus der Konfigurationsdatei verwendet.

\end{description}


Möchten Sie EazyBBS von der Workbench starten, klicken Sie zweimal auf das
Icon "`{\tt EazyBBS\_Port1}"' (für Port~1).

Wollen Sie Anrufe von außen empfangen, sollten Sie vor dem Start Ihr Modem
einschalten.  Wollen Sie jedoch das Programm "`nur mal von der Console aus
testen"', brauchen Sie Ihr Modem nicht einzuschalten.

Wenn nach dem Start des Programms die Initialisierung abgeschlossen ist,
loggt man sich mit einer beliebigen Taste (z.~B.  {\em SPACE}) von der
Console aus in das System ein.

Mit der Taste 'c' geben Sie einen Carrier in die bestehende Leitung.  Jemand,
mit dem Sie gerade telefoniert haben, muß also nicht erneut anrufen, um in
die Mailbox zu gelangen.

Eine Anleitung zur Bedienung des Programms und seiner Befehle erfolgt nicht
hier, sondern ist in den zahlreich mitgelieferten Hilfstexten (s.o.)
enthalten.  Man sollte sie sich am besten alle ausdrucken.  (Tut uns leid,
aber wenn man seine Software privat vertreibt, fehlen einem die
Möglichkeiten für Bibel-ähnliche Anleitungen, von denen sowieso nur
$\frac{1}{100}$ von Interesse sind.)

(sie befinden sich alle ab dem Pfad {\tt mb\_data:longhelp} und tragen die
Endung {\tt 1}; alle anderen Dateien sind nicht maßgebend)

\section{cv}

Das Programm {\em cv} konvertiert Text-Dateien zwischen den Standards der
einzelnen Computersysteme.  Dabei werden Umlaute und Zeilenumbrüche
entsprechend gewandelt.  Rufen Sie das Programm ohne Argumente auf, und Sie
erhalten eine kurze Hilfe zur Bedienung.

\noindent Dieses Programm benötigt nicht die Daemons.

\section{xdel}

Mit dem Programm {\em xdel} können Files und Directories gelöscht werden,
unabhängig von den gesetzten {\em Protection Bits}.  Ist ein Directory nicht
leer, wird zuerst sein Inhalt gelöscht.

\noindent Dieses Programm benötigt nicht die Daemons.

\section{ImportMessage}
Das Programm {\em ImportMessage} kann Mitteilungen in die Mailbox
"`importieren"', d.~h.  in einem angegebenen Brett ablegen.  Dies kann von
Nutzen sein, wenn man die Mailbox vernetzen möchte.  Benutzen Sie dieses
Programm besser nicht, um eigene Mitteilungen für die Mailbox zu schreiben
--- tun Sie das immer in der Mailbox EazyBBS selbst.

\noindent Wie Sie das Programm benutzen, sehen Sie, wenn Sie es ohne
Argumente aufrufen.

\section{ImportMail}
Das Programm {\em ImportMail} kann persönliche Nachrichten in die Mailbox
"`importieren"', d.~h.  im Postfach eines Benutzers ablegen.  Dies kann von
Nutzen sein, wenn man die Mailbox vernetzen möchte.  Benutzen Sie dieses
Programm besser nicht, um eigene Nachrichten für Benutzer zu schreiben  ---
tun Sie das immer in der Mailbox EazyBBS selbst.

\noindent Wie Sie das Programm benutzen, sehen Sie, wenn Sie es ohne
Argumente aufrufen.

\section{DoSystemCheck}
Mit {\em DoSystemCheck} werden die Dämons veranlaßt, ihre internen Daten auf
Konsistenz zu prüfen.  Inkonsistenz sollte zwar idealerweise nie vorkommen,
läßt sich aber praktisch nicht ausschließen.  Dieser Check dauert recht
lang, da auf sämtliche Messages und Files zugegriffen wird.  In einigen
Directories wird zusätzlich nach überflüssigen Files gesucht.  Die
Komplexität dieses Programms wird mit der Zeit sicherlich steigen, weshalb
die Ausführungszeit auch immer länger werden wird.

Es wird vorgeschlagen, {\em DoSystemCheck} alle zwei bis vier Wochen
aufzurufen.  Bitte beachten Sie, daß dies kein Ersatz für {\em
DoSystemUpdate} ist, denn {\em DoSystemCheck} korrigiert bzw.  löscht nur
korrupte Daten.

\section{DoSystemUpdate}
Das Programm {\em DoSystemUpdate} veranlaßt alle installierten Daemons, eine
Aktualisierung (Update) ihrer Datenbestände vorzunehmen.  Dies kann
geschehen, während die Mailbox EazyBBS läuft.  Bitte bedenken Sie aber,
daß während des Updates alle weiteren Anfragen an die Daemons blockiert
werden.  Der Update sollte vorzugsweise nachts durchgeführt werden, z.~B.
automatisch initiiert durch {\em Cron}\footnote{ein Programm, das zu
einstellbaren Zeiten definierte Aktionen auslöst, beispielsweise das Starten
anderer Programme}.

\section{SetMaxCallers}
Das Programm {\em SetMaxCallers} ermöglicht es, die Gesamtanruferzahl der
Mailbox (im {\em EazyLogfileDaemon}) auf einen neuen Wert zu setzen.  Dies
spielt z.~B.  beim Anruferprotokoll eine Rolle.

\section{ExportLogfiles}
Das Programm {\em ExportLogfiles} ermöglicht es, vom {\em EazyLogfileDaemon}
eine lesbare Darstellung der {\em Logfiles} (siehe dort) anzufordern.  Diese
werden im Verzeichnis {\tt MB:} abgelegt.

\section{SyncCD}

Das Programm {\em SyncCD} fragt die {\em Carrier Detect}-Leitung der
angegebenen Unit des angegebenen Devices ab und setzt den {\em Return Code}
entsprechend.  Mit der Option {\em POLL} wartet das Programm mit {\em Busy
Waiting} so lange, bis die {\em Carrier Detect}-Leitung logisch auf {\em low}
geht.

\noindent Wie Sie das Programm benutzen, sehen Sie, wenn Sie es ohne
Argumente aufrufen.  Dieses Programm benötigt nicht die Daemons.

\section{eazy2news}

Das Programm {\em eazy2news} dient dazu, Messages der Mailbox als Artikel in
UUCP zu importieren.  Dazu muß in den Daten des zu vernetzendes Boards
eingetragen werden, wie das Board vernetzt werden soll.

\begin{enumerate}
\item Programm, das die Message bearbeiten soll [mb:c/eazy2news]
\item Name der Newsgroup, mit der das Board vernetzt ist [eazy.test]
\item spezieller Eintrag für das {\em Sys}-File [eazy-test]
\end{enumerate}

\noindent Wie Sie das Programm benutzen, sehen Sie, wenn Sie es ohne
Argumente aufrufen.  Dieses Programm benötigt nicht die Daemons, sondern ein
UUCP-spezifisches Programm namens {\em relaynews}.

\section{news2eazy}

Das Programm {\em news2eazy} hilft dabei, Artikel von UUCP als Messages in
die Mailbox zu importieren.  Es benötigt dazu das Programm {\em
ImportMessage}.

\noindent Wie Sie das Programm benutzen, sehen Sie, wenn Sie es ohne
Argumente aufrufen.

\section{eazy2mail}

Das Programm {\em eazy2mail} dient dazu, persönliche Nachrichten der Mailbox
als Mails in UUCP zu importieren.  Sie müssen jedem Benutzer das Versenden
von Mails in UUCP explizit gestatten durch einen entsprechenden Eintrag in
seinen Benutzerdaten.

\noindent Wie Sie das Programm benutzen, sehen Sie, wenn Sie es ohne
Argumente aufrufen.  Dieses Programm benötigt nicht die Daemons, sondern ein
UUCP-spezifisches Programm namens {\em sendmail}.

\section{mail2eazy}

Das Programm {\em mail2eazy} hilft dabei, Mails von UUCP als persönliche
Nachrichten in die Mailbox zu importieren.  Es benötigt dazu das Programm
{\em ImportMail}.

\noindent Wie Sie das Programm benutzen, sehen Sie, wenn Sie es ohne
Argumente aufrufen.

\section{seteazymail}

Bei {\em seteazymail} handelt es sich um eine kleine Skriptdatei (Flag 's'
!), der man als Argument den Namen eines Mailboxbenutzers übergeben muß.  Mit
Hilfe des Programms {\em unspace} werden Leerzeichen im Benutzernamen in
Underscores '\_' (Unterstrich) gewandelt, und anschließend wird eingetragen,
daß Mails für diesen Benutzer in die Mailbox weitergeleitet werden sollen.
Je nach Art der von Ihnen verwendeten Netzwerksoftware (UUCP) muß die
Skriptdatei gegebenenfalls angepaßt werden.

\noindent Dieses Skript benötigt nicht die Daemons, sondern nur das Programm
{\em unspace}.  Das Skript wird allerdings von Daemons aufgerufen, wenn ein
Benutzer neu eingetragen oder umbenannt wird.

\section{unseteazymail}

Bei {\em unseteazymail} handelt es sich um das Gegenstück von {\em
seteazymail}.  Diese Skriptdatei (Flag 's' !) meldet den Benutzer bei der
Netzwerksoftware (UUCP) ab, so daß keine Mails mehr für diesen Benutzer in
die Mailbox weitergeleitet werden.  Je nach Art der von Ihnen verwendeten
Netzwerksoftware muß die Skriptdatei gegebenenfalls angepaßt werden.

\noindent Dieses Skript benötigt nicht die Daemons, sondern nur das Programm
{\em unspace}.  Das Skript wird allerdings von Daemons aufgerufen, wenn ein
Benutzer umbenannt oder gelöscht wird.

\section{seteazymailall.sh}

Mit der C-Shell können Sie das Skript {\em seteazymailall} einsetzen, welches
nachträglich für alle Benutzer Ihrer Mailbox den Empfang von Mails aus UUCP
in die Mailbox freigibt.  Leerzeichen im Benutzernamen werden mit Hilfe des
Programms {\em unspace} in Underscores '\_' (Unterstrich) gewandelt.  Je nach
Art der von Ihnen verwendeten Netzwerksoftware muß die Skriptdatei
gegebenenfalls angepaßt werden.

\noindent Dieses Skript benötigt nicht die Daemons.  Sie benötigen allerdings
die C-Shell (csh) und das Programm {\em unspace}.

\section{unseteazymailall.sh}

Mit der C-Shell können Sie das Skript {\em unseteazymailall} einsetzen,
welches im Gegensatz zu {\em seteazymailall} den Empfang von Mails aus UUCP
in die Mailbox für sämtliche Benutzer der Mailbox sperrt.  Je nach Art der
von Ihnen verwendeten Netzwerksoftware muß die Skriptdatei gegebenenfalls
angepaßt werden.

\noindent Dieses Skript benötigt nicht die Daemons.  Sie benötigen allerdings
die C-Shell (csh) und das Programm {\em unspace}.

\section{trimfile}

Das Programm {\em trimfile} kürzt Text-Dateien auf eine angegebene
Zeilenlänge.  Es ist sehr praktisch, um Logfiles (Protokoll-Dateien) zu
verwalten.  Rufen Sie das Programm ohne Argumente auf, um eine kurze Hilfe zu
erhalten.

\noindent Dieses Programm benötigt nicht die Daemons.

\chapter{Verschiedenes}

\section{ARexx}
EazyBBS bietet für jeden Port eine ARexx-Schnittstelle an, über die man von
außerhalb mit der Mailbox kommunizieren kann.  Der Name muß großgeschrieben
werden und entspricht ansonsten dem Namen des Prozesses, unter dem der
jeweilige Port läuft.  So ist die ARexx-Schnittstelle von Port~7 unter {\tt
EAZYBBS.7} ansprechbar.  (Groß- und Kleinschreibung ist signifikant.)

Folgende Befehle stehen zur Verfügung:

\subsection{QUIT [PROGRAM]}
Beendet den jeweiligen Port.

\subsection{QUIT SCRIPT}
Mit diesem Befehl müssen einige von der Mailbox aufgerufene ARexx-Skripts
abgeschlossen werden, damit die Mailbox weiß, daß das Skript zu Ende ist.
Zur Zeit trifft dies nur auf {\em MB\_DATA:AlarmSysop} zu.

\subsection{SCREENCLOSE}
Falls der Screen von EazyBBS zur Zeit geöffnet ist, wird er geschlossen, und
ein kleines Window auf der Workbench wird dafür geöffnet.

\subsection{SCREENOPEN}
Falls der Screen von EazyBBS zur Zeit geschlossen ist (Window), wird mit
diesem Befehl wieder der Screen geöffnet.

\subsection{SCREENTOBACK}
Legt den Screen bzw. das Window von EazyBBS nach hinten.

\subsection{SCREENTOFRONT}
Bringt den Screen bzw. das Window von EazyBBS nach vorn.

\subsection{STATUS USERNAME}
Name des gerade aktiven Benutzers abfragen.  Ist leer, wenn zur Zeit niemand
online ist.

\subsection[STATUS USERLEVEL]{STATUS USERLEVEL [$<$level$>$]}
Level des gerade aktiven Benutzers abfragen.  Entspricht der Angabe in der
Statuszeile der Mailbox.  Ist leer, wenn zur Zeit niemand online ist.

Optional kann man einen Level ({\em guest, user, sysop}) angeben, auf den
ein gerade aktiver Benutzer dann gesetzt wird.

\subsection[STATUS USERTIME]{STATUS USERTIME [$<$time$>$]}
Restzeit des gerade aktiven Benutzers abfragen.  Ist null, wenn zur Zeit
niemand online ist.

\subsection{STATUS CONNECT}
Connect-Meldung des gerade aktiven Benutzers abfragen.  Entspricht der Angabe
in der Statuszeile der Mailbox.  Ist null, wenn zur Zeit niemand online ist.

\subsection{STATUS MAXCALLERS}
Gesamtanruferzahl der Mailbox abfragen.

\subsection{STATUS MAXCALLERS TODAY}
Anruferzahl der Mailbox am heutigen Tag abfragen.

\subsection{STATUS CALL}
Abfragen, ob der gerade aktive Benutzer einen {\em Call}-Versuch gemacht hat.
Falls ja, wird "`yes"' zurückgegeben, sonst "`no"'.

\subsection{STATUS DEVICE}
Name des benutzten Devices.

\subsection{STATUS UNIT}
Nummer der Unit des benutzten Devices.

\subsection{STATUS BAUDNAME}
Der Connect-String des gerade aktive Benutzers (wie er auch in
der Titelzeile angezeigt wird).

\subsection{STATUS BAUDRATE}
Die effektive Übertragungsrate (in bps) des gerade aktive Benutzers (wie sie
auch bei der Berechnung von Filetransfer-Zeiten benutzt wird).

\subsection{STATUS BAUDMODEM}
Die Geschwindigkeit, mit der Rechner und Modem gerade kommunizieren.

\subsection[WRITE]{WRITE $<$string$>$}
Schreibt ein oder mehrere Zeichen auf den Bildschirm der Mailbox.
Backslash-Codes sind erlaubt.  Die sichtbare Länge der Zeichenkette sollte
nicht 80 überschreiten.

\subsection{WRITELN}
Schreibt ein {\em Carriage Return} (Wagenrücklauf) und {\em LineFeed}
(Zeilenvorschub) auf den Bildschirm der Mailbox und scrollt, wenn nötig.

\section{Public Screens}
Seit AmigaOS~2.0 gibt es das Konzept der {\em Public Screens}.  Das sind
Screens, auf die andere Programme über einen festgelegten Namen zugreifen
können.  Auch die {\em Workbench} ist solch ein Public Screen.

Der Name des Public Screens eines Ports entspricht dem Namen des Prozesses
dieses Ports.  So heißt der Public Screen von Port~7 also {\tt EazyBBS.7}.
(Groß- und Kleinschreibung ist signifikant.)

\section[Multi--Tasking]{Multi--Tasking während der Laufzeit}

EazyBBS unterstützt in jeder Hinsicht Multi-Tasking.
In Situationen, wo es auf bestimmte Ereignisse wartet (Anruf, Benutzer-Eingabe
etc.), verbraucht es keine Rechenzeit des Prozessors (CPU). Das ist alles
andere als eine Selbstverständlichkeit, wie genug Amiga-Software
traurigerweise beweist.

Während der Laufzeit des Systems sollte man stets darauf
achten, den verbleibenden unbelegten Speicher nicht bis zum letzten Byte
aufzubrauchen, da EazyBBS dynamisch Speicher allokiert (und deallokiert)
und abbrechen muß, falls angeforderte Mittel nicht zur Verfügung gestellt
werden konnten.
Unter extremen Situationen bricht EazyBBS von allein ab, um die internen
(Listen etc.) und externen (Messages, Files, Mails etc.) Daten des Systems
nicht zu gefährden. Wenn Sie bei der Arbeit im Multi-Tasking jedoch
sorgsam und vorausschauend mit den Resourcen Ihres Rechners umgehen, sollte
dieser Fall nie eintreten.

EazyBBS überprüft immer, ob es angeforderte Resourcen auch erhalten hat und
handelt entsprechend. Jedoch gerade bei Programmen wie einer Mailbox ist
es praktisch unabdingbar, daß die angeforderten Mittel {\em immer} zur
Verfügung stehen, denn sonst wäre die Mailbox gezwungen, sofort zu
terminieren, was ohne Zweifel nicht im Interesse des Betreibers liegen
kann.
Darum sollte dem Programm vor allem immer genügend Speicher zur Verfügung
stehen. Ein Platz von 100-200 kB nach Start des Programms sollten das
Minimum sein, da EazyBBS selbst weitere speicherintensive Programme wie
{\em LhArc}, {\em Zoo} und {\em Arc} aufruft (sofern sie installiert sind). Beim Start von
Programmen im Multi-Tasking ist es ratsam, sich vorher darüber zu
informieren, wieviel Speicher sie EazyBBS "`stehlen"'.

Sollten Sie dennoch nicht zumindest 100~kB frei haben während der Laufzeit,
so löschen Sie zuerst die Sound-Dateien ({\tt MB:In\-tern/*\_SOUND}) und
ersetzen sie durch 0 Byte lange Dummy-Dateien.  Danach bedenken Sie, daß
jedes Board bzw.  jede File-Area kostbaren Speicher verbraucht.  Auch
sämtliche File-Daten einer gerade aktiven File-Area werden im Speicher
gehalten, so daß man durch Herabsetzen der maximalen Anzahl der Einträge
bzw.  durch Löschen von Boards und File-Areas wiederum Speicher einsparen
kann.

Desweiteren kostet jede Mitteilung im gerade aktiven Board sie jeweils
ca. 300 Bytes. Bitte rechnen Sie sich vorher aus, wie Sie den Update
einstellen müssen, um noch genügend Speicher frei zu haben.

Das Anruferprotokoll wird ebenfalls komplett im Speicher gehalten.  Kürzen
Sie die Anzahl der maximal möglich Einträge, um Speicher zu sparen.


\section[Fehler]{Fehler während der Laufzeit}

Nicht alle Fehler, die während der Laufzeit des Systems auftreten können,
haben unmittelbar einen System-Abbruch zur Folge.  Oftmals handelt es sich um
leichtere Fehler, die das System durchaus verkraften kann, wobei man sich
jedoch darüber im klaren sein sollte, daß auch hier unter Umständen Daten
verloren gegangen sein können.  (meist wegen Speicher-Knappheit)

Im Falle eines "`kleinen"' Fehlers wird ein kurzer erläuternder Text in die
Logfiles (siehe dort) geschrieben. Löschen Sie diese Dateien auf keinen
Fall, auch wenn Ihnen die auftretenden Fehler banal vorkommen. Machen Sie
diese Dateien den Programmierern zugänglich,
um mögliche Bugs im System zu entfernen.
Erscheinen dort verhältnismäßig viele Meldungen, sollten sie
unter Umständen Ihre Konfiguration überprüfen, denn Fehler sind bei
EazyBBS eher die Ausnahme anstatt die Regel.
Manche Fehler können Sie sogar selbst beheben. Der Text deutet meist
unmißverständlich darauf hin, daß evtl. ein Board gelöscht werden muß
oder andere Maßnahmen ergriffen werden sollen. Das sollten Sie auch
so schnell wie möglich tun.

An dieser Stelle eine Bitte:  Immer wieder mussen wir mitansehen, wie die
Benutzer von Programmen beim Aufstöbern von Fehlern in eben diesen
Programmen immer zuerst vor ihren Freunden rumprahlen, daß das Programm doch
sche*** sei, weil es einen Bug hat, aber nicht im Traum darauf kommen, dem
Programmierer eine klitzekleine Nachricht zukommen zu lassen, um ihm die
Chance zu geben, seinen Fehler wiedergutzumachen.  Es nützt wirklich {\em
niemandem}, wenn man entdeckte Fehler für sich behält.  (niemandem außer
der Konkurrenz :-)

Erscheint ein Requester mit einem Text, oder wird eine Guru-Me\-di\-ta\-tion von
EazyBBS verursacht, so starten Sie das Programm nicht erneut, sondern
lokalisieren erst die Fehlerursache und beheben den Fehler, der zum
Abbruch führte. Andernfalls können alle Daten der Mailbox zerstört
werden.

Vom Gebrauch von Programmen wie "`SafeBBS"' o.ä., die nach Gurus einen
Reset durchführen oder auf andere Weise versuchen, EazyBBS in seiner
Funktionsweise zu "`überwachen"', raten wir ab.

\section[VT102--Probleme]{Probleme mit VT102 mancher Terminalprogramme}

EazyBBS ist eines der wenigen Programme, welches teilweise intensiv von der
Emulation VT102 (VT = Vax Terminal) Gebrauch macht.  Dies ist geschichtlich
begründet; früher waren die Modems noch sehr langsam, so daß man bemüht war,
möglich wenig Zeichen zu übertragen.  Doch auch in der heutigen Zeit
schneller Modems und ISDN-Karten ist es sicherlich nicht verkehrt, sorgsam
mit der zur Verfügung stehenden Bandbreite umzugehen.  Es kann daher
vorkommen, daß Terminalprogramme Probleme haben, weil sie nur einige
Befehlssequenzen der Emulation unterstützen, jedoch nicht die gesamte Norm.

EazyBBS wurde in dieser Hinsicht sorgfältig ausgetestet und entspricht
100\%ig der VT102-Norm.  Mit gängigen Terminalprogrammen für z.~B.  Atari-ST
bzw.  IBM-PC werden Sie keine Probleme haben.  Jedoch "`mal wieder"' allein
beim Amiga stellt sich heraus, daß einige beliebte Programme wie JR-Comm,
NComm oder VLT nicht vollständig VT102 unterstützen, sondern nur eine
beschränkte Auswahl bieten.

Genau auf diese VT102-Emulation von JR-Comm ist eine weitere Emulation von
EazyBBS namens "`Tiny VT102 (Color)"' zugeschnitten.  JR-Comm ist in diesem
Fall nicht etwa mit der internen VT102-Emulation zu betreiben, sondern mit
der sogenannten AMIGA/ANSI-Emulation.  Entsprechendes gilt für NComm.  Wie
gut die Emulation von "`Terminus"' (Nachfolger von JR-Comm) ist, konnten wir
bisher noch nicht austesten.

Zwei gute Terminal-Programme für den Amiga sind "`Term"' und "`OnLine!"'.
Beide bieten Z-Modem oder unterstützen XPR. Sie besitzen eine gute
VT102-Emulation, Skripts, alle Umlaut-Typen und weitere sinnvolle
Möglichkeiten.  "`Term"' ist kostlos als Giftware zu beziehen und
unterstützt vorbildlich das Betriebssystem AmigaOS 2.0 (und höher).
Auch andere Public-Domain-Programme wie Handshake v2.12 verfügen über
eine exzellente Emulation.

Andere Programme wie DIGA~1.0 oder A-TALK~III besitzen leider weder eine
funktionierende ANSI/VT100- noch eine VT102-Emulation, so daß von ihrer
Benutzung abgeraten wird.

EazyBBS ist ein bildschirmorientiertes (Full-Screen) Mailboxsystem.  Es
existieren für alle Rechnertypen kostenlose Terminalprogramme (meist
Shareware oder Freely Distributable), die solche Fullscreen-Emulationen
bieten und auch sonst sehr komfortabel sind, so daß jeder die Chance hat,
vernünftig mit EazyBBS zu arbeiten.

Nur durch das Beharren von Programmierern auf bildschirmorientierte
Fullscreen-Emulationen ist ein Fortschritt in der
Datenfernübertragungssoftware für Home-Computer zu erreichen.
Professionelle UNIX-Systeme, wie sie zunehmend auch von privaten Anwendern
genutzt werden, bieten beispielsweise seit Jahren (mit großem Erfolg)
überwiegend solche Fullscreen-Andwendungen an.  Und daran orientieren wir
uns.

\section{Interne Systemzeit}

Die Uhr eines Computers ist kein Spielzeug. Sie muß zuverlässig das
Datum angeben, da das Datum einen wichtigen Bestandteil bei der Speicherung
von internen Daten darstellt.

EazyBBS geht davon aus, daß die Zeit streng monoton steigend verläuft,
also niemals die Uhr "`zurückgedreht"' wird. Ist dies doch einmal der Fall, ist
mit der Inkonsistenz der internen Daten zu rechnen, und EazyBBS muß im
Zweifelsfall neu installiert werden. Alle Boards, Messages, File-Areas,
Files und User gehen verloren.

Es tritt ab und zu der Fall ein, daß andere Programme (vor allem nicht
systemkonform programmierte Spiele) die Systemuhr verstellen.  Vor dem Start
von EazyBBS sollte man sich daher vergewissern, daß die Systemuhr korrekt
eingestellt ist.  Für den Fall, daß man es vergessen hat und EazyBBS
bereits gestartet ist, so wird man bald feststellen, daß das
Anruferprotokoll nicht mehr funktioniert.  Beenden Sie EazyBBS, setzen Sie
die System-Uhr korrekt, und starten Sie EazyBBS erneut.  Treten danach keine
Abnormitäten auf, so haben Sie noch einmal Glück gehabt.  Jedoch je mehr
Messages und Mails geschrieben und Files gesendet/gelesen wurden während das
Datum verstellt war, desto größer wird die Wahrscheinlichkeit, daß die
internen Daten von EazyBBS inkonsistent sind.  Gegebenenfalls müssen Boards,
File-Areas bzw.  User, bei denen unerklärbares Fehlverhalten auftritt,
umgehend gelöscht werden.

Während der Laufzeit von EazyBBS die Systemzeit zu ändern, ist
verboten.

Wahrscheinlich werden Sie sich gefragt haben, warum EazyBBS nicht
selbst überprüft, ob die Systemzeit stimmt. Nun, die Antwort ist
mehr als einfach: EazyBBS kann die Systemzeit gar nicht überprüfen,
da es nur eine Uhr im Amiga gibt. Womit sollte EazyBBS die Systemuhr
vergleichen, um einen Fehler festzustellen? Und wenn EazyBBS nur
grob prüfen würde, ob die aktuelle Systemzeit {\em vor} der Zeit liegt,
zu der EazyBBS das letztemal gestartet wurde, was sollte EazyBBS
dann machen? Abbrechen? Vielleicht ist dies ja gewollt.

Nein, abgesehen von den mangelnden Möglichkeiten kann es ohnehin
nicht Aufgabe eines Mailboxprogramms sein, sich um die Systemuhr
zu kümmern. Wenn dem so wäre, müßte sich ja {\em jedes} Programm darum
kümmern. Wie man sieht, obliegt diese Aufgabe sinnvollerweise dem
Systemverwalter während des Boot-Vorgangs.

\section{Logfiles}
EazyBBS legt zur Laufzeit sogenannte Logfiles (Protokolldateien) an.  Anstatt
bei bestimmten Ereignissen die Ausgaben auf dem Fenster zu tätigen, von dem
EazyBBS aus gestartet wurde, werden kurze Mitteilungen in festgelegte Dateien
geschrieben.  Die Informationen bleiben somit über längere Zeit erhalten
und sollten in regelmäßigen Abständen vom Systembetreiber gekürzt werden.

Zur Datensicherheit verwaltet EazyBBS alle Logfiles doppelt.  Die internen
Dateien liegen unter {\tt MB:Intern/Log.*} und dürfen zur Laufzeit der Box
unter keinen Umständen gelesen oder beschrieben werden.  Außer der Datei
{\tt MB:Intern/Log.Callers} sollten alle Dateien regelmäßig gekürzt
werden.  Hierzu bietet sich das mitgelieferte Programm {\em TrimFile} an, das
Textdateien auf eine bestimmte Anzahl von Zeilen kürzt.  Die Datei {\tt
Log.Callers} wird von EazyBBS automatisch gekürzt, da es sich bei dieser
Datei nicht um eine Textdatei handelt.

Damit nun die Logfiles sicher betrachtet werden können, gibt es das
Zusatzprogramm {\em ExportLogfiles}, mit dem die Logfiles jederzeit in
das Verzeichnis {\tt MB:} kopiert werden können, wo man sie nach
Belieben Lesen, Schreiben, Verändern und Löschen darf. {\em ExportLogfiles}
kann jederzeit gestartet werden, sofern die Daemons im Hintergrund laufen.
Hieraus ergibt sich der Nachteil, daß stets {\em ExportLogfiles} aufgerufen
werden muß, um aktuelle Logfiles zu erhalten. Dies ist aber aufgrund der
Konzeption des Betriebssystems des Amigas nicht anders möglich und muß
als gegeben hingenommen werden.

\noindent Folgende Logfiles werden im Verzeichnis {\tt MB:} abgelegt:

\subsection[CommandLog]{EazyBBS.CommandLog}
Gibt ein Benutzer ein ungültiges Kommando ein, so wird dies registriert.
Erfaßt werden die Uhrzeit, der Benutzername, das illegale Kommando und
die Ebene, in der sich der Benutzer befand.

Die Datei soll helfen, Anfängern gezielt Hilfestellung geben zu können
bzw. oft gemacht Fehler diplomatisch in einem passenden Board der Mailbox
zu besprechen.

\subsection[InternalLog]{EazyBBS.InternalLog}
Dieses Logfile ist internen Zwecken vorbehalten. Der Inhalt sollte
nicht weiter von Interesse sein und auch keinen Grund zur Besorgnis
geben.

\subsection[ErrorLog]{EazyBBS.ErrorLog}
EazyBBS bricht nicht in allen Fehlersituationen sofort ab. Manche Fehler
sind nicht so bedeutend, daß man nicht fortfahren könnte. Damit solche
Fehler aber dennoch bemerkt werden, zeichnet EazyBBS sie auf.

Die Datei enthält entweder normale Fehlermeldungen, denen man nachgehen
sollte, oder gibt Anweisungen, die unbedingt befolgt werden müssen.
Die Fehler sind in der Regel nicht trivial, und wenn das Problem nicht
selbst erkannt und behoben werden kann, müssen Sie sich unbedingt mit
uns in Verbindung setzen. Wir garantieren andernfalls für nichts.


\subsection[StatusLog]{EazyBBS.StatusLog}
Ereignisse, die auf den eigentlichen Verlauf von EazyBBS keinen direkten
Einfluß haben, werden hier vermerkt. Dazu gehört beispielsweise der
"`Sysop-Call"' eines Benutzers. Es läßt sich somit besser verifizieren,
was in eigener Abwesenheit geschehen ist.


\subsection[TransferLog]{EazyBBS.TransferLog}
Um sich unabhängig von der Mailbox ein Bild über die Benutzeraktivitäten
machen zu können, insbesondere über den Up- und Download von Dateien,
werden diese Vorgänge hier festgehalten. Zusätzlich zur Uhrzeit werden
der Name der Datei, die Länge und die aktuelle Übertragungsrate
(in bit/s) festgehalten.

Der Aufbau der Datei ist genormt, so daß leicht Skripts oder Programme
geschrieben werden können, die dieses Logfile auswerten und automatisch
Statistiken erstellen.

\subsection[CallersLog]{EazyBBS.CallersLog}

Eine der interessantesten Dateien dürfte wohl das Anruferprotokoll
einer Mailbox sein.  Neben dem Namen des Benutzers werden seine
Login- und Logout-Zeit vermerkt.  Die {\em CONNECT}-Meldung des
Modems wird ebenso protokolliert wie die Zahl des Anrufers am
heutigen Tag sowieso die Gesamtanruferzahl und die Port-Nummer,
auf der der Anruf kam.

\chapter[Netzwerk, UUCP]{Netzwerk,\\ EazyBBS und UUCP}

\section{Allgemeine Hinweise}

UUCP (Unix to Unix CoPy) bezeichnet --- salopp gesagt --- einen Standard,
nach dem Computer (Sites) eines Netzwerks Daten austauschen können.
Bekannte Netzwerke nach UUCP-Standard sind das weltweite UseNet und auch das
deutsche DeNet (von Nostalgikern auch SubNet genannt).  Über sogenannte
Gateways sind via UUCP auch weitere Netzwerke wie Z-Netz, Fido, Maus und
andere zugänglich.

Diese Anleitung informiert weder über denn allgemeinen Umgang mit UUCP, noch
spezifiziert sie die technischen Details oder gibt nähere Auskunft über die
Installation verschiedener erhältlicher UUCP-Pakete für den Amiga.  Wer
UUCP nutzen möchte, muß sich selbst informieren und mit der Materie
vertraut machen.  Es gibt zu diesem Thema Bücher (für den Einstieg durchaus
empfehlenswert); weitaus informativer sind jedoch die bei jeder UUCP-Software
mitgelieferten Dokumentations-Dateien, die sogenannten {\em Manual-Pages}
(kurz:  {\em Man-Pages}).  Sie helfen beim Umgang mit der jeweiligen
Software, setzen jedoch Grundkenntnisse voraus.

Als allgemeine Dokumentation empfehlen wir die zu diesem
Thema an jeder Universität erhältlichen RFC-Texte (Request For Comments)
(das sind die zugrunde liegenden Standards) und auch die "`NewUsers"'-Texte
(de.newusers, news.newusers), die in diversen Mailboxen zu finden sind.

Im folgenden wird eingegangen auf die Installation des UUCP-Gateways für
EazyBBS und die allgemeine Problematik von UUCP-Sites.

\section{Installation des Gateways}

Nachdem man sein gewünschtes UUCP-Paket (auf Anfrage sprechen wir gern
Empfehlungen aus) korrekt installiert und konfiguriert hat für sich und die
Benutzer der Mailbox, müssen noch einige Skriptdateien (Batchfiles) erstellt
werden.  Bei Skriptdateien ist i.~allg.  auf ein gesetztes 's'-Flag zu
achten.  Dies können Sie z.~B.  in der Shell (CLI) erreichen durch Eingabe
des Kommandos {\tt protect \flq script\frq\ s add}.

Falls nicht bereits vorher geschehen, ist der Stack stets auf mindestens 50000 zu
setzen, was beispielsweise mit dem Kommando {\tt stack 50000} als erste Zeile
jedes Skripts geschehen kann.  Wurde der Stack nicht ausreichend groß
gewählt, neigt die gängige UUCP-Software zu spontanen Abstürzen und
unerklärlichen Datenverlusten.

Die folgende Skriptdatei wird aufgerufen, nachdem der Benutzer UUCP von der
Mailbox aus gestartet hat.  EazyBBS stoppt dazu die Anforderung von Zeichen
von der seriellen Schnittstelle, schließt allerdings das zugehörige Device
(Treiber) nicht.  Die UUCP-Software muß daher die serielle Schnittstelle im
sogenannten "`shared mode"' bedienen können.

\subsection{MB:EazyGetty.Begin}
\begin{verbatim}
    .KEY device/A,unit/A
    .BRA {
    .KET }

    ; Wir warten ein wenig ...
    Wait 25

    ; Getty in den Hintergrund starten, so dass
    ; das Programm auch nach Ablauf dieses Skripts
    ; noch laeuft ...
    Run Getty >NIL: -S{device} -U{unit} -A -B38400 -7 -Md -c0 -r0

    ; Und wieder ein wenig warten ...
    Wait 25
\end{verbatim}

Da in der Standardkonfiguration von EazyBBS das Modem auflegt (DTR low), wenn
kein Programm mehr die serielle Schnittstelle in irgendeiner Form belegt,
sollte die vorige Skriptdatei auf das Device der seriellen Schnittstelle
zugreifen, damit diese belegt bleibt.  Nach Ende der vorangegangenen
Skriptdatei schließt EazyBBS (von sich aus) das Device und ruft die folgende
Skriptdatei auf.

\subsection{MB:EazyGetty.Wait}
\begin{verbatim}
    .KEY device/A,unit/A
    .BRA {
    .KET }

    ; Wir warten darauf, dass Carrier-Detect verloren
    ; geht, was bedeutet, dass die Verbindung mit dem
    ; Benutzer endgueltig getrennt ist ...
    MB:C/SyncCD {device} {unit} POLL

    ; Dem im vorigen Skript gestartete Programm Getty
    ; signalisieren wir, dass es sich beenden soll ...
    Getty -S{device} -U{unit} -0

    ; Schon wieder warten ...
    Wait 10

    ; Eingetroffene News unbatchen,
    ; d.h. auspacken und einsortieren ...
    UnBatch
    ; Crash-CNews: NewsBin:Relay/UnBatch

    ; Fuer die angeschlossenen Systeme (Sites) die
    ; eingetroffenen News zusammenpacken und zum Abruf
    ; bereitlegen ...
    SendBatches
    ; Crash-CNews: NewsBin:Batch/DoBatch
\end{verbatim}

Nach Ablauf der Skriptdatei belegt EazyBBS wieder die serielle Schnittstelle
und fährt fort wie nach dem normalen Logout eines Benutzers aus der Mailbox.

\section{Vernetzung von News/Boards}

Wenn man eine Newsgroup (UUCP) mit einem Board (EazyBBS) vernetzt, so bedeutet
dies, daß alle Artikel aus der Newsgroup im Board erscheinen.  Ebenso werden die
im Board geschriebenen Messages in UUCP auftauchen.

Angenommen, man will das Board "`EazyNet/Test"' mit der Newsgroup "`eazy.test"'
verbinden, könnte man folgendermaßen vorgehen:

Zuerst wird das {\em Sys}--File (eine UUCP-Steuerdatei zur Verwaltung von News)
erweitert:

\begin{verbatim}
        eazy-test:eazy.test/all::News2Eazy EazyNet Test
\end{verbatim}

Über den Eintrag "`eazy-test"' werden nun die Spezifikationen der
Newsverteilung angesprochen.  Alle Artikel der Newsgroup "`eazy.test"'
werden nun an das Programm "`News2Eazy"' weitergegeben, das mit den
Argumenten "`EazyNet"' und "`Test"' (der Name des Mailbox-Boards)
aufgerufen wird.

Jetzt muß EazyBBS bekannt gemacht werden, daß es sich um ein vernetztes
Board handelt.  Hierzu trägt man im Board-Editor des entsprechenden Boards
bei den Netzwerkdaten folgendes ein:

\begin{verbatim}
        mb:c/eazy2news eazy.test eazy-test
\end{verbatim}

Für jede Message im Board wird nun das Programm "`mb:c/eazy2news"' mit den
Argumenten "`eazy.test"' (der Name der Newsgroup) und "`eazy-test"' (der
zuständige Eintrag im Sys-File) aufgerufen.

Die Daten zur Vernetzung von Newsgroups und Boards können von Software
zu Software leichte Unterschiede aufweisen; vielleicht wird es notwendig,
lokale Anpassungen vorzunehmen.  Testen Sie daher bitte vor der
öffentlichen Freigabe jedes Board bzw. jede Newsgroup aus, um Schaden
vom Netzwerk abzuwenden.

\section{Vernetzung von Mails/PMs}

Unter der Vernetzung von E-Mails (UUCP) und persönlichen Nachrichten der Mailbox
versteht man, daß Benutzer aus der Mailbox heraus an Benutzer anderer Systeme
(seien es Mailboxen, seien es reine UUCP-Sites) Mails (persönliche Nachrichten)
verschicken können. Umgekehrt können auch Benutzer der Mailbox Mails von
anderen Personen empfangen.

Der Empfang von UUCP-Mails wird bei der Einrichtung eines Benutzers automatisch
aktiviert.  Er ist relativ unproblematisch und ungefährlich.  Es ist nur zu
beachten, daß Leerzeichen in Unterstriche (Underscore) gewandelt werden
(müssen).

Damit ein Benutzer auch Mails nach außerhalb verschicken kann, reicht es,
in seinen Benutzerdaten die entsprechende Einstellung entsprechend zu setzen.
Bitte achten Sie darauf, daß Sie nur Benutzern das Verschicken von Mails
erlauben, die einen vollständigen Namen und eine sinnvolle Signatur
angegeben haben.

Wenn Sie bereits EazyBBS benutzen, müssen Sie (leider) per Hand nachträglich
allen Benutzer den Empfang von UUCP-Mails gestatten.  Hierfür existiert die
Skriptdatei {\tt mb:c/setmail2eazyall.sh}, welche nur mit der CShell läuft.

skripts zum eintragen der user

\section{Allgemeine Hinweise}
Beim Einsatz von UUCP gibt es einige Punkte zu beachten, wenn die Mailbox
und UUCP gut harmonieren sollen.

\subsection{Ausgewählte Benutzer}
Nicht jeder Mailbox-Benutzer ist für ein nationales oder gar internationales
Netzwerk geeignet, in dem eine Pflicht zur Angabe des echten Namens
(Realname) besteht.  Durch Fehlbedienung der Software und unbedachtes
Vorgehen können Schäden in Millionenhöhe entstehen, für die der
Verantwortliche (im Zweifelsfall der Besitzer der Mailbox und nicht der
Verursacher des Schadens) haftbar gemacht werden kann.  Potentielle
UUCP-Benutzer sollten vertrauenswürdig und erfahren im Umgang mit ihrer
Maschine sein.  Netzwerke sind i.~allg.  kein geeignetes Medium für Laien.

\subsection{Anruf beim Feed}
Bei aller Begeisterung für das UUCP vergessen viele Mailbox-Betreiber,
daß die benötigten Daten (Mails, News) zeitaufwendig angeschafft und
weitergegeben werden müssen.  Im allgemeinen wird täglich eine
spezielle Site (Feed) angerufen, um neue Daten abzuholen.  In dieser
Zeit ist die Telefonleitung belegt und die Mailbox somit blockiert.
Solche Feeds neigen dazu, öfters besetzt zu sein. Das Abholen der
Daten kann also nicht einmal zu beliebiger Zeit erfolgen.

Zu diesem Zweck wurden die Logout-Programme eingerichtet. Ein von der
Mailbox unabhängiges Programm sollte einmal täglich zu einer festgelegten
Zeit ein Logout-Programm installieren. Dies sollte ein Skript sein, welches
den Feed einmal anruft.  War der Anruf erfolglos, geht die Kontrolle an die
Mailbox zurück.  War der Anruf erfolgreich, löscht sich das Skript selbst,
damit nicht nach jedem Logout eines Benutzers der Feed angerufen wird.

\subsection{UUCP und USR Courier HST}
Für den Einsatz von UUCP ist der von USRobotics entwickelte
HST-Standard zur Datenübertragung denkbar ungeeignet. UUCP
verwendet normalerweise das sogenannte {\em g-Protokoll}, das auf beiden
Leitungen (send und receive) einen sehr hohen Overhead benötigt.
Da der HST-Standard in der Praxis --- grob gesagt --- nur eine
Halbduplex-Datenübertragung bietet (entweder send oder receive,
jedoch nicht beides gleichzeitig), läßt sich damit nicht sinnvoll
UUCP betreiben, weil das Modem ständig zum Kanalwechsel (send oder
receive) gezwungen wird, was die Übertragung extrem verlangsamt.

\subsection{Tips und Tricks}
Sie finden nun einige Ratschläge für gängige Problemfälle bzw. Fehler,
die in der Vergangenheit im Zusammenhang mit UUCP aufgetreten sind.

\subsubsection{Fehler bei relaynews, history}
Wenn das Programm {\em relaynews} aus unerklärlichen Gründen abbricht oder
sich andere Programme über eine defekte {\em history}-Datei beschweren,
löschen Sie am besten alle {\em history}-Dateien (derer gibt es mindestens
drei).  Legen Sie danach eine leere Datei namens {\em history} an und
rufen Sie in einer Shell (CLI) {\tt dbz history} auf.

\subsubsection{Artikel in junk}
Sollten sich im Artikel-Verzeichnis {\em junk} Artikel befinden, so suchen
Sie in den Artikeln nach einer Zeile, die mit "`{\em Newsgroups:}"'
beginnt.  Dort stehen mehrere durch Komma getrennte Namen.  Fügen Sie diese
zur {\em active}-Datei (ähnlich den anderen Einträgen dort) hinzu, und achten
Sie dabei auf die alphabetische Sortierung.  Die beiden Nummern müssen null
sein.

\subsubsection{Keine News für neue Sites}
Sie wollen eine neue Site an UUCP anschließen und haben dazu alle
Konfigurationsdateien entsprechend erweitert, aber dennoch erhält die neue
Site keine News?  Falls Sie die News-Software {\em C-News} verwenden, müssen
Sie zusätzlich im Verzeichnis {\em NewsArts:Out.Going} ein Unter-Verzeichnis
mit dem Namen der neuen Site anlegen.

\subsubsection{Das Unbatchen hängt}
Falls beim Unbatchen (Einsortieren) der News plötzlich nichts mehr geschieht
(der Rechner sonst jedoch normal weiterläuft), haben Sie vielleicht
vergessen, die Daemons vorher zu starten.  Die Daemons müssen laufen, damit
Artikel aus UUCP in die Box importiert werden können.

\chapter[Support]{Käufer--Unterstützung}

\section[Kontakt]{Kontakt mit den Programmierern}

Wer Interesse an dem Programm (Sales-Version/Shareware-Version), Fragen,
Anregungen oder ähnliches hat, kann sich in Berlin mittels Telefon an
der Nummer {\em 873376} Tag und Nacht versuchen. Dort wird i.~allg.
ein automatischer Telefonknecht seinen Dienst verrichten, dem man
zumindest die eigene Telefonnummer, den Namen und das Anliegen
anvertrauen sollte, um die Chancen für einen Rückruf zu erhöhen.

\noindent Wir sind erreichbar via gelber Post:
\begin{verbatim}
        Andreas M. Kirchwitz
        Seesener Str. 69
        D-10709 Berlin
        Federal Republic of Germany
\end{verbatim}

\noindent International (elektronisches Netzwerk) via UUCP/InterNet:
\begin{verbatim}
        amk@zikzak.in-berlin.de
        amk@cs.tu-berlin.de
        amk@fu-berlin.de
\end{verbatim}

\noindent In geselliger Mailbox-Atmosphäre:
\begin{verbatim}
        ZikZak
        +49 (0)30 873376 (V.32, HST 14.4, V.32bis)
        nur von 15-21 Uhr
        User-ID: "Big Bonzo" (Sysop)
\end{verbatim}

\section{Danksagung und Widmung}

Ein Lob und Dankeschön geht hiermit an {\em Heiko Schlichting} für seine
wundervolle {\em (eazy)pattern.library} und andere Tips und Tricks mit denen er uns
stets zu helfen wußte.

Weiterhin Dank an {\em Frank Pohl}, der damals als erster Sysop bereit war,
unser Programm zu benutzen.  Ohne seine Geduld und Hilfe hätten wir es
vielleicht nicht geschafft.

Und abschließend besten Dank an {\em Andreas Geist} und {\em Andreas Lammel},
die uns großzügig mit Hardware ausgeholfen und uns unterstützt haben, wo sie
nur konnten.

\section{\dots\ to be continued}

Diese Anleitung wird ständig erweitert. Vor allem der Umstand, daß viele
Details bisher den box-internen Help-Dateien entnommen werden müssen, bitten
wir zu entschuldigen \dots

\end{document}

