• Save game per user for Infocom type games as doors

    From Shane O'Neill@3:770/3 to All on Tue Apr 23 17:57:41 2019
    So using the netfoss user guide I am able to get Infocom games to work simply on Mystic BBS but I see when a person saves their game it will overwrite other users save game files (when using default save).

    Is there a SIMPLE way to make mystic/netfoss save a users game as a unique file
    or in a unique folder for each user so they don't over write each others saved games.

    Example on Zork I is as follows:

    Mystic DD menu command to run Zork DOS game

    Command: DD
    Data: c:\mystic\netfoss\nf.bat /N%3 /H%0 c:\mystic\doors\infocom\zork.bat
    %T


    My zork.bat file that the DD command executes is as follows:

    @echo off
    cd c:\mystic\doors\infocom\zork
    c:\mystic\netfoss\netfoss.com /m /i /t%1
    _zork1.com c:\mystic\temp%1\door.sys
    c:\mystic\netfoss\netfoss.com /m /i0
    cd\

    So like I said the above configuration has the game working as a door to all users, but how do I get it to save their save games as unique files so users will not overwrite each others saved games?

    P.S. I am doing all this on Windows 7 32bit.

    Thanks for any input!!!

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Todd Yatzook@1:142/799 to Shane O'Neill on Tue Apr 23 22:47:42 2019
    On 23 Apr 2019, Shane O'Neill said the following...

    So using the netfoss user guide I am able to get Infocom games to work simply on Mystic BBS but I see when a person saves their game it will overwrite other users save game files (when using default save).

    Is there a SIMPLE way to make mystic/netfoss save a users game as a
    unique file or in a unique folder for each user so they don't over write each others saved games.

    Have the batch file create a copy of the game to a directory using the user's username as the directory to create, have it run from there. It's what I did for the text adventure games I run on DoorParty, and before that, Mystic.

    You can probably skip the part of my how-to with regards to DOSBox, and just check out the example batch file for an idea on how to have it create a separate directory for each user. Probably ignore the flags as well; just
    focus on what I did for directory creation at the top of the batch, and how
    it calls it for each game. Or something. =)

    http://throwbackbbs.com/dosbox_howto.html

    --- Mystic BBS v1.12 A43 2019/02/23 (Raspberry Pi/32)
    * Origin: http://www.throwbackbbs.com -\- meriden, ct -\- (1:142/799)
  • From Paul Hayton@3:770/100 to Shane O'Neill on Wed Apr 24 15:16:29 2019
    On 23 Apr 2019 at 05:57p, Shane O'Neill pondered and said...

    My zork.bat file that the DD command executes is as follows:

    @echo off
    cd c:\mystic\doors\infocom\zork
    c:\mystic\netfoss\netfoss.com /m /i /t%1
    _zork1.com c:\mystic\temp%1\door.sys
    c:\mystic\netfoss\netfoss.com /m /i0
    cd\

    this also is passing a hard coded path to the temp1 dir which is not a good idea as any user on another node will not be able to run the game nor will
    the batch file see the drop files they are creating on a temp basis when they run the door.

    I am not that into door games, have not played or installed this one, but how that zork.bat should be set up will be determined by what the software is looking for to be passed to it on the fly.

    You need to use wildcard vars to pass this info from Mystic into the bat file and onto the zork exe

    --- Mystic BBS v1.12 A43 2019/03/03 (Windows/32)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (3:770/100)
  • From Paul Hayton@3:770/100 to Todd Yatzook on Wed Apr 24 15:32:36 2019
    On 23 Apr 2019 at 10:47p, Todd Yatzook pondered and said...

    You can probably skip the part of my how-to with regards to DOSBox, and just check out the example batch file for an idea on how to have it
    create a separate directory for each user. Probably ignore the flags as well; just focus on what I did for directory creation at the top of the batch, and how it calls it for each game. Or something. =)

    http://throwbackbbs.com/dosbox_howto.html

    Hi Todd.

    A comment and a question..

    The guide refers to DG command which has been depreciated I think and now
    there is just DD and D3

    I'm picking swap out DG for DD which creates all three drops files

    24/04/2019 03:08 p.m. 187 CHAIN.TXT
    24/04/2019 03:08 p.m. 292 DOOR.SYS
    24/04/2019 03:08 p.m. 94 DORINFO1.DEF

    in the temp dir of the node logged in.

    My question is (and I have a feeling I may have asked before?) can I add this info the fsxnet wiki also with attribution to yourself?

    --- Mystic BBS v1.12 A43 2019/03/03 (Windows/32)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (3:770/100)
  • From Shane O'Neill@3:770/3 to All on Tue Apr 23 21:58:24 2019

    Have the batch file create a copy of the game to a directory using the user's username as the directory to create, have it run from there. It's what I did for the text adventure games I run on DoorParty, and before that, Mystic.

    You can probably skip the part of my how-to with regards to DOSBox, and just check out the example batch file for an idea on how to have it create a separate directory for each user. Probably ignore the flags as well; just focus on what I did for directory creation at the top of the batch, and how it calls it for each game. Or something. =)


    I did do you whole setup from your link. It does work with 2 exceptions.

    1) 10 minute limit using Doorway until I register / pay them.
    2) the text scrolling will scroll new text at time on the top of the screen overlapping existing text. I have notice this on your doorway server too.

    So you idea here is exactly what I need to create a folder for the user (a folder that the bbs will take them to again in the future to work out of) for this own game and saves (thus the user sandbox). Looking at your door.bat file
    you create it all
    makes sense in creating the users folder and copying the game to their folder to hold their own version and save game files.

    But Im lost in the fact that once that part is all done what is the best way to
    then call out the game. So in the door.bat where it is looking for what game to run IE:

    if %1==ADVENT goto ADVENT

    :ADVENT
    echo /P:d:\advent.exe>>CFG\%1.cfg
    echo /B:M>>CFG\%1.cfg
    GOTO COMMAND

    It seems to me I don't need DoorWay as I was able to make my zork and such run like I pointed out in my previous post using NETFOSS with the DD command in Mystic.

    So how would the COMMAND and above section on what game to play in the door.bat
    file be rewritten?

    should the COMMAND section taking out the DosBox line and replaced like this?

    :COMMAND
    cd c:\games\!u_games\%4\%1
    c:\mystic\netfoss\netfoss.com /m /i /t%1
    _zork1.com c:\mystic\temp%1\door.sys
    c:\mystic\netfoss\netfoss.com /m /i0
    cd\

    Im just taking a guess and will try tomorrow as its getting late here...but I think I might be on a path using the "c:\games\!u_games\%4\%1" in the :COMMAND part of your bat to bypass DOORWAY and DOSBOX.

    Curious what you think or suggest.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Shane O'Neill@3:770/3 to All on Tue Apr 23 22:24:22 2019
    Got it!!!

    Alright Todd, THANK YOU!!! You got me past my mental block!

    So where is what I did. My first post in this thread I had zork (my test game)
    working but no sandbox for each user to hold their own save games in.

    So Todd per your suggestion I redid your DOOR.BAT file and kept my Mystic DD command in tact. With these changes I watched a folder under my ..\games\!u_games\ be created for the user ID of each user account I tested it with along with under each user
    folder their own saved game data! I would log on and off switching between multiple user accounts each one saved at a different location in the game. each
    user restored the game from their correct saved game data that is created by your bat file.

    Plus the game scrolls and displays CORRECTLY with the score on the top of edge of the screen too!

    Here is my Mystic menu DD command data:
    c:\mystic\netfoss\nf.bat /N%3 /H%0 c:\infocom\doorway\door.bat ZORK %0 %3 %#

    Here is my DOOR.BAT file (Todd's I modified) bypassing DOORWAY and DOSBOX for my Zork example:

    @echo off

    C:
    IF EXIST C:\infocom\games\!u_games\%4\%1\NUL GOTO EXISTS
    IF NOT EXIST c:\infocom\games\!u_games\%4\NUL GOTO NOUSERDIR
    IF NOT EXIST c:\infocom\games\!u_games\%4\%1\NUL GOTO NOGAMEDIR

    :NOUSERDIR
    c:
    CD\infocom\games\!u_games
    MD %4
    GOTO NOGAMEDIR

    :NOGAMEDIR
    c:
    CD\infocom\games\!u_games\%4
    MD %1
    xcopy c:\infocom\games\%1\*.* c:\infocom\games\!u_games\%4\%1 /e /y /i
    GOTO EXISTS

    :EXISTS

    c:
    cd\infocom\doorway

    echo /CD>CFG\%1.cfg
    echo /H:>>CFG\%1.cfg
    REM echo /D:>>CFG\%1.cfg
    REM echo /G:ON>>CFG\%1.cfg
    echo /O:T>>CFG\%1.cfg
    echo /S:f:\>>CFG\%1.cfg
    echo /V:D>>CFG\%1.cfg
    echo /K:180>>CFG\%1.cfg
    echo /RB>>CFG\%1.cfg

    if %1==ZORK goto ZORK

    :ZORK
    set game=_zork1.com
    GOTO COMMAND

    :COMMAND

    cd c:\infocom\games\!u_games\%4\%1"
    c:\mystic\netfoss\netfoss.com /m /i /t%1
    %game% c:\mystic\temp%1\door.sys
    c:\mystic\netfoss\netfoss.com /m /i0
    cd\

    REM %1 = config file / directory name
    REM %2 = socket
    REM %3 = node number
    REM %4 = user's number

    Thanks again Todd for the push! Im sure I missed something and know now I need to go clean up stuff, like any reference to the doorway folder and is no longer
    needed, etc... With my luck tomorrow it wont work any more!!!

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From nathanael culver@3:712/886 to Shane O'Neill on Wed Apr 24 22:05:08 2019
    Is there a SIMPLE way to make mystic/netfoss save a users game as a
    unique file or in a unique folder for each user so they don't over write

    My system runs on a Raspberry Pi, so a bit different, but maybe it'll give
    you some ideas.

    I keep all the infocom .DAT files in doors/infocom, and have a general save folder at doors/infocom/save.

    I have a script which creates a unique folder from the user's ID number, then inside that user's folder a directory with the game name.

    So if the user has user ID 27:

    doors/infocom/save/27/zork1
    doors/infocom/save/27/enchanter

    and so on.

    Here's my menu command for Zork 1:

    (DD) Exec external program
    \mystic\doors\infocom\infocom "%#" "zork1"

    and my bash script:

    #!/bin/bash
    trap '' 2

    homedir=/mystic/doors/infocom
    savedir=$homedir/save/$1/$2 ; $1 = user's ID, $2 = game code ("zork1") game=$homedir/$2.dat

    mkdir -p $savedir
    cd $savedir
    frotz -w 80 -l 1 -r 2 -x $game
    exit

    --- Mystic BBS v1.12 A43 2019/03/03 (Raspberry Pi/32)
    * Origin: *HUMONGOUS* BBS (jenandcal.familyds.org:2323) (3:712/886)
  • From Todd Yatzook@1:142/799 to Paul Hayton on Sat Apr 27 16:58:48 2019
    On 24 Apr 2019, Paul Hayton said the following...

    On 23 Apr 2019 at 10:47p, Todd Yatzook pondered and said...

    You can probably skip the part of my how-to with regards to DOSBox, a just check out the example batch file for an idea on how to have it create a separate directory for each user. Probably ignore the flags well; just focus on what I did for directory creation at the top of t batch, and how it calls it for each game. Or something. =)

    http://throwbackbbs.com/dosbox_howto.html

    Hi Todd.

    A comment and a question..

    The guide refers to DG command which has been depreciated I think and now there is just DD and D3

    I'm picking swap out DG for DD which creates all three drops files

    24/04/2019 03:08 p.m. 187 CHAIN.TXT
    24/04/2019 03:08 p.m. 292 DOOR.SYS
    24/04/2019 03:08 p.m. 94 DORINFO1.DEF

    in the temp dir of the node logged in.

    My question is (and I have a feeling I may have asked before?) can I add this info the fsxnet wiki also with attribution to yourself?

    Go for it! As long as you can get it to work, obviously. =) I'm not sure of
    the method you guys are using if you're skipping DOSBox, but yeah, no worries man.

    And thanks for the tip about DG instead of DD; I'll update the how-to right now.

    --- Mystic BBS v1.12 A43 2019/02/23 (Raspberry Pi/32)
    * Origin: http://www.throwbackbbs.com -\- meriden, ct -\- (1:142/799)
  • From Todd Yatzook@1:142/799 to Shane O'Neill on Sat Apr 27 17:08:21 2019
    On 23 Apr 2019, Shane O'Neill said the following...

    I did do you whole setup from your link. It does work with 2 exceptions.

    1) 10 minute limit using Doorway until I register / pay them.
    2) the text scrolling will scroll new text at time on the top of the screen overlapping existing text. I have notice this on your doorway server too.

    Yeah, you have to register DoorWay to get past that 10 minute limit, I
    explain that early in the how-to and explain why.

    The scrolling thing... I don't think there's a fix for that. It's all in the way screen refreshes happen, and since we're shoehorning something that
    wasn't ever meant to be used as an actual door game, it's probably just something we'd have to live with. I remember I was tweaking the options as
    much as possible to minimize that, and I think the example I give is the closest I got.

    But Im lost in the fact that once that part is all done what is the best way to then call out the game. So in the door.bat where it is looking
    for what game to run IE:

    if %1==ADVENT goto ADVENT

    :ADVENT
    echo /P:d:\advent.exe>>CFG\%1.cfg
    echo /B:M>>CFG\%1.cfg
    GOTO COMMAND

    It seems to me I don't need DoorWay as I was able to make my zork and
    such run like I pointed out in my previous post using NETFOSS with the
    DD command in Mystic.

    So how would the COMMAND and above section on what game to play in the door.bat file be rewritten?

    The reason I went with DOSBox and DoorWay was to sandbox the games, since
    they give direct access to the file system, and I didn't want some unforseen stuff happening with regards to players being able to access my HDD.

    The cfg files that are copied in that part of the batch have a lot of the
    same flags I was using for all of the games, and then any extras I might have needed on a game-by-game basis. It's cleaner, and makes it easier to troubleshoot games that might need additional flags, that's all.

    should the COMMAND section taking out the DosBox line and replaced like this?

    :COMMAND
    cd c:\games\!u_games\%4\%1
    c:\mystic\netfoss\netfoss.com /m /i /t%1
    _zork1.com c:\mystic\temp%1\door.sys
    c:\mystic\netfoss\netfoss.com /m /i0
    cd\

    I'm actually not sure, I never messed with just NetFOSS and DoorWay. I know there's an example Mike put on his site for DoorWay and such, but I went the way I did because giving random strangers direct access to your file system, with no real way to check on that because it's in a DOS window, is kind of scary.

    --- Mystic BBS v1.12 A43 2019/02/23 (Raspberry Pi/32)
    * Origin: http://www.throwbackbbs.com -\- meriden, ct -\- (1:142/799)
  • From Todd Yatzook@1:142/799 to Shane O'Neill on Sat Apr 27 17:10:08 2019
    On 23 Apr 2019, Shane O'Neill said the following...

    Got it!!!

    Alright Todd, THANK YOU!!! You got me past my mental block!

    [snip]

    Thanks again Todd for the push! Im sure I missed something and know now
    I need to go clean up stuff, like any reference to the doorway folder
    and is no longer needed, etc... With my luck tomorrow it wont work any more!!!

    No prob man, glad I could help! =)

    --- Mystic BBS v1.12 A43 2019/02/23 (Raspberry Pi/32)
    * Origin: http://www.throwbackbbs.com -\- meriden, ct -\- (1:142/799)
  • From Todd Yatzook@1:142/799 to nathanael culver on Sat Apr 27 17:13:15 2019
    On 24 Apr 2019, nathanael culver said the following...

    Is there a SIMPLE way to make mystic/netfoss save a users game as a unique file or in a unique folder for each user so they don't over wr

    I keep all the infocom .DAT files in doors/infocom, and have a general save folder at doors/infocom/save.

    I have a script which creates a unique folder from the user's ID number, then inside that user's folder a directory with the game name.

    So if the user has user ID 27:

    I was actually entertaining that when I first set all this up years ago, but discounted it because BBSes recycle user IDs if/when a user is deleted, or if you have to wipe your user database for some reason, or lose it irrevocably.

    People pretty much stick to the user name they use everywhere, so there's
    less of a chance of someone getting someone else's save game by accident. Not that it's a security risk or anything, it's just a hassle (possibly) from the user's end.

    --- Mystic BBS v1.12 A43 2019/02/23 (Raspberry Pi/32)
    * Origin: http://www.throwbackbbs.com -\- meriden, ct -\- (1:142/799)
  • From Paul Hayton@3:770/100 to Todd Yatzook on Sun Apr 28 12:46:56 2019
    On 27 Apr 2019 at 04:58p, Todd Yatzook pondered and said...

    Go for it! As long as you can get it to work, obviously. =) I'm not sure of the method you guys are using if you're skipping DOSBox, but yeah, no worries man.

    Thanks sir :)

    And thanks for the tip about DG instead of DD; I'll update the how-to right now.

    No worries happy to help :)

    --- Mystic BBS v1.12 A43 2019/03/03 (Windows/32)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (3:770/100)
  • From Nathanael Culver@3:770/3 to All on Fri Sep 6 19:15:17 2019
    Here’s how I’m doing it under Linux:

    (DD) /mystic/doors/info come/infocom %# <datfile name>

    And my Infocom bash script:

    #!/bin/bash
    trap '' 2

    homedir=/mystic/doors/infocom
    savedir=$homedir/save/$1/$2
    game=$homedir/$.dat

    mkdir -p $savedir
    cd $savedir
    Frotz -w -l 1 -r 2 -x $game


    I keep all the .dat files in $homedir.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Nathanael Culver@3:770/3 to All on Fri Sep 6 19:18:13 2019
    *eyeroll*

    Guess I should remember to check dates on the thread before replying :)

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Shane O'Neill@3:770/3 to Nathanael Culver on Sat Sep 7 07:29:55 2019
    On Friday, September 6, 2019 at 8:18:14 PM UTC-6, Nathanael Culver wrote:
    *eyeroll*

    Guess I should remember to check dates on the thread before replying :)

    I did solve it a while ago but your input I know is valuable as it is sure to help someone in the future!

    Thanks for sharing!!!

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)