SYSOP

Account Services BBS

Dial 555-2228 to Launch

Introduction

Every bulletin board system worth its salt had a SYSOP -- the System Operator, the person who kept the lights on, managed the user accounts, and occasionally had to reboot the server at three in the morning because someone uploaded a file that crashed the message base. The SYSOP was part technician, part community manager, and part benevolent dictator. If you wanted access, you called the SYSOP line.

The SYSOP Account Services system on the Emulator.ca network serves a similar purpose, though thankfully without the three-in-the-morning emergencies. This is where you create and manage your Emulator.ca account -- the single identity that follows you across every BBS, game, and service on the network.

As a guest, your progress is stored locally in your browser. Clear your cache, switch devices, or sneeze too hard, and your achievements, equipment, and statistics evaporate like morning dew. When the live Emulator.ca account gateway is reachable, registering an account through SYSOP syncs your data to the cloud. Your handle, your achievements, and your unlocked equipment travel with you. Log in from your bedroom Commodore, your office terminal, or your cousin's Tandy -- your identity follows.

SYSOP supports multiple authentication methods when the account gateway is live: traditional handle-and-password registration, OAuth login through Google and GitHub, and modern passkey authentication for the truly security-conscious. On a Worker static deployment without the account gateway, SYSOP clearly switches to LOCAL-ONLY mode: your browser-local guest progress still works, but registration, login, OAuth, passkeys, device linking, and cloud sync are unavailable until the gateway returns.

Your handle is your identity on the Emulator.ca network. It appears when you post messages, play multiplayer games, and earn achievements. Choose wisely -- handles must be 3-16 characters, letters, numbers, and underscores only. Handles are displayed in uppercase.

Quick Start

  1. Dial the SYSOP line: ATDT555-2228
  2. Read the mode line: LIVE ACCOUNTS means cloud account features are available; LOCAL-ONLY means this call uses browser-local progress only
  3. Choose an action from the welcome menu
  4. To register in live mode: Press R, choose a handle, set a password
  5. To login in live mode: Press L, enter your handle and password
  6. Explore your achievements, equipment, and account settings

If this is your first time on the Emulator.ca network, you are currently a guest. Your guest session tracks basic stats locally. Registering an account requires the live account gateway; if SYSOP reports LOCAL-ONLY mode, keep exploring and your guest progress will stay in this browser.

Most Emulator.ca experiences run entirely in your browser from static files. SYSOP's account gateway is optional live infrastructure. When it is not reachable, the terminal says LOCAL-ONLY, hides OAuth/passkey/device-linking options, and explains that guest progress is saved only in this browser.

Getting Connected

Dial 555-2228 to reach the SYSOP Account Services system. After the modem handshake completes, you will see:

+------------------------------------------------------------+
|                                                              |
|                  EMULATOR.CA SYSOP                           |
|                                                              |
|              ACCOUNT SERVICES                                |
|                                                              |
+------------------------------------------------------------+

  CURRENT ID: GUEST_A7B3
  Mode: LIVE ACCOUNTS

  [R] Register New Account
  [L] Login to Existing Account
  [G] Login with Google
  [H] Login with GitHub
  [P] Register with Passkey
  [K] Login with Passkey
  [A] About This System
  [Q] Hang Up

  Choice: _

The menu displayed depends on your current session state and on gateway availability. Guests see registration and login options. Registered users see account management options. OAuth, passkeys, and device-linking options appear only when the account gateway reports that they are live.

Terminal Settings

Setting Value
Baud Rate 300
Data Bits 8
Parity None
Stop Bits 1
Terminal TTY/VT100

Guest Menu

When connecting as an unregistered guest, the following options are available:

Key Action
R Register a new account with handle and password
L Login to an existing account
G Login or register with Google (OAuth)
H Login or register with GitHub (OAuth)
P Register a new account with a passkey
K Login with an existing passkey
A About this system
Q Hang up and disconnect

OAuth options (G and H) and passkey options (P and K) appear only when the live account gateway advertises them. Passkeys also require WebAuthn support in your browser. In LOCAL-ONLY mode, R and L explain that cloud account creation and login require the live gateway.

Registration

Handle and Password Registration

Select R from the guest menu to begin the registration process.

If SYSOP is in LOCAL-ONLY mode, selecting R displays an account-gateway unavailable notice instead of asking for a password. This avoids creating a fake local account that could collide with a future real handle. Your guest progress remains saved locally in this browser.

