This page is for sysops who want to host games for other BBSes. A hub is the doorhub program plus a Synchronet BBS on the same machine where the games run (the door BBS).
member BBS --RLogin--> connector ==SSH tunnel==> hub --RLogin--> door BBS (caller) (member's machine) (doorhub) (your Synchronet)
[TAG]Name and a game code. The hub checks that the tag belongs to the account that logged in.[TAG]Name it makes a user on your Synchronet called Name (TAG), with a random password only the hub knows.xtrn=CODE. Synchronet's logon.js runs that door straight away and hangs up when it ends, so the player never sees your BBS's menus.All the hub's data is in one folder:
| File | What it holds |
|---|---|
hub.json | settings, member BBSes, games |
players.json | players: names, door BBS users and passwords, play counts |
host_ed25519 | the hub's SSH host key. Back it up. |
mkuser.js | written by the hub each time it starts; makes users with jsexec |
doorhub.log | the log, when the hub runs as a Windows service |
rlogin_auto_xtrn in logon.js works. This can be your main BBS or a separate one just for the hub.
1. Turn on RLogin. In ctrl/sbbs.ini, section [BBS], make sure Options includes ALLOW_RLOGIN and RLoginPort is set:
[BBS] RLoginPort = 513 Options = XTRN_MINIMIZED | ALLOW_RLOGIN | ALLOW_SSH
The hub connects from the same machine (127.0.0.1). Port 513 does not need to be open to the internet.
2. Turn on direct-to-door logins. In ctrl/modopts.ini, section [logon]:
[logon] rlogin_auto_xtrn = true
3. Check each door you want to share. It needs an Internal Code (SCFG, External Programs, Online Programs) and must be usable by a new user:
ANSI or NOT GUEST are fine; SYSOP is not.
4. Restart Synchronet (or let it recycle) after changing sbbs.ini or modopts.ini.
Your BBS's new-user questions don't affect hub players: the hub makes them with jsexec, not through the new-user form.
Then add games and member BBSes, and open it to the internet (Internet and security).
Before you invite anyone, add your own BBS as a member: doorhub bbs add a tag for it, run a connector on the same machine using the ini it prints (with ssh_host = 127.0.0.1), add a ?doorhub.js door with Access Requirements SYSOP, and play each game through the hub. That's how the Kalgoorlie Door Hub was tested.