<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
             <!-- $Id$ -->
                                           
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                                                   
  <meta http-equiv="Content-Style-Type" content="text/css">
                                                   
  <meta name="GENERATOR" content="vi handcraft">
                                                   
  <meta name="author" lang="en" content="Michiel Broek">
                                                   
  <meta name="description" lang="en" content="MBSE BBS Manual">
                                                   
  <meta name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
  <title>MBSE BBS FAQ &amp; Howto</title>
                                                                        
                 
  <link rel="stylesheet" href="manual.css">
</head>
  <body>
<blockquote>
  <div align="Center">
  <h1>MBSE BBS FAQ and Howto.</h1>
  </div>
  <div align="Right">
  <h5>Last updated 13-Nov-2002</h5>
  </div>
  <pre>
Authors: P.E. Kimble aka King Kimerud            kimerud@bayhaus.org
         Michiel Broek                           2:280/2802
         Rick van Ruth                           3:640/954
  </pre><hr>
<h3>Introduction</h3>
  <p>   This FAQ is a work in progress. It is not complete, nor does its author
claim   that it is complete. This FAQ only answers questions pertaining to
using MBSE   BBS on your Linux box. It is a compilation of previous questions 
      that Michiel   Broek has recieved and answered from us newbies in getting 
      MBSE up &amp; running.   </p>
  <ol>
    <li><a name="_Installation"></a>
      <a href="#1">Installation</a>
    </li>
    <ol>
      <li><a href="#1.1">Why do I have to install MBSE in the /opt directory?</a>
      </li>
      <li><a href="#1.2">What other operating systems will MBSE run on?</a>
      </li>
      <li><a href="#1.3">Will MBSE ever be ported to DOS/Windows or OS/2?</a>
      </li>
      <li><a href="#1.4">What does the quest switch in the bbs user setup 
      mean?</a>
      </li>
      <li><a href="#1.5">How do I monitor as the things happen?</a>
      </li>
      <li><a href="#1.6">How do I start mbsebbs from inetd?</a>
      </li>
      <li><a href="#1.7">I just installed mbse, now I get a Socket send 
failed error 2</a>
      </li>
    </ol>
    <p>&nbsp;</p>
    <li><a name="_Fidosetup"></a>
      <a href="#2">Fidonet Setup</a>
    </li>
    <ol>
      <li><a href="#2.1">The nodelist compiler crashes, why?</a>
      </li>
      <li><a href="#2.2">What is the purpose of the "Comment" line in the
      tic area setup?</a>
      </li>
      <li><a href="#2.3">How do I poll a node?</a>
      </li>
      <li><a href="#2.4">I created a filerequest but mbcico doesn't call
out.</a>
      </li>
      <li><a href="#2.5">Does MBSE support fidonet via ftp feeds?</a>
      </li>
      <li><a href="#2.6">The tosser and mbmsg program are slow, why?</a>
      </li>
      <li><a href="#2.7">How can I use an external netmail tracker with MBSE?</a>
      </li>
      <li><a href="#2.8">I am having problems with dates when unarchiving
 .arc files.</a>
      </li>
    </ol>
    <p>&nbsp;</p>
    <li><a name="_Inetsetup"></a>
      <a href="#3">Internet Setup</a>
    </li>
    <ol>
      <li><a href="#3.1">Posting newsmessages to the newsserver fails.</a>
      </li>
      <li><a href="#3.2">FTP fidonet feeds how-to.</a>
      </li>
      <li><a href="#3.3">Polling a internet node fails</a>
      </li>
      <li><a href="#3.4">Dialup script examples for MBSE</a>
      </li>
    </ol>
    <p>&nbsp;</p>
    <li><a name="_BBSsetup"></a>
      <a href="#4">BBS Setup</a>
    </li>
    <ol>
      <li><a href="#4.1">How do I to set up MBSE for ISDN?</a>
      </li>
      <li><a href="#4.2">How do I use GoldED together with MBSE?</a>
      </li>
      <li><a href="#4.3">How do I use MsgEd together with MBSE?</a>
      </li>
    </ol>
    <p>&nbsp;</p>
    <li><a name="_Doors"></a>
      <a href="#5">Doors Setup</a>
    </li>
    <ol>
      <li><a href="#5.1">How do I run DOS doors under MBSE BBS?</a>
      </li>
      <li><a href="#5.2">Dosemu compile tips</a>
      </li>
      <li><a href="#5.3">Setting up for InterBBS games.</a>
      </li>
      <li><a href="#5.4">Door Maintenance.</a>
      </li>
    </ol>
  </ol>
  <a href="index.htm"><img src="images/b_arrow.gif" alt="Back" border="0">
             Go Back</a>
  <hr>
  <h3><a name="1">1. Installation.</a>
  </h3>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="1.1">Q 1.1</a>
        </td>
        <td>Why do I have to install MBSE in the /opt directory?</td>
      </tr>
      <tr>
        <td valign="Top">A 1.1</td>
        <td> The /opt is for extra applications, when mbse is installed there 
     it is easier to upgrade the OS. If you insist on installing in /usr/local
       the choose /usr/local/mbse. </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Installation"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="1.2">Q 1.2</a>
        </td>
        <td> What other operating systems will MBSE run on? </td>
      </tr>
      <tr>
        <td valign="Top">A 1.2</td>
        <td> Currently only on most Linux distributions, FreeBSD and NetBSD.
       The author, Michiel Broek, has made a valiant effort ensuring that
MBSE     will recognize and install on the major distributions of Linux.
 </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Installation"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="1.3">Q 1.3</a>
        </td>
        <td> Will MBSE BBS ever be ported to DOS/Windows or OS/2? </td>
      </tr>
      <tr>
        <td valign="Top">A 1.3</td>
        <td> No. </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Installation"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="1.4">Q 1.4</a>
        </td>
        <td> What does the guest switch in BBS user setup mean? </td>
      </tr>
      <tr>
        <td valign="Top">A 1.4</td>
        <td> Nothing yet. </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Installation"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="1.5">Q 1.5</a>
        </td>
        <td> How do I monitor as the things happen? </td>
      </tr>
      <tr>
        <td valign="Top">A 1.5</td>
        <td> tail -f /opt/mbse/log/system.log or start mbmon. </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Installation"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="1.6">Q 1.6</a>
        </td>
        <td> How to start mbsebbs from inetd? </td>
      </tr>
      <tr>
        <td valign="Top">A 1.6</td>
        <td> This is described in the documentation of the <a href="programs/mblogin.html">
             mblogin</a>
              program. </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Installation"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="1.7">Q 1.7</a>
        </td>
        <td> I just installed mbse, now I get a Socket send failed error 