Step 1: Choose a Handle

Your handle must be:

The system checks availability automatically. If your chosen handle is taken, you will be prompted to choose another.

Step 2: Create a Password

Your password must be at least 8 characters. It is not echoed to the screen for security.

Step 3: Confirm Password

Re-enter your password to confirm. If the passwords do not match, you will be asked to start again.

Upon successful registration:

*** ACCOUNT CREATED SUCCESSFULLY ***

Welcome, LIGHTNING_BOLT!
Your data will now sync to the cloud.

You are now a registered user and will be taken to the account menu.

OAuth Registration

When OAuth is available, select G (Google) or H (GitHub) from the guest menu. A popup window will open in your browser for secure authentication. Your email address is never shared with Emulator.ca. If your browser blocks popups, you will need to allow them for this site.

Upon successful OAuth login, a new account is created automatically (or you are logged into your existing account if you have previously linked that provider).

Passkey Registration

When passkeys are available, select P from the guest menu to register with a passkey. Choose a handle as described above, then follow your device's prompts to create a passkey. This method requires a compatible browser and device (most modern platforms support WebAuthn).

Login

Handle and Password Login

In live mode, select L from the guest menu. Enter your handle (3+ characters) followed by your password. Upon success:

*** LOGIN SUCCESSFUL ***

Welcome back, LIGHTNING_BOLT!

OAuth Login

When OAuth is available, select G or H to authenticate via Google or GitHub respectively. The browser popup handles the authentication flow.

Passkey Login

When passkeys are available, select K from the guest menu. Your device will present available passkeys. Select the appropriate one and authenticate using your fingerprint, face, or PIN.

Registered User Menu

Once logged in, the menu changes to show account management options:

  LOGGED IN AS: LIGHTNING_BOLT

  [1] My Achievements
  [2] My Equipment
  [3] Link Another Device
  [4] Link Google/GitHub
  [5] Manage Passkeys
  [A] About This System
  [X] Logout
  [Q] Hang Up

  Choice: _
Key Action
1 View your achievements and statistics
2 View your unlocked equipment
3 Link another device to your account
4 Link a Google or GitHub account
5 Manage your passkeys (add, rename, delete)
A About this system
X Logout (return to guest mode)
Q Hang up and disconnect

In LOCAL-ONLY mode, a stale registered browser session can still view local achievements and equipment and can still log out locally, but link-device, OAuth, and passkey management rows are hidden. An Account Status row explains that cloud sync is paused.

Achievements

Select 1 from the registered menu to view your achievements and statistics.

Statistics

The system tracks your activity across the entire Emulator.ca network:

Achievement List

Achievements are earned automatically as you explore the network. Each achievement has a name, description, and may unlock an equipment reward. Your most recent achievement is highlighted with a star.

=== STATISTICS ===

  Programs Saved:   3
  Messages Sent:    12
  Games Completed:  2
  BBSes Visited:    7

=== ACHIEVEMENTS ===

  * FIRST STEPS
    Visit your first BBS
    Reward: Retro Modem Skin

  . HELLO WORLD
    Save your first programme

Equipment

Select 2 from the registered menu to view your unlocked equipment and current loadout.

Equipment falls into three categories:

Category Description
Modem Visual skins for the modem hardware display
Display Display styles affecting the terminal appearance
Theme Colour themes for the overall interface

All users begin with default equipment in each category. Additional items are unlocked by earning achievements. The equipment screen shows your currently equipped items and lists all non-default items you have unlocked.

=== CURRENTLY EQUIPPED ===

  Modem:   Standard Bell 103
  Display: Amber Phosphor
  Theme:   Default Green

=== UNLOCKED ITEMS ===

  Modems:
    . Hayes Smartmodem 300
  Displays:
    . VT100 Classic

Equipment customisation -- changing your active loadout from this screen -- is not wired in the launch SYSOP screen. Currently, the equipment screen displays your unlocked items for reference.

Device Linking

Select 3 from the registered menu to access device linking.

Device linking allows you to access your account from multiple devices without re-entering your password. Generate a one-time link code on this device, then enter it on your other device to establish the connection.

Device linking endpoints are not available in the launch SYSOP screen. Use your handle/password, OAuth provider, or passkey on each device where the live account gateway offers them.

Account Linking (OAuth)

Select 4 from the registered menu to link a Google or GitHub account.

