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
- Dial the SYSOP line:
ATDT555-2228 - Read the mode line:
LIVE ACCOUNTSmeans cloud account features are available;LOCAL-ONLYmeans this call uses browser-local progress only - Choose an action from the welcome menu
- To register in live mode: Press
R, choose a handle, set a password - To login in live mode: Press
L, enter your handle and password - 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:
- 3 to 16 characters long
- Letters, numbers, and underscores only
- Cannot begin with
GUEST_ - Must not already be taken by another user
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:
- Programs Saved -- Number of programmes saved in BASIC, Forth, and other interpreters
- Messages Sent -- Messages posted on bulletin boards, chat, and MUD systems
- Games Completed -- Titles of games you have finished (Pioneer Trail, Dungeon, etc.)
- BBSes Visited -- Unique phone numbers you have dialled
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.