2. </td>
      </tr>
      <tr>
        <td valign="Top">A 1.7</td>
        <td> With a normal system boot the <b>mbtask</b> daemon will be started 
     by one of the systems init scripts. If you just installed mbse you need 
   to  do this for the first time manually. As user <b>mbse</b> issue the 
following     commands:                                                  
                                                                   
        <pre>mbtask<br>mbstat open<br><br></pre>
              This will start the daemon, the daemon creates the default
databases.      Then  you can use <b>mbsetup</b> to configure your new system.
        </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Installation"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <hr>
  <h3><a name="2">2. Fidonet setup.</a>
  </h3>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="2.1">Q 2.1</a>
        </td>
        <td> The nodelist compiler crashes, why? </td>
      </tr>
      <tr>
        <td valign="Top">A 2.1</td>
        <td> Note: From previous experience, it is vital that you follow 
the docs  closely.  Also, ensure that you have a copy of a valid nodelist 
      and  nodediff file.  I have ran into problems where either the noddiffs 
     don't match the nodelist, the crc checks fail, or I have files from 
two     different zones. I have even had to back up several months before 
 finding     a valid noddiff that would match the nodelist. <br>
              Make sure the domain translations do exist, with mbsetup enter
   menu   17  and save it even if you didn't change anything. </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Fidosetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="2.2">Q 2.2</a>
        </td>
        <td> What is the purpose of the "Comment" line in the tic area setup?
               </td>
      </tr>
      <tr>
        <td valign="Top">A 2.2</td>
        <td> The downlinks will see this when receiving FileMgr replies. 
It is meant only as a description for the filearea. </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Fidosetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="2.3">Q 2.3</a>
        </td>
        <td> How do I poll a node? </td>
      </tr>
      <tr>
        <td valign="Top">A 2.3</td>
        <td> mbout poll f2802.n280.z2 </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Fidosetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="2.4">Q 2.4</a>
        </td>
        <td> I created a filerequest but mbcico doesn't call out. </td>
      </tr>
      <tr>
        <td valign="Top">A 2.4</td>
        <td> You need to add a poll for that node to do the call. </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Fidosetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="2.5">Q 2.5</a>
        </td>
        <td> Does MBSE support fidonet via ftp transfers? </td>
      </tr>
      <tr>
        <td valign="Top">A 2.5</td>
        <td> Yes, but only the passive side. <a href="#3.2">Refer to 3.2.</a>
        </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Fidosetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="2.6">Q 2.6</a>
        </td>
        <td>The tosser and mbmsg programs are slow, why?</td>
      </tr>
      <tr>
        <td valign="Top">A 2.6</td>
        <td> Tossing mail and linking message areas are background tasks. 
     When mbse was first developed the hardware was not fast enough to run 
 these    programs at full speed. The mailer could give CRC errors and the 
 bbs seemed    to stop now and then. To overcome this problem all programs 
 started with   the -quiet switch (background jobs) are stopping for short 
 periods so that   they would use less system resources. Systems with SCSI 
 disks or other fast   and well designed machines don't have a need for that 
 slowdown. In mbsetup   menu 1.5.17 is the setting for the speed of all utility 
 programs, the default   is slow. You might try this set to fast and see what
 happens on your system.            </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Fidosetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="2.7">Q 2.7</a>
        </td>
        <td>How can I use an external netmail tracker with MBSE?</td>
      </tr>
      <tr>
        <td valign="Top">A 2.7</td>
        <td>If the netmail tracker can work on .pkt files you could try to 
  install it into mbfido. It can call a external program to process incoming 
  .pkt files before mbfido does something with it. That option was built a
 few years ago for extra Y2K checks. (The pktdate program of Tobias Ernest). 
            </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Fidosetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="2.8">Q 2.8</a>
        </td>
        <td>I am having problems with dates when unarchiving .arc files.</td>
      </tr>
      <tr>
        <td valign="Top">A 2.8</td>
        <td>If you are experiencing a problem with the dates on arc files
  showing as January 1970 or similar when extracted using Arc v5.31 for linux
  then obtain "nomarch". MBSE will detect nomarch during configuration/install
 and set your archiver.data file accordingly. Nomarch extracts .arc files
and keeps the original file date.            </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Fidosetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <hr>
  <h3><a name="3">3. Internet setup.</a>
  </h3>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="3.1">Q 3.1</a>
        </td>
        <td> Posting newsmessages to the newsserver fails. </td>
      </tr>
      <tr>
        <td valign="Top">A 3.1</td>
        <td> Check if you need the "mode reader" command for the newsserver.
       Set this flag in mbsetup 1.15.5 </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Inetsetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="3.2">Q 3.2</a>
        </td>
        <td> How do I configure MBSE for my ftp filenet feeds? </td>
      </tr>
      <tr>
        <td valign="Top">A 3.2</td>
        <td>     Follow the next steps to setup your system for FTP clients. 
                                                                         
                                                
        <ol>
          <li>As root, add a new group to your system: <b>groupadd bbsftp</b>
           . 	           </li>
          <li>Make sure there is a directory /opt/mbse/var/bbsftp. This directory 
      	 should be owned by mbse, group bbs and have mode 0775. 	 </li>
          <li>Add an invalid shell to /etc/shells, /usr/bin/false is good. 
      	 </li>
          <li>Install an FTP server, the examples here are for ProFTPD. 	
                </li>
          <li>In /etc/proftpd.conf make sure there are the following lines: 
                                                                         
                                                                        
              
            <pre># Anonymous ftp and members of group bbsftp have a chroot environment.<br>DefaultRoot     ~ bbsftp<br></pre>
             	 This will make sure that users who are member of the bbsftp
 group    have   	 a chrooted directory structure for their ftp directories.
 	 Also    make sure the line Umask 022 is changed to Umask 002. 	 </li>
          <li>Add a username for the node you whish to give an FTP feed.
Use the 	 following as root:                                            
                                                                        
                                        
            <pre>useradd -g bbs -G bbsftp -d /opt/mbse/var/bbsftp/username <br>-s /usr/bin/false -c "FTP Account for username" -m username<br></pre>
             	Note: this is one line! 	 There will now be a user added and
 have   a  home  directory of 	 /opt/mbse/var/bbsftp/username. Make sure
