Yankee Trader - Sysop Info

(Last update: 7/26/2021)

This document is intended to be a rough guide to assist sysops with getting the door game Yankee Trader running on their BBSes.

Information may change as more facts are known.


Index
  1. Background
  2. Solutions & Workarounds
    1. Emulation: DOSBox-X
    2. Emulation: DOSEMU (Linux)
    3. Dedicated Hardware: NT-based OS
    4. Dedicated Hardware: DOS

Background

Yankee Trader (abbreviated "YT") is a BBS door game known for intermittent instability when run under modern BBS software (e.g.: Synchronet) on modern Windows systems.

Said instability most typically comes in the form of:

Either scenario can result in the user having to hang-up on the BBS while in-game.

The reason for this problem is due to the game's lack of FOSSIL support. Modern FOSSILs simply cannot run the game very long, if at all.


Solutions & Workarounds

  1. Emulation: DOSBox-X

    This section was revised on April 27, 2021. Old installation info can still be found at http://dosbox.bbsdev.net.

    It has been found that YT runs exceptionally well in current versions of DOSBox, able to withstand the scripted repetitive play styles typically expected from expert players without crashing.

    However, do not use standard DOSBox; socket inheritance, the feature that makes running door games possible over telnet, is broken in the latest official DOSBox build. Furthermore, a standard DOSBox session is only aware of the filesystem's contents at the time it's initialized, which means it cannot see, read, or write from any files that are modified outside of its own session while it is running. This results in having to run doors as single-node games.

    For these reasons, we must use DOSBox-X, which has working socket inheritance, and does support file-locking and sharing between multiple DOSBox sessions, making simultaneous multi-node play possible.

    Steps for Synchronet on Windows (tested with YT 3.6 in DOSBox-X 0.83.10 under SBBS 3.18 on Windows Vista):

    1. Download dosbox-x_door_files.zip. This archive contains all the required files.
      1. Install DosBox-X using the included dosbox-x-windows-0.83.10-setup.exe installer. It will install to C:\DOSBox-X by default.
      2. Create a dosdoors subdirectory in your xtrn subdirectory (ie: C:\sbbs\xtrn\dosdoors), and then unzip the included dosbox-win32.conf, mode.com, and rundosdoor.cmd files into that subdirectory.
        1. The dosbox-win32.conf file has numerous settings already in place, including:
          • In the [CPU] section, cycles is set to auto. This ensures that DOSBox-X has enough power to keep up with fast players.
          • In the [serial] section, serial1 is set to nullmodem inhsocket:1 telnet:1
          • At the bottom, in the [autoexec] section, drive "C:" is mounted as the dosdoors directory: mount c c:/sbbs/xtrn/dosdoors
          (Many other nonessential settings are disabled entirely [sound emulation, video scaling, etc.].)
        2. In rundosdoor.cmd, note the REM lines immediately above set SDL_VIDEODRIVER=dummy, and optionally un-comment that line if you don't want to observe DOSBox-X running on the host while someone is playing the game.
          • If your DOSBox-X installation path is somewhere other than C:\DOSBox-X, make sure you change that accordingly in the bottom of rundosdoor.cmd
        3. The purpose of the mode.com file is to set the baud rate. Without it, the door game will default to 9600 baud. This is why the file rundosdoor.cmd contains the line echo mode com1:baudhard=1152 >> dosbox-%SBBSNNUM%.conf , to increase the baud to 115200, the maximum.
    2. Install your copy of YT 3.6 into C:\sbbs\xtrn\dosdoors\yt. It can be downloaded from StarFlt.com.
    3. Set up the game in Synchronet as follows:
       1: Name                       Yankee Trader 3.6
       2: Internal Code              YT
       3: Start-up Directory         ../xtrn/dosdoors
       4: Command Line               rundosdoor.cmd %h yt yt.exe C:\DORINFO%#.DEF
       5: Clean-up Command Line
       6: Execution Cost             None
       7: Access Requirements
       8: Execution Requirements
       9: Multiple Concurrent Users  Yes
      10: Intercept I/O              No
      11: Native Executable          Yes
      12: Use Shell to Execute       No
      13: Modify User Data           No
      14: Execute on Event           No
      15: Pause After Execution      No
      16: BBS Drop File Type         RBBS/QuickBBS   DORINFO#.DEF
      17: Place Drop File In         Start-Up Directory

    When your users launch Yankee Trader, the drop file will be created in the dosdoors directory, right where DOSBox-X can easily find it (in the mapped "C:" drive). That's why we set the drop file location to the Start-Up Directory.

    Optional (untested): If one were so inclined, one could place the drop file in the node directory instead and then map a different drive letter (eg: "D:") to that directory, however this would also require changes to the Command Line (#4 above) for passing both the desired drive letter and the node directory path, as well as to the rundosdoor file (another "echo" line containing the "mount" command below the "copy" line) in order for the mapping of the two to occur (such changes might even be necessary in order for DOSBox-X to run multi-node DOS doors other than Yankee Trader, particularly those that use a drop file type other than DORINFO#.DEF, on account of the fact that they do not include the node number in the filename).

  2. Emulation: DOSEMU (Linux)

    Some sysops running Linux have claimed success running YT using DOSEMU.

    Unfortunately, there are no details listed here on how this is done.

    Refer to http://wiki.synchro.net/howto:dosemu for general setup information.


  3. Dedicated Hardware: NT-based OS

    It has been observed that YT runs stably on Windows 2000 (or similar NT-based OS).

    So, if practical, consider running YT on its own dedicated hardware running Windows 2000, and install a lightweight BBS software package like GameSrv (any pre-2016 version). Then, on your main BBS system, configure your YT door so that it connects to the second system via RLogin, which then executes the game when connected. To the user, it will appear as though it's all running under one roof.

    Steve Bennett over at Slinky's Place BBS (telnet://slinkybbs.com) has done extensive experimentation in this area. He took these ideas and set up what he dubbed Yankee Trader Game Server (YTGS), hosting several different YT games.

    Steve decided to decommission and repurpose the server he used to run YTGS effective August 1, 2021. Prior to its removal, it ran reliably for approximately one year.


  4. Dedicated Hardware: DOS

    There is, of course, the option of running the game as originally intended, under MS-DOS on 1980s or early 1990s hardware.

    While it's possible to get a DOS BBS online and accessible via telnet, that topic way beyond the scope of this article, so we won't attempt to outline it here. You're on your own. Google is your friend™.



Back to Top | Back to Yankee Trader at ConChaosBBS