This is an old revision of the document!
Telnet Gateway
The Telnet Gateway (telgate.js
) module allows users of your system's Terminal Server to connect to other TCP/Telnet services on the Internet through your BBS. Typically, these services would be other telnetable BBSes, door game servers, and MUDs, although really, you can theoretically create a gate to any single-port TCP service (e.g. POP3, but not FTP).
The module itself (exec/telgate.js
) is just a thin wrapper around the JavaScript function: bbs.telnet_gate()
Usage
To use the module:
Execute telgate.js <address> [mode]
The brackets are not part of the syntax but only used to clarify which arguments are required (<>
) and which are optional ([]
).
When executed from a command-line with the Terminal Server (e.g. as a door), the ?
or *
prefix is required.
If no mode value is specified, the default mode is TG_NONE
.
Address
The <address> argument is the destination address in the format: <IP address or hostname>[:port]
If the TCP port number is not specified, the default is 23 (standard for telnet).
Examples <address> values:
- vert.synchro.net
- 24.0.193.46
- retromud.org:3000
Mode
The valid mode flags (defined in exec/load/sbbsdefs.js
) are:
Flag | Description |
---|---|
TG_ECHO | Echo back to the user's client what it sends (i.e. keyboard input) |
TG_CRLF | Expand sole CR (on input) to CRLF |
TG_LINEMODE | Send entire lines only |
TG_NODESYNC | Call Nodesync, get msgs, etc. |
TG_CTRLKEYS | Interpret control key (e.g. Ctrl-P, Ctrl-U, Ctrl-T, etc.) locally |
TG_PASSTHRU | Pass-through Telnet commands/responses (don't proxy the Telnet command responses) |
TG_RLOGIN | Use BSD RLogin protocol (not Telnet) |
TG_NOCHKTIME | Don't check time left online |
TG_NOTERMTYPE | Request client “DONT TERM_TYPE” |
TG_NOLF | Do not send line-feeds |
TG_RLOGINSWAP | Swap the RLogin alias/real-names |
Multiple mode flags may be specified by ORing them together with the pipe (|
) character, like so:
TG_ECHO|TG_CRLF
Others
Although telgate.js
is the original and most flexible Synchronet Telnet gateway script, there are other bbs.telnet_gate()
wrapper scripts available for your convenience:
Module | Description |
---|---|
mudgate.js | Sets the mode flags based on the needs of a typical MUD server |
unixgate.js | Sets the mode flags based on the needs of a typical Unix Telnet server |
rlogin.js | Actually a wrapper around the bbs.rlogin_gate JavaScript function |
Examples
To set-up an external gateway to another BBS in SCFG->External Programs->Online Programs:
Command line: "?telgate vert.synchro.net"
To set-up an external gateway to a MUD:
Command line: "?mudgate batmud.bat.org"
To set-up an external gateway to a Trade Wars Game Server (TWGS):
Command line: "?rlogin twgs.someserver.com"
While using the telnet gateway (and not currently in telnet “Binary” mode), users can press ctrl-] for a menu of telnet gate commands including: Disconnect, Toggle Echo, List Users, and Private Message.
Legacy
The Baja TELNET_GATE
function and the corresponding exec/*gate.bin
files have been deprecated. Use the corresponding JavaScript alternatives instead.