that  directory    has  permission 	 0775 or 0770. Create in the username
directory  two other    directories,   	 inbound and outbound. They must
be owned by  the user and    be a member of   	 group bbs and have mode 0775.
The modes  077x are needed    because the 	 user and mbse must be able to
read and write  to these directories.             </li>
          <li>Try to login with ftp from some other system with the choosen 
      	 username and his password and check the changes until now. You should 
    	 not be able to escape from the directories of this user and you should 
   	 be able to upload files, download and delete files. Check also if you 
 	  uploaded a file if user mbse can delete that file and also put a file 
	 in  the users ftp directory as user mbse, and check that you can 	 download 
  and  delete is as ftp user. 	 </li>
          <li> 	 Make sure for the node you want to change there is no mail
      left in the 	 outbound. 	 Now start mbsetup, menu 7, open the setup
of   the   node that will use 	 ftp. In screen 3, items 7 and 8, set these
to  Directory.   Now enter 	 screen 8, here you will setup the directory
session.                                                                
                                                                        
                    
<pre>
       7.8  EDIT NODE DIRECTORY SESSION

            Outbound settings
       1.   Files path      /opt/mbse/var/bbsftp/username/outbound
       2.   Check for lock  Yes               3.   Wait clear lock Yes
       4.   Check lockfile  /opt/mbse/var/bbsftp/username/lock.bsy
       5.   Create lock     Yes
       6.   Create lockfile /opt/mbse/var/bbsftp/username/lock.bsy
       
            Inbound settings
       7.   Files path      /opt/mbse/var/bbsftp/username/inbound
       8.   Check for lock  Yes               9.   Wait clear lock Yes
       10.  Check lockfile  /opt/mbse/var/bbsftp/username/lock.bsy
       11.  Create lock     Yes
       12.  Create lockfile /opt/mbse/var/bbsftp/username/lock.bsy
</pre>
             	Save this and you are ready. 	</li>
          <li>A final note, since this user is in group bbs and not in the
      bbs 	userdatabase he can never telnet to your system with this account
   and   	get a shell. The user doesn't even have a valid shell.     </li>
        </ol>
        </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Inetsetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="3.3">Q 3.3</a>
        </td>
        <td>Polling a internet node fails.</td>
      </tr>
      <tr>
        <td valign="Top">A 3.3</td>
        <td>    There are several reasons why mbcico refuses to call an internet
      node, most    problems are nodelist related. A internet node with binkp
    protocol  should be    listed with the flags CM,IBN before mbcico will
 make   a call.  Also, in the    nodelist system name field there should
be  the hosts  full  qualified    domainname so that mbcico can get that
node's  IP address.  If  one of these    items are missing, the node will
not be called. To correct    this problem there    are two options, make
sure the node is listed with   a dns name and proper    flags in the nodelist.
The second option is to add   a setup record for that    node and fill in
the nodelist override fields.    You can find these in menu    7.3, item
5 can be filled with the nodelist    flags, ie. CM,IBN and item 6 can   
be used to give that node's fdn or IP   address.                        
            
        <p> If the call still fails there are several things that must be
  right before mbcico makes any internet call. In mbmon, screen 2 (SERVER
STATS)  there are flags that indicate if the system is running, internet
is available  and the bbs is open. If one of these is No, then no call will
be made. (For  POTS the Internet flag does not matter of course). </p>
        <p> In mbsetup, screen 18 (taskmanager), you need to set the maximum 
 TCP sessions to allow. This is inbound and outbound together. So if you set
 this to 3 and 3 or more systems are already calling in via internet, your
 system will not call anymore until the amount of TCP sessions drops below
 3.</p>
        <p>  If you set this to high on an average cable/adsl connection, 
 you can get into trouble because you use up all upstream bandwidth. (We have
 seen a lot of errors at a busy when the upstream speed was 64K and downspeed
 512K and about 4 sessions together). A good rule seems 1 TCP session for
each 32K bandwidth. </p>
        <p> Then turn in that same screen debug on. After a minute mbtask 
 rereads his configuration.</p>
        <p>  Make a poll with mbout poll <node>. </node></p>
        <p> Watch the mbtask logfile and see what it does for that node. It
should be added to the calllist. If not, it might be still a nodelist problem.
     </p>
        </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Inetsetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="3.4">Q 3.4</a>
        </td>
        <td>Dialup script examples for MBSE</td>
      </tr>
      <tr>
        <td valign="Top">A 3.4</td>
        <td>         Dialup Script using mclient:                        
                                                
        <pre>#!/bin/sh
#
# $Id$
#
# Dialup script for MBSE BBS.
#
#============================================================================
# Copyright (C) 1997-2002
#   
# Michiel Broek                FIDO:           2:280/2802
# Beekmansbos 10
# 1971 BV IJmuiden
# the Netherlands
#
# This file is part of MBSE BBS.
#
# This BBS is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2, or (at your option) any
# later version.
#
# MBSE BBS is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with MBSE BBS; see the file COPYING.  If not, write to the Free
# Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
#============================================================================
#
#
# Enter commands to make the dialup connection and to hangup the connection.
#
DIALCMD="mclient -d -c DDS"
HANGUPCMD="mclient -k"
#
# Log to syslog
#
LOGGER="logger -p user.notice -t basename $0$$]"

if [ -z "$DIALCMD" ]; then
    echo "This script is not configured, edit this script to use it."
    exit 1
fi

echo "Dial internet start" | $LOGGER
#
# Do 3 attempts to connect
#
connect=0; try=0;
while let 'connect == 0'
do
    # Count connect attepts
    #
    let try=try+1
    if [ $try == 4 ]; then
        echo "No internet connection, giving up" | $LOGGER
        $HANGUPCMD &gt;&gt;/dev/null
        exit 1
    fi

    echo "Call attempt $try"    | $LOGGER
    $DIALCMD &gt;&gt;/dev/null
    i=60;
    while let 'i &gt; 0' &amp;&amp; let 'connect == 0'
    do
        if [ -f $MBSE_ROOT/sema/is_inet ]; then
            connect=1
            echo "mbtask detected internet"     | $LOGGER
        fi
        let i=i-1
        sleep 1
    done
    #
    # Check if we have a connection
    #
    if [ ! -f $MBSE_ROOT/sema/is_inet ]; then
        echo "Failed, 10 seconds pause ..."     | $LOGGER
        sleep 10
    fi
done

#
# Here we have a connection, now make all needed polls
#
$MBSE_ROOT/bin/mbout poll f5003.n280.z2 f19.n280.z2 -quiet

#
# Now we wait until the do_inet semafore appears, we
# timeout at 25 seconds, must be enough.
#
i=25;
while let 'i &gt; 0'
do
    if [ -f $MBSE_ROOT/sema/do_inet ]; then
        i=0;
    else
        let i=i-1;
        sleep 1
        echo "wait do_inet $i"
    fi
