diff --git a/docs/linux-dosemu-howto.txt b/docs/linux-dosemu-howto.txt new file mode 100644 index 0000000000000000000000000000000000000000..1de0024c1b98eb8c40450c904e5bdac5750a76b7 --- /dev/null +++ b/docs/linux-dosemu-howto.txt @@ -0,0 +1,1661 @@ +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: LINUX\FS\sbbs\node$1 R" >> /etc/doors/dmud/runmud.bat + echo -e "\r" >> /etc/doors/dmud/runmud.bat + echo -e "dmud -N $1 -D L:\OPT\SBBS\NODE$1\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 /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:\EMUBIN\UXMACROS.BAT + LREDIR D: LINUX\FS\etc\doors\dmud + 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 \SBBS\XTRN\DMUD + 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 LINUX\FS + + + 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: LINUX\FS\sbbs\node$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:\EMUBIN\UXMACROS.BAT + LREDIR D: LINUX\FS\etc\doors\lord + 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 \SBBS\XTRN\LORD + 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 LINUX\FS + + + 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: LINUX\FS\sbbs\node$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:\EMUBIN\UXMACROS.BAT + LREDIR D: LINUX\FS\etc\doors\dmud + 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 \SBBS\XTRN\DMUD + 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 LINUX\FS + + + 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 \etc\doors\twar + 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: LINUX\FS\sbbs\node$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:\EMUBIN\UXMACROS.BAT + LREDIR D: LINUX\FS\etc\doors\twar + 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 \SBBS\XTRN\TWAR + 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 LINUX\FS + + + 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 >------------------------------------------ + \ No newline at end of file