Table of Contents

Running a hub

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).

How a hub works

 member BBS --RLogin--> connector ==SSH tunnel==> hub --RLogin--> door BBS
 (caller)               (member's machine)        (doorhub)      (your Synchronet)

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

What you need

Prepare the door BBS

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:

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.

Install the hub

Then add games and member BBSes, and open it to the internet (Internet and security).

Try it yourself first

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.