• xtrn/lord2/lord2.js

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sun Apr 5 12:21:29 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/16c2ea5be84bb1da7d9c0382
    Modified Files:
    xtrn/lord2/lord2.js
    Log Message:
    Change all while(1)s to while(!js.terminated)

    Game could sit in infinite loops if/when user disconnects during the game.

    Ideally, these loops would be checking bbs.online (for truthiness) as well, but I don't know how that works with jsdoor or what the equivalent dorkit thing would be, but this game needs to check if the user is still connected and (hopefully) terminate gracefully (e.g. save game state to prevent cheating).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Apr 19 13:33:57 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/014c6a968a1dbbf3df35767e
    Modified Files:
    xtrn/lord2/lord2.js
    Log Message:
    Have vbar return -1 on disconnect

    This fixes issue #1130 *specifically* for Wendel's house.

    Wendle's house sets the player busy, then has a choice with a
    default value of one. If one is chosen, it does a goto back to
    the choice. This is the infinite loop.

    If there's a ref that does the opposite... for any unhandled value
    does a goto, that will now be broken.

    Fundamentally, the root cause is the way the timeout handler ignores disconnects when player.busy is true (after offmap). Someone needs
    to dig in and write a REF file that tests what the result of a
    choice when the user disconnects in offmap is in the DOS version.

    If the program effectively does update in this case, that can be
    put into handle_timeout() in the player.busy handler and eliminate
    the possibility for offmap loops.

    Loops for the 'busy' command would need to be investigated
    separately... 'busy' is more interesting because it's much more
    susceptible to carrier drop cheats (busy is what's used during
    almost all battles).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Apr 19 20:18:47 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/15b5c61a209d3b50b7172775
    Modified Files:
    xtrn/lord2/lord2.js
    Log Message:
    Disable pending state on timeout/disconnect

    Without better investigation of how LORD2 actually behaves, it's
    better for the door the end up with cheats and/or corrupt game
    state than for infinite loops to occur.

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