Files
bbs-server/README.md
2026-03-10 21:26:04 +01:00

1.7 KiB

Teletype BBS Server

A modern, Go-based Bulletin Board System (BBS) server designed for Telnet access. It features community tools, wiki integration, and a game catalog, all rendered with retro-style ANSI graphics.

Quick Start

Prerequisites

  • Go 1.26 or higher
  • A Wiki.js instance (optional, for Wiki features)

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd bbs-server
    
  2. Install dependencies:

    go mod download
    
  3. Set up environment variables (optional but recommended for Wiki access):

    export WEBAPP_WIKIJS_TOKEN="your-wiki-js-api-token"
    
  4. Run the server:

    go run main.go
    

The server starts on 0.0.0.0:2323 by default.

Connecting

You can connect to the BBS using any standard Telnet client:

telnet localhost 2323

Configuration

  • Host/Port: Currently hardcoded in main.go for simplicity.
  • Wiki API: Configured in lib/repository.wiki.go.
  • Games API: Configured in lib/repository.catalog.go.
  • Internationalization: Text is managed in lib/sys.i18n.go using a map-based system.

Project Structure

  • main.go: Entry point and network listener.
  • lib/: Core logic and modules.
    • repository.*.go: Data fetching from external APIs (Wiki, Games).
    • menu.*.go: Logic for individual BBS sections.
    • sys.print.go: Telnet-specific I/O and ANSI rendering.
    • sys.header.go: Core state and UI layouts.
    • sys.i18n.go: Translation maps.

Development

To build a production binary:

go build -o bbs-server main.go

To run with Docker:

docker-compose up --build