FidoNet Echomail Archive
synchronet

<<< Previous Index Next >>>

From: Digital Man
To: echicken
Date: 2019-06-10 18:32:56
Subject: Webv4 and Connecting to Game Servers

  Re: Webv4 and Connecting to Game Servers
  By: echicken to Zazz on Mon Jun 10 2019 05:19 pm

 >   Re: Webv4 and Connecting to Game Servers
 >   By: Zazz to All on Sat Jun 08 2019 10:40:51
 >
 >  Za> Going to my synchronet web and logging in and try to connect to either
 >  Za> one I get this message:
 >  Za> Invalid Rlogin Door. Both of these game servers are not on standard 513
 >  Za> port and I suspect that might be the problem.\
 >
 > The remote server's port isn't a problem if you can connect to it when
 > you're on your BBS via telnet.
 >
 > When you launch a game via the web UI, the browser connects to your BBS via
 > rlogin via the websocket proxy service.  The 'terminal-type' string for the
 > rlogin session is set to a custom value to identify the game that should be
 > launched.
 >
 > It's likely the problem is with nested rlogin sessions.  Synchronet is
 > probably passing your terminal type string along to the remote server.  The
 > remote server probably inspects that value looking for the name of a game to
 > launch, and doesn't recognize what it's getting.  That's my guess anyway.
 >
 > If the remote server is only for a single game, or a games menu, then they
 > can fix this by not using the terminal-type string for anything.
 >
 > You may be able to unset the terminal type string prior to initiating the
 > rlogin connection to the remote server:
 >
 > - Copy exec/rlogin.js to your mods/ directory
 > - Edit mods/rlogin.js
 > - Locate the line that reads: bbs.rlogin_gate(argv[0], flags);
 > - Above that line, insert this:
 >   bbs.rlogin_terminal = '';
 > - Try launching the game via the web UI

The bbs.rlogin_gate() method already supports an optional 3rd string
argument for the terminal-type (e.g. bbs.rlogin_gate(argv[0], alias, name,
'', flags)).

 > That might work.  You might need to do "console.terminal =
'';" instead, or
 > both.  I am not sure if these values are writable.  DigitalMan would know.

It would be console.terminal. The bbs.rlogin_terminal is not used for
outbound telnet/rloging gating.

 > If that does work, it's not the greatest solution and we can refine it from
 > there.

I'm very curious to know. The default terminal string that the outbound
rlogin gateway sends is:

        "%s/%lu", terminal, cur_rate

... where terminal is the 'console.terminal' value and cur_rate is likely
30000. If there's already a slash in the terminal value, perhaps we
shouldn't be adding the /<cur_rate>.

                                            digital man

Synchronet "Real Fact" #18:
Rob Swindell first learned to program in C by hacking on WWIV BBS software.
Norco, CA WX: 95.8F, 19.0% humidity, 7 mph NE wind, 0.00 inches rain/24hrs
--- SBBSecho 3.07-Linux
 * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
SEEN-BY: 103/705 154/10 203/0 218/700 221/0 1 6 360 229/426 240/5832 280/464
SEEN-BY: 280/5003 320/219 396/45 423/120 633/0 267 280 281 384 410 412 509
SEEN-BY: 640/1321 1384 712/848 770/1 2452/250 3634/12
@PATH: 103/705 280/464 221/1 640/1384 633/280 267


<<< Previous Index Next >>>