====== Troubleshooting ======

===== What the caller sees =====

^ Message ^ Cause and fix ^
| "Sorry, the Door Hub can't be reached right now." | The member's connector couldn't log in to the hub. The connector log says why (next table). |
| "Connecting to the Door Hub, please wait ..." then straight back to the BBS | The connector isn't running, or isn't on the port ''doorhub.js'' uses. Check it's listening (''ss -ltn | grep 9998'' or ''netstat -an | findstr 9998'') and the ''[doorhub]'' options in ''modopts.ini''. |
| "Your BBS is not allowed on the Door Hub at the moment." | The hub has disabled the member BBS (''doorhub bbs enable TAG''). |
| "Your Door Hub password doesn't match." | The caller's password from their BBS has changed. The hub's sysop runs ''doorhub player reset "[TAG]Name"''. See [[doorhub:players|Players]]. |
| "This connection is not allowed (wrong system tag)." | ''system_tag'' in the member's ini doesn't match its hub account. |
| "Your user name can't be used on the Door Hub." | The name is empty, longer than 30 characters, or contains ''['' or '']''. |
| "Too many players from your BBS are on the Door Hub right now." | ''max_sessions_per_bbs'' reached. |
| "That game is closed at the moment." | The game is disabled on the hub; the caller gets the menu. |
| "Sorry, your Door Hub account could not be set up." | The hub couldn't make the door BBS user. See "Hub problems" below. |
| "Sorry, the games server is down." | The hub couldn't reach its Synchronet RLogin port. |
| "Sorry, the games server refused the login." | Synchronet refused the hub's RLogin login. |
| The Synchronet logon screen, then disconnected, or the hub BBS's own menus | Direct-to-door logins aren't working on the hub. See "Hub problems". |
| The game screen looks wrong | Hub games expect an ANSI terminal, 80 columns by 24 or 25 lines. |

===== Connector log messages =====

^ Message ^ Cause and fix ^
| ''connection refused'' / ''i/o timeout'' | Wrong ''ssh_host'' or ''ssh_port'', the hub is down, or a firewall blocks outgoing traffic to the hub's port. Test with ''ssh -p 2022 test@hub-address'' (it should ask for a password). |
| ''unable to authenticate'' | Wrong ''ssh_username'' or ''ssh_password'', or the hub has disabled the BBS. Ask the hub for a new ini (''bbs passwd''). |
| ''hub key for ... has CHANGED - refusing'' | The hub's key differs from the one saved the first time. If the hub's sysop confirms they reinstalled it, delete ''doorhub_known_hosts'' and restart the connector. Otherwise don't: something is pretending to be the hub. |
| ''missing system_tag, ...'' | The ini is incomplete. |
| ''bind: address already in use'' | Another program uses ''local_port''. Pick another port in the ini and in ''modopts.ini''. |
| ''Bad RLogin start from ...'' | Something other than an RLogin client connected to the connector's port. |

===== Hub problems =====

**"Could not set up ... on the door BBS"** in the hub log (caller sees "account could not be set up"). ''mkuser.js'' failed; the log shows jsexec's last lines. Check:

  * the ''jsexec'' and ''sbbs_ctrl'' settings point at your Synchronet;
  * on Linux, the hub runs as the BBS's user;
  * jsexec works by hand (then delete the test user):

<code bash>
jsexec -c /sbbs/ctrl -n /opt/doorhub/mkuser.js "Test (TST)" pass1234
</code>

It should print ''OK'' and a user number.

**"door BBS unreachable"**: Synchronet isn't running, or RLogin isn't on. Check ''ALLOW_RLOGIN'' and ''RLoginPort'' in ''sbbs.ini'' and the ''backend_rlogin'' setting.

**"door BBS refused RLogin"**: check Synchronet's log for the user ''Name (TAG)''. A user that's been marked deleted or inactive, or a filter on user names or addresses, can cause it.

**The player sees the logon screen and is cut off, or reaches your menus**:

  * ''rlogin_auto_xtrn = true'' is missing from ''[logon]'' in ''modopts.ini'';
  * the INTERNAL CODE given to ''door add'' doesn't match SCFG. Synchronet's log says ''Unable to launch external: 'CODE''';
  * the door's or section's access requirements stop new users (for example ''SYSOP'').

**Members can't connect at all**: check the port forward and DNS ([[doorhub:internet_and_security|Internet and security]]), the hub machine's firewall, and that the hub is running. The members' connector logs usually say exactly what failed.

**''listen tcp :2022: address already in use''**: another program (perhaps another hub, or an SSH server) uses the port. Change ''listen'' and restart.

**Changes don't seem to apply**: every setting except ''listen'' applies at once. If you edited ''hub.json'' by hand and the hub reports a JSON error, fix the file (or restore it from a backup).

===== Getting help =====

Email [[slaterm@theiguru.au]] with the version (''doorhub version''), your system (Linux or Windows, Synchronet version) and the log lines around the problem. Leave out passwords.
