• DOSemu Doors

    From Altere@VERT to All on Tue Oct 8 02:47:15 2019
    I've decided to take a stab at getting my BBS back up and running.

    Linux Distro: CentOS 7
    Compiled latest Synchronet in cvs
    Compiled latest dosemu from sourceforge
    stock dosemu.conf as the one from wiki came with a ton of errors with dosemu 1.4.0.8
    emusetup.bat downloaded from wiki in /sbbs/ctrl
    dosutils downloaded and in /sbbs/xtrn/dosutils

    I've taken Legend of The Red Dragon as an example (yes, I know a js version is being done) and dosemu seems to work and loads LORD, I can play the game and everything but my connection just hangs/freezes when I quit back to the BBS. I have to close my telnet or ssh session so the node will hangup.

    SCFG:
    [LORD]
    1: Name LORD
    2: Internal Code LORD
    3: Start-up Directory /sbbs/xtrn/legord
    4: Command Line start %#
    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 No
    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 GAP DOOR.SYS
    17: Place Drop File In Node Directory
    18: Time Options...

    Oct 7 23:22:50 nemesis sbbs: 10/7 23:22:50 term Node 2 <Altere> running external program: LORD
    Oct 7 23:23:18 nemesis sbbs: 10/7 23:23:18 term Node 2 disconnected
    Oct 7 23:23:18 nemesis sbbs: 10/7 23:23:18 term Node 2 <Altere> hung-up in external program
    Oct 7 23:23:20 nemesis sbbs: 10/7 23:23:20 term Node 2 <Altere> logout initiated
    Oct 7 23:23:20 nemesis sbbs: 10/7 23:23:20 term Node 2 thread terminated (1 node threads remain, 20 clients served)

    I can't seem to find a dosemu boot.log, only if I run it manually.

    Any ideas on a fix?

    -altere

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rampage@VERT/SESTAR to Altere on Tue Oct 8 11:26:00 2019
    Re: DOSemu Doors
    By: Altere to All on Mon Oct 07 2019 22:47:15


    I can't seem to find a dosemu boot.log, only if I run it manually.

    when run from within sbbs, the dosemu environment is set up in sbbs/ctrl/.dosemu... the log for it is found in the node's directory that the DOS door was run from... for example, sbbs/node1/dosemu_boot.log...


    )\/(ark

    ---
    ■ Synchronet ■ The SouthEast Star Mail HUB - SESTAR
  • From Altere@VERT to Rampage on Tue Oct 8 15:26:48 2019
    I can't seem to find a dosemu boot.log, only if I run it manually.

    when run from within sbbs, the dosemu environment is set up in sbbs/ctrl/.dosemu... the log for it is found in the node's directory that the DOS door was run from... for example, sbbs/node1/dosemu_boot.log...


    Ok, I was looking in .dosemu, here's the boot.log:

    major = 136 minor = 2
    CONF: config variable parser_version_3 set
    CONF: config variable c_system set
    CONF: Parsing built-in dosemu.conf file.
    CONF: config variable version_3_style_used set
    CONF: Parsing built-in global.conf file.
    CONF: config variable version_3_style_used unset
    CONF: config variable version_3_style_used set
    CONF: opened include file /etc/dosemu/dosemu.conf
    CONF: closed include file /etc/dosemu/dosemu.conf
    CONF: opened include file /etc/dosemu/dosemu.conf
    CONF: closed include file /etc/dosemu/dosemu.conf
    CONF: config variable skip_dosrc set
    CONF: mapping driver = 'auto'
    debug flags: -a+cw
    CONF: Disabling use of pentium timer
    CONF: dosbanner on
    CONF: timer freq=18, update=54925
    CONF: CPU set to 586
    CONF: JIT CPUEMU set to 0 for 586
    CONF: 8192k bytes EMS memory
    CONF: EMS-frame = 0xe400
    CONF: DPMI-Server on (0x5000)
    CONF: DPMI base addr = 0xffffffff
    CONF: PM DOS API Translator on
    CONF: No DJGPP NULL deref checks: off
    CONF: 8192k bytes XMS memory
    CONF: dosemu not running on console
    CONF: time mode = 'bios'
    SER: directory /var/lock namestub LCK.. binary No
    CONF: Keyboard-layout keyb-user
    CONF: Keyboard-layout us
    CONF: **** Warning: floppy /dev/fd0 not accessible, disabled
    CONF: fastfloppy = 1
    CONF: IPX support off
    CONF(LPT0) f: (null) c: lpr -l t: 20 port: 0
    CONF(LPT1) f: (null) c: lpr -l -P lpt2 t: 20 port: 0
    CONF: not allowing speaker port access
    CONF: Packet Driver enabled.
    device: /etc/dosemu/drives/c type 4 h: -1 s: -1 t: -1 drive C:
    device: /etc/dosemu/drives/d type 4 h: -1 s: -1 t: -1 drive D:
    CONF: cdrom MSCD0001 on /dev/cdrom
    CONF: config variable c_system unset
    CONF: config variable c_comline set
    Parsing commandline statements.
    COSER0: /dev/pts/2
    CONF: config variable c_comline unset
    Linux kernel 2.6.32; CPU speed is 2299884000 Hz
    CPU-EMU speed is 2300 MHz
    CONF: mostly running as USER: uid=1002 (cached 1002) gid=1003 (cached 1003) DBG_FD already set
    DOSEMU-1.4.0.8 is coming up on Linux version 2.6.32-042stab133.2 #1 SMP Mon
    Aug
    27 21:07:08 MSK 2018 x86_64
    Compiled with GCC version 4.8.5 -m64
    WARN: vm86plus service not available in your kernel
    WARN: using CPU emulation for vm86()
    CONF: reserving 640Kb at 0x00000 for 'd' (Base DOS memory (first 640K))
    CONF: reserving 48Kb at 0xF4000 for 'r' (Dosemu reserved area)
    CONF: reserving 128Kb at 0xA0000 for 'v' (Video memory)
    PKT: Cannot open raw sockets: No such file or directory
    WARN: using non-zero memory base address 0x10f000.
    WARN: You can use the better-tested zero based setup using
    WARN: sysctl -w vm.mmap_min_addr=0
    WARN: as root, or by changing the vm.mmap_min_addr setting in
    WARN: /etc/sysctl.conf or a file in /etc/sysctl.d/ to 0.
    CONF: reserving 8256Kb at 0x100000 for 'x' (Extended memory (HMA+XMS)) Registering HWRAM, type=e base=0x3ff44000 size=0x400000
    CONF: reserving 4096Kb at 0x3FF44000 for 'e' (VGAEMU LFB)
    NF: Parsing commandline file.
    CONF: reserving 4Kb at 0xC0000 for 'V' (VGAEMU Video BIOS)
    SERIAL $Id$
    registering /dev/pts/2 for serial
    CONF: reserving 16Kb at 0xE4000 for 'E' (EMS page frame)
    CONF: reserving 16Kb at 0xE8000 for 'E' (EMS page frame)
    CONF: reserving 16Kb at 0xEC000 for 'E' (EMS page frame)
    CONF: reserving 16Kb at 0xF0000 for 'E' (EMS page frame)
    CONF: reserving 140Kb at 0xC1000 for 'U' (Upper Memory Block (UMB, XMS 3.0)) TIME: using 9154 usec for updating ALRM timer
    ======================= ENTER CPU-EMU ===============

    * Fault out of DOSEMU code, cs:eip=33:4a535a, cr2=11cf, fault_cnt=1
    * Fault out of DOSEMU code, cs:eip=33:4a535a, cr2=11cf, fault_cnt=1
    * Fault out of DOSEMU code, cs:eip=33:4a535a, cr2=11cf, fault_cnt=1
    * Fault out of DOSEMU code, cs:eip=33:4a535a, cr2=11cf, fault_cnt=1 leavedos(leavedos_signal|329) called - shutting down
    ======================= LEAVE CPU-EMU ===============


    The first 2 Fault's came right when the door loaded, the last 2 when I tried
    to exit. The leavedos signal didn't come until I closed my telnet session. I'm not sure if this could be a memory or cpu tweak that needs to happen or not
    but I've tried a few things already with the same results.

    -altere

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rampage@VERT/SESTAR to Altere on Tue Oct 8 18:52:46 2019
    Re: Re: DOSemu Doors
    By: Altere to Rampage on Tue Oct 08 2019 11:26:48

    Ok, I was looking in .dosemu, here's the boot.log:

    i'm not going to quote the whole thing... i'll compare it with mine later on a different system where i can more easily extract it from the message...

    i will say, though, that mine is using

    major = 136 minor = 7

    from the first line in that log...

    in the node's directory, you should also have external.bat... try running the door again and grab a copy of that external.bat so i/we can see it...


    )\/(ark

    ---
    ■ Synchronet ■ The SouthEast Star Mail HUB - SESTAR
  • From Altere@VERT to Rampage on Tue Oct 8 17:33:19 2019

    major = 136 minor = 7

    from the first line in that log...

    I imagine your dosemu version is probably different from mine, possibly patched.

    in the node's directory, you should also have external.bat... try running the door again and grab a copy of that external.bat so i/we can see it...

    [external.bat]
    @echo off
    set DSZLOG=D:\PROTOCOL.LOG
    set SBBSNODE=D:
    set SBBSNNUM=1
    set SBBSCTRL=F:
    set SBBSDATA=G:
    set SBBSEXEC=H:
    set PCBNODE=1
    unix -s DOSDRIVE_E
    if '%DOSDRIVE_E%' == '' goto nodriveE
    lredir del E:
    :nodriveE
    lredir E: linux\fs\sbbs\xtrn
    unix -s DOSDRIVE_F
    if '%DOSDRIVE_F%' == '' goto nodriveF
    lredir del F:
    :nodriveF
    lredir F: linux\fs\sbbs\ctrl
    unix -s DOSDRIVE_G
    if '%DOSDRIVE_G%' == '' goto nodriveG
    lredir del G:
    :nodriveG
    lredir G: linux\fs\sbbs\data
    unix -s DOSDRIVE_H
    if '%DOSDRIVE_H%' == '' goto nodriveH
    lredir del H:
    :nodriveH
    lredir H: linux\fs\sbbs\exec
    E:
    cd legord
    call F:\emusetup.bat
    start 1
    exitemu
    REM For debugging: /usr/bin/env HOME=/sbbs/ctrl/ QUIET=1 DOSDRIVE_D=/sbbs/node1
    / /usr/local/bin/dosemu.bin -I"video { none }" -I'keystroke "\r"' -I"serial { vi
    rtual com 1 }" -f/etc/dosemu/dosemu.conf -ED:external.bat - o/sbbs/node1/dosemu_b
    oot.log

    -altere

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From mark lewis@VERT to Altere on Tue Oct 8 20:47:05 2019
    Re: Re: DOSemu Doors
    By: Altere to Rampage on Tue Oct 08 2019 13:33:19

    in the node's directory, you should also have external.bat... try running
    the door again and grab a copy of that external.bat so i/we can see it...

    [external.bat]

    that looks fine... i saw something in your dosemu log which i need to research... something about PKT and not supported...


    )\/(ark
    --- SBBSecho 3.09-Linux
    * Origin: SouthEast Star Mail HUB - SESTAR (1:3634/12)
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Altere@VERT to mark lewis on Tue Oct 8 19:01:55 2019
    that looks fine... i saw something in your dosemu log which i need to research... something about PKT and not supported...

    Hopefully the problem isn't vm.mmap_min_addr, and if so I hope someone has another solution as mine is set to 4096 and the system is under OpenVZ which those values can't be changed as far as I know under a container.

    I'd hate to get ahead of myself here but does anyone else have a OpenVZ system they have control over to test this?

    -altere

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From mark lewis@VERT to Altere on Wed Oct 9 01:01:56 2019
    On 2019 Oct 08 15:01:54, you wrote to me:


    that looks fine... i saw something in your dosemu log which i need to
    research... something about PKT and not supported...

    Hopefully the problem isn't vm.mmap_min_addr, and if so I hope someone has another solution as mine is set to 4096 and the system is under OpenVZ which those values can't be changed as far as I know under a container.

    no, it was this...

    PKT: Cannot open raw sockets: No such file or directory

    my initial thought was that it was trying to open raw socket for the COM1 connection but have not researched yet...

    I'd hate to get ahead of myself here but does anyone else have a
    OpenVZ system they have control over to test this?

    i do not, no... my system runs KVM/QEMU for the BBS which then runs dosemu in there... it is a ubuntu 18.04.3 LTS Server install... no GUI at all...

    )\/(ark

    Once men turned their thinking over to machines in the hope that this would set
    them free. But that only permitted other men with machines to enslave them.
    ... Go not to Usenet for counsel, for it will say both no and yes.
    ---
    * Origin: (1:3634/12.73)
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Altere@VERT to mark lewis on Thu Oct 10 13:35:14 2019
    PKT: Cannot open raw sockets: No such file or directory

    my initial thought was that it was trying to open raw socket for the COM1 connection but have not researched yet...

    I have not been able to find much on that part in the log file. An interesting thing though, while sitting at the " RETURNING TO THE MUNDANE WORLD..." and it just hanging there until I close the session, I decided to instead manually type
    in the exitemu command, and to my surprise, it exited dos and returned me to Synchronet.

    So dosemu isn't locking up or freezing, seems there's a problem once the game exits, the exitemu cmd isn't getting passed down. I assume at that point I'm at a dos prompt but nothing's being written to the screen once the door exits.


    -altere

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Altere@VERT/ATHEL to All on Fri Oct 11 03:05:43 2019
    Re: DOSemu Doors
    By: Altere to All on Mon Oct 07 2019 11:28 pm

    SCFG:
    [LORD]
    4: Command Line start %#

    Resolved!

    I went ahead and installed Global War with Command Line: war /d d:\door.sys and this door works just fine, exits back to Synchronet without any problems.

    Now back to LORD, I changed it's command line to: start.bat %# and this has resolved the problem and now works as it's supposed to.

    Digital Man, since GWAR has a war.bat and a war.exe, and I haven't specified either in my command line, which one is Synchronet running? I assume the .exe as my .bat is all messed up. If that's the case, I'm wondering if Synchronet is handling loading batch files differently then executables under doesemu since I'm not sure why I'd have to specifiy the whole file for LORD and not GWAR?

    -altere

    ---
    ■ Synchronet ■ Athelstan BBS - athelstan.org ssh:2222 telnet:23
  • From Altere@VERT/ATHEL to Digital Man on Fri Oct 11 03:16:07 2019
    Re: DOSemu Doors
    By: Altere to All on Thu Oct 10 2019 11:05 pm

    Digital Man, since GWAR has a war.bat and a war.exe, and I haven't specified either in my command line, which one is Synchronet running? I assume the .exe as my .bat is all messed up. If that's the case, I'm wondering if Synchronet is handling loading batch files differently then executables under doesemu since I'm not sure why I'd have to specifiy the whole file for LORD and not GWAR?

    Sorry, this is more then likely whatever dosemu is doing. I'm sure most people are using dosemu 1.0.2 and maybe something on loading has changed in 1.4, so I guess I should be asking if any of those are having to specifiy .bat for it to work properly.

    -altere

    ---
    ■ Synchronet ■ Athelstan BBS - athelstan.org ssh:2222 telnet:23
  • From Digital Man@VERT to Altere on Fri Oct 11 02:39:06 2019
    Re: DOSemu Doors
    By: Altere to All on Thu Oct 10 2019 11:05 pm

    Digital Man, since GWAR has a war.bat and a war.exe, and I haven't specified either in my command line, which one is Synchronet running?

    If you don't specify an extension, it'll run the .exe.

    I assume the
    .exe as my .bat is all messed up. If that's the case, I'm wondering if Synchronet is handling loading batch files differently then executables under doesemu since I'm not sure why I'd have to specifiy the whole file for LORD and not GWAR?

    You should specify the full filename to be sure.

    digital man

    Synchronet/BBS Terminology Definition #77:
    TTY = Teletype (dumb terminal)
    Norco, CA WX: 68.1°F, 7.0% humidity, 1 mph E wind, 0.00 inches rain/24hrs

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rampage@VERT/SESTAR to Altere on Fri Oct 11 13:49:31 2019
    Re: DOSemu Doors
    By: Altere to Digital Man on Thu Oct 10 2019 23:16:07

    Sorry, this is more then likely whatever dosemu is doing. I'm sure most people are using dosemu 1.0.2 and maybe something on loading has changed in 1.4, so I guess I should be asking if any of those are having to specifiy
    .bat for it to work properly.

    i don't know about "most" using that version... i would expect they install from their OS' repository and it updates from there... at one time i had to pull a .deb file for dosemu on one of my older systems but that was because a needed patch hadn't made it into the upstream...

    as for the filename to specify in the command line field, i always put in the full name with extension specifically to avoid ambiguities like you point to...


    )\/(ark

    ---
    ■ Synchronet ■ The SouthEast Star Mail HUB - SESTAR
  • From Altere@VERT/ATHEL to Digital Man on Fri Oct 11 16:18:11 2019
    Re: DOSemu Doors
    By: Digital Man to Altere on Thu Oct 10 2019 10:39 pm

    If you don't specify an extension, it'll run the .exe.
    You should specify the full filename to be sure.

    I will from now on, just odd that there's no start.exe or any other extension other then the start.bat for LORD but doesemu wouldn't exit properly witout it being included in the command line.

    -altere

    ---
    ■ Synchronet ■ Athelstan BBS - athelstan.org ssh:2222 telnet:23
  • From Altere@VERT/ATHEL to Rampage on Fri Oct 11 16:33:50 2019
    Re: DOSemu Doors
    By: Rampage to Altere on Fri Oct 11 2019 09:49 am

    i don't know about "most" using that version... i would expect they install from their OS' repository and it updates from there... at one time i had to pull a .deb file for dosemu on one of my older systems but that was because a needed patch hadn't made it into the upstream...

    As far as I know CentOS 7 doesn't include dosemu and installing any of the packages that should have worked core dumped leading me to compile it. I've also noticed more distro's dropping dosemu with no DOS emulation at all, like CentOS or swapping it for dosbox.

    as for the filename to specify in the command line field, i always put in the full name with extension specifically to avoid ambiguities like you

    I found two seperate example configurations for LORD with linux, one included .bat and the other didn't. And the one for GWAR from the wiki doesn't include .bat or .exe, I may make some wiki edits when I have time unless someone beats me to it. Either way, I'll be including the extension from now on, I just still find it hard to believe that dosemu wouldn't exit properly without it specifically for LORD. It's resolved now, so I'll be setting up more in the comming week or two. Thanks for the help.

    -altere

    ---
    ■ Synchronet ■ Athelstan BBS - athelstan.org ssh:2222 telnet:23
  • From Digital Man@VERT to Altere on Fri Oct 11 16:41:39 2019
    Re: DOSemu Doors
    By: Altere to Digital Man on Fri Oct 11 2019 12:18 pm

    Re: DOSemu Doors
    By: Digital Man to Altere on Thu Oct 10 2019 10:39 pm

    If you don't specify an extension, it'll run the .exe.
    You should specify the full filename to be sure.

    I will from now on, just odd that there's no start.exe or any other extension other then the start.bat for LORD but doesemu wouldn't exit properly witout it being included in the command line.

    No too weird. The command shells (command.com) is required to execute .bat files, but not required to execute .exe files. So it's quite possible that DOSemu does something very differently when it knows you want to execute a .bat file.

    digital man

    This Is Spinal Tap quote #33:
    Nigel Tufnel: Well, so what? What's wrong with bein' sexy?
    Norco, CA WX: 78.8°F, 7.0% humidity, 3 mph ENE wind, 0.00 inches rain/24hrs

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net