DOSEMU Synchronet Doors How-To

This is about 10 years old but it's still valid information.

DOSEMU Synchronet DOORS HOWTO

Author: Michael Capp <laffer(at)exeonline(dot)com>

07 February 2003

Complete installation guide on configuring DOSEMU and Synchronet
to run DOS doors under Linux utilizing DOSEMU.

Copyright (c) 2003 Michael Capp

Permission  is  granted  to copy, distribute  and/or  modify  this
document  under  the terms of the GNU Free Documentation  License,
Version  1.2  or any later version published by the Free  Software
Foundation; with no Invariant Sections, no Front-Cover Texts,  and
no  Back-Cover  Texts.  A copy of the license is included  in  the
section entitled "GNU Free Documentation License".

-----< revision history >-----------------------------------------

10 Feb 2003 - Updated  sample  bash  script  for  a  default, more 
          secure execution utilizing LREDIR.
        - Removed previously defined unix2dos execution in the
          bash file; this caused adverse affects.   
        - Added appendices  for  game-specific  configurations 
          that are "tried and true" tested to work.
            - Added Appendix A (L.O.R.D.  Configuration)
            - Added Appendix B (DoorMUD   Configuration)
        - Added Appendix C (TradeWars Configuration)

------------------------------------------------------------------

TABLE OF CONTENTS:

1.   Introduction                                               3
 1.1 Purpose of Document                                        3
 1.2 GNU Free Documentation License                             3
   1.2.1  PREABMLE                                              3
   1.2.2  APPLICABILITY AND DEFINITIONS                         4
   1.2.3  VERBATIM COPYING                                      5
   1.2.4  COPYING IN QUANITTY                                   5
   1.2.5  MODIFICATION                                          6
   1.2.6  COMBINING DOCUMENTATION                               8
   1.2.7  COLLECTION OF DOCUMENTS                               8
   1.2.8  AGGREGATION WITH INDEPENDENT WORKS                    9
   1.2.9  TRANSLATION                                           9
   1.2.10 TERMINATION                                           9
   1.2.11 FUTURE REVISIONS OF THIS LICENSE                     10
 1.3 What is DOSEMU, anyway?                                   10
 1.4 What are the prerequisites and requirements?              10
2.   Installation                                              12
 2.1 Installation of DOSEMU.                                   12
 2.2 Use of an alternate operating system.                     12
 2.3 Use of an alternate partition.                            13
 2.4 Directory structures and door installation.               14
3.   Configuration                                             15
 3.1 Basic DOSEMU Configuration Files                          15
 3.2 Sample Bash Script(s)                                     16
 3.3 Sample Batch File(s)                                      17
 3.4 Synchronet Configuration(s)                               18
4. Credits & Thanks                                            19   

