A rubbs-based telnet server that drops every caller into a simulated PC: it POSTs, boots, loads SERMO-DOS, and lands at a C:\> prompt. Built-in DOS commands (VER/DATE/TIME/ECHO/MEM/DIR/CLS/HELP/EXIT) behave; anything else is routed to Sermo::Oracle as a question — the hook for a future LLM. Built on rubbs' configurable BBS::FakeOS engine; the whole OS lives in lib/sermo/dos.rb as a FakeOS.define block, so new character-mode OSes are added as config files, not engine changes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
20 lines
531 B
Ruby
20 lines
531 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'bbs'
|
|
require_relative 'lib/sermo/dos'
|
|
|
|
# SERMO-BBS — a telnet server that drops every caller into a simulated PC:
|
|
# it boots, loads SERMO-DOS, and leaves you at a C:\> prompt you can talk to.
|
|
BBS.configure do |config|
|
|
config.port = (ENV['BBS_PORT'] || 2323).to_i
|
|
config.mouse = false
|
|
config.idle_seconds = (ENV['BBS_IDLE'] || 900).to_i
|
|
end
|
|
|
|
# A caller's whole session is just the simulated machine.
|
|
BBS.config.flow = BBS::Flow.define do
|
|
os Sermo::DOS
|
|
end
|
|
|
|
BBS.start
|