Teletype Games BBS is a high-performance, retro-style bulletin board system designed for modern community interaction over the Telnet protocol. It serves as a central hub for sharing news, guides, and software within the Teletype Games ecosystem.
Access it live at: games.teletype.hu:2323
¶ Features and Capabilities
- Global Message Board: A real-time message board where users can post short messages.
- Online User List: See who else is currently logged into the BBS.
- System Info: A dashboard showing server time, active users, and message counts.
- Wiki Reader: Integrated with Wiki.js. Automatically fetches and renders blog posts and "HowTo" guides.
- Features: Markdown stripping, ANSI-friendly line wrapping, and interactive page selection.
- Game Catalog: A browser for the Teletype Games API. Displays game details, platforms, and download/play links.
- Telnet Protocol Support:
- Handles IAC negotiation (Interpret As Command).
- Echo suppression and Go-Ahead suppression.
- Proper backspace and delete handling for legacy terminals.
- ANSI Rendering Engine: Custom rendering for box headers, horizontal rules, and status badges.
- Responsive Layout: Content is automatically wrapped and padded for a standard 70-character width terminal.
- Concurrent Handling: Each client runs in its own Goroutine, ensuring a smooth experience for multiple simultaneous users.
- Map-Based Internationalization (i18n): All strings are stored in a centralized map, making it easy to swap languages or update content globally.
The board stores messages in memory (thread-safe using mutexes). Users can read the last 30 messages and contribute their own (up to 200 characters).
Uses GraphQL to fetch pages tagged with blog or howto.
- List View: Shows titles, dates, and short descriptions.
- Content View: Fetches full page content, strips non-printable Markdown elements, and wraps text to fit the terminal.
Consumes a JSON REST API.
- Displays software titles, authors, and platforms.
- Provides interactive badges for playable HTML5 versions, downloadable cartridges, and source code.
Keeps track of active connections and usernames. Sorted alphabetically for easy navigation.
Displays environmental configuration status (e.g., whether the Wiki API token is valid) and server-wide statistics.
- Open
lib/sys.i18n.go.
- Update the
En map or add a new map of type T.
- Switch the reference in
main.go's handleClient function.
Colors are defined as ANSI constants in lib/sys.print.go. You can update these values to change the visual theme of the BBS.
https://git.teletype.hu/tools/bbs-server