done

#
# Now test until the do_inet semafore is gone.
# Timeout is one hour.
#
i=3600;
while let 'i &gt; 0'
do
    if [ ! -f $MBSE_ROOT/sema/do_inet ]; then
        i=0;
    else
        let i=i-1;
        sleep 1
        echo "wait ready $i"
    fi
done

echo "Internet sessions done, hangup"   | $LOGGER
$HANGUPCMD &gt;&gt;/dev/null
echo "Script ready"                     | $LOGGER
exit 0

==============================================


</pre>
         Dialup Script using diald:                                     
                                   
        <pre>=================================================
#!/bin/sh

PATH=/opt/mbse:/opt/mbse/bin:/usr/bin:/usr/local/bin:/bin:/usr/sbin:/usr/local
/ sbin:$PATH
cd /opt/mbse
if [ -f /opt/mbse/tmp/ip.up ] ; then
        exit
fi
echo "up" &gt; /var/run/diald.ctl
sleep 15

ping -c 10 -w 10 mail.iol.ie
if [ -e /var/run/ppp0.pid ]  ; then
        touch /opt/mbse/tmp/ip.up
   cd /opt/mbse
   echo "Fetching News"
   /opt/mbse/fetchnews
   echo "Synching clock"
   telnet 192.168.0.2 9049
   bin/mbfido news
   echo "Fetching Mail"
   /usr/bin/fetchmail -f /opt/mbse/.fetchmailrc
   bin/soup
        if [ ! 'cat /opt/mbse/irex/s/rexbusy.0 | xargs ps --no-header' ] ;
        then
                rm /etc/ftn/irex/s/rexbusy.0
        fi

   ./rexl
   fetchmail -f /opt/mbse/.fetchmailrc
   ./rexl -sf m
   /opt/mbse/bin/bink

  echo down &gt; /var/run/diald.ctl

  bin/bres.sh  # &gt;&gt; /dev/null 2&gt;&amp;1
fi
rm /opt/mbse/tmp/ip.up

==================================
</pre>
        </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Inetsetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <hr>
  <h3><a name="4">4. BBS setup.</a>
  </h3>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="4.1">Q 4.1</a>
        </td>
        <td> How to set up MBSE for ISDN. </td>
      </tr>
      <tr>
        <td valign="Top">A 4.1</td>
        <td> Contributed by: J. Beekhuizen, 2:280/1018                   
                                                                        
                        
        <p> Of course, you have to configure and build your kernel for ISDN 
      support and the correct drivers for your card.  It is beyond the scope 
   of   this document to explain how to do that. </p>
        <p> To your /etc/inittab file add the following lines for your ISDN 
      devices ttyI0 and ttyI1. </p>
        <pre># ISDN lines<br>I1:23:respawn:/usr/local/sbin/mgetty -x 4 -i /opt/mbse/etc/issue ttyI0<br>I2:23:respawn:/usr/local/sbin/mgetty -x 4 -i /opt/mbse/etc/issue ttyI1<br><br></pre>
              To your mgetty.config file [/usr/local/etc/mgetty_sendfax/mgetty.config 
      on my system] set up the ttyI0 and ttyI1 ports.  With AT&amp;E you set
   the   MSN/EAZ the device should listen to. This should for an MSN be your
   telephone   number <b>with</b> the area code but <b>without</b>  the leading
   0. For an   EAZ the last digit of your EAZ.                          
                                                                        
                  
        <p> The ISDN ports </p>
        <pre>port ttyI0<br>modem-type data<br>init-chat "" ATZ OK<br>AT&amp;E714015437&amp;W0 OK <br>AT&amp;B512 OK<br><br>port ttyI1<br>modem-type data<br>init-chat "" ATZ OK <br>AT&amp;E714017198&amp;W0 OK <br>AT&amp;B512 OK<br></pre>
             From the mbsetup menu #5 "Edit Modem types" configure the ISDN 
 modem    type.                                                          
                                                   
        <pre>Modem type   ISDN Linux<br>Init string  ATZ\r<br>Init string<br>Init string<br>OK string    OK<br>Hangup       \d\p\p\p+++\d\p\p\pATH0\r<br>Info command ATI2\r<br>Dial command ATD\T\r<br>Connect      CONNECT 64000<br>Connect      CONNECT<br>[...]<br>Reset cmd    ATZ\r<br>Error string BUSY<br>Error string NO CARRIER<br>Error string NO DIALTONE<br>Error string NO ANSWER<br>Error string RING\r<br>Error string ERROR<br>Error string<br>Error string<br>Error string<br>Error string<br>Cost offset  0<br>EMSI speed   28800                   ! not relevant for ISDN<br>Strip dashes No<br>Available    Yes<br><br></pre>
              And from #6 "Edit TTY lines info" the ISDN lines          
                                                                        
                                  
        <pre>TTY name     ISDN Line 1<br>Device name  ttyI0<br>Phone or DNS 31-71-4015437<br>Line speed   64 kbits<br>Fido flags   CM,XA,MO,X75<br>Equipment    ISDN<br>Available    Yes<br>Auth. log    No<br>Honor ZMH    Yes<br>Callout      Yes<br>Modem type   ISDN Linux<br>Locked speed 0                                 ! not relevant for ISDN<br>EMSI name    The Wizard's ISDN line 1<br><br>TTY name     ISDN Line 2<br>Device name  ttyI1<br>Phone or DNS 31-71-4017198<br>Line speed   64 kbits<br>Fido flags   CM,XA,MO,X75<br>Equipment    ISDN<br>Available    Yes<br>Auth. log    No<br>Honor ZMH    Yes<br>Callout      Yes<br>Modem type   ISDN Linux<br>Locked speed 0<br>EMSI name    The Wizard's ISDN line 2<br><br></pre>
              T-t-that's all folks :)) </td>
      </tr>
    </tbody>
  </table>
  <a href="#_BBSsetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="4.2">Q 4.2</a>
        </td>
        <td> How do I use GoldED together with MBSE? </td>
      </tr>
      <tr>
        <td valign="Top">A 4.2</td>
        <td> Since MBSE BBS version 0.33.12 GoldED and MBSE BBS can be used 
      together without problems as long as you use it to read the sysop mail. 
    The  mbsetup program can export a file called /opt/mbse/etc/golded.inc 
 which    will contain your main Aka's, Aka matching, sysop name and all your
 mail   areas. This file is only (re)created if you change the global settings
  or   one of the mail areas. The first time you must force this by making
 a change   somewhere.                                                  
                                                                   
        <p> Now create /opt/mbse/etc/golded.cfg, here is what I wrote: </p>
        <pre>; GoldED.cfg<br>;<br>; Internet Addressing<br>;<br>INTERNETADDRESS Michiel_Broek@f2802.n280.z2.fidonet.org<br>INTERNETGATE UUCP 2:292/875<br>;<br>;<br>OUTBOUNDPATH /opt/mbse/var/bso/outbound<br>REPLYLINK chain<br>STYLECODES yes<br>;<br>;<br>; MESSAGE READER<br>;<br>DISPMSGSIZE KBYTES<br>DISPATTACHSIZE KBYTES<br>DISPLOCALHIGH YES<br>DISPPAGEBAR YES<br>VIEWHIDDEN YES<br>VIEWKLUDGE NO<br>VIEWQUOTE YES<br>;<br>INCLUDE /opt/mbse/etc/golded.inc<br>;<br>; The end.<br><br></pre>
              Put in /opt/mbse/.profile the following line: export GOLDED=$HOME/etc 
                                                                         
                                                
        <p> When you now start GoldED you use it as the sysop. Make sure that
