\documentstyle[makeidx,a4,german,iso]{report}
%%%
%
% Try this one if you have problems when compiling:
%
% \documentstyle[german]{report}
%
%%%
%\documentstyle[a4,iso,times,german,titlepage]{report}
\title{
	{\Huge\bf EazyBBS}\\
	The Advanced Mailbox/BBS System\\
	{\bf Benutzerhandbuch}
}
\author{
	Andreas M. Kirchwitz\\
	Seesener Str. 69\\
	D--10709 Berlin\\
	Tel.~8623376
	\and
	Sven Polewacz\\
	(ehem. Co-Autor)
%	Bartningallee 7\\
%	D--10557 Berlin\\
%	(Co-Autor)
}
\date{Letzte Änderung: \today\\
	Copyright \copyright\ 1988-1994, all rights reserved.
}
\pagestyle{headings}
\makeindex
\begin{document}
% \setcounter{secnumdepth}{2}
\setcounter{tocdepth}{4}
\sloppy

\maketitle

\tableofcontents

\chapter{Copyright Notice}

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}

\index{Library!xprzmodem}

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}

\index{UUCP}

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 und Multi-Port (mehrere Benutzer gleichzeitig)
\item Unterstützung multi-serieller Schnittstellen- und ISDN-Karten
\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 AmigaDOS--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 (Messages, Files)
	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 fast 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 einfache Einbindung von CD-ROMs und beliebigen anderen Datenträgern
\item Fullscreen-Chat beim Sysop-Call\\
	(heimlicher Mitschnitt in eine Datei möglich)
\item Fullscreen-Chat für mehrere Benutzer gleichzeitig\\
	(Anzahl nur durch Bildschirmgröße beschränkt)
\item zeilenorientierter (IRC-ähnlicher) Multi-User-Chat\\
	(unbegrenzt Teilnehmer)
\item Anschlußmöglichkeit an UUCP-fähige Netze\\
	(UseNet, Z-Netz, MausNet, FidoNet 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 (kein Erscheinen in Mailbox-Listen, keine Werbung in anderen
Mailboxen) 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}

\index{Update!Kosten}

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 20,-~DM, sofern er
nicht durch das Entfernen von Fehlern entstanden ist bzw.  {\em wir} der
Meinung sind, ein kostenloser Update sei angemessen.

Bisher haben wir die meisten Updates kostenlos angeboten (trotz neuer
Features), weil wir unsere Kunden nicht gnadenlos abzocken wollen.

\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 20,-~DM
den Aufwand nicht mehr rechtfertigen würden.

Des weiteren 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.
Des weiteren ist ein beliebiges "`Datenaustauschgerät"' (Modem, ISDN etc.)
nach Hayes-Standard anzuraten (EazyBBS läßt sich allerdings recht flexibel
anpassen). Eine Festplatte ist empfehlenswert, aber notfalls geht's auch
ohne.

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.

Das mitgelieferte Skript {\tt Install\_EazyBBS} "`installiert"' EazyBBS; es
richtet alle nötigen Assigns ein und erweitert den Suchpfad in der aktuellen
Shell, um einen Start von EazyBBS zu ermöglichen. Dabei werden Ihre Daten
nicht verändert (nach einem Reboot ist alles beim alten). Dieses Skript
eignet sich, wenn Sie EazyBBS nur "`ausprobieren"' möchten, ohne Ihre
System-Konfiguration zu ändern.

\medskip

Im folgenden ist nun im einzelnen beschrieben, wie Sie EazyBBS korrekt auf
einer Festplatte einrichten. Da EazyBBS komplett in einem Unter-Verzeichnis
auf Ihrer Festplatte verbleiben kann, ist die Deinstallation denkbar einfach,
denn Sie müssen dazu nur das Verzeichnis mit EazyBBS löschen. Andere
Modifikation sind normalerweise nicht notwendig.

%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 {\tt ADD} des Befehls {\tt 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}\index{Library!eazytools} und {\em
eazyrecord.library}\index{Library!eazyrecord} stellen EazyBBS und den
zugehörigen Programmen Hilfsfunktionen zur Ver\-fü\-gung und verringern den
Speicherverbrauch bei Benutzung mehrerer Ports.

%Die {\em (eazy)pattern.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}\index{Library!xprzmodem} 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 \verb|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 {\em 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}

\noindent 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}

\index{Update!Installation}

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} oder {\em cmp}) muß
ermittelt werden, welche Dateien sich seit der letzten Version 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 unangenehme Folgen haben, die zum Verlust von Daten
führen. Seien Sie also sorgfältig.

\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.

\medskip

\noindent Genug der grauen Theorie. Los geht's \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 unter
{\em UNIX} üblichen Standards:

\begin{itemize}
\item Ist eine Zeile entweder völlig leer oder beginnt mit einem Doppelkreuz
'\verb|#|' --- 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. 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 (\verb|"| \dots \verb|"|) 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
zuverlässig miteinander 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 wenigstens {\tt 19200} oder {\tt 38400} bps. Meist 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 \verb|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
den CygnusEd mit "`\verb|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 "`\verb|[%r] %l:%a%b> |"'.

Welche Platzhalter im Prompt möglich sind, entnehmen Sie bitte der
allgemeinen Hilfe ({\tt MB\_DATA:LongHelp/General.1}), in der Mailbox
mit dem Befehl {\tt help} abrufbar.

\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[NewUnread]
Anzahl der Mitteilungen, die einem Benutzer als neu angezeigt werden sollen,
wenn er in ein Brett aufgenommen wird oder es neu anwählt. Der Wert sollte in
der Regel relativ niedrig gewählt werden, denn man stelle sich den Fall vor,
ein neu registrierter Benutzer wählt so gut wie alle Bretter an. In jedem
Brett wird ihm die angegebenen Anzahl von Mitteilungen (unabhängig von deren
Alter) als neu angezeigt.

Dateien in FileAreas werden stets komplett als gelesen markiert, weil es dort
für den Benutzer einfacher ist, sich alte Dateien anzeigen zu lassen.

\item[MailboxName]
In dieser Variable steht der Name Ihrer Mailbox.  Der Name sollte
nach Möglichkeit eindeutig, jedoch nicht länger als ca.~20--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) zum
Verschicken persönlicher Nachrichten.

\item[MailIntroLines (in Zeilen)]
Die maximale Anzahl der möglichen Zeilen im Editor des Mail-Systems (PMS) für
den Intro-Text des Empfänger, der beim Versenden von persönlichen Nachrichten
dem Sender angezeigt wird.

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[PubScreen]
Möchten Sie EazyBBS nicht in einem eigenen Screen laufen lassen, so können
Sie den Namen eines sogenannten {\em Public Screens} angeben. EazyBBS wird
dann auf diesem Screen ein Window öffnen. Existiert der angegebene Screen
nicht, benutzt EazyBBS einen eigenen Screen.

Möchten Sie z.B. EazyBBS in einem Window auf der Workbench laufen lassen,
geben Sie {\tt Workbench} an.

Soll EazyBBS aber in einem eigenen Screen laufen, geben Sie einen
beliebigen Phantasie-Namen an, der nicht existiert.

\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 {\tt
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 Bildschirm-Auflösungen
(sogenannte Display-Modi) festgelegte Namen, wie sie beispielsweise beim
Preferences-Programm {\em ScreenMode} von Commodore 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 spezielle Schlüsselwort {\tt Workbench} benutzen,
um EazyBBS zu veranlassen, den Display-Modus der Workbench zu kopieren
(clone) und verwenden.

Dieses Schlüsselwort ist bedeutungslos, wenn EazyBBS nicht in einem Screen,
sondern in einem Window laufen soll (siehe {\em PubScreen}).

\item[ScreenWidth/ScreenHeight]
Es ist möglich, die Größe des Bildschirms von EazyBBS weitgehend selbst zu
bestimmen. Dazu muß man diesen Variablen die Breite und Höhe in Pixeln
zuweisen. Bei dem gewählten Font müssen allerdings mindestens 80x25 Zeichen
auf den Bildschirm passen. Mehr Zeilen als 25 sind empfehlenswert, denn die
Benutzer Ihrer Mailbox dürfen nicht mehr Zeilen benutzen als Ihr
Ausgabebildschirm darstellen kann.

Einige Umstände sollte man dabei beachten. Ein eingeschalteter Rahmen um den
Ausgabebildschirm (siehe {\em WindowBorder}) nimmt zusätzlich Pixel in
Anspruch. Ebenso ein erzwungener Freiraum zwischen Rahmen und Text (siehe
{\em SpaceBorder}).

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.

Ist der Wert von {\em ScreenWidth} gleich {\tt 0}, bestimmt EazyBBS selbst
die optimale Breite, so daß exakt 80 Zeichen hineinpassen. Da einige
schlechte Grafikkarten nicht Screens beliebiger Breite erzeugen können, kann
man hier auch durch Angabe einer bestimmten Breite EazyBBS dazu zwingen,
einen Screen angegebener Breite zu öffnen. Der Wert muß groß genug sein, daß
mindestens 80 Zeichen hineinpassen.

Der Wert von {\em ScreenHeight} wird von EazyBBS gegebenenfalls leicht
verändert (erniedrigt), so daß {\em SpaceBorder} stimmt.

\bigskip

Soll EazyBBS nicht in einem eigenen Screen, sondern in einem Window auf einem
fremden Screen laufen (siehe {\em PubScreen}), beziehen sich diese
Screen-Werte auf die Größe des Windows.

\item[ScreenPosX/ScreenPosY]
Mit diesen beiden Schlüsselwörtern legt man die Zeilen- und Spaltenposition
des EazyBBS-Screens fest.

Soll EazyBBS nicht in einem eigenen Screen, sondern in einem Window auf einem
fremden Screen laufen (siehe {\em PubScreen}), beziehen sich diese
Screen-Werte auf die Position des Windows.

\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[ShowRealname (on/off)]
Setzt man diese Variable auf {\tt on}, wird beim Lesen von Mitteilungen
und persönlichen Nachrichten der tatsächliche Name (Realname) des Autors
angezeigt. Sollen die Benutzer hingegen anonym bleiben, setzen Sie den
Wert auf {\tt off}.

\item[SpaceBorder]
Der Wert gibt an, welcher Freiraum (in Pixeln) zwischen dem Screen- bzw.
Window-Rand und der eigentlichen Textausgabe gelassen werden soll. Dieser
Wert gilt gleichermaßen für alle Ränder (oben, unten, links, rechts).

Wenn EazyBBS z.B. in einem eigenen Window läuft, so wird normalerweise
(Wert~{\tt 0}) die Textausgabe direkt an den Window-Rahmen stossen. Manche
Leute empfinden dies als unschön --- in solch einem Fall kann man z.B. mit
dem Wert {\tt 1} einen Rahmen-Abstand von einem Pixel erzwingen.

\item[SpaceTitle]
Zusätzlich zu {\em SpaceBorder} kann man zwischen der Titelleiste und der
Textausgabe einen weiteren Freiraum erzwingen. Da die Titelleiste
normalerweise dicker als der Window-Rahmen ist, kann ein zusätzlicher
Freiraum recht hübsch aussehen.

\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[WindowPosX/WindowPosY]
Hiermit geben Sie an, an welcher Position EazyBBS sein Window öffnen soll,
wenn der Ausgabebildschirm geschlossen wird (iconify).

\item[WindowWidth/WindowHeight]
Hiermit geben Sie an, an wie breit und wie hoch EazyBBS sein Window öffnen
soll, wenn der Ausgabebildschirm geschlossen wird (iconify).

Wählen Sie {\em WindowWidth} groß genug, damit Close-, Zoom- und Depth-Gadget
Platz haben. Derzeit wird {\em WindowHeight} ignoriert; das Window öffnet
stets nur mit der Höhe der Titelleiste.

\item[XPRZmodemName]
Normalerweise wird man als Library für die Übertragung mit Z-Modem--Protokoll
die {\tt xprzmodem.library}\index{Library!xprzmodem} 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{Allgemeine Ausgabe-Dateien}

Im folgenden werden verschiedene Text-Dateien beschrieben, die (sofern nicht
anders angegeben) von beliebiger Länge sein und prinzipiell beliebige Zeichen
enthalten können. Direkte VT-Codes ({\em Escape\dots}) 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 (mit einem Backslash '\verb|\|' beginnende Zeichenfolgen)
verwendet werden, wie sie in {\tt MB\_DATA:LongHelp/General.1} nachgelesen
oder innerhalb der Mailbox normalerweise mit dem Befehl {\tt help} abgerufen
werden können.

%verwendet werden, wie sie in einem späteren Abschnitt der Anleitung
%(ANSI/VT-Support) noch genauer spezifiziert werden oder jederzeit der Datei
%{\tt MB\_DATA:LongHelp/General.1} entnommen werden können.

\subsubsection[AlarmSysop]{MB\_DATA:AlarmSysop}
Dieses Programm bzw. Skript (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[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.

Es ist zudem nicht verkehrt, 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 {\tt CONNECT}-Mitteilung zustande,
d.h. einer Geschwindigkeit, die Ihr Modem möglicherweise beherrscht, dessen
Erkennungs-Code Sie aber (weshalb auch immer) nicht in die Datei
{\tt 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 {\tt 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[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 Ressourcen 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 {\tt .o} oder {\tt .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 Skript-Flag 's' zu setzen.

\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 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[IllegalTime]{MB\_DATA:SysopIsAway}
Kann der Sysop mit dem Befehl {\tt call} nicht erreicht werden, so
wird dieser Text ausgegeben.

\subsection{Mehrsprachige Ein-/Ausgabe-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[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. Was die Befehle im einzelnen bewirken,
können Sie in den einzelnen Erklärungen unter {\tt MB\_DATA:LongHelp/\$ebene}
(siehe weiter unten) nachlesen oder komfortabel innerhalb der Mailbox mit dem
Befehl "`{\tt help \verb|<befehl>|}"' abrufen.

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 '\verb|#|' beginnen,
werden ignoriert.

\subsubsection[ExtFiles/config]{MB\_DATA:ExtFiles/config}
Wie bereits in der globale Konfigurationsdatei von EazyBBS können Sie in
dieser Text-Datei festgelegten Variablen Werte zuweisen. Damit beeinflussen
Sie das Verhalten der Oberfläche für externe Files (ExtFiles).

Ist eine Zeile entweder völlig leer oder beginnt mit einem Doppelkreuz
'\verb|#|', so wird sie als Kommentar gewertet und ignoriert.

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ß (bis zum
Ende der Zeile) bildet der Wert, den man einer Variablen zuweisen möchte.

Folgende Variablen sind definiert:
\begin{description}
\item[InitialDir]
Wenn der Benutzer die Oberfläche für externe Files (ExtFiles) betritt,
befindet er sich in diesem Verzeichnis (Directory). Existiert das angegebene
Directory nicht, ist ExtFiles nicht zugänglich (ist daher geeignet, um
ExtFiles kurzfristig zu sperren).

\item[AllowedCD]
In diese Verzeichnisse (Directories) darf der Benutzer wechseln, d.h. darauf
hat er Zugriff. Der Wert für diese Variable muß ein gültiges AmigaDOS-Pattern
sein (Groß-/Kleinschreibung egal).