If you registered with a handle and password, you can additionally link a social login provider for convenience. Once linked, you can sign in using either method. Your email is never shared.

The system dynamically queries the server for available providers and displays only those that are enabled.

Passkey Management

Select 5 from the registered menu to manage your passkeys. This option appears only if your browser supports the WebAuthn standard.

Viewing Passkeys

The system lists all passkeys registered to your account, showing each passkey's name and ID.

Adding a Passkey

Press A to add a new passkey. Your device will prompt you to create one. Multiple passkeys can be registered to a single account -- useful if you have both a laptop and a mobile device.

Renaming a Passkey

Press R and enter the number of the passkey to rename. Then enter the new name.

Deleting a Passkey

Press D and enter the number of the passkey to delete. You must type YES to confirm. The system warns you if you are about to delete your last passkey, as this may leave you unable to log in via passkey.

Command Reference

Guest Menu

Key Action
R Register new account (handle/password)
L Login (handle/password)
G Login with Google
H Login with GitHub
P Register with Passkey
K Login with Passkey
A About this system
Q Hang up

Registered Menu

Key Action
1 My Achievements
2 My Equipment
3 Link Another Device
4 Link Google/GitHub
5 Manage Passkeys
A About this system
X Logout
Q Hang up

Passkey Management

Key Action
A Add new passkey
R Rename a passkey
D Delete a passkey
B Back to menu

Quick Reference Card

+================================================================+
|              SYSOP QUICK REFERENCE CARD                          |
|================================================================|
|                                                                  |
|  PHONE: 555-2228           SPEED: 300 BAUD                      |
|                                                                  |
|  GUEST OPTIONS                                                   |
|  -------------------------------------------                    |
|  R ............... Register (handle/password)                    |
|  L ............... Login (handle/password)                        |
|  G ............... Login with Google                              |
|  H ............... Login with GitHub                              |
|  P ............... Register with Passkey                          |
|  K ............... Login with Passkey                             |
|  A ............... About this system                              |
|  Q ............... Hang up                                        |
|                                                                  |
|  REGISTERED OPTIONS                                              |
|  -------------------------------------------                    |
|  1 ............... My Achievements                                |
|  2 ............... My Equipment                                   |
|  3 ............... Link Another Device                            |
|  4 ............... Link Google/GitHub                              |
|  5 ............... Manage Passkeys                                 |
|  X ............... Logout                                         |
|  Q ............... Hang up                                        |
|                                                                  |
|  HANDLE RULES                                                    |
|  -------------------------------------------                    |
|  3-16 characters, A-Z 0-9 _ only                                |
|  Cannot start with GUEST_                                        |
|  Must be unique on the network                                   |
|  Password: 8+ characters, not echoed                             |
|                                                                  |
+================================================================+

Troubleshooting

Cannot Register -- Handle Already Taken

Problem: The system reports your chosen handle is unavailable.

Solution: Choose a different handle. Handles are unique across the Emulator.ca network. Try adding numbers or underscores to make yours distinctive.

Password Does Not Appear When Typing

Problem: Nothing shows on screen when entering your password.

Solution: This is by design. Passwords are not echoed to the terminal for security. Type your password and press ENTER -- it is being recorded even though you cannot see it.

OAuth Popup Blocked

Problem: Selecting Google or GitHub login does not open a window.

Solution: Your browser is blocking popup windows. Allow popups for the Emulator.ca site and try again.

Passkey Options Not Shown

Problem: The P and K options do not appear in the guest menu.

Solution: Your browser does not support the WebAuthn standard required for passkeys. Use a modern browser (Chrome, Firefox, Safari, or Edge) on a supported device.

Achievements Not Updating

Problem: You completed a game or visited a BBS, but the achievement does not appear.

Solution: Achievements are evaluated based on your session statistics. Ensure you are logged in as a registered user before completing the action. Some achievements may require the session to sync, which happens automatically.

Lost Access to Account

Problem: You have forgotten your password and cannot log in.

Solution: If you linked a Google or GitHub account, use that method to log in. If you registered a passkey, use that instead. If none of these apply, there is currently no password reset mechanism -- contact the system operator for assistance.

Equipment Not Changing

Problem: You have unlocked new equipment but cannot equip it.

Solution: Equipment customisation (changing your active loadout) is not wired in the launch SYSOP screen. Currently, unlocked equipment is displayed for reference only.