the sysop's userrecord is the first user in the MBSE BBS userbase. If not,
the lastread pointers are not right. The GoldED nodelist compiler can be
added to the setup in menu 18. </p>
        </td>
      </tr>
    </tbody>
  </table>
  <a href="#_BBSsetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="4.3">Q 4.3</a>
        </td>
        <td> How do I use MsgEd together with MBSE?</td>
      </tr>
      <tr>
        <td valign="Top">A 4.3</td>
        <td>Since MBSE BBS version 0.35.05 MsgEd and MBSE BBS can be used 
     together        without problems as long as you use it to read the sysop 
    mail. The       mbsetup program can export a file called /opt/mbse/etc/msg.txt 
    which        will contain your mail areas setup.       This file is only 
   (re)created if you change the global settings or one       of the mail 
areas.   The first time you must force this by making a change       somewhere. 
          </td>
      </tr>
    </tbody>
  </table>
  <a href="#_BBSsetup"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <hr>
  <h3><a name="5">5. Doors setup.</a>
  </h3>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="5.1">Q 5.1</a>
        </td>
        <td> How do I run DOS doors under MBSE BBS? </td>
      </tr>
      <tr>
        <td valign="Top">A 5.1</td>
        <td>
        <pre>Written by: Redy Rodriguez, sysop of Parolas BBS 2:348/609<br>Fidonet:    Redy rodriguez 2:348/609<br>Email:      redy@users.sourceforge.net<br>            Redy_Rodriguez@f609.n348.z2.fidospain.org<br></pre>
        <p><b>NO WARANTEE</b></p>
        <p> The information gathered here, works for the indicated intention. 
       It is proven and working in PAROLAS BBS, however, I do not guarantee 
  that    it  works correctly in all the cases. The author is not responsible 
  for  the  damage this can cause.  If you follow the instructions, and you 
  get not the  expected result, or as  a result of it you get undesired results, 
   you loose  data or destroy your  system, you you will be the only person 
  in charge.          </p>
        <p><b>INTRODUCTION</b></p>
        <p> This document describes how I have been able to execute MS/DOS 
      doors in  MBSEBBS. Probably it is not the best way to do it, but this 
  is   the one that works for me.  If somebody finds one more more effective, 
  or   simpler or safer a solution,  the I like to hear this solution. </p>
        <p><b>WHAT IS NEEDED?</b></p>
        <p> MBSEBBS is correctly compiled and working, in my case I have the
version  0.33.19, that is at the moment the most recent and stable, I suppose
that  this method can be valid for newer versions.  DOSEMU 1.0.2 I have tried
previous versions, but these do not work correctly  with virtual ports. You
can download dosemu.1.02.tgz from  <a href="www.dosemu.org">www.dosemu.org</a>
             ,  you may also need to download the freedos archive dosemu-freedos-bin-1.02.tgz.
       A partition with MS/DOS, I have on my disc a partition with installed
   MS/DOS,    and that is the one that I use, but I'm sure that many doors
 could  work   correctly with the freedos.  You also need <b>sudo</b>. Sudo
 is a utility   that let's ordinary users execute certain programs as superuser,
  this is  available with almost all Linux distributions.  </p>
        <p><b>COMPILING DOSEMU</b></p>
        <p> Unpack dosemu in some directory, for example /usr/src, then changed 
      into  that directory and execute 'make'. When this is ready we have 
dosemu      compiled. If we already had a previous version of dosemu it is 
advisable     to uninstall it before continuing. Copy dosemu-freedos-bin-1.02.tgz 
to  the   toplevel directory of the dosemu source and execute:  </p>
        <pre>./install_systemwide -fd dosemu-freedos-bin-1.02.tgz<br><br></pre>
              In the directory etc, within the directory where we have decompressed 
     the   source code of dosemu we have configuration examples. Create the 
  directory    /var/lib/dosemu if it does not exist the directory, and copy 
  global.conf    to that directory. Also copy dosemu.conf to directory /etc 
  and copy dosemu.users.secure    as dosemu.users to /etc.               
                                                                        
                             
        <p><b>CONFIGURE THE DOS PARTITION</b></p>
        <p> Now we must configure the dos partition, in my case this exists 
      as a mounted dos partition in /dos/c. If this is not the case then you
   could   work with an image of freedos. I have created in my dos partition 
   a directory   c:\doors where I install all doors that I want to use, and 
  a file called  c:\doors.bat with the following contents: </p>
        <pre>@echo off<br>c:<br>cd \doors<br>if exist %1.bat call %1 %2 %3 %4 %5 %6 %7 %8 %9<br>c:\dosemu\exitemu<br><br></pre>
              Change to the directory /var/lib/dosemu and create directory
 called    for    example 'c':                                          
                                                                        
  
        <pre>mkdir c. <br><br></pre>
              A link to the mounted partition could be made but I prefer
to  create    a  new  directory and in that directory make links to dos program 
 which  are  only  of interest for us. Many programs and directories of the 
 dos partition     are not needed in dosemu and to run doors. Change to the 
 created directory     and make links to everything what we have in our dos 
 partition (we will   erase  soon what we do not need).  Autoexec.bat and 
