Viewing revision r1 of Sysop Guide — saved 2026-08-03 01:34 EDT .
“Initial seed content”
Jump to current version Full history

Sysop Guide

The long-form admin overview. Newer than the README, less prescriptive
than the Tutorial. Something broken? Check Troubleshooting
first — it collects the fixes for errors sysops actually hit in
production.

What runs

ANetBBS is a handful of services:

Service What it does
anetbbs-web eventlet's native WSGI server (deploy/serve.py, socketio.run()), single process. Serves the web UI, REST, sockets.
anetbbs asyncio listener on 2233/2234/513 — telnet, SSH, rlogin (one process, which protocols actually start is driven by .env flags)
anetbbs-mrc-bridge persistent MRC connection
anetbbs-finger RFC 1288 Finger daemon
anetbbs-binkp FidoNet BinkP inbound listener

systemctl status anetbbs-web anetbbs anetbbs-mrc-bridge anetbbs-finger anetbbs-binkp
shows the lot.

Daily

Weekly

Monthly

Hub Management

If this install is the designated network hub
(REGISTRY_MODE_ENABLED=true — see ANotherNetwork), an extra
admin surface appears at /admin/echomail/hub/:

A peer install (not the hub) doesn't see this section — it has
nothing of its own to manage there.

PETSCII custom menus

If PETSCII (C64/128) support is enabled, build custom PETSCII
menus at /admin/petscii-menus/ — a separate tree from the ANSI
custom-menu system, with a much smaller action set (boards, echomail,
PMs, files, who's-online, profile, Number Guessing, goto-another-menu,
logoff) since most ANSI actions have no PETSCII equivalent. No
default menu is required — without one, PETSCII sessions fall back
to the built-in Phase 1 menu unchanged.

Scheduled events

/admin/events/ lets a sysop automate routine maintenance instead
of doing it by hand, each on its own daily/hourly/weekly/interval
schedule (times are UTC). Ten built-in handlers ship: a noop test
handler, log rotation, a security-update check, SQLite VACUUM,
TradeWars 2002 daily maintenance, generating the ANotherNetwork
nodelist, an arbitrary shell command, and three InterBBS inbound-sync
handlers (Wall, Last Callers, Game Scores) that auto-appear when
those features are turned on. Worth a look if you're tired of
remembering to do the Monthly items above yourself. Full handler
table and worked examples: Scheduled Events.

On upgrade

  1. Take your own backup if you want extra safety beyond what
    update.sh snapshots automatically (see Backup).
  2. sudo bash update.sh --install-dir /opt/anetbbs — this stops
    services, backs up .env/the DB/systemd units, applies the new
    code, migrates the schema, and restarts everything itself. No
    manual stop/start needed.
  3. Hard-refresh your browser to bust cached CSS.
  4. Watch journalctl -u anetbbs-web -f for a minute to catch
    any column-add migration noise.

Where things live

Admin tools reference

Smaller admin pages that don't warrant their own wiki page, grouped by
what they manage. All are under Admin in the navbar.

Users & access

Tool Path What it does
New User Questions /admin/newuser-questions Custom sign-up questions shown right after registration; answers are stored per user.
Inactive Users /admin/inactive-users?days=N Accounts with no login in N days (default 90) — mass PM, deactivate, or delete.
Registration Attempts /admin/registration-attempts Paginated log of every signup attempt, success and failure.
Chat Bans /admin/chat-bans Mute a user from MRC chat — one room or all, optional expiry. Expired bans auto-clear the next time you open the page.
Time Budgets /admin/time-budgets Per-user daily time-online allowance / time-bank balance.

Messages

Tool Path What it does
Default Echo Subs /admin/default-echos Toggles which echo areas are subscribed install-wide — a global default, not yet a per-new-user template.

Network

Tool Path What it does
IRC Server Presets /admin/irc-presets The sysop-curated server list shown in the terminal IRC Client menu.

System

Tool Path What it does
Setup Wizard /admin/setup-wizard First-run config — BBS name, sysop info, theme, seed MOTDs, default echoes. Idempotent, safe to re-run any time.
Preflight Checklist /admin/preflight/ Green/red pre-launch readiness probes (disk space, DNS, firewall, email config, and more) with a one-line fix for anything that fails. Meant for right after install and again just before announcing the BBS publicly.
Security Updates /admin/security/ Shows the daily 04:00 UTC OS-package security-patch report; "run scan now" runs it on demand instead of waiting.
Door Errors /admin/door-errors/ Parses logs/door-errors.log (crash traces from the door wrapper) into a readable list; clear it once you've acknowledged the breakage.
Connection Test /admin/connection-test Probes telnet/SSH/rlogin/web/finger/IRC/BinkP ports against any host (defaults to your own) — latency plus whatever banner comes back. Handy for "is my firewall actually open" from the sysop seat itself.
Activity Log /admin/activity Paginated feed of user activity, filterable by type/user/IP.
Check for Updates /admin/upgrades/ Compares your local version against the configured registry and offers one-click download + install — sha256-verified against the same API response before anything is extracted.
Logon/Logoff Modules /admin/login-modules/ Attach an action — graffiti wall, an ANSI screen, a shell command, or a native/Python door — to run automatically at logon or logoff.
Pre-update Backups /admin/backups/ Browse the snapshots update.sh takes before every upgrade (.env, both databases, systemd units, nginx config if present). Restore .env or the database from one, or delete old ones. Only the 3 most recent are kept.

See also