# PBBS USER MANUAL & SYSTEM GUIDE # Written by Josh KK6SEN # Licensed under the GNU General Public License v3.0 =============================================================================== INITIAL INSTALLATION & SETUP =============================================================================== Before running the BBS for the first time, follow these steps to ensure the system initializes correctly: 1. Create a dedicated directory and place the script inside. 3. Run the script: Start the BBS using Python 3. You must provide your callsign as an argument. python3 my_bbs.py [YOUR_CALLSIGN] 4. Complete the Setup Wizard: On the first run, the BBS will detect the lack of configuration and start the Initial Setup Wizard. You will define the Node Name, Sysops, and Privacy. If set to private messages, you can also define public aliases to be viewed by all. 5. Automatic File Generation: After the wizard, the system automatically creates: - pbbs_config.cfg: Station settings and documentation. - pbbs_data.json: The main message database. - pbbs_heard.json: User connection history tracker. =============================================================================== 1. INTRODUCTION =============================================================================== Welcome to the KK6SEN PBBS, a lightweight, robust Bulletin Board System designed for Amateur Radio packet operations. This system is optimized for Linux-based stations and features advanced 'fcntl' file locking to ensure data integrity even in multi-user environments. This software is open source and is distributed under the terms of the GNU General Public License (GPL) v3.0. =============================================================================== 2. CONNECTING & THE PROMPT =============================================================================== When you connect to the BBS, you will see a welcome banner and a status line showing the available disk space on the host system. The standard command prompt looks like this: [NODE_NAME] B,J,K,L,P,R,S, or Help > To issue a command, type the letter(s) and press Enter. =============================================================================== 3. COMMAND REFERENCE =============================================================================== LISTING MESSAGES ---------------- L List all messages you have permission to see. LL [n] List the last [n] messages (e.g., LL 20). LM List Mine: Shows only unread messages addressed to you. L < [CALL] List messages FROM a specific callsign. L > [CALL] List messages TO a specific callsign. READING MESSAGES ---------------- R [n] Read message number [n]. RM Read Mine: Automatically reads all your unread messages in order. SENDING MESSAGES ---------------- S [CALL] Send a private message to a specific user. SB [CALL] Send a Bulletin (defaults to 'ALL' if callsign is omitted). /EX Type this on a new line to save and exit the message editor. MANAGING MESSAGES ----------------- K [n] Kill (delete) message number [n]. (Requires being the sender, recipient, or a Sysop). KM Kill Mine: Deletes all your read messages. STATION UTILITIES ----------------- J Just Heard: Shows recent users and their last connect time. H or HELP Displays the help menu. B Bye: Disconnects you from the BBS. =============================================================================== 4. MESSAGE STATUS FLAGS (ST COLUMN) =============================================================================== When using the 'L' command, notice the ST column: ! : Pinned Message (Important Sysop announcement) N : New Message (Unread by you) B : Bulletin (Public message) P : Private Message (Restricted visibility if in private mode) =============================================================================== 5. PRIVACY & ACCESS =============================================================================== If the Sysop has enabled Privacy Mode, the system filters message visibility. In this mode, you can only see: 1. Messages sent TO you. 2. Messages sent FROM you. 3. Messages sent to PUBLIC ALIASES you setup (e.g., ALL, TECH, PKTNET). =============================================================================== 6. SYSTEM OPERATOR (SYSOP) COMMANDS =============================================================================== Authorized SYSOPS have extended permissions: - Kill (K) any message on the system regardless of ownership. - Pin (P) [n] to toggle a message's pinned status, forcing it to the top. - The 'P' command appears in the command prompt and help section for Sysops. =============================================================================== 7. DATA INTEGRITY & SELF-HEALING =============================================================================== This BBS utilizes aggressive self-healing. Every change is protected by exclusive Linux file locks. If a database file is ever found to be corrupted, the system will automatically restore the last backup (.bak) to ensure the station stays on the air. ------------------------------------------------------------------------------- Written by Josh KK6SEN Licensed under the GNU General Public License v3.0 ===============================================================================