config.sys must copied   instead  of making links so we can modify them, because
surely we will want   that they  are different in dosemu, then in real dos.
                                                                        
                                            
        <pre>cd c<br>ln -s /dos/c/* .<br>rm autoexec.bat<br>rm config.sys<br>cp /dos/c/autoexec.bat config.sys .<br><br></pre>
              Create a directory dosemu and copy the typical utilities of 
dosemu.                                                                  
                                                       
        <pre>mkdir dosemu <br>cp /usr/src/dosemu-1.02/1.0.2.0/commands/* dosemu<br><br></pre>
              Now we modify the copy of config.sys and autoexec.bat to erase
  everything     what is not necessary to execute our games as doors, like
 drivers for cdrom,    mouse etc... We will clear the keyboard driver 'KEYB
 XX' and make sure that   in the path in autoexec.bat to include the directory
 c:\dosemu. Also load   the fossil  emulator, for example add these two lines:
                                                                        
                                             
        <pre>path %PATH%:c:\dosemu<br>c:\dosemu\fossil<br><br></pre>
              If there is another fossil, such as bnu or x00 in config.sys
 or  autoexec.bat     we clear all references to these, we will load them
if that  is necessary    in the file that it executes the door when needed, 
 this can  be necessary   for some doors and for other not. Now we can erase 
 all the  links to the directories    who are not necessary, and that we do
 not want  that they are visible.                                       
                                                                        
     
        <p> Then edit the file /etc/dosemu.conf and look for the line that 
      begins with "$_hdimage =" and change that to: </p>
        <pre>$_hdimage = "c" <br><br></pre>
              Now login as root and you should be able to execute our dos 
emulator     by  executing '/usr/bin/dosemu.bin'                         
                                                                        
                   
        <p> (to leave dosemu type in exitemu) </p>
        <p><b>CONFIGURING SUDO</b></p>
        <p> Normally the dos partition is not accessible to the users of the
BBS, except from within dosemu, and to be able to have access without activating
the setuid bit of dosemu, we use sudo so that any user of the BBS can execute
dosemu.bin as root. As root execute visudo to edit the configuration file
of sudo add the lines: </p>
        <pre>%bbs    ALL=NOPASSWD:/opt/mbse/bin/bbsdoor.sh<br>%bbs    ALL=NOPASSWD:/opt/dosemu/bin/dosemu.bin<br><br></pre>
              The first command is a script that takes care of copying the
 file   door.sys    to the dos partition, the second line is to allow to
execute   dosemu.bin.   Any user of group BBS can execute these commandos
like root   without password   is asked.                                
                                                                        
            
        <p> In order to test that this works login as user mbse and execute:
               </p>
        <pre> sudo dosemu.bin <br></pre>
        <p><b>INSTALLING A DOOR</b></p>
        <p> First we need a pair of scripts. These scripts are installed when
you did install MBSE. These scripts are needed to execute the doors and are
installed in /opt/mbse/bin: </p>
        <pre>--- rundoor.sh ---<br><br>#!/bin/bash<br>#<br># rundoor.sh - Never<br>	call this script directly, create a symlink<br>#              to this<br>	file with the name of the door. For example<br>#              tu run the<br>	door ilord do:<br>#              cd /opt/mbse/bin<br>#              ln<br>	-s rundoor.sh ilord<br>#<br># by Redy Rodriguez and Michiel<br>	Broek.<br>#<br>DOOR=`basename $0`<br>COMMANDO="\" doors $DOOR $*\r\""<br><br>/usr/bin/sudo /opt/mbse/bin/bbsdoor.sh $DOOR $1<br>/usr/bin/sudo /opt/dosemu/bin/dosemu.bin \<br>        -F /var/lib/dosemu/global.conf \<br>        -I "`echo -e serial { com 1 virtual }"\n" keystroke $COMMANDO`"<br>reset<br>tput reset<br>stty sane<br><br><br><br>--- bbsdoor.sh ---<br>#<br>#  Initialize DOS environment before starting a bbs door.<br>#  Parameters: $1 = name of the door<br>#              $2 = the nodenumber for this session<br>#<br>#  by Redy Rodriguez, 22-Oct-2001<br><br>if [ "$1" != "" ]; then<br>    if [ "$2" != "" ]; then<br>        mkdir -p /dos/c/doors/node$2 &gt;/dev/null 2&gt;&amp;1<br>        # Copy door.sys to dos partition<br>        cat ~/door.sys &gt;/dos/c/doors/node$2/door.sys<br>        # Create .dosemu/disclaimer in user home to avoid warning<br>        if [ ! -d $HOME/.dosemu ]; then<br>            mkdir $HOME/.dosemu<br>        fi<br>        if [ ! -f $HOME/.dosemu/disclaimer ]; then<br>            touch $HOME/.dosemu/disclaimer<br>        fi<br>    fi<br>fi<br><br></pre>
              The script rundoor.sh is never called directly, simply create 
 a  link   with  the name of the door to this file, this name must be the 
same  as the   one of the .bat file that starts the door in the doors directory 
  of the dos  partition.   Let me explain this with an example:          
                                                                        
                                  
        <p> I have chosen the door Virtual Sysop, but it could be any other 
      door. My experience says to me that not all doors work correctly with 
  a  serial  port in virtual mode. This one is working at Parolas BBS.  </p>
        <p> Unpack Virtual Sysop in the dos partition, in the directory c:\doors\vsysop.
       Execute as user mbse 'sudo dosemu.bin' and make sure that the door
works      in local mode (these commands are for this door): </p>
        <pre>cd doors<br>cd vsysop<br>vsysop -local<br><br></pre>
              If everything is correct then create the file c:\doors\vsysop.bat 
   with   the  following contents:                                       
                                                                        
     
        <pre>--- vsysop.bat ---<br>@echo off<br>C:\COMUNIC\X00\X00 E B,0,57600<br>cd vsysop<br>vsysop -D c:\doors\node%1\door.sys -BBSNAME PAROLAS<br>deltree /y c:\doors\node%1<br>C:\COMUNIC\X00\X00<br>cd ..<br><br></pre>
              Before passing the control to dosemu, the file door.sys will
 be  copied    to  c:\doors\node???? where the ???? is the node number from
 which  the door   is  invoked (to allow that several users can execute the
 door at the same   time).  This nodenumber also is passed as the first parameters 
  to the .bat   file, this is to indicate to which directory to copy the door.sys
  file.                                                                 
                                                    
        <p> The Virtual Sysop door supports door.sys and that is the only 
      dropfile that is generated by mbsebbs and that is supported by most 
of   the   doors. If you need another format you must use a converter to change
  the  format of the dropfile. </p>
        <p> I use the fossil X00, I have it installed in C:\COMUNIC\X00 and 
      this door works for me correctly with these parameters, it is alos possible
      that it works without X00 or that you can load another fossil.    
    </p>
        <p> Now create a link to rundoor.sh in /opt/mbse/bin called vsysop. 
      The name must be the same one that the name of the .bat file created 
 in   the  dos partition, but without the extension bat. </p>
        <pre>ln -s /opt/mbse/bin/rundoor.sh /opt/mbse/bin/vsysop<br><br></pre>
              Now we execute mbsetup and enter the menu setup to add an entrance
    like   this (It puts option 16 to Yes):                             
                                                                        
               
        <pre> 8.3. EDIT MENU ITEM<br><br> 1.  Sel. key  V<br> 2.  Type nr.  7         Run external program in shell<br> 3.  Opt. data /opt/mbse/bin/vsysop /N<br>               1234567890123456789012345678901234567890123456789012345678901234<br> 4.  Display<br> 5.  Security  0     --------------------------------<br> 6.  Min. age  0<br> 7.  Max. lvl  0<br> 8.  Password  &lt;null&gt;                    13. No door.sys No<br> 9.  Credit    0                         13. Y2K style   No<br> 10. Lo-colors Normal display color      14. Use Comport Yes<br> 11. Hi-colors Bright display color      15. Run nosuid  Yes<br> 12. Autoexec  No                        16. No Prompt   Yes<br><br></pre>
              And that is everything... </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Doors"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="5.2">Q 5.2</a>
        </td>
        <td> Dosemu compile tips </td>
      </tr>
      <tr>
        <td valign="Top">A 5.2</td>
        <td>
        <pre>Written by: Rick Van Ruth, sysop of&nbsp;Vampyre's Heaven BBS 3:640/954</pre>
             Dosemu still exhibits some file locking behaviour and this needs 
  to  be  overcome,  especially if you are running multinode door games. The
  following    information  was supplied by Bob Newell of Chung Kuo BBS (telnet
  chungkuo.org)    and I reiterate  it here.                            
                                                                        
                
        <p> There is an issue in that Linux file locking does not map precisely 
      to  DOS file locking. You need to patch DOSEMU and build a special version
       to deal with this problem. Find the file "dosext/mfs/mfs.c" in your
  DOSEMU    source tree. Locate the following lines: </p>
        <pre>case DENY_ANY:<br>    fl.l_type = F_RDLCK;<br><br>Change the second line to <br>    fl.l_type = !writing ? F_RDLCK : F_WRLCK;<br><br></pre>
              and build a new version of DOSEMU.                        
                                                                        
                   
        <p> To solve a problem of slow screen painting, locate "base/async/int.c" 
       in your source tree. Locate </p>
        <pre>case 0x2C:<br><br>and just below, comment out or delete the line<br><br>usleep(INT2F_IDLE_USECS);<br><br></pre>
              and rebuild your DOSEMU.<br>
        <br>
             It is recommended to use both tips above as it will not harm 
any   dos   door   games.<br>
        </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Doors"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="5.3">Q 5.3</a>
        </td>
        <td> Setting up for InterBBS games. </td>
      </tr>
      <tr>
        <td valign="Top">A 5.3</td>
        <td>
        <pre>Written by: Rick Van Ruth, sysop of&nbsp;Vampyre's Heaven BBS 3:640/954</pre>
             There are 2 methods for providing InterBBS setup. If your system 
  merely    connects to one host for your games packets you need only perform 
  a few  simple  steps to have it working. If your system is a Host for InterBBS
   games  you  will also need to add a script to separate different packets
  for different    downlink systems.<br>
        <br>
             Common to Both Methods:<br>
             With most BBS games you will need 2 directories in your dos
filesystem      area.  One for the inbound packets and one for netmail messages
door games     produce  to send outbound packets.                       
                                                                        
                     
        <p> The easiest way to solve this is by creating symlinks from your 
      MBSE directories into the directory where your dos doors live (c:\doors). 
      The 2 directories you wish to link are /opt/mbse/var/inbound and /opt/mbse/var/msgs 
      - link them into your dos directories doors directory with the same 
names      ie: "inbound" and "msgs". Now according to dosemu you will have 
a c:\doors\inbound      and a c:\doors\msgs. We do not actually use the "msgs" 
directory for anything     other than a place to tell games where to write 
its netmails to. These  "netmails"   are subsequently deleted from the system, 
but the games need  to be able to  write them there. </p>
        <p>1. The Easy Way - Single Host System:<br>
        </p>
        <p>1A.First of all you will realise that door games running under 
      dosemu usually write files as owner root, chmod 0644. This is not good 
   for   MBSE to transfer these files as it does not have permission to act 
  on the   files. In order to force dosemu to write games files so that MBSE 
  can act   upon them we need to alter /etc/sudoers and change the umask for
  root running   under sudo. To do this open /etc/sudoers (you must be root
  to edit this file)  and add the following line at the top of the file before
  the specifications:</p>
        <p>Defaults &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; umask=0000</p>
        <p>This will allow dosemu to write files chmod 0666 (read/write everybody) 
      and MBSE will be able to manipulate them.<br>
        </p>
        <p> For my example I will use the InterBBS dos door game called Barren
       Realms Elite (BRE for short). </p>
        <p> 1B. Install Bre in c:\doors\bre and setup the necessary files 
      for its execution as a dos door from MBSE as per the dos doors faq. 
        </p>
        <p> 1C. Tell Bre (in its BBS.CFG) that the path for inbound packets 
      is c:\doors\inbound and the netmail path is c:\doors\msgs Bre will now
   automatically   process all inbound packets it finds in the inbound directory
   for itself.   It needs no assistance as it merely searches for the correct
   filename in  the directory.</p>
        <p>1D. We need to link Bre's outbound path to our host nodes MBSE 
      mailbox for automatic transfer of games packets. First make sure you 
 have     added an "outbox" for your uplink node in the nodes setup in MBSE 
 - Section     7, Select Uplink, Menu 1, Section 2 "outbox dir". eg: if your 
 uplink is   3:640/954  then MBSE will default to creating /opt/mbse/var/boxes/node3_640_954 
    as the  outbox (I will use this as an example). Note the flavour of your 
   uplinks node connection will apply to the outbox as well. Thus if that 
particular     node is set crashmail then anything you put in the outbox will
also be  sent   crashmail.</p>
        <p>Next go to your Bre game directory. You will notice Bre has an 
      OUTBOUND directory, this is where it places all its game packets that 
  are    to be sent to the uplink. We need to delete this directory and instead 
   create   a symlink to the node outbox instead. If Bre is in c:\doors\bre 
  then the  symlink command will be:</p>
        <p>ln -s /opt/mbse/var/boxes/node3_640_954 /dos/c/doors/bre/OUTBOUND</p>
        <p>Alter the above depending on where your linux path to your dos 
      is, also remember linux is case sensitive! Note you can also make as 
 many     synlinks as you like to the nodes outbox, so if you have 2 or 3 
different     games you send to that node you can link the outbox to each 
games outbound     directory. Also if you have different games to different 
host nodes just    link the game outbound directories to the outboxes of each
node.</p>
        <p>Thats it. The system will now process inbound and outbound packets 
      automatically. You will however need to delete the netmails in the msgs
    directory  - I have included this in the Door game maintenance section 
 further   on.</p>
        <p> If you experience problems with your system polling nodes and
sending the game mail packets while a user is online within the game then
you might wish to use the dos "share.exe" so packet files are not being accessed
by both the game and the mailer at the same time. You can load share.exe
within your doors.bat in dos root directory.</p>
        <p> 2. The Hard Way - Multiple Host System</p>
        <p>Follow steps 1A, 1B, 1C above, the change occurs for 1D (below).<br>
        </p>
        <p> 1D. We need a script to process the Bre outbound packets and add
them to MBSE's node outboxes path so they are sent. A script on how to do
this  follows (with comments ). First remember to create your outboxes for
each node that you transfer games packets to. I will use 3:640/954 as above
and 1:123/456 for this example of 2 systems linked to the one Bre game. 
        </p>
        <p> This script should be owned by user "mbse" and have the permissions
       (chmod 755) -rwxr-xr-x. It is best kept in /opt/mbse/bin with your
dos    game  executing scripts. I call this script "dos_poll" </p>
        <pre>------------------------------------------------------------------------<br>#!/usr/bin/perl -U<br>use File::Basename;<br>use File::Copy;<br><br><br># Define the variables for the outboxes for our links<br>$node1 = "/opt/mbse/var/boxes/node3_640_954";<br>$node2 = "/opt/mbse/var/boxes/node1_123_456";<br># Define the linux path to Bre's outbound directory<br>$bre_path = "/opt/mbse/dos/doors/bre/OUTBOUND";<br><br>  opendir(DIR, "$bre_path") || die;<br>  @dirlist = readdir(DIR);<br>  closedir(DIR);<br><br>  foreach $filename (@dirlist){<br>         $brefile = "$bre_path/$filename";<br>        ($filenameOnly, $pathname, $fileExtension) = fileparse($filename, '\..*');<br><br>    if($filenameOnly eq "048b0201") {<br>                move("$brefile","$node1"); <br>    }<br>    if($filenameOnly eq "048b0203") {<br>                move("$brefile","$node2"); <br>    }<br>  }<br><br># '048b0201' is the packet name Bre creates. You can find out what<br># your packet name is by running BRE PLANETARY and then checking inside<br># the Bre OUTBOUND directory - note no ext on name. You should also check<br># your nodes dat for which is which 048b0201 means from system 2 to system 1<br># so you would be system 2 in the nodes dat and 1 would be 3:640/954<br># 048b0203 is obviously to system 3 in the nodes dat - 1:/123/456 in our<br># example here<br><br>------------------------------------------------------------------------<br><br>Thats it. You can run this 'dos_poll' script from the maintenance scripts described below.<br></pre>
        </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Doors"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  <p>
  <table width="100%">
    <tbody>
      <tr>
        <td width="50" valign="Top"><a name="5.4">Q 5.4</a>
        </td>
        <td> Door Maintenance. </td>
      </tr>
      <tr>
        <td valign="Top">A 5.4</td>
        <td>
        <pre>Written by: Rick Van Ruth, sysop of&nbsp;Vampyre's Heaven BBS 3:640/954</pre>
             Ok, so you can setup doors, run inbound and outbound for interbbs
   games.    So how do you do maintenance? <br>
              Again by scripts. Again I will use BRE as an example. First 
I  create    a  maintenance batch file in my C: root directory. I have called 
 it maint.bat     and for the bre game it looks like this:               
                                                                        
                             
        <pre>cd \doors\bre<br>BRE INBOUND<br>BRE SCORES<br>BRE REQUEST<br>BRE PLANETARY<br>exitemu<br><br></pre>
              if you are familiar with Bre you will know this to be a standard
   sort   of  maintenance except for the "exitemu" at the end. That is there
   because   we  are going to use a script to start dosemu and call the maint.bat
   - so   afterwards  we need it to exit dosemu. <br>
              Now a maintenance script to be called from your cron or whatever
   else   you  are using to execute events on your system. I call this script
   "dos_maint"    and it also lives in /opt/mbse/bin<br>
        <pre>#!/bin/sh<br>#<br>COMMANDO="\" maint \r\""<br><br>/usr/bin/sudo dosemu -dumb -E dir &gt; /opt/mbse/log/dos.log -quiet -I "`echo keystroke $COMMANDO`"<br><br>/bin/rm /opt/mbse/var/msgs/*.msg<br><br>#/opt/mbse/bin/dos_poll # Uncomment this line&nbsp;if you are using the Multiple host script<br>--------------------------------------------------------------------------------------------------<br><br></pre>
              You will notice this script starts dosemu and calls maint.bat,
  and   then   when its finished there it deletes all those games netmails
 and if   you run   the script for multiple hosts for your games it can call
 that as  well. Please   note the second line is all ONE line, it has most
 probably   wrapped here.                                               
                                                                        
        <p> You will notice that the script calls dosemu and not dosemu.bin, 
      this is because we need to tell dosemu to open a dumb terminal and not
   display   to a console or screen. By use of the redirection we redirect 
 the  normal  console output to a file, here I have used /opt/mbse/log/dos.log 
  as that is where all of MBSE's other logs reside. </p>
        <p> Once "dos_maint" is run via the cron it will run maintenance on
your dos doors, process inbound/outbound interBBS game packets and have your
outbound packets ready to send. Thats about all there is to do :)</p>
        <p>Note: You can make variants on these scripts for running daily 
      maintenance or just packet processing at certain times of day. They 
are    just  variations on the information above, but if you have questions, 
contact    me!          <br>
        </p>
        <p> Have fun! </p>
        </td>
      </tr>
    </tbody>
  </table>
  <a href="#_Doors"><img src="images/hand.up.gif" border="0" alt="Up">
  </a>
  </p>
  </blockquote>
  </body>
  </html>