1.   Introduction

  1.1  Purpose of Document

  I  have always been an avid BBS enthusiast spending much  of  my
  time  collecting  old and new versions of BBS  software,  doors,
  utilities, etc.  I was a SysOp during much of my childhood  from
  1988 to 1995 when I finally closed the doors on my BBS to pursue
  other  interests.  Recently, I have taken an interest in  Linux,
  and  related  to that, the Synchronet for Linux project.   After
  reading  several posts on DOVE-Net in the Synchronet  forum;  it
  was  clear that precise documentation on installing and  running
  doors  on  the Linux environment was available.  I've spent  the
  last  two  days  searching the Internet  for  documentation  and
  breaking  and fixing many configuration changes to get doors  to
  work  under   Synchronet  and  want to share  my  success   with
  other SysOps  and  hopefully  reduce the stress-levels that  can
  accompany this daunting task.

  Please  notify  me  at  the above address should  you  find  any
  mistakes,  errata,  or additions that need to  be  made  to  the
  document.   My  goal is to make this  a  living   document   and
  add   additional   items  or  requirements as people  experiment
  with additional door configurations.

  In  the spirit of Synchronet, I have also released this document
  under the GNU Free Documentation License.

  1.2  GNU Free Documentation License

       1.2.1     PREABMLE

       The  purpose  of  this  License  is  to  make   a   manual,
       textbook,  or   other   functional   and   useful  document
       "free"  in  the sense of freedom: to  assure  everyone  the
       effective  freedom to copy  and Redistribute  it,  with  or
       without   modifying   it,  either  commercially   or   non-
       commercially.  Secondarily, this License preserves for  the
       author  and  publisher a way to get credit for their  work,
       while  not  being considered responsible for  modifications
       made by others.

       This  License  is  a kind of "copyleft", which  means  that
       derivative works of the document must themselves be free in
       the  same  sense.   It complements the GNU  General  Public
       License,  which  is  a copyleft license designed  for  free
       software.

       We  have  designed  this License in order  to  use  it  for
       manuals for free software, because free software needs free
       documentation:  a  free program should  come  with  manuals
       providing the same   freedoms that the software does.   But
       this License is not limited to software manuals; it can  be
       used for any textual work, regardless of subject matter  or
       whether  it  is published as a Printed book.  We  recommend
       this  License  principally  for  works  whose  purpose   is
       instruction or reference.

       1.2.2     APPLICABILITY AND DEFINITIONS

       This  License applies to any manual or other work,  in  any
       medium,  that  contains a notice placed  by  the  copyright
       holder saying it can be distributed under the terms of this
       License.   Such a notice grants a world-wide,  royalty-free
       license, unlimited in duration, to use that work under  the
       conditions stated herein.  The "Document", below, refers to
       any  such manual or  work.  Any member of the public  is  a
       licensee,  and  is  addressed as  "you".   You  accept  the
       license if you copy, modify or distribute the work in a way
       requiring permission under copyright law.

       A  "Modified  Version"  of  the  Document  means  any  work
       containing  the Document or a portion of it, either  copied
       verbatim,  or  with  modifications and/or  translated  into
       another language.

       A "Secondary Section" is a named appendix or a front-matter
       section  of  the Document that deals exclusively  with  the
       relationship  of the publishers or authors of the  Document
       to  the  Document's overall subject (or to related matters)
       and  contains nothing that could fall directly within  that
       overall  subject.   (Thus, if the Document  is  in  part  a
       textbook  of  mathematics,  a  Secondary  Section  may  not
       explain  any  mathematics.)  The relationship  could  be  a
       matter  of historical connection with the subject  or  with
       related  matters,  or of legal, commercial,  philosophical,
       ethical or political position regarding them.

       The  "Invariant  Sections" are certain  Secondary  Sections
       whose  titles  are designated, as being those of  Invariant
       Sections,  in  the notice that says that  the  Document  is
       released under this License.  If a section does not fit the
       above definition of Secondary then it is not allowed to  be
       designated  as  variant.   The Document  may  contain  zero
       Invariant Sections.  If the Document does not identify  any
       Invariant Sections then there are none.

       The  "Cover Texts" are certain short passages of text  that
       are  listed, as Front-Cover Texts or Back-Cover  Texts,  in
       the  notice  that says that the Document is released  under
       this  License.  A Front-Cover Text may be at most 5  words,
       and a Back-Cover Text may be at most 25 words.

       A  "Transparent"  copy of the Document means   a   machine-
       readable    copy,   represented   in    a    format   whose
       specification is available to  the  general   public,  that
       is  suitable  for  revising  the document straightforwardly
       with  generic   text   editors or (for images  composed  of
       pixels)  generic  paint  programs or  (for  drawings)  some
       widely available  drawing editor, and that is suitable  for
       input to text formatters or for automatic translation to  a
       variety  of  formats suitable for  input o text formatters.
       A  copy  made  in  an  otherwise  Transparent  file  format
       whose  markup, or absence of markup, has been arranged   to
       thwart or discourage subsequent modification by readers  is
       not  transparent.   An image format is not  Transparent  if
       used  for any substantial amount of text.  A copy  that  is
       not "Transparent" is called "Opaque".

       Examples  of  suitable  formats   for   Transparent  copies
       include  plain ASCII without markup, Texinfo input  format,
       LaTeX  input  format,  SGML   or   XML  using  a   publicly
       available   DTD,  and  standard-conforming   simple   HTML,
       PostScript   or   PDF  designed  for  human   modification.
       Examples of transparent image formats include PNG, XCF  and
       JPG.   Opaque formats include proprietary formats that  can
       be  read  and  edited only by proprietary word  processors,
       SGML or XML, for which the DTD and/or processing tools  are
       not  generally  available, and the machine-generated  HTML,
       PostScript  or  PDF  produced by some word  processors  for
       output purposes only.

       The  "Title Page" means, for a printed book, the title page
       itself,  plus such following pages as are needed  to  hold,
       legibly,  the material this License requires to  appear  in
       the title page.  For works in formats which do not have any
       title  page as such, "Title Page" means the text  near  the
       most  prominent  appearance of the work's title,  preceding
       the beginning of the body of the text.

       A  section  "Entitled  XYZ" means a named  subunit  of  the
       Document whose title  either  is  precisely XYZ or contains
       XYZ  in parentheses following  text  that  translates   XYZ
       in   another   language.  (Here XYZ stands for  a  specific
       section  name  mentioned below, such as "Acknowledgements",
       "Dedications", "Endorsements", or "History".)  To "Preserve
       the  Title"  of  such  a  section  when    you modify   the
       Document   means   that  it  remains  a  section  "Entitled
       XYZ" according  to  this       definition.

       The  Document may include Warranty Disclaimers next to  the
       notice  which  states  that this  License  applies  to  the
       Document.  These Warranty Disclaimers are considered to  be
       included by reference in this License, but only as  regards
       disclaiming  warranties: any other implication  that  these
       Warranty Disclaimers may have is void and has no effect  on
       the meaning of this License.

       1.2.3     VERBATIM COPYING

       You  may  copy and distribute the Document in  any  medium,
       either  commercially  or  non-commercially,  provided  that
       this  License,  the  copyright  notices,  and  the  license
       notice   saying  this  License applies to the Document  are
       reproduced in all  copies, and  that  you  add   no   other
       conditions  whatsoever to those of this License.   You  may
       not  use  technical  measures to obstruct  or  control  the
       reading  or  further  copying of the  copies  you  make  or
       distribute.   However,  you  may  accept  compensation   in
       exchange  for  copies.  If you distribute  a  large  enough
       number  of  copies you must also follow the  conditions  in
       section  3.   You  may  also lend copies,  under  the  same
       conditions  stated  above,  and you  may  publicly  display
       copies.

       1.2.4     COPYING IN QUANITTY

       If  you  publish printed copies (or copies  in  media  that
       commonly    have   printed   covers)   of   the   Document,
       numbering more than 100, and the Document's license  notice
       requires   Cover   Texts, you must enclose  the  copies  in
       covers   that   carry,  clearly  and  legibly,  all   these
       Cover   Texts:  Front-Cover Texts on the front  cover,  and
       Back-Cover Texts on the back cover.  Both covers must  also
       clearly and legibly identify you as the publisher of  these
       copies.   The front cover must present the full title  with
       all  words of the title equally prominent and visible.  You
       may  add other material on the covers in addition.  Copying
       with  changes  limited to  the  covers, as   long  as  they
       preserve  the  title of the Document  and   satisfy   these
       conditions, can  be  treated  as verbatim copying in  other
       respects.  If the required texts for either cover  are  too
       voluminous  to fit legibly, you should put the  first  ones
       listed (as many as fit reasonably) on the actual cover, and
       continue the rest onto adjacent pages.

       If  you publish or distribute Opaque copies of the Document
       numbering   more   than  100, you  must  either  include  a
       machine-readable  Transparent copy along with  each  Opaque
       copy,  or   state  in  or with each Opaque copy a computer-
       network  location  from which  the  general   network-using
       public    has  access  to  download  using  public-standard
       network  protocols a  complete  Transparent  copy   of  the
       Document,  free of added material.  If you use  the  latter
       option,  you must take reasonably prudent steps,  when  you
       begin  distribution  of  Opaque copies   in   quantity,  to
       ensure   that   this   Transparent copy  will  remain  thus
       accessible at the stated location until at least  one  year
       after   the  last  time  you  distribute  an  Opaque   copy
       (directly or through your  agents  or  retailers)  of  that
       edition  to the public.  It is requested, but not required,
       that  you  contact  the  authors  of  the   Document   well
       before  redistributing any large number of copies, to  give
       them a chance to provide you with  an  updated  version  of
       the Document.

       1.2.5     MODIFICATION

       You  may  copy  and distribute a Modified  Version  of  the
       Document  under the conditions of sections 2 and  3  above,
       provided  that  you  release  the  Modified  Version  under
       precisely   this   License,  with  the   Modified   Version
       filling   the   role   of  the  Document,  thus   licensing
       distribution  and  modification of the Modified Version  to
       whoever  possesses a copy of it.  In addition, you must  do
       these things in the Modified Version:

          A.  Use in the Title Page (and on the covers, if any)  a
          title  distinct    from that of the Document,  and  from
          those of previous versions (which should, if there  were
          any,  be listed in the History section of the Document).
          You  may use the same title as a previous version if the
          original publisher of that version gives permission.

          B.  List  on  the Title Page, as authors,  one  or  more
          persons   or   entities  responsible  for authorship  of
          the modifications in the Modified Version, together with
          at  least  five of the principal authors of the Document
          (all  of its principal authors, if  it  has  fewer  than
          five), unless they release you from this requirement.

          C.  State on the Title page the name of the publisher of
          the Modified Version, as the publisher.

          D. Preserve all the copyright notices of the Document.

          E.   Add  an  appropriate  copyright  notice  for   your
          modifications adjacent to the other copyright notices.

          F.  Include, immediately after the copyright notices,  a
          license  notice giving the public permission to use  the
          Modified Version under the terms of this License, in the
          form shown in the Addendum below.

          G.  Preserve  in that license notice the full  lists  of
          Invariant Sections and required Cover Texts given in the
          Document's license notice.

          H. Include an unaltered copy of this License.

          I. Preserve the section Entitled "History", Preserve its
          Title, and add to it an item stating at least the title,
          year, new authors, and publisher of the Modified Version
          as  given  on  the Title Page.  If there is  no  section
          Entitled  "History" in the Document, create one  stating
          the  title, year, authors, and publisher of the Document
          as  given on its Title Page, then add an item describing
          the Modified Version as stated in the previous sentence.

          J.  Preserve the network location, if any, given in  the
          Document for  public  access  to  a Transparent copy  of
          the  Document,  and  likewise  the   network   locations
          given   in   the Document for previous versions  it  was
          based on.  These may be placed in the "History" section.
          You  may  omit  a network location for a work  that  was
          published  at  least  four  years  before  the  Document
          itself,  or if the original publisher of the version  it
          refers    to gives permission.

          K.   For  any  section  Entitled  "Acknowledgements"  or
          "Dedications",  Preserve the Title of the  section,  and
          preserve  in the section all the substance and  tone  of
          each   of   the   contributor  acknowledgements   and/or
          dedications given therein.

          L.  Preserve all the Invariant Sections of the Document,
          unaltered  in  their text and in their titles.   Section
          numbers  or the equivalents are not considered  part  of
          the section titles.

          M.  Delete any section Entitled "Endorsements".  Such  a
          section may not be included in the Modified Version.

          N.  Do  not retitle any existing section to be  Entitled
          "Endorsements"  or  to  conflict  in  title   with   any
          Invariant Section.

         O. Preserve any Warranty Disclaimers.

       If   the  Modified  Version   includes   new   front-matter
       sections   or   appendices   that   qualify   as  Secondary
       Sections   and  contain  no  material  copied   from    the
       Document, you  may  at  your  option designate some or  all
       of  these  sections as invariant.  To do  this,  add  their
       titles  to  the list of Invariant Sections in the  Modified
       Version's  license notice.  These titles must  be  distinct
       from any other section titles.

       You may add a section Entitled "Endorsements", provided  it
       contains nothing but endorsements of your Modified  Version
       by  various parties--for example, statements of peer review
       or  that  the text has been approved by an organization  as
       the authoritative definition of a standard.

       You  may add a passage of up to five words as a Front-Cover
       Text, and a passage of up to 25 words as a Back-Cover Text,
       to  the  end  of  the list of Cover Texts in  the  Modified
       Version.  Only  one passage of Front-Cover Text and one  of
       Back-Cover  Text may be added by (or  through  arrangements
       made  by) any one entity.  If the Document already includes
       a  cover  text  for  the  same  cover,  previously added by
       you  or  by arrangement made by the same entity   you   are
       acting  on behalf of, you may not add another; but you  may
       replace  the  old  one, on  explicit  permission  from  the
       previous publisher that added the old one.

       The  author(s) and publisher(s) of the Document do  not  by
       this  License  give  permission  to  use  their  names  for
       publicity  for  or  to assert or imply endorsement  of  any
       Modified Version.

       1.2.6     COMBINING DOCUMENTATION

       You  may combine the Document with other documents released
       under  this License, under the terms defined in  section  4
       above  for modified versions, provided that you include  in
       the combination all of the Invariant Sections of all of the
       original  documents,  unmodified,  and  list  them  all  as
       Invariant  Sections of your combined work  in  its  license
       notice,   and   that  you  preserve  all   their   Warranty
       Disclaimers.

       The  combined  work  need only contain  one  copy  of  this
       License, and multiple identical Invariant Sections  may  be
       replaced  with  a  single copy.   If  there  are   multiple
       Invariant  Sections  with   the  same  name  but  different
       contents,  make the title of each  such section  unique  by
       adding  at  the end of it, in parentheses, the name of  the
       original   author   or  publisher  of   that   section   if
       known, or else a unique number. Make the same adjustment to
       the section titles in the list of Invariant Sections in the
       license notice of the combined work.

       In the combination, you must combine any sections  Entitled
       "History"   in   the  various  original documents,  forming
       one   section  Entitled  "History";  likewise  combine  any
       sections   Entitled "Acknowledgements", and  any   sections
       Entitled   "Dedications".   You must  delete  all  sections
       Entitled "Endorsements".

       1.2.7     COLLECTION OF DOCUMENTS

       You  may  make a collection consisting of the Document  and
       other   documents   released   under   this  License,   and
       replace  the  individual copies of this  License   in   the
       various  documents  with  a single copy that is included in
       the collection, provided that  you  follow  the  rules   of
       this  License for verbatim copying of each of the documents
       in all other respects.

       You  may  extract a single document from such a collection,
       and distribute it individually under this License, provided
       you  insert  a  copy  of this License  into  the  extracted
       document,  and  follow this License in all  other  respects
       regarding verbatim copying of that document.

       1.2.8     AGGREGATION WITH INDEPENDENT WORKS

       A compilation of the Document or its derivatives with other
       separate and independent  documents  or works, in or  on  a
       volume  of a storage or distribution medium, is called   an
       "aggregate"    if   the   copyright  resulting   from   the
       compilation is not used to  limit  the  legal   rights   of
       the  compilation's users beyond what the  individual  works
       permit.   When the Document is included an aggregate,  this
       License  does not apply to the other works in the aggregate
       which are not themselves derivative works of the Document.

       If the Cover Text requirement of section 3 is applicable to
       these copies of the  Document, then if the Document is less
       than one half of the entire aggregate, the Document's Cover
       Texts   may  be  placed  on   covers   that   bracket   the
       Document   within   the   aggregate,  or   the   electronic
       equivalent  of   covers if the Document  is  in  electronic
       form.   Otherwise they must appear on printed  covers  that
       bracket the whole aggregate.

       1.2.9     TRANSLATION

       Translation  is considered a kind of modification,  so  you
       may distribute translations of the Document under the terms
       of   section   4.    Replacing  Invariant   Sections   with
       translations   requires  special  permission   from   their
       copyright holders, but you may include translations of some
       or  all  Invariant  Sections in addition  to  the  original
       versions  of these Invariant Sections.  You may  include  a
       translation of this License, and all the license notices in
       the  Document, and any Warranty Disclaimers, provided  that
       you  also  include  the original English  version  of  this
       License  and  the  original versions of those  notices  and
       disclaimers.   In  case  of  a  disagreement  between   the
       translation and the original version of this License  or  a
       notice or disclaimer, the original version will prevail.

       If    a    section    in   the   Document    is    Entitled
       "Acknowledgements",  "Dedications",   or   "History",   the
       requirement  (section 4) to Preserve its Title (section  1)
       will typically require changing the actual title.

       1.2.10    TERMINATION

       You  may  not  copy, modify, sublicense, or distribute  the
       Document  except  as  expressly  provided  for  under  this
       License.  Any other attempt to copy, modify, sublicense  or
       distribute  the  Document is void, and  will  automatically
       terminate your rights under this License.  However, parties
       who  have  received copies, or rights, from you under  this
       License will not have their licenses terminated so long  as
       such parties remain in full compliance.

       1.2.11    FUTURE REVISIONS OF THIS LICENSE

       The  Free  Software  Foundation may  publish  new,  revised
       versions of the GNU Free Documentation License from time to
       time.  Such new versions  will  be  similar  in  spirit  to
       the   present  version,  but   may   differ    in    detail
       to     address     new    problems   or    concerns.    See
       http://www.gnu.org/copyleft/.

       Each  version  of  the  License is given  a  distinguishing
       version  number.   If   the   Document  specifies  that   a
       particular numbered version of this License "or  any  later
       version"  applies to it, you have the option  of  following
       the  terms  and   conditions  either  of   that   specified
       version   or  of  any  later   version   that   has    been
       published  (not   as   a   draft) by   the   Free  Software
       Foundation.   If  the Document does not specify  a  version
       number  of  this License, you may choose any  version  ever
       published (not as a draft) by the Free Software Foundation.

  1.3  What is DOSEMU, anyway?

  **  Excerpt  taken  from DOSEMU-HOWTO by  Rahul  Sundaram,  Mike
  Deisher, Uwe Bonnes, and David Hodges

  To quote the manual, "dosemu" is a user-level program which uses
  certain  special  features of the Linux  kernel  and  the  80386
  processor  to run MS-DOS/FreeDOS/DR-DOS in what we  in  the  biz
  call  a  `DOS box.'  The DOS box, a combination of hardware  and
  software trickery, has these capabilities:

       *  The ability to virtualize all input/output and processor
       control instructions.

       *  The   ability   to support the word size and  addressing
       modes  of the iAPX86 processor family's "real mode,"  while
       still running within the full protected mode environment.

       *  The  ability to trap all DOS and BIOS system  calls  and
       emulate such calls as is necessary for proper operation and
       good performance.

       * The ability to simulate a hardware environment over which
       DOS programs are accustomed to having control.

       *  The ability to provide DOS services through native Linux
       services;  for example, dosemu can provide a  virtual  hard
       disk drive which is actually a Linux directory hierarchy."

  1.4  What are the prerequisites and requirements?

  The following components will be required for this installation
  to ensure success:

       * Synchronet
               <http://www.synchro.net>
          This document was tested against the latest CVS release
          of Synchronet.

       * DOSEMU v1.0.0.2 or Higher
           <http://www.dosemu.org>
          The  above  minimum  version,  released  on  19/05/2000,
          contains  a  very important virtual modem support  patch
          that   was  not  included  with  prior  versions.    The
          configurations  in  this manual were  based  on  version
          1.1.3-r1.   The  latest  stable  release,  at  time   of
          writing, is v1.0.2.1.  This may also be found as an  RPM
          by searching.

       * DR-DOS HDImage Eval v7.03
            <drdos-hdimage-eval-7.03-4.i386.rpm>
          This  file can be found on several RPM mirrors by simply
          searching on Google <www.google.com>.

       * unix2dos
          This  application  is  responsible for  converting  text
          files  created  in Unix to a DOS format eliminating  any
          unnecessary line feeds or carriage returns.  Again, this
          source or RPM can be found by searching Google.

       * Any doors you wish to install
          Please  keep in mind that these configurations have  not
          been  tested with all doors available. 

2.   Installation

  2.1  Installation of DOSEMU.

  There are various methods of installing DOSEMU; many depend upon
  the Linux distribution you are running.  For instance, for users
  of Gentoo <www.gentoo.org>, DOSEMU is installed by running:

          "emerge dosemu"

  In  other circumstances, it may be required to build DOSEMU with
  the  available  sources  or install it with  an  available  RPM.
  There are many other documents discussing this, so I will not go
  into  much detail on the steps involved.  Briefly, the following
  steps will be required to build DOSEMU from the latest sources:

  ** NOTE: Steps may vary based on distribution and some steps may
  have  been  mistakenly missed.  Please send any  errata  to  the
  email  address at the top of the document and the document  will
  be updated.

          a. mv dosemu-1.0.2.tgz /usr/src
          b. tar -zxvf dosemu-1.0.2.tgz
          c. cd dosemu-1.0.2
          d. make
          e. su root
          f. make install
          g. dosemu
          h.   When   requested,   specify   "/var/lib"   as   the
          installation  path.   DOSEMU will  append  "/dosemu"  by
          default.   This  will  install  the  configuration   and
          default images to that directory.
          i. cp /var/lib/dosemu/conf/global.conf /var/lib/dosemu
          j. cp /var/lib/dosemu/conf/dosemu.conf /etc/dosemu.conf

  2.2  Use of an alternate operating system.

  By  default,  DOSEMU installs FreeDOS <www.freedos.org>  as  its
  default  operating  system.  FreeDOS is  a  wonderful  operating
  system;  however, I encountered many problems including  lockups
  during  testing.   In  light of this, I decided  to  use  DR-DOS
  <www.drdos.com> as my default DOS derivative.  In  Section  1.3,
  you  will see the download filename required to get this to run.
  If  you do not already have a DOS partition in addition to  your
  Linux partition, you will need the image file.  If you do have a
  DOS partition with DOS already installed, please skip to Section
  2.3 for more information.

  After  installing DOSEMU and downloading the above file, install
  it by executing:

          rpm -i drdos-hdimage-eval-7.03-4.i386.rpm

  I  received  an error the first time I did this stating  /bin/sh
  was  required.  On Gentoo Linux, /bin/sh is a symbolic  link  to
  /bin/bash and the RPM did not work with the symbolic  link.   To
  alleviate   this  problem,  you  can  skip  the   checking   and
  verification of dependencies by executing:

          rpm -i --nodeps drdos-hdimage-eval-7.03-4.i386.rpm

  Once  installation  has  completed, the  image  will  have  been
  installed to /var/lib/dosemu and be approximately 7.5 megabytes.
  The  first step here is to rename the image file to a simplified
  filename:

          a. cd /var/lib/dosemu
          b. mv drdos-hdimage-eval drdos.img

  2.3  Use of an alternate partition.

  If you already have an existing DOS partition, you must mount it
  to run simultaneously with your Linux partition(s).  To do this,
  enter the following into your /etc/fstab file:

          /dev/hda4      /dos      msdos          umask=022

  In this example, the partition is mounted as read-only.  You may
  want  to  mount  it as read/write by replacing  the  "022"  with
  "000".    For  more  detailed  information  on  this   type   of
  configuration, please see DOSEMU-HOWTO, Section 3.

  2.4  Directory structures and door installation.

  The  following provides a quick reference guide on  where  files
  are  stored.   Again, this structure can vary depending  on  the
  Linux distribution that you are running.

          /var/lib/dosemu         -  Main  DOSEMU files  including
                                   binaries,  documentation,   and
                                   sample   configuration   files.
                                   The  DOS  image is also located
                                   here.

          /etc/dosemu.conf        -   Main   DOSEMU  configuration
                                   file.  This file is utilized by
                                   default if an alternate is  not
                                   specified.

          /var/lib/dosemu/global.conf    -   Main  DOSEMU   global
                                   configuration file.  No changes
                                   are necessary to this file.

          /etc/doors              -  Primary  directory where  all
                                   of  the subdirectories for  the
                                   installed doors will be.   This
                                   specific   directory   is   not
                                   required and you may vary  this
                                   as needed.

          /sbbs/xtrn              -  Primary  directory containing
                                   sub-directories     for     any
                                   Synchronet  external  programs.
                                   Personally, I prefer  to  store
                                   the     bash     script     and
                                   configuration   files   in    a
                                   subdirectory off here to ensure
                                   organization.

  Throughout this document, you will see references specific to
  DoorMUD.  For this configuration, I have the following
  additional directories specified:

          /sbbs/xtrn/dmud          -  Directory containing  DOSEMU
                                   configuration files specific to
                                   DoorMUD.

          /etc/doors/dmud          - Directory containing
                                   executable and all door package
                                   files as obtained from
                                   www.doormud.com.

3.   Configuration

  3.1  Basic DOSEMU Configuration Files

  Each   door  will  contain  its  own  DOSEMU.<CONF>   file   and
  AUTOEXEC.<BAT>  file.  These files will be slightly  customized.
  The following variable and value changes are necessary:

  -----< dosemu.dnd >----------------------------------------------

  $_xms = (1024)
  $_ems = (1024)
  $_ems_frame = (0xe000)
  $_dpmi = (off)        - This setting, by default, should
                  be   set   to   (off),  however, 
                  there are some  doors  that  use 
                  DPMI, such  as TradeWars   Gold.   
                  It  is my recommendation to only  
                  enable  it  for those games that 
                  require it.
  $_dosmem = (640)
  $_emubat = "DMD"              - This specifies that DOSEMU  runs
                                  "AUTOEXEC.DMD".

  $_hogthreshold = (40)         - This   prevents   DOSEMU    from
                                  utilizing all the CPU power.

  $_hdimage = "drdos.img"       - This forces utilization  of  DR-
                  DOS and not FreeDOS.

  $_com1  = "virtual"           - This specifies the  virtual  com
                                  port redirection.

  ------< end changes >-------------------------------------------

  Notice  the  name of the file is DOSEMU.DMD and not DOSEMU.CONF.
  This  is  important.  It is best to have a unique  extension  on
  each  individual configuration file for each door.  In addition,
  I   prefer  to  store  each  configuration  file  in  a   unique
  subdirectory off of /sbbs/xtrn (See Section 2.4).

  3.2  Sample Bash Script(s)

  This  is the bash file that is used to create the batch file  to
  execute the door and also call DOSEMU.

  -----< doormud >------------------------------------------------

  #!/bin/bash

  printf "Loading DoorMUD on Node $1.  Please Wait..."

  echo "@echo off" > /etc/doors/dmud.runmud.bat
  echo -e "r" >> /etc/doors/dmud/runmud.bat
  echo "lredir E: LINUXFSsbbsnode$1 R" >> /etc/doors/dmud/runmud.bat
  echo -e "r" >> /etc/doors/dmud/runmud.bat
  echo -e "dmud -N $1 -D L:OPTSBBSNODE$1DOOR.SYS r" >> /etc/doors/dmud/runmud.bat

  cd /opt/sbbs/xtrn/dmud
  dosemu.bin -f /opt/sbbs/xtrn/dmud/dosemu.dmd -I 'keystroke"r"' 2>/dev/null /devnull/null

  ------< end file >----------------------------------------------

  The following describes in more detail what is happening in this
  script:

     o    Line 1 : Informs Linux to load sh and execute  the file.
     o    Line 3 : Prints a friendly message to the user informing
                   them what is being loaded.
     o    Line 5 : Create and populates the batch file  to execute
                   DoorMUD.
     o    Line 6 : ""
     o    Line 7 : ""
     o    Line 8 : ""
     o    Line 9 : ""
     o    Line 10: Changes to the directory containing  the  door-
                   specific DOSEMU configuration.
     o    Line 11: Calls  DOSEMU  with  virtual  com  driver   and
                   carriage return.

  3.3  Sample Batch File(s)

  A  customized  AUTOEXEC.BAT  file will  be  necessary  as  well.
  Again,  this  file  is named AUTOEXEC.DMD and will  be  executed
  *INSTEAD   OF*  AUTOEXEC.BAT  as  specified  with  the  $_emubat
  variable.

  -----< autoexec.dmd >-------------------------------------------

          @ECHO OFF
          PATH C:;C:DRDOS;C:EMUBIN
          VERIY OFF
          PROMPT $P$G
          SET DRDOSCFG=C:DRDOS
          CALL C:EMUBINUXMACROS.BAT
          LREDIR D: LINUXFSetcdoorsdmud
          D:
          CALL RUNMUD.BAT
          EXITEMU

  ------< end file >----------------------------------------------

  The following describes in more detail what is happening in this
  batch file:

     o    Line 1 : Disables echoing of the batch file.
     o    Line 2 : Sets the default path.
     o    Line 3 : Disables verification of disk copies.
     o    Line 4 : Sets the prompt; the user will never see the DOS
                   prompt.
     o    Line 5 : Executes   DR-DOS  specific  macros   containing 
           mapped commands (i.e., copy=cp, move=mv, etc.)
     o    Line 6 : Mounts the Linux filesystem in DOS and specifies
           the drive to start in as your door directory  to 
           prevent any  directory  transversal  should  the 
           user  make  it  to  the  DOS prompt (this should
           NEVER happen  as  each  batch  file  calls  EXIT 
           DOSEMU after execution; even if it fails).
     o    Line 7 : Changes to the specified drive letters.
     o    Line 8 : Calls the batch file, which  in  turns  executes 
           the  door.  CALL  must  be  specified, otherwise 
           when  the door exits; it will not return control
                   to  this  file  exiting, which  will  not  allow
                   DOSEMU to exit.
     o    Line 9 : Exits DOSEMU when user exits door.

  Once you created the AUTOEXEC file, you *MUST* run  unix2dos  to
  remove any Unix-specific file formatting:

          cd /sbbs/xtrn/dmud
          unix2dos autoexec.dmd autoexec.dmd

  Then execute DOSEMU with the standard configuration and copy the
  newly created AUTOEXEC file to the root directory:

          dosemu.bin
          C:> L:
          L:> CD SBBSXTRNDMUD
          L:> COPY AUTOEXEC.DMD C:

      ?   Line 1: Executes DOSEMU with  default configuration from
                  /etc.
      ?   Line 2: Change to the L: drive as defined by  default in
                  DRDOS.
      ?   Line 3: Change directory to  location of  newly  created
                  AUTOEXEC.
      ?   Line 4: Copy AUTOEXEC to root DOS directory.

  If for some reason the L: drive was not mapped by default, you
  can execute the following to manually map it:

        LREDIR LINUXFS

  3.4  Synchronet Configuration(s)

  Following is a representation as to how the door would be
  configured as an external program within Synchronet:

  ,---------------------------------------------------------,
  |                        DoorMUD v0.98                    |
  `---------------------------------------------------------'
  |  | Name                        DoorMUD v0.98            |
  |  | Internal Code               DOORMUD                  |
  |  | Start-up Directory          /sbbs/xtrn/dmud          |
  |  | Command Line                ./doormud %#             |
  |  | Clean-up Command Line                                |
  |  | Execution Cost              None                     |
  |  | Access Requirements                                  |
  |  | Execution Requirements                               |
  |  | Multiple Concurrent Users   Yes                      |
  |  | Intercept Standard I/O      Yes                      |
  |  | Native (32-bit) Executable  Yes                      |
  |  | Use Shell to Execute        No                       |
  |  | Modify User data            No                       |
  |  | Execute on Event            No                       |
  |  | BBS Drop File Type          GAP            DOOR.SYS  |
  |  | Place Drop File In          Node Directory           |
  |  | Time Options                                         |
  `---------------------------------------------------------'

4.   Credits & Thanks

Special thanks go out to the following individuals who helped make
similar  information  available for other BBS Software  ultimately
leading to the creation of this document:

     o Jim Howarth <clockworkorangebbs.org> for authoring  "DOSEMU
       with DOS doors HOWTO" for use with Mystic BBS.
     o reapern66 <woe modifications> for authoring "Dosemu  HOWTO"
       for use with Mystic BBS.
     o Sean Rima for  authoring a HOWTO on setting  up  DOS  doors 
       with BBBS/L and DOSEMU.
     o Rob  Swindell  for  authoring  Synchronet  and  creating  a 
       feature-packed Linux BBS Software.
     o Bart Oldeman, Hans Lermen, Alistair MacDonald, Stas Sergeev
       and anyone else involved with the DOSEMU project for seeing 
       the value in DOS emulation for Linux and making it possible 
       for legacy and future DOS door support.

------< end how-to >----------------------------------------------

APPENDIX A

L.O.R.D. (Legend of the Red Dragon) v4.02 HOW-TO

Author: Michael Capp <laffer(at)exeonline(dot)com>

10 February 2003

Subset  of  the  installation  guide  on  configuring  DOSEMU  and 
Synchronet  to  run  DOS  doors  under  Linux   utilizing   DOSEMU 
containing door-specific configuration files.

Copyright (c) 2003 Michael Capp

Permission  is  granted  to copy, distribute  and/or  modify  this
document  under  the terms of the GNU Free Documentation  License,
Version  1.2  or any later version published by the Free  Software
Foundation; with no Invariant Sections, no Front-Cover Texts,  and
no  Back-Cover  Texts.  A copy of the license is included  in  the
section entitled "GNU Free Documentation License" in  the  primary
HOW-TO document entitled DOSEMU Synchronet DOORS HOWTO.

-----< revision history >-----------------------------------------

TABLE OF CONTENTS:

1.   Installation                                               1
 1.1 Basic Installation                                         1
2.   Configuration                                              1
 2.1 Sample Bash Script                                         1
 2.2 Sample Batch File                                          2
 2.3 Synchronet Configuration                                   2
 2.4 L.O.R.D. Configuration                                     2

1.   Installation

  1.1. Basic Installation

  The following commands are useful in  unzipping  and  installing 
  L.O.R.D. under Linux.  These instructions assume you  are  using
  /etc/doors/<door directory> to place the files in.  If  you  are 
  not, substitute accordingly. 

      a. cd <directory containing zip file>
      b. unzip lord402.zip -d /etc/doors/lord
      c. cd /etc/doors/lord
      d. unzip lord.zip

  The remainder of the configuration must be performed  using  the
  LORDCFG.EXE tool, which can be executed under a  DOSEMU  window.
  See Section 1.4 for specific configuration.

2.   Configuration

  2.2  Sample Bash Script

  This  is the bash file that is used to create the batch file  to
  execute the door and also call DOSEMU.

  -----< lord >---------------------------------------------------

  #!/bin/bash

  printf "Loading LORD v4.02 on Node $1.  Please wait..."

  echo "@echo off" > /etc/doors/lord/runlord.bat
  echo -e "r" >> /etc/doors/dmud/runlord.bat
  echo "lredir E: LINUXFSsbbsnode$1 R" >> /etc/doors/lord/runlord.bat
  echo -e "r" >> /etc/doors/lord/runlord.bat
  echo -e "call start $1 NOEMS r" >> /etc/doors/lord/runlord.bat

  cd /opt/sbbs/xtrn/lord
  dosemu.bin -f /opt/sbbs/xtrn/lord/dosemu.lrd -I 'keystroke"r" 2>/dev/null /dev/null

  ------< end file >----------------------------------------------

  The following describes in more detail what is happening in this
  script:

     o    Line 1 : Informs Linux to load sh and execute  the  file.
     o    Line 3 : Prints a friendly message to the user  informing
                   them what is being loaded.
     o    Line 5 : Create and populates the batch file  to  execute
                   L.O.R.D.
     o    Line 6 : ""
     o    Line 7 : ""
     o    Line 8 : ""
     o    Line 9 : ""
     o    Line 10: Changes to the directory containing  the  door-
                   specific DOSEMU configuration.
     o    Line 11: Calls  DOSEMU  with  virtual  com  driver   and
                   carriage return.

  2.2  Sample Batch File

  A  customized  AUTOEXEC.BAT  file will  be  necessary  as  well.
  Again,  this  file  is named AUTOEXEC.LRD and will  be  executed
  *INSTEAD   OF*  AUTOEXEC.BAT  as  specified  with  the  $_emubat
  variable.

  -----< autoexec.dmd >-------------------------------------------

          @ECHO OFF
          PATH C:;C:DRDOS;C:EMUBIN
          VERIY OFF
          PROMPT $P$G
          SET DRDOSCFG=C:DRDOS
          CALL C:EMUBINUXMACROS.BAT
          LREDIR D: LINUXFSetcdoorslord
          D:
          CALL RUNLORD.BAT
          EXITEMU

  ------< end file >----------------------------------------------

 The following describes in more detail what is happening in this
  batch file:

     o    Line 1 : Disables echoing of the batch file.
     o    Line 2 : Sets the path
     o    Line 3 : Disables verification of disk copies.
     o    Line 4 : Sets the prompt; the user will never see the DOS
                   prompt.
     o    Line 5 : Executes DRDOS specific macros.
     o    Line 6 : Mounts the Linux filesystem in DOS and specifies
           the  drive  start  in  your  door  directory  to 
           prevent any  directory  transversal  should  the 
           user  make  it  to  the  DOS prompt (this should
           never happen  as  each  batch  file  calls  EXIT 
           DOSEMU after execution; even if it fails).
     o    Line 7 : Mounts the Linux filesystem in DOS and specifies
           the drive as your main BBS directory.
     o    Line 8 : Changes to the specified drive letters.
     o    Line 9 : Changes directories to the game directory.  This 
           is unnecessary if  the  more  secure  method  is
           utilized.
     o    Line 10: Calls the batch file, which  in  turns  executes 
           the door.
     o    Line 11: Exits DOSEMU when user exits door.

  Once you created the AUTOEXEC file, you *MUST* run  unix2dos  to
  remove any  Unix-specific  file  formatting  and  add  DOS-style 
  carriage returns (^M) to each line:

          cd /sbbs/xtrn/lord
          unix2dos autoexec.lrd 

  Then execute DOSEMU with the standard configuration and copy the
  newly created AUTOEXEC file to the root directory:

          dosemu.bin
          C:> L:
          L:> CD SBBSXTRNLORD
          L:> COPY AUTOEXEC.LRD C:

      o   Line 1: Executes DOSEMU with default configuration  from
                  /etc.
      o   Line 2: Change to the L: drive as defined by  default in
                  DRDOS.
      o   Line 3: Change directory to  location of  newly  created
                  AUTOEXEC.
      o   Line 4: Copy AUTOEXEC to root DOS directory.

  If for some reason the L: drive was not mapped  by  default, you
  can execute the following to manually map it:

        LREDIR LINUXFS

  2.3  Synchronet Configuration

  Following is a representation  as  to  how  the  door  would  be
  configured as an external program within Synchronet:

  ,---------------------------------------------------------,
  |                       LORD v4.02                        |
  `---------------------------------------------------------'
  |  | Name                        LORD v4.02               |
  |  | Internal Code               LORD                     |
  |  | Start-up Directory          /sbbs/xtrn/lord          |
  |  | Command Line                ./lord %#                |
  |  | Clean-up Command Line                                |
  |  | Execution Cost              None                     |
  |  | Access Requirements                                  |
  |  | Execution Requirements                               |
  |  | Multiple Concurrent Users   Yes                      |
  |  | Intercept Standard I/O      Yes                      |
  |  | Native (32-bit) Executable  Yes                      |
  |  | Use Shell to Execute        No                       |
  |  | Modify User data            No                       |
  |  | Execute on Event            No                       |
  |  | BBS Drop File Type          PCBoard      PCBOARD.SYS |
  |  | Place Drop File In          Node Directory           |
  |  | Time Options                                         |
  `---------------------------------------------------------'

  2.4  L.O.R.D. Configuration

  Following is a representation  as  to  how  the  door  would  be
  configured within L.O.R.D.:

       (1) Node Number      : 1
       (2) BBS Name         : <Your BBS Name>
       (3) BBS Software     : PCBoard15
       (4) Path To Drop File: E:
       (5) Fossil/Internal  : Using Regular Fossil Driver
       (6) Locked Port Speed: Port Not Locked
       (7) Comport          : Read From Drop File
       (8) Send Open Comport Command?   : Yes!
       (9) Send Reset Comports Command? : Yes!
       (A) Use Special ANSI Settings?   : No!
       (B) Use direct screen writes?    : Yes!
       (C) Copy setup from another RT game.  (TEOS & RTREADER)
       ([) Go back a node
       (]) Go forward a node
       (Q) Quit To Main

  *IMPORTANT*   You  must  create  a  node specific  configuration
  for each telnet-able node.  Simply hit "]" to create a new  node
  with the default settings.

  *NOTE*  I have tried to configure L.O.R.D. to  utilize  DOOR.SYS 
  and DORINFO1.DEF, however, received errors indicating  the  user
  was out of time.  During testing, PCBOARD.SYS worked best.

------< end appendix a >------------------------------------------

APPENDIX B

DoorMUD v0.98 HOW-TO

Author: Michael Capp <laffer(at)exeonline(dot)com>

10 February 2003

Subset  of  the  installation  guide  on  configuring  DOSEMU  and 
Synchronet  to  run  DOS  doors  under  Linux   utilizing   DOSEMU 
containing door-specific configuration files.

Copyright (c) 2003 Michael Capp

Permission  is  granted  to copy, distribute  and/or  modify  this
document  under  the terms of the GNU Free Documentation  License,
Version  1.2  or any later version published by the Free  Software
Foundation; with no Invariant Sections, no Front-Cover Texts,  and
no  Back-Cover  Texts.  A copy of the license is included  in  the
section entitled "GNU Free Documentation License" in  the  primary
HOW-TO document entitled DOSEMU Synchronet DOORS HOWTO.

-----< revision history >-----------------------------------------

TABLE OF CONTENTS:

1.   Installation                                               1
 1.1 Basic Installation                                         1
2.   Configuration                                              1
 2.1 Sample Bash Script                                         1
 2.2 Sample Batch File                                          2
 2.3 Synchronet Configuration                                   2

1.   Installation

  1.1. Basic Installation

  The following commands are useful in  unzipping  and  installing 
  DoorMUD  under Linux.  These instructions assume you  are  using
  /etc/doors/<door directory> to place the files in.  If  you  are 
  not, substitute accordingly. 

      a. cd <directory containing zip file>
      b. unzip dmud098.zip -d /etc/doors/dmud
      c. cd /etc/doors/dmud

2.   Configuration

  2.2  Sample Bash Script

  This  is the bash file that is used to create the batch file  to
  execute the door and also call DOSEMU.

  -----< doormud >------------------------------------------------

  #!/bin/bash

  printf "Loading DoorMUD v0.98 on Node $1.  Please wait..."

  echo "@echo off" > /etc/doors/dmud/runmud.bat
  echo -e "r" >> /etc/doors/dmud/runmud.bat
  echo "lredir E: LINUXFSsbbsnode$1 R" >> /etc/doors/dmud/runmud.bat
  echo -e "r" >> /etc/doors/dmud/runmud.bat
  echo -e "dmud -N $1 -D E:DOOR.SYS r" >> /etc/doors/dmud/runmud.bat

  cd /opt/sbbs/xtrn/dmud
  dosemu.bin -f /opt/sbbs/xtrn/dmud/dosemu.dmd -I 'keystroke"r" 2>/dev/null /dev/null

  ------< end file >----------------------------------------------

  The following describes in more detail what is happening in this
  script:

     o    Line 1 : Informs Linux to load sh and execute  the  file.
     o    Line 3 : Prints a friendly message to the user  informing
                   them what is being loaded.
     o    Line 5 : Create and populates the batch file  to  execute
                   DoorMUD.
     o    Line 6 : ""
     o    Line 7 : ""
     o    Line 8 : ""
     o    Line 9 : ""
     o    Line 10: Changes to the directory containing  the  door-
                   specific DOSEMU configuration.
     o    Line 11: Calls  DOSEMU  with  virtual  com  driver   and
                   carriage return.

  2.2  Sample Batch File

  A  customized  AUTOEXEC.BAT  file will  be  necessary  as  well.
  Again,  this  file  is named AUTOEXEC.DMD and will  be  executed
  *INSTEAD   OF*  AUTOEXEC.BAT  as  specified  with  the  $_emubat
  variable.

  -----< autoexec.dmd >-------------------------------------------

          @ECHO OFF
          PATH C:;C:DRDOS;C:EMUBIN
          VERIY OFF
          PROMPT $P$G
          SET DRDOSCFG=C:DRDOS
          CALL C:EMUBINUXMACROS.BAT
          LREDIR D: LINUXFSetcdoorsdmud
          D:
          CALL RUNMUD.BAT
          EXITEMU

  ------< end file >----------------------------------------------

 The following describes in more detail what is happening in this
  batch file:

     o    Line 1 : Disables echoing of the batch file.
     o    Line 2 : Sets the path
     o    Line 3 : Disables verification of disk copies.
     o    Line 4 : Sets the prompt; the user will never see the DOS
                   prompt.
     o    Line 5 : Executes DRDOS specific macros.
     o    Line 6 : Mounts the Linux filesystem in DOS and specifies
           the  drive  start  in  your  door  directory  to 
           prevent any  directory  transversal  should  the 
           user  make  it  to  the  DOS prompt (this should
           never happen  as  each  batch  file  calls  EXIT 
           DOSEMU after execution; even if it fails).
     o    Line 7 : Mounts the Linux filesystem in DOS and specifies
           the drive as your main BBS directory.
     o    Line 8 : Changes to the specified drive letters.
     o    Line 9 : Changes directories to the game directory.  This 
           is unnecessary if  the  more  secure  method  is
           utilized.
     o    Line 10: Calls the batch file, which  in  turns  executes 
           the door.
     o    Line 11: Exits DOSEMU when user exits door.

  Once you created the AUTOEXEC file, you *MUST* run  unix2dos  to
  remove any  Unix-specific  file  formatting  and  add  DOS-style 
  carriage returns (^M) to each line:

          cd /sbbs/xtrn/dmud
          unix2dos autoexec.dmd

  Then execute DOSEMU with the standard configuration and copy the
  newly created AUTOEXEC file to the root directory:

          dosemu.bin
          C:> L:
          L:> CD SBBSXTRNDMUD
          L:> COPY AUTOEXEC.DMD C:

      o   Line 1: Executes DOSEMU with default configuration  from
                  /etc.
      o   Line 2: Change to the L: drive as defined by  default in
                  DRDOS.
      o   Line 3: Change directory to  location of  newly  created
                  AUTOEXEC.
      o   Line 4: Copy AUTOEXEC to root DOS directory.

  If for some reason the L: drive was not mapped  by  default, you
  can execute the following to manually map it:

        LREDIR LINUXFS

  2.3  Synchronet Configuration

  Following is a representation  as  to  how  the  door  would  be
  configured as an external program within Synchronet:

  ,---------------------------------------------------------,
  |                        DoorMUD v0.98                    |
  `---------------------------------------------------------'
  |  | Name                        DoorMUD v0.98            |
  |  | Internal Code               DOORMUD                  |
  |  | Start-up Directory          /sbbs/xtrn/dmud          |
  |  | Command Line                ./doormud %#             |
  |  | Clean-up Command Line                                |
  |  | Execution Cost              None                     |
  |  | Access Requirements                                  |
  |  | Execution Requirements                               |
  |  | Multiple Concurrent Users   Yes                      |
  |  | Intercept Standard I/O      Yes                      |
  |  | Native (32-bit) Executable  Yes                      |
  |  | Use Shell to Execute        No                       |
  |  | Modify User data            No                       |
  |  | Execute on Event            No                       |
  |  | BBS Drop File Type          GAP            DOOR.SYS  |
  |  | Place Drop File In          Node Directory           |
  |  | Time Options                                         |
  `---------------------------------------------------------'

------< end appendix b >------------------------------------------

APPENDIX C

TradeWar 2002 v3.09 HOW-TO

Author: Michael Capp <laffer(at)exeonline(dot)com>

10 February 2003

Subset  of  the  installation  guide  on  configuring  DOSEMU  and 
Synchronet  to  run  DOS  doors  under  Linux   utilizing   DOSEMU 
containing door-specific configuration files.

Copyright (c) 2003 Michael Capp

Permission  is  granted  to copy, distribute  and/or  modify  this
document  under  the terms of the GNU Free Documentation  License,
Version  1.2  or any later version published by the Free  Software
Foundation; with no Invariant Sections, no Front-Cover Texts,  and
no  Back-Cover  Texts.  A copy of the license is included  in  the
section entitled "GNU Free Documentation License" in  the  primary
HOW-TO document entitled DOSEMU Synchronet DOORS HOWTO.

-----< revision history >-----------------------------------------

TABLE OF CONTENTS:

1.   Installation                                               1
 1.1 Basic Installation                                         1
2.   Configuration                                              1
 2.1 Sample Bash Script                                         1
 2.2 Sample Batch File                                          2
 2.3 Sample DOSEMU.TWR                          2
 2.4 Synchronet Configuration                                   2
3.   Reported Issues

1.   Installation

  1.1. Basic Installation

  The following commands are useful in  unzipping  and  installing 
  TradeWars under Linux.  These instructions assume you  are using
  /etc/doors/<door directory> to place the files in.  If  you  are 
  not, substitute accordingly. 

      a. cd <directory containing zip file>
      b. unzip 2002d309.zip -d /etc/doors/twar
      c. cd /etc/doors/twar
      d. dosemu.bin
      e. l:
      f. cd etcdoorstwar
      g. install
      h. Once  the  ANSI  files  have  been  copied  to  their
         respective  directories,  you  will  be  prompted  on 
         whether or not you have registered the  game.  Answer
         appropriately and continue on.
      i. Once  complete,  you  can  modify  the  general  game 
         settings  to  your  liking.  Press <z> to  begin  the
         universe creation.
      j. tedit
      k. Type "O" for the BBS Node Editor.
      l. Enter the number of the node you will configure.
      m. This will begin the  creation  of  the  node-specific
             settings.  Registered versions can add multiple nodes
             to the game.  Settings that were used during  testing
             are as follows:

        <A> Path to Data files    : <Default Directory>
        <B> Path to Drop file : E:
        <C> BBS Drop file type    : DOOR
        <D> Hardware Handshaking: Yes
        <E> Active Node       : Yes
        <F> Comport 1 to 16   : 1
        <G> Override port Addr    : 03F8
        <H> Override port IRQ : 4
        <I> I/O Tpe       : Standard

         ** NOTE ** Originally, I attempted to use  FOSSIL  as 
         the I/O type and was  unable  to  get  this  to  work
         properly as TradeWars was unable to initialize it.

      n. Type "X" to exit the BBS Node Editor.
      o. Type "Q" to quit TEdit

  This will complete the basic configuration of TradeWars.  Please
  modify settings within TEdit as appropriate for your setup.

2.   Configuration

  2.2  Sample Bash Script

  This  is the bash file that is used to create the batch file  to
  execute the door and also call DOSEMU.

  -----< tradewars >----------------------------------------------

  #!/bin/bash

  printf "Loading TradeWars 2002 v3.09 on Node $1.  Please wait..."

  echo "@echo off" > /etc/doors/twar/runtwar.bat
  echo -e "r" >> /etc/doors/twar/runtwar.bat
  echo "lredir E: LINUXFSsbbsnode$1 R" >> /etc/doors/twar/runtwar.bat
  echo -e "r" >> /etc/doors/twar/runtwar.bat
  echo -e "set RTM=EXTMAX 1024 r" >> /etc/doors/twar/runtwar.bat
  echo -e "tw2002 TWNODE=$1 > ERR$1.LOG >> /etc/doors/twar/runtwar.bat

  cd /opt/sbbs/xtrn/twar
  dosemu.bin -f /opt/sbbs/xtrn/twar/dosemu.twr -I 'keystroke"r" 2>/dev/null /dev/null

  ------< end file >----------------------------------------------

  The following describes in more detail what is happening in this
  script:

     o    Line 1 : Informs Linux to load sh and execute  the  file.
     o    Line 3 : Prints a friendly message to the user  informing
                   them what is being loaded.
     o    Line 5 : Create and populates the batch file  to  execute
                   TradeWars.
     o    Line 6 : ""
     o    Line 7 : ""
     o    Line 8 : ""
     o    Line 9 : Sets parameter for use with TradeWars  informing
                   the game to use 1024 kilobytes, maximum, of EMS.
     o    Line 10: Command  line   to   execute    TradeWars.   The 
                   "> ERR$1.LOG" may be ommited  once  operational, 
                   but during  initial  configuration  it  provides
                   valuable information as to any problems that may
                   be occuring at runtime.
     o    Line 12: Changes to the directory containing  the  door-
                   specific DOSEMU configuration.
     o    Line 13: Calls  DOSEMU  with  virtual  com  driver   and
                   carriage return.

  2.2  Sample Batch File

  A  customized  AUTOEXEC.BAT  file will  be  necessary  as  well.
  Again,  this  file  is named AUTOEXEC.TWR and will  be  executed
  *INSTEAD   OF*  AUTOEXEC.BAT  as  specified  with  the  $_emubat
  variable.

  -----< autoexec.dmd >-------------------------------------------

          @ECHO OFF
          PATH C:;C:DRDOS;C:EMUBIN
          VERIY OFF
          PROMPT $P$G
          SET DRDOSCFG=C:DRDOS
          CALL C:EMUBINUXMACROS.BAT
          LREDIR D: LINUXFSetcdoorstwar
          D:
          CALL RUNTWAR.BAT
          EXITEMU

  ------< end file >----------------------------------------------

 The following describes in more detail what is happening in this
  batch file:

     o    Line 1 : Disables echoing of the batch file.
     o    Line 2 : Sets the path
     o    Line 3 : Disables verification of disk copies.
     o    Line 4 : Sets the prompt; the user will never see the DOS
                   prompt.
     o    Line 5 : Executes DRDOS specific macros.
     o    Line 6 : Mounts the Linux filesystem in DOS and specifies
           the  drive  start  in  your  door  directory  to 
           prevent any  directory  transversal  should  the 
           user  make  it  to  the  DOS prompt (this should
           never happen  as  each  batch  file  calls  EXIT 
           DOSEMU after execution; even if it fails).
     o    Line 7 : Mounts the Linux filesystem in DOS and specifies
           the drive as your main BBS directory.
     o    Line 8 : Changes to the specified drive letters.
     o    Line 9 : Changes directories to the game directory.  This 
           is unnecessary if  the  more  secure  method  is
           utilized.
     o    Line 10: Calls the batch file, which  in  turns  executes 
           the door.
     o    Line 11: Exits DOSEMU when user exits door.

  Once you created the AUTOEXEC file, you *MUST* run  unix2dos  to
  remove any  Unix-specific  file  formatting  and  add  DOS-style 
  carriage returns (^M) to each line:

          cd /sbbs/xtrn/twar
          unix2dos autoexec.dmd

  Then execute DOSEMU with the standard configuration and copy the
  newly created AUTOEXEC file to the root directory:

          dosemu.bin
          C:> L:
          L:> CD SBBSXTRNTWAR
          L:> COPY AUTOEXEC.TWR C:

      o   Line 1: Executes DOSEMU with default configuration  from
                  /etc.
      o   Line 2: Change to the L: drive as defined by  default in
                  DRDOS.
      o   Line 3: Change directory to  location of  newly  created
                  AUTOEXEC.
      o   Line 4: Copy AUTOEXEC to root DOS directory.

  If for some reason the L: drive was not mapped  by  default, you
  can execute the following to manually map it:

        LREDIR LINUXFS

  2.3  Sample DOSEMU.TWR

  There are two versions of TradeWars.  One version requires  DPMI
  and the other doesn't.  If you wish to run Tradewars GOLD, which
  requires DPMI, you must make the  following  change(s)  to  your
  DOSEMU.TWR file.

  -----< dosemu.twr >----------------------------------------------

  $_xms = (1024)
  $_ems = (1024)
  $_ems_frame = (0xe000)
  $_dpmi = (1024)               - This setting  will  enable  DPMI
                  and allow 1024 kilobytes for the
                  memory space.
  $_dosmem = (640)

  ------< end changes >-------------------------------------------

  ** NOTE ** Please follow the additional changes in  the  primary
  HOW-TO document to ensure the correct AUTOEXEC file will be  run
  and the com port is set to "virtual".

  2.4  Synchronet Configuration

  Following is a representation  as  to  how  the  door  would  be
  configured as an external program within Synchronet:

  ,---------------------------------------------------------,
  |                     TradeWars 2002                      |
  `---------------------------------------------------------'
  |  | Name                        TradeWars 2002           |
  |  | Internal Code               TWAR                     |
  |  | Start-up Directory          /sbbs/xtrn/twar          |
  |  | Command Line                ./twar %#                |
  |  | Clean-up Command Line                                |
  |  | Execution Cost              None                     |
  |  | Access Requirements                                  |
  |  | Execution Requirements                               |
  |  | Multiple Concurrent Users   Yes                      |
  |  | Intercept Standard I/O      Yes                      |
  |  | Native (32-bit) Executable  Yes                      |
  |  | Use Shell to Execute        No                       |
  |  | Modify User data            No                       |
  |  | Execute on Event            No                       |
  |  | BBS Drop File Type          GAP            DOOR.SYS  |
  |  | Place Drop File In          Node Directory           |
  |  | Time Options                                         |
  `---------------------------------------------------------'

3.   Reported Issues

  o  While testing with the local  console, SecureCRT, and Windows
     Telnet; TradeWars did not automatically detect ANSI graphics.
     ** Issue not resolved as of 10 Feb 2003.

------< end appendix c >------------------------------------------

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.