Beachten Sie, daß EazyBBS den "`kompletten"'\footnote{ermittelt mit
NameFromLock() der dos.library} Pfadnamen auswertet. Dies bedeutet, daß Sie
nicht Unit-, sondern Volume-Namen\footnote{siehe Befehl "`assign"',
MSDOS-Benutzer würden dazu auch "`Label"' sagen} angeben müssen. Links müssen
aufgelöst werden. Assign-Namen sind nicht erlaubt.

\item[AllowedMore]
Dateien, die auf das angegebene AmigaDOS-Pattern passen, können direkt als
Text-Dateien auf dem Bildschirm angezeigt werden. Alle anderen Dateien gelten
als Binary-Daten und können (sofern erlaubt) ausschließlich mit einem
File-Transfer-Protocol übertragen werden.

\item[AllowedLS]
Dateien, die auf das angegebene AmigaDOS-Pattern passen, werden dem Benutzer
beim Auflisten des Inhalts eines Verzeichnisses (Directories) angezeigt.
Bestimmte Dateien mit Sonderfunktion (z.B. .message und .initmessage) sollten
von der Anzeige ausgeschlossen werden.

\item[AllowedSZ]
Dateien, die auf das angegebene AmigaDOS-Pattern passen, können mit einem
File-Transfer-Protocol übertragen werden. Unabhängig davon können auch nur
Files übertragen werden, die auflistbar sind (siehe {\em AllowedLS}).

\item[AllowedUser]
Nur Benutzer, die auf das angegebene AmigaDOS-Pattern passen, dürfen die
Oberfläche für externe Files (ExtFiles) betreten.

\item[PackExtension]
Der Benutzer kann Verzeichnisse (Directories) in einer Datei zusammenpacken
und dann übertragen (siehe auch {\tt MB\_DATA:ExtFiles/pack}). Der Name
dieser Datei beginnt mit den Namen des Verzeichnisses; an diesen wird der
Wert dieser Variablen angehangen (als Extension), damit der Benutzer weiß,
nach welcher Methode die Datei gepackt ist.  Diese Extension ist abhängig
von der in {\tt MB\_DATA:ExtFiles/pack} angewandten Pack-Methode.

\end{description}

\subsubsection[ExtFiles/help]{MB\_DATA:ExtFiles/help.\$sprache}
Diese Datei wird ausgegeben, wenn der Benutzer einen nicht vorhandenen Befehl
aufruft.

\subsubsection[ExtFiles/pack]{MB\_DATA:ExtFiles/pack}
Bei dieser Datei handelt es sich um ein Skript (s-Bit!) oder ein Programm,
das als Argumente den Namen eines Verzeichnisses (Directories) und einer
Datei übergeben bekommt. Das Verzeichnis soll in die Datei gepackt werden.
Falls das verwendete Pack-Programm nicht eine Datei mit exakt dem
vorgeschriebenen Datei-Namen erzeugt, muß die Datei ggf. vor Verlassen des
Skripts (oder des Programms) umbenannt werden. Zusätzlich kann vor dem Packen
auch die Größe des Verzeichnisses überprüft werden, und falls das Verzeichnis
zu groß ist, wird es nicht gepackt und die Datei mit dem übergebenen Namen
gelöscht. Die Mailbox erkennt das und gibt eine entsprechende Meldung an den
Benutzer aus.

Folgendermaßen könnte ein entsprechendes Skript aussehen:
\begin{verbatim}
    .KEY directory/A,tofile/A
    .BRA {
    .KET }

    ;
    ; Calculate size of directory
    ; ( DU is included in MB:C )
    ;

    If `MB:C/Du -S "{directory}"` GT 2000 VAL
        ; sorry, too large
        Delete "{tofile}"
    Else
        ; okay, let's pack it
        LhA -a -A -b64 -e -P-1 -r -x a "{tofile}" "{directory}"
        ;Rename "{tofile}.lha" "{tofile}"
    EndIf
\end{verbatim}

\subsubsection[ExtFiles, .initmessage]{MB\_DATA:ExtFiles, .initmessage}
Eine Datei des Namens {\tt .initmessage} wird --- falls vorhanden ---
einmalig bei Betreten der Oberfläche für externe Files (ExtFiles) ausgegeben.
Die Datei muß sich entweder im Verzeichnis {\tt MB\_DATA:ExtFiles} oder im
initialen Verzeichnis (in das der Benutzer beim Start gelangt, siehe {\em
InitialDir}) befinden.

Diese Datei sollte eine Übersicht der zugänglichen bzw. verfügbaren
Verzeichnisse (Directories) enthalten (siehe {\em AllowedCD}).
Selbstverständlich kann man die Zugriffsmöglichkeit auf bestimmte
Verzeichnisse auch absichtlich verschweigen und sie nur ausgewählten Benutzern
in einer persönlichen Nachricht nennen.

Normalerweise sollten Sie es so einrichten, daß diese Datei dem Benutzer beim
Auflisten eines Verzeichnisses nicht angezeigt wird (siehe {\em AllowedLS}).

\subsubsection[ExtFiles, .message]{MB\_DATA:ExtFiles, .message}
Eine Datei des Namens {\tt .message} wird --- falls vorhanden --- bei
betreten jedes Verzeichnisses (Directories) ausgegeben, wenn der Benutzer in
das Verzeichnis wechselt. Diese Datei muß sich im jeweiligen Verzeichnis
befinden.

Normalerweise sollten Sie es so einrichten, daß diese Dateien dem Benutzer
beim Auflisten eines Verzeichnisses nicht angezeigt werden (siehe {\em
AllowedLS}).

\subsubsection[LongHelp/General]{MB\_DATA:LongHelp/General.\$sprache}
Allgemeiner Hilfs-Text, den man normalerweise durch Eingabe von {\tt help} in
der Mailbox erhält. Er sollte den allgemeinen Umgang mit dem System
beschreiben und alle nötigen Informationen über Editor, ANSI-Codes,
Up-/Downloads, Umlaute, System-Prompt, Umgang mit Manual-Pages usw.
enthalten, die in den kommando-spezifischen Hilfstexten nicht erwähnt werden.

Diese Datei sollte Sie sich ergänzend zu dieser Anleitung durchlesen (am
besten online in der Mailbox), denn sie enthält elementares Grundwissen über
EazyBBS.

\subsubsection[Outputs]{MB\_DATA:Outputs/\$sprache}
Hierbei handelt es sich 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. Änderungen sollten stets zur Sicherheit sofort
in der Mailbox überprüft werden.

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 {\tt
MB\_DATA:LongHelp/General.1}), 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 (ohne die Kommentarzeilen
natürlich) komplett im Speicher gehalten werden muß. Änderungen der Datei
müssen daher explizit bekanntgegeben werden (normalerweise mit dem Befehl
"`{\tt update system}"' in der Mailbox).

\subsubsection[Inputs]{MB\_DATA:Inputs/\$sprache}
Ähnlich den Outputs, jedoch können hier die mehrsprachigen Eingaben der
Mini-Menüs spezifiziert werden (z.B. beim Anzeigen einer persönlichen
Nachricht, einer öffentlichen Message, eines Files usw.)

Die möglichen Buchstaben (a--z) sind in der im Kommentar erläuterten
Reihenfolge in Kleinschrift anzugeben (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
und sinnvolle Auswahlmöglichkeit handeln).

\subsubsection[LongHelp/*/cmd\_*]{MB\_DATA:LongHelp/\$ebene/cmd\_*.\$sprache}
Hilfstext (d.h. Anleitung, Manual-Page) zu einem bestimmten Befehl.

Der Platzhalter '*' steht hier\-bei für die Nummer des Befehls und ist
iden\-tisch mit der aus {\tt MB\_DATA:Cmd/\$ebe\-ne/\$sprache} bekannten
Nummer. (andere Sprachen und Ebenen 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 "`ausführlich beschriebene 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}
Dies ist ein kurzer Hilfstext, den der Benutzer normalerweise durch Eingabe
von '{\tt ?}' erhält und der nur die verfügbaren Kommandos einer Ebene
auflisten sowieso eine knappe Erläuterung enthalten sollte, wie man die
ausführlichen Hilfstexte (siehe {\tt
MB\_DATA:LongHelp/\$ebene/cmd\_*.\$sprache}) zu den einzelnen Kommandos
abruft.

\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[ShortHelp/Terminal]{MB\_DATA:ShortHelp/Irc/\$sprache}
Hilfstext innerhalb des zeilenorientierten Multiuser-Chats. Die zugänglichen
Kommandos sollten hier mit einer kurzen Erläuterung angezeigt werden.

\subsubsection[ShortHelp/Terminal]{MB\_DATA:ShortHelp/Listfiles/\$sprache}
Hilfstext 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
zur Sicherheit den Hilfstext nach einer Änderung mit einer minimalen
Bildschirmhöhe von 24 Zeilen.

\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.

\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}

\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 auch die serielle
Schnittstelle (shared mode) direkt 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 dem jeweiligen Programm die Nummer des ausführendes
Ports übergeben. Im lokalen Environment befinden diverse nützliche Daten über
den aktuellen Status der Mailbox. (kann auf Wunsch erweitert werden)

(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.

\subsection[Masken]{Mehrsprachige 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 {\tt MB\_DATA:Outputs/\$port}) angepaßt
werden.

\subsubsection[ConfigEdit]{MB\_DATA:Mask/ConfigEdit/\$sprache}
Dies ist die Eingabemaske für das Ändern diverser Konfigurationsdaten von neu
registrierten Gästen und anderen Benutzern. Das Layout muß auf einige der
Ausgaben (siehe {\tt 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[FileEdit]{MB\_DATA:Mask/MsgEdit/\$sprache}
Beim Editieren der Daten von Mitteilungen in Boards 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 Nutzung des
Systems durch die User 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. Der Inhalt von nahezu beliebigen Archiven kann
aufgelistet und geprüft werden. 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 (Skript-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).  Des weiteren 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
"`\verb|%s|"' repräsentiert.  Es ist nötig, "`\verb|%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 ({\tt start positive.}).
Mit "`{\tt negative result:}"' wird nun festgelegt, daß beim Vorkommen der
folgenden Zeilen ({\tt WARNING:} oder {\tt 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öht bzw.
verringert.

\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 das Help-Window geöffnet ist
oder gerade eine Datei-Übertragung (File-Transfer) stattfindet.

\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 für die Mailbox 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 Up\-load, Down\-load 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 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 Daten (die
sich auf die aktuelle Sitzung beziehen) verloren gehen.

\end{description}

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

\subsection{Help Window}
Wer sich die interne 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 (wenn man selbst woanders anruft). Wir werden im
folgenden Tips und Ratschläge geben, die Ihnen helfen sollen, eine geeignete
Konfiguration zu finden. Eine Konfiguration die auch beim Wechsel zwischen
Mailbox- und Terminalprogramm-Betrieb keine allzu großen Änderungen
erfordert.

Durch das große Angebot an Modem-Modellen gibt es leider nicht {\em die}
all-umfassende, allgemein-gültige Konfiguration. Daher kann es nicht schaden,
wenn Sie auch einen Blick in das Handbuch Ihres Modems
werfen\footnote{Ehrlich, Handbücher beißen nicht!}, denn einige Befehle zur
Ansteuerung des Modems sind nicht genormt und daher bei vielen Modellen
unterschiedlich.

Sind Sie Besitzer einer ISDN-Karte, sollten Sie die Karte so konfigurieren,
daß sie sich wie ein Modem verhält.

\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 \verb|AT&C1| ein.  Die DTR-Erkennung
ist so einzustellen, daß das Modem bei DTR~$\to$~"`low"' resettet und auflegt
--- meistens geschieht dies mit \verb|AT&D3|, manchmal auch \verb|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
\verb|AT&H1| (transmit) und \verb|AT&R2| (receive).

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

\subsection{Modem-Einstellungen}

Wie bereits in den vorigen Kapiteln angesprochen, existieren nicht nur für
die Mailbox, sondern auch für das Modem Konfigurationsdateien. Diese werden
wir nun erläutern.

\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 '\verb|#|' 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 \verb|AT|
(Attention) 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 zügige und sichere
	Kommunikation zwischen Modem und Computer erlaubt

\item Modem echot Kommandos nicht zurück [\verb|ATE0|]
\item Voll-Duplex [\verb|ATF1|]
\item Antworten sind Zahlen [\verb|ATV0|] oder richtiger Text [\verb|ATV1|]

	Das Modem muß an dieser Stelle in einen definierten Zustand
	bezüglich der Antworten gebracht werden, damit bei eingehenden
	Anrufen die entsprechende Meldung vom Modem korrekt interpretiert
	werden kann.

	(siehe auch {\tt MB\_DATA:ModemRing/\$port})

\item Unterscheidung zwischen den verschiedenen Geschwindigkeiten beim
	Verbinungsaufbau ({\tt CONNECT}) und ggf. auch Datenkompression
	und Fehlerkontrolle [\verb|ATX1|]

\item kein Auto-Answer [\verb|ATS0=0|]
\item lang genug auf Verbinungsaufbau warten [\verb|ATS7=60|]
\item kein Wechsel von Data- in Command-Mode möglich [\verb|S2=128|]
\item Modem sendet Antworten [\verb|ATQ0|]

\end{itemize}

\noindent Es könnte daher wie folgt aussehen: \verb|ATS0=0S2=128S7=60B0E0F1V1X1Q0|

\medskip

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 abweichende Einstellungen verwenden, jedoch müssen
Sie dann einige der anderen Modem-Konfigurationsdateien enstprechend
anpassen.

\subsubsection[ModemStart]{MB\_DATA:ModemStart/\$port}
Diese Datei ist wie {\tt MB\_DATA:ModemInit/\$port} aufgebaut. Sie wird
jedoch nur einmalig direkt nach dem Start von EazyBBS abgearbeitet. Hiermit
kann das Modem in einen festen Zustand versetzt werden, um {\tt
MB\_DATA:ModemInit/\$port} 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 {\tt MB\_DATA:ModemInit/\$port} aufgebaut. Sie wird
jedoch nur einmalig vor dem Beenden von EazyBBS abgearbeitet. Hiermit kann
der mit {\tt MB\_DATA:ModemStart/\$port} oder {\tt MB\_DATA:ModemInit/\$port}
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 Leer- und Kommentarzeilen (Doppelkreuz '\verb|#|' zu Beginn)
unterbrochen werden dürfen.

\begin{enumerate}
\item Der erste Eintrag enthält die Meldung des Modems, wenn jemand anruft
(z.B. \verb|RING|). Sie dürfen AmigaDOS--Pattern-Matching (*, ?, \#? usw.)
verwenden, falls Ihr Modem keine einheitlichen Meldungen sendet (z.B.
"`\verb|RING*|"' oder "`\verb!(RING|2)!"').

\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 {\tt RING} keine Zeichen).

\item Der dritte Eintrag beschreibt, was an das Modem gesendet werden soll,
um den Anruf anzunehmen (z.B. \verb|ATV0A|, d.h. Nummerantworten einschalten
und Verbindung herstellen). Entsprechend müssen Sie in der Datei {\tt
MB\_DATA:ModemConnect/\$port} (siehe unten) die möglichen Meldungen für eine
erfolgreiche Verbindung eintragen.

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

\end{enumerate}

\subsubsection[ModemConnect]{MB\_DATA:ModemConnect/\$port}
In dieser Datei tragen Sie ein, 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
{\tt 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 Leer- und Kommentarzeilen (mit einem
Doppelkreuz '\verb|#|' am Anfang) 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.  \verb|CONNECT 2400|).

Sie dürfen AmigaDOS--Pattern-Matching (*, ?, \#? usw.) verwenden, falls Sie
nicht alle Antworten des Modems kennen oder Sie ähnliche Verbindungen der
Übersichtlichkeit halber zusammenfassen möchten (z.B. \verb|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 die Verbindung.

\item  Die  dritte  Zeile  enthält  einen Wert, der den realen Datendurchsatz
beschreibt  (in  CPS,  Characters pro Sekunde). Normalerweise ist er abhängig
vom  bps-Wert  (also  ca.  {\tt 232} CPS 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.

Der Wert muß größer als 0 sein.

\item Die vierte Zeile eines Datensatzes gibt an, mit welcher Geschwindigkeit
(in bps) Modem und Rechner kommunizieren sollen. Normalerweise 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.



\subsection{OwnDevUnit.library}

\index{Library!OwnDevUnit}

EazyBBS unterstützt (sofern installiert) die {\em Own\-Dev\-Unit.library} von
Christopher A. Wichura.

Diese Library vereinfacht den Zugriff mehrerer Programme auf ein Device, also
z.B. das Device der seriellen Schnittstelle. Die Programme erhalten
hintereinander Zugriff auf das Device und können auch untereinander
Zugriffsrechte austauschen.

EazyBBS versucht beim Start, das Device über die {\em OwnDevUnit.library} zu
belegen. Solange keine Verbindung besteht, kann EazyBBS das Device
vorübergehend an andere Programme abgeben. Wenn diese Programme nach ihrem
Ende den Zugriff auf das Device wieder EazyBBS überlassen, wird stets die
Datei {\tt MB\_DATA:ModemInit/\$port} ausgeführt.

\medskip

\noindent Wir wollen dies an einem Beispiel verdeutlichen:

Die Mailbox EazyBBS läuft ständig im Hintergrund. Wenn Sie zwischendurch ein
Terminalprogramm oder ein anderes Programm starten wollen, was die serielle
Schnittstelle benutzt, dann müssen Sie EazyBBS nicht beenden. EazyBBS erkennt
den Zugriff anderer Programme und gibt die Schnittstelle vorübergehend frei
bis das andere Programm fertig ist.

Voraussetzung dafür ist natürlich, daß auch die anderen Programme die {\em
Own\-Dev\-Unit.library} unterstützen. Dies ist bei den meisten Programmen
glücklicherweise der Fall.

Die {\em Own\-Dev\-Unit.library} ist "`freely distributable"' und in Mailboxen,
von Mail-Servern und FTP-Servern erhältlich. Notfalls können wir Ihnen
helfen, diese Library zu besorgen.


\chapter{Mailbox-Programm(e) und Zusatz-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 auch 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).

Die Programme befinden sich (sofern nicht anders angegeben) im Verzeichnis
{\tt MB:C}, das Sie in den DOS-Suchpfad Ihrer Shell aufnehmen sollten.

\section{Daemons}

\index{Daemon}

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.

Die Daemons werden beendet, indem man ihnen ein {\em Break}-Signal schickt
(siehe gleichnamigen Befehl {\em Break}).

Die Ausgabe der Daemons darf keinesfalls ins "`nichts"' ({\em NIL:} oder {\em
NULL:}) umgeleitet werden, da sie wichtige Ausgaben tätigen. Eine geschickte
Form der Ausgabeumleitung sehen Sie in dem Skript {\tt
MB:C/Start\-Dae\-mons}. Das Skript {\tt MB:C/Quit\-Dae\-mons} zeigt, wie Sie
die Daemons auf einfache Art und Weise wieder beenden können.

\bigskip

Beenden Sie die Daemons niemals während EazyBBS läuft.

\bigskip

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

\subsection{EazyCommDaemon}

\index{Daemon!EazyCommDaemon}
\index{EazyCommDaemon|see{Daemon}}

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

\subsection{EazyInOutDaemon}

\index{Daemon!EazyInOutDaemon}
\index{EazyInOutDaemon|see{Daemon}}

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

\subsection{EazyLogfileDaemon}

\index{Daemon!EazyLogfileDaemon}
\index{EazyLogfileDaemon|see{Daemon}}

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}

\index{Daemon!EazyMsgFileDaemon}
\index{EazyMsgFileDaemon|see{Daemon}}

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

\subsection{EazyUserDaemon}

\index{Daemon!EazyUserDaemon}
\index{EazyUserDaemon|see{Daemon}}

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). Im Shell-Fenster wird (nach Aufruf von
{\em DoSystemUpdate}) ausgegeben, welche Benutzerdaten veraltet und ggf. vom
Sysop per Hand von der Mailbox aus gelöscht werden können.

\section{EazyBBS}

\index{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}\index{UUCP!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\footnote{bits per second}) 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 der Taste {\em Space} oder {\em Return} 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{Utilities}

Im folgenen möchten wir Ihnen diverse Utilities (Programme und Skripts)
vorstellen, die Sie im täglichen Umgang mit EazyBBS wahrscheinlich nicht
missen möchten. Einige der Programme können Sie auch hervorragend außerhalb
der Mailbox einsetzen.

\subsection{cmp (compare)}

\index{Utility!cmp}
\index{cmp|see{Utility}}

Mit dem Programm {\em cmp} können Sie zwei Files oder den Inhalt zweier
Directories (File für File) vergleichen. Unterschiede werden ausgegeben. Der
Return-Code für die Shell wird entsprechend gesetzt. Rufen Sie das Programm
ohne Argumente auf, um eine kurze Hilfe zur Bedienung zu erhalten.

\noindent Dieses Programm benötigt nicht die Daemons.

\subsection{cv (convert)}

\index{Utility!cv}
\index{cv|see{Utility}}

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, um eine
kurze Hilfe zur Bedienung zu erhalten.

\noindent Dieses Programm benötigt nicht die Daemons.

\subsection{du (disk usage)}

\index{Utility!du}
\index{du|see{Utility}}

Das Programm {\em du} ermittelt die Größe eines oder mehrerer Directories
(bzw. Files). Es geht dabei alle Unter-Directories durch und addiert die
Längen aller enthaltenen Files. Rufen Sie das Programm ohne Argumente auf, um
eine kurze Hilfe zur Bedienung zu erhalten.

\noindent Dieses Programm benötigt nicht die Daemons.

%\subsection{ExistFile}
%
%\index{Utility!ExistFile}
%\index{ExistFile|see{Utility}}
%
%Das Programm {\em ExistFile} prüft, ob eine Datei, die man als Argument angibt,
%existiert oder nicht.  Der Return-Code für die Shell wird entsprechend
%gesetzt (WARN).
%
%{\em ExistFile} ist notwendig, weil aufgrund eines Fehlers im Commodore-Befehl
%{\em If EXISTS} Dateien, die durch einen DOS-Lock belegt sind,
%fälschlicherweise als nicht-existent angenommen werden.
%
%\noindent Dieses Programm benötigt nicht die Daemons.

\subsection{Exist}

\index{Utility!Exist}
\index{Exist|see{Utility}}

Das Programm {\em Exist} prüft, ob eine Datei, die man als Argument angibt,
existiert oder nicht. Als Argument kann auch ein AmigaDOS-Pattern verwendet
werden, so daß mit einem Aufruf die Existenz mehrerer Dateien abgefragt
werden kann. Der Return-Code für die Shell wird entsprechend gesetzt (Anzahl
gefundener Dateien).

{\em Exist} ist notwendig, weil aufgrund eines Fehlers im Commodore-Befehl
{\em If EXISTS} Dateien, die durch einen DOS-Lock belegt sind,
fälschlicherweise als nicht-existent angenommen werden.

\noindent Dieses Programm benötigt nicht die Daemons.

\subsection{xdel}

\index{Utility!xdel}
\index{xdel|see{Utility}}

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.

\subsection{ImportMessage}

\index{EazyBBS!ImportMessage}
\index{ImportMessage|see{EazyBBS}}

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 aber nicht, um eigene Mitteilungen in die Mailbox zu senden --- tun
Sie das immer in der Mailbox EazyBBS selbst.

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

\subsection{ImportMail}

\index{EazyBBS!ImportMail}
\index{ImportMail|see{EazyBBS}}

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 aber 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.

\subsection{DoSystemCheck}

\index{EazyBBS!DoSystemCheck}
\index{DoSystemCheck|see{EazyBBS}}

Mit {\em DoSystemCheck} werden die Daemons veranlaßt, ihre Datenbestände 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. Man kann das Programm zwar starten, während
die Mailbox EazyBBS läuft, jedoch raten wir wegen der hohen Ausführungszeit
davon ab, weil eingeloggte Benutzer in dieser Zeit blockiert werden.

Wir schlagen vor, {\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 inkonsistente ("`korrupte"')
Daten.

\subsection{DoSystemUpdate}

\index{EazyBBS!DoSystemUpdate}
\index{DoSystemUpdate|see{EazyBBS}}

Das Programm {\em DoSystemUpdate} veranlaßt die 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. Erfahrungsgemäß ist die
Ausführungszeit dieses Programms (verglichen mit {\em DoSystemCheck} gering.

Der Update sollte täglich --- 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}.

\subsection{SetMaxCallers}

\index{EazyBBS!SetMaxCallers}
\index{SetMaxCallers|see{EazyBBS}}

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.

Wenn Sie von einer anderen Mailbox auf EazyBBS umsteigen, möchten Sie
eventuell die alte Gesamtanruferzahl beibehalten.

\subsection{ExportLogfiles}

\index{EazyBBS!ExportLogfiles}
\index{ExportLogfiles|see{EazyBBS}}

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

\subsection{SyncCD}

\index{Utility!SyncCD}
\index{SyncCD|see{Utility}}

Das Programm {\em SyncCD} fragt die {\em Carrier Detect}-Leitung der
angegebenen Unit des angegebenen Devices ab und setzt den Return-Code für die
Shell entsprechend. Mit der Option {\tt POLL} wartet das Programm mit {\em
Busy Waiting} (würg) 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.

\subsection{eazy2news}

\index{EazyBBS!eazy2news}
\index{eazy2news|see{EazyBBS}}

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 [\verb|mb:c/eazy2news|]
\item Name der Newsgroup, mit der das Board vernetzt ist [\verb|eazy.test|]
\item spezieller Eintrag für das {\em Sys}-File [\verb|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}\index{UUCP!relaynews}.

Der Source-Code (C) zu diesem Programm befindet sich in {\tt MB:Source}.

\subsection{news2eazy}

\index{EazyBBS!news2eazy}
\index{news2eazy|see{EazyBBS}}

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

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

Der Source-Code (C) zu diesem Programm befindet sich in {\tt MB:Source}.

\subsection{eazy2mail}

\index{EazyBBS!eazy2mail}
\index{eazy2mail|see{EazyBBS}}

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
UUCP-Mails explizit gestatten durch einen entsprechenden Eintrag in seinen
Benutzerdaten. Dies ist notwendig, weil das Versenden von UUCP-Mails
kostenpflichtig sein kann.

\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}\index{UUCP!sendmail}.

Der Source-Code (C) zu diesem Programm befindet sich in {\tt MB:Source}.

\subsection{mail2eazy}

\index{EazyBBS!mail2eazy}
\index{mail2eazy|see{EazyBBS}}

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}\index{EazyBBS!ImportMail}.

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

Der Source-Code (C) zu diesem Programm befindet sich in {\tt MB:Source}.

\subsection{seteazymail}

\index{EazyBBS!seteazymail}
\index{seteazymail|see{EazyBBS}}

Bei {\em seteazymail} handelt es sich um eine kleine Skriptdatei (Skript-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, sendmail) 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.

\subsection{unseteazymail}

\index{EazyBBS!unseteazymail}
\index{unseteazymail|see{EazyBBS}}

Bei {\em unseteazymail} handelt es sich um das Gegenstück von {\em
seteazymail}. Diese Skriptdatei (Skript-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 (UUCP, sendmail) 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.

\subsection{seteazymailall.sh}

\index{EazyBBS!seteazymailall.sh}
\index{seteazymailall.sh|see{EazyBBS}}

Mit der C-Shell (csh) 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}.

\subsection{unseteazymailall.sh}

\index{EazyBBS!unseteazymailall.sh}
\index{unseteazymailall.sh|see{EazyBBS}}

Mit der C-Shell (csh) 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}.

\subsection{trimfile}

\index{Utility!trimfile}
\index{trimfile|see{Utility}}

Das Programm {\em trimfile} kürzt Text-Dateien auf eine angegebene Anzahl von
Zeilen. Es ist sehr praktisch, um Logfiles (Protokoll-Dateien) zu verwalten.
Die Anzahl der Zeilen kann beim Aufruf angegeben werden. 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}

\index{ARexx}

EazyBBS bietet für jeden Port eine ARexx-Schnittstelle an, über die man von
außen 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.)
Die ARexx-Schnittstelle ist nicht verfügbar für synchron aus EazyBBS heraus
gestartete Programme.

\bigskip

\noindent 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 {\tt 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 ({\tt 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 BAUDMODEM}
Die Geschwindigkeit, mit der Rechner und Modem gerade kommunizieren.

\subsection{STATUS CHARSPERSEC}
Die effektive Übertragungsrate (in cps, characters per second) des gerade
aktive Benutzers (wie sie auch bei der Berechnung von Filetransfer-Zeiten
benutzt wird).

\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{Einbindung externer Files}

\index{CD-ROM}
\index{Wechselplatte}
\index{externe Files}

Das File-System von EazyBBS mit seinen File-Areas ist zwar sehr flexibel,
jedoch erwartet es die Dateien an einem bestimmten Platz und in einem
bestimmten Format.

Wenn Sie nun aber eine große Anzahl von Dateien bereits vorliegen haben auf
einem anderen Medium (z.B. CD-ROM, Wechselplatte), so kann es sinnvoll sein,
die Dateien nicht alle in die Mailbox zu importieren, sondern sie dort zu
belassen und mit einem anderen Mechanismus den Benutzern der Mailbox zur
Verfügung zu stellen.

EazyBBS bietet hierfür eine Oberfläche zur Einbindung von Dateien außerhalb
der Mailbox: die "`External Files Shell"', kurz ExtFiles. Die Dateien müssen
nicht in die Mailbox kopiert werden, sondern bleiben dort, wo sie sich
bereits befinden.

Da Dateien beliebigen Formats eingebunden werden können, ist eine
einheitliche grafische Oberfläche wie bei den File-Areas leider (noch) nicht
ohne weiteres möglich. Es gibt zwar (z.B. bei CD-ROMs) Index-Files, die den
Inhalt des CD-ROMs beschreiben, jedoch existiert dafür noch kein
einheitlicher Standard.

Aus diesem Grund beschränkt sich die "`External Files Shell"' derzeit auf die
typische Shell-Funktionalität. Mit Befehlen kann man in Verzeichnisse
wechseln, sich deren Inhalt ansehen und Dateien übertragen. Zusätzlich läßt
sich der Inhalt von Verzeichnissen zusammenpacken und dann als Gesamtheit
übertragen.

\bigskip

Für weitere Details zur "`External Files Shell"' schlagen Sie nach im Kapitel
über die Mailbox-Konfiguration.



\section{Datei-Beschreibungen (Readme)}

\index{AmiNet}
\index{Internet}
\index{FTP}
\index{Readme}
\index{Dateibeschreibung}

Haben Sie sich auch immer geärgert, daß man nach dem Upload von Files online
in der Mailbox noch Beschreibungen eingeben muß und daß beim Download von
Files die Beschreibungen aus der Mailbox nicht downloadbar sind?

EazyBBS bietet hierfür eine genial einfache Lösung.

Beim Upload von Files kann man ein zweites File --- die sogenannte
Dateibeschreibung --- mitschicken, das alle für die Mailbox notwendigen Daten
erhält (Ziel--File-Area, Kurzbeschreibung etc). Sie müssen dann nicht mehr
online in der Mailbox (eventuell mit dem teuren Zeittakt im Nacken) Daten
nachtragen, sondern können sie vor dem Upload in aller Ruhe sorgfältig zu
Hause vorbereiten.

Beim Download von Files schickt Ihnen EazyBBS auf Wunsch ebenfalls solch ein
zweites File --- die sogenannte Dateibeschreibung --- mit. Es enthält alle
Daten, die EazyBBS über dieses File zur Verfügung stehen. Diese Datei ist
natürlich geeignet, erneut in anderen EazyBBS-Mailboxen zum Upload verwendet
zu werden.

Im Internet gibt es einen Verbund von Rechnern (FTP-Sites) namens "`AmiNet"'.
Auch dort werden solche Dateibeschreibungen verwendet. Diese können ohne
Änderungen für EazyBBS verwendet werden. Umgekehrt können Sie auch --- mit
nur wenigen Änderungen --- im AmiNet die Dateibeschreibungen von EazyBBS
benutzen.

\bigskip

Für weitere Details zu den "`Dateibeschreibungen"' lesen Sie den Hilfstext
des Upload-Befehls (normalerweise "`{\tt help upload}"').



\section{Offline-Reader}

\index{Offline-Reader}
\index{UUCP}
\index{UseNet}

Obwohl es einen gewissen Reiz ausmacht, online in der Mailbox Mitteilungen zu
schreiben, möchten manche Benutzer neue Mitteilungen lieber offline, d.h. zu
Hause auf ihrem Rechner lesen und beantworten. Hierfür müssen sowohl die
Mailbox als auch der Benutzer sich auf ein "`Format"' einigen, wie die
Mitteilungen aufgebaut sein sollen, damit beide Seiten sie verstehen und
bearbeiten können.

Es existieren sehr viele Mitteilungs-Formate. Die meisten sind Insellösungen,
da sie nur für eine bestimmte Sorte von Mailbox-Programmen geeignet sind, die
zudem nur auf einem bestimmten Rechner-Typ funktionieren.

EazyBBS verwendet daher Standards, die auch in einen bereits existierenden,
ausgereiften und weltweit etablierten Netzwerk benutzt werden: dem UseNet.
Diese Standards sind in sogenannten RFCs (Request for Comments)
festgeschrieben. Die RFC-Texte sind an fast allen Universitäten kostenlos
erhältlich. Die Mitteilungen im RFC-Format werden mit sogenannter
"`UUCP"'-Software bearbeitet. "`UUCP"' steht für "`Unix to Unix CoPy"' und
weist damit auf seine Ursprünge in der Unix-Welt hin.

UUCP-Software ist aufgrund der hohen Verbreitung des UseNets für praktisch
alle gängigen Rechner-Typen erhältlich.

EazyBBS ist konzipiert, gut mit UUCP-Software zusammenzuarbeiten.
Mitteilungen können daher zwischen EazyBBS und dem UseNet problemlos
ausgetauscht werden.

\bigskip

Für weitere Details lesen Sie das Kapitel über UUCP.



\section{Bedienung der EazyBBS-Oberfläche}

%\subsection{Menüs}


%\subsection{Menüs}
%\index{Menü}


%\subsection{Help-Window}

\subsection{Public Screens}
\index{Public Screen}

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, d.h. es ist möglich, daß Programme auf Screens fremder Programme ihre
Windows öffnen. 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 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).

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 Ressourcen Ihres Rechners umgehen, sollte dieser
Fall nie eintreten.

EazyBBS überprüft immer, ob es angeforderte Ressourcen 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.
%
%Des weiteren 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 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 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, das Programm sei doch sche***,
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{Terminal-Emulation VT102}

\index{VT102}
\index{Vax Terminal}
\index{Emulation}
\index{Terminal Emulation}

EazyBBS ist eines der wenigen Programme, welches die Bildschirm-Emulation
VT102 (VT = Vax Terminal) effizient einsetzt. Es kann daher vorkommen, daß
einige 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 der
VT102-Norm. Für jeden Rechner-Typ lassen sich gängigen Terminalprogramme
finden, die VT102 ausreichend gut beherrschen. Einige Terminalprogramme für
den Amiga haben --- trotz Ihres hohen Verbreitungsgrades --- eine mangelhafte
VT102-Emulation oder nur die veraltete VT100-Emulation (eine Untermenge von
VT102).

\bigskip

Auf Terminalprogramme mit unvollständiger VT102-Emulation ist eine spezielle
Emulation namens "`Tiny VT102 (Color)"' in EazyBBS zugeschnitten. Sie ist ein
wenig langsamer, bereitet aber im allgemeinen weniger Probleme. Wenn Sie z.B.
"`JR-Comm"' benutzen, betreiben Sie es nicht etwa mit der internen
VT102-Emulation, sondern mit der sogenannten AMIGA/ANSI-Emulation. Auch
"`NComm 3"' muß mit "`Tiny VT102 (Color)"' betrieben werden.

Die Programme "`VLT"'\index{VLT}, "`Diga"'\index{Diga}, "`A-Talk
III"'\index{A-Talk} und "`X-Comm"'\index{X-Comm} verfügen nur über eine
VT100-Emulation und funktionieren daher nicht mit EazyBBS.\footnote{Neuere
Versionen dieser Programme unterstützen VT102 möglicherweise besser.}

\bigskip

Zwei gute Terminal-Programme für den Amiga sind "`Term"'\index{Term} und
"`Terminus"'\index{Terminus}. 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). Terminus
ist Shareware. Es gibt weitere frei er\-hält\-liche Programme wie
Handshake\index{Handshake} v2.12, die über eine exzellente Emulation
verfügen. Auch andere kommerzielle Programme wie "`OnLine"'\index{OnLine}
bieten eine gute Emulation.

\bigskip

EazyBBS ist ein bildschirmorientiertes (Full-Screen) Mailboxsystem. Es
existieren für alle Rechnertypen kostengünstige 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
Full\-screen-\-Emu\-la\-tion\-en 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.

EazyBBS bietet mit dem Befehl "`{\tt edit terminal-emulation}"' eine einfache
Möglichkeit, einige Standard-Einstellungen gemeinsam mit dem Benutzer
interaktiv abzufragen, um Terminalprogramm und Mailbox besser aufeinander
abzustimmen.



\section{Interne Systemzeit}

Die interne Uhr eines Computers ist kein Spielzeug. Sie muß zuverlässig das
Datum angeben, da das Datum einen wichtigen Bestandteil bei der Speicherung
von 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 von 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 System-Uhr 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.

\bigskip

Es ist verboten, die Systemzeit zu ändern während EazyBBS läuft.

\bigskip

Wahrscheinlich werden Sie sich gefragt haben, warum EazyBBS nicht selbst
überprüft, ob die Systemzeit stimmt. Nun, die Antwort ist recht 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 System-Uhr 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 (z.B. während des
Boot-Vorgangs).



\section{Logfiles}

\index{Logfile}

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.

\bigskip

\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 {\tt 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: UseNet, UUCP}

\index{UUCP}
\index{Netzwerk}
\index{Vernetzung}
\index{UseNet}

\section{Allgemeine Hinweise}

UUCP (Unix to Unix CoPy) bezeichnet --- salopp gesagt --- einen Standard,
nach dem Computer (Sites) eines Netzwerks Daten austauschen können. Ein
bekanntes Netz, in dem mit Software nach UUCP-Standard gearbeitet wird, ist
das weltweite UseNet. Der Aufbau der Daten, die mit der UUCP-Software
ausgetauscht werden, ist in sogenannten RFCs (Request for Comments)
festgelegt. Bei den RFCs handelt es sich um Texte, in denen
computerspezifische Standards von internationaler Bedeutung beschrieben
werden. RFCs sind kostenlos an fast jeder Universität erhältlich.

Das weltweite UseNet hat viele nationale Ableger, darunter auch das
deutschsprachige DeNet (von Nostalgikern manchmal SubNet genannt). Über
sogenannte Gateways sind weitere Netze wie Z-Netz, FidoNet, MausNet etc.
zugänglich. Gateways haben die Aufgabe, Daten zwischen Netzen verschiedener
Standards zu konvertieren.

\bigskip

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 er\-hält\-licher 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 fast jeder
Universität er\-hält\-lichen RFC-Texte (Request For Comments) und auch die
"`New-Users"'-Texte (de.newusers, news.newusers), die ebenfalls an
Universitäten und auch in diversen Mailboxen zu finden sind.

\bigskip

Im folgenden wird eingegangen auf die Installation des UUCP-Gateways für
EazyBBS. Wir werden versuchen, Ihnen Tips und Tricks zu geben, damit Sie
EazyBBS problemlos mit beliebiger UUCP-Software vernetzen können.



\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 Skript-Flag 's' zu
achten. Dies können Sie z.B. in der Shell (CLI) erreichen durch Eingabe des
Kommandos "`\verb|protect <script> s add|"'.

Falls nicht bereits vorher geschehen, ist der Stack stets auf mindestens
50000 zu setzen, was beispielsweise mit dem Kommando "`\verb|stack 50000|"'
als erste Zeile jedes Skripts (oder in {\tt s:User-Startup}) 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 {\tt MB:C/Ea\-zy\-Getty.Be\-gin} wird aufgerufen,
nachdem der Benutzer UUCP von der Mailbox aus gestartet hat. Dies kann
entweder durch den speziellen Login-Account {\tt UUCP} oder den gleichnamigen
Befehl {\tt uucp} innerhalb der Mailbox geschehen. EazyBBS stoppt dann die
Anforderung von Zeichen von der seriellen Schnittstelle, schließt allerdings
das zugehörige Device (Treiber) noch nicht. Die UUCP-Software muß daher die
serielle Schnittstelle im sogenannten "`shared mode"' bedienen können.



\subsection{EazyGetty.Begin}

\index{UUCP!getty}

%{\footnotesize
{\small
\begin{verbatim}
    .KEY device/A,unit/A
    .BRA {
    .KET }

    ; Give user enough time to quit terminal-program
    ; and to start his "uucico" (or whatsoever) to
    ; transfer UUCP files ...
    ;
    Wait 25

    ; Run "Getty" in background so that it keeps on
    ; running when this scripts ends ...
    ;
    Run Getty >NIL: -S{device} -U{unit} -A -B${EazyBaudModem} -7 -Md -c0 -r0

    ; Wait a little bit for Getty to start up ...
    ;
    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, muß
die eben gezeigte Skriptdatei (Ea\-zy\-Getty.Be\-gin) auf das Device der
seriellen Schnittstelle zugreifen, damit diese belegt bleibt und das Modem
nicht auflegt.

Nach Abarbeitung der vorangegangenen Skriptdatei schließt EazyBBS (von sich
aus) das Device der seriellen Schnittstelle und ruft die folgende Skriptdatei
{\tt MB:C/Ea\-zy\-Getty.Wait} auf.



\subsection{EazyGetty.Wait}

\index{UUCP!getty}

%{\footnotesize
{\small
\begin{verbatim}
    .KEY device/A,unit/A
    .BRA {
    .KET }

    ; Let's wait until Carrier-Detect goes low what means
    ; that the user has terminated the connection ...
    ;
    MB:C/SyncCD {device} {unit} POLL

    ; Quit the "Getty" started in the previous script ...
    ;
    Getty -S{device} -U{unit} -0

    ; Give Getty enough time to clean up and to start "uuxqt".
    ; Continue when "uuxqt" has finished its job ...
    ;
    Wait 10
    Lab uuxqtwait
    MB:C/Exist T:UUXQT#?.LOCK
    If $RC GT 0 VAL
      ;Echo "UUXQT still running ..."
      Wait 3
      Skip BACK uuxqtwait
    EndIf

    ; Lower priority ...
    ; (EazyBBS resets it when the scripts ends)
    ;
    ChangeTaskPri -1 PROCESS $process

    ; Unbatch incoming messages ...
    ; (and update our newsreader's database)
    ;
    UnBatch
    ArnMaster
    ;
    ; for use with Crash-CNews: NewsBin:Relay/UnBatch

    ; And now batch the news for all connected sites ...
    ;
    SendBatches
    ;
    ; for use with 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}

\index{Vernetzung!News}

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\index{UUCP!Sys} (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 {\em 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
Netzwerk-Daten folgendes ein:

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

Für jede Message im Board wird nun das Programm {\em Eazy2News} mit den
Argumenten "`eazy.test"' (der Name der Newsgroup) und "`eazy-test"' (der
zuständige Eintrag im {\em Sys}-File) aufgerufen. Das Programm {\em
Eazy2News} sorgt (mit Hilfe des Arguments "`eazy-test"') dafür, daß die
Messages nicht wieder aus UUCP zurück an EazyBBS geschickt werden
(Endlosschleife); Details dazu entnehme man bitte dem Source-Code unter {\tt
MB:Source}.

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 Netz abzuwenden.



\section{Vernetzung von Mails/PMs}

\index{Vernetzung!Mail}

Unter der Vernetzung von E-Mails (UUCP) und persönlichen Nachrichten (kurz:
PM) 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 im Benutzer-Namen 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.

\bigskip

Beim Einrichten eines Benutzers wird das Skript {\tt MB:C/Set\-Ea\-zy\-Mail}
ausgeführt, beim Löschen {\tt MB:C/Un\-set\-Ea\-zy\-Mail}. Wenn Sie bereits
EazyBBS benutzen und erst später UUCP installieren möchten, müssen Sie
(leider) per Hand nachträglich allen Benutzern den Empfang von UUCP-Mails
gestatten. Hierfür existiert die Skriptdatei "`{\tt
mb:c/set\-mail2\-ea\-zy\-all.sh}"', welche nur mit der CShell (csh) läuft.

Diese Skripts sind speziell auf den "`sendmail 1.02"'\index{UUCP!sendmail}
von Ingo Feulner und Kai Sierung zugeschnitten. Andere Sendmails (von Matthew
Dillon oder Ralph-Thomas Aussem, um nur einige zu nennen), arbeiten mit einem
Alias-File namens {\tt uulib:Aliases}\index{UUCP!Aliases}. Die Skripts
funktionieren damit nicht. Schreiben Sie sich dann entweder eigene Skripts
oder ändern Sie das Alias-File per Hand, wenn Sie Benutzer einrichten oder
löschen.



\section{Vernetzung von Files/File-Areas}

\index{Vernetzung!Files}
\index{UUCP!Anonymous}
\index{Anonymous UUCP}

UUCP bietet nicht nur Mail und News, sondern auch die Übertragung von Dateien
(Binary-Daten). Zwar sind die hierfür verwendeten Protokolle nicht so
effizient wie beispielsweise Z-Modem, jedoch läßt sich die File-Übertragung
offline initialisieren und sehr leicht automatisieren.

Ein besonderes Feature von UUCP nennt sich "`Anonymous UUCP"'. Damit ist es
nicht nötig, daß Anrufer einen eigenen UUCP-Account haben, um Files zu
über\-tra\-gen. Statt dessen gibt es einen (anonymen) Sammel-Account, den
jeder jederzeit benutzen kann.

Aber unabhängig davon, ob Sie Files der Mailbox nur Benutzern mit
UUCP-Account oder beliebigen Anrufern zugänglich machen wollen, hat die
File-Übertragung via UUCP einen entscheidenden Nachteil: der Benutzer kann
nicht selbst nachschauen, welche Files verhanden sind. Daher müssen Sie eine
Liste der verfügbaren Files anlegen und öffentlich bekanntgeben, wo sich
diese Liste befindet. Benutzer können dann diese File-Liste via UUCP
anfordern.

Unter {\tt MB:C/NuucpList} liegt ein Skript zur Erstellung einer hübschen
File-Liste für die "`Vernetzung"' von EazyBBS mit (Anonymous-) UUCP. Man
benötigt {\em NewList} von Phil Dietz, {\em fgrep} (Teil der SKsh) von Steve
Koren und {\em GNU-Zip} (gzip); alle drei Programme sind "`freely
distributable"' und notfalls von uns erhältlich. Selbstverständlich können
Sie auch ein eigenes Skript erstellen, das eine nette File-Liste erzeugt.

Die File-Liste sollte mindestens einmal täglich automatisch erzeugt werden.
Hierfür bietet sich Cron\footnote{ein Programm, das zu einstellbaren Zeiten
definierte Aktionen auslöst, beispielsweise das Starten anderer Programme}
an.

\bigskip

Damit Benutzer auch tatsächlich Files anfordern (oder neue ablegen) können,
müssen Sie für jedes Verzeichnis mit Files explizit den Zugriff freigeben.
UUCP verwaltet hierzu die Datei {\tt uulib:Security}\index{UUCP!Security} und
könnte folgendermaßen aussehen:

\begin{verbatim}
    # This file is used by UUCICO
    # to determine the validity of requests.
    #
    # The directories listed here are *allowed* directories for
    # uucp transfers. The permissions field lists permissions
    #             r -readable
    #             w -writable
    #
    # DO NOT PUT UUSPOOL: IN THIS LIST

    UUPUB:                        r
    UUPUB:Incoming                rw
    T:                            rw

    # EazyBBS Mailbox, without any groups or hidden file-areas

    MB_FILES:Text/Misc            r
    MB_FILES:Amiga/Elm            r
    MB_FILES:Amiga/Packer         r
    MB_FILES:Amiga/Gfx            r
    MB_FILES:Amiga/CSHell         r
    MB_FILES:Amiga/Misc           r
    MB_FILES:Amiga/Comm           r
    MB_FILES:Pictures/GIF         r
    MB_FILES:Pictures/IFF         r
    MB_FILES:Pictures/JPeg        r
    MB_FILES:Sound/Misc           r
    MB_FILES:Sound/Modules        r

    #
\end{verbatim}

Die File-Liste sollten Sie in {\tt UU\-PUB:} ablegen, denn das ist bei UUCP
so üblich. In {\tt UU\-PUB:In\-coming} können Benutzer selbst Files ablegen.
Jede einzelne File-Area muß mit ihrem kompletten Verzeichnis (z.B. {\tt
MB\_FILES:Ami\-ga/Misc}) eingetragen werden.

\bigskip

Legen Sie nicht {\tt UU\-PUB:} auf \verb|MB_FILES:|.

\bigskip

Tragen Sie keinen globalen Zugriff für \verb|MB_FILES:| ein, denn der Zugriff
gilt automatisch auch für alle Unterverzeichnisse. Groups wären dann für
jeden Benutzer zugänglich.



\section{Hinweise, Tips und Tricks}

Wie wir feststellen mußten, ist der Einsatz von UUCP nicht immer ganz
unkompliziert. Es gibt viele Dinge zu beachten. Gerade UUCP-Anfänger haben
oftmals Probleme, die komplexe "`UUCP-Welt"' auf Anhieb zu überschauen.

Wir möchten daher im folgenen ein paar Tips und Tricks geben. Wir möchten
Lösungsvorschläge für häufig gemachte Fehler anbieten. Wenn Sie Ergänzungen
vorschlagen möchten, würden wir uns darüber sehr freuen.



\subsection{Ausgewählte Benutzer}

Nicht jeder Mailbox-Benutzer ist für ein nationales oder gar internationales
Netz geeignet, in dem eine Pflicht zur Angabe des echten Namens (Realname)
und ggf. auch Adresse und Telefonnummer besteht. Durch Fehlbedienung der
Software und unbedachtes Vorgehen können große finanzielle Schäden 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. Netze sind i.allg. kein geeignetes Medium für Laien --- zu
ihrem eigenen Schutz.



\subsection{Anruf beim Feed}

Bei aller Begeisterung für 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{USRobotics HST}

Für den Einsatz von UUCP ist der vom Modem-Hersteller 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{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.



\subsection{Artikel in junk}

Sollten sich im Artikel-Verzeichnis {\tt junk} Artikel befinden, so suchen
Sie in den Artikeln nach einer Zeile, die mit "`{\tt 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.



\subsection{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 {\tt uunews:Out.Going} bzw. {\tt
NewsArts:Out.Going} ein Unter-Verzeichnis mit dem Namen der neuen Site
anlegen.



\subsection{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 8623376} von 21-15 Uhr 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.

Programm-Updates sind stets in unserer eigenen Mailbox {\em ZikZak} sowie auf
AmiNet bzw. ftp.cs.tu-berlin.de zu finden.

\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 8623376 (V.32, HST 14.4, V.32bis)
        nur von 15-21 Uhr
        User-ID: "Big Bonzo" (Sysop)
\end{verbatim}

\section{Spendenkonto}

Für Ihre Geld-Spenden haben wir folgendes Konto eingerichtet:

\begin{tabular}{lll}
Bank		& : & Deutsche Bank  (Germany)\\
Bankleitzahl	& : & 100 700 00\\
Kontonummer	& : & 4701751\\
\end{tabular}

\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 den Umstand, daß viele
%Details bisher den box-internen Help-Dateien entnommen werden müssen, bitten
%wir zu entschuldigen \dots



% Am Schluß der Index...

\index{Protokoll|see{Logfile}}

% Libraries
%
\index{eazytools.library|see{Library}}
\index{eazyrecord.library|see{Library}}
\index{xprzmodem.library|see{Library}}
\index{OwnDevUnit.library|see{Library}}

% UUCP Stuff
%
\index{relaynews|see{UUCP}}
\index{sendmail|see{UUCP}}
\index{getty|see{UUCP}}

\printindex

\end{document}

