A BBS-hálózat fájlterülete: azok a polcok, amelyeket a teletypegames.org WarpEngine-je a webböngésző nélküli gépeknek tart fenn. Válassz polcot, válassz címet, és vidd haza ZMODEM-mel, Commodore 64-en pedig XMODEM-mel.
Elérhető:
teletypegames.org:2329, böngészőben pedig a bbsweb-en, és a TTG Gate BBS-en át is
Ruby alkalmazás a rubbs gemre építve, mint a Teletype BBS, a Feedia BBS és a TTG Blog BBS. A WARP64U telnetes testvére: ugyanazok a polcok, de a C64-nek csak terminálprogram és modem kell hozzá, store-kliens nem.
Egy porton két arca van:
A hívás a rubbs BBS::Terminal kérdésével indul: a RETURN elfogadja a tippet, az 1 a modernt, a 2 a C64-et választja.
| Polc | Mappa az archívumon |
|---|---|
| Commodore 64 | http://archive.teletypegames.org/C64/ |
| Commodore Plus/4 | http://archive.teletypegames.org/PLUS4/ |
A WarpEngine minden C64-es és Plus/4-es kiadásnál feltölti őket (lásd WARP64U). Mindegyikben van egy INDEX.TXT a polcformátumban (#SHELF 1, file|version|size|crc32|title|author|description), és a board öt perc után újra beolvassa. Egy fájl csak akkor megy ki, ha a mérete és a CRC-32-je egyezik az indexsorával. Ha egy cím közben frissült, a board azt kéri a hívótól, hogy olvassa be újra a polcot.
Modern terminálon a polcok kétpaneles ablakban nyílnak meg, utána a polc címei, jobb oldalon a kiválasztott címmel: verzió, méret, szerző, letöltésszám, leírás és a gombok.
| Billentyű | Művelet |
|---|---|
| Enter vagy Alt-Z | ZMODEM: a SyncTERM, a NetRunner, a Qodem és a bbsweb magától indítja |
| Alt-K | XMODEM-1K |
| Alt-M | XMODEM |
| Alt-R | A polc újraolvasása |
| F2 | A polcok |
| Alt-X | Kilépés |
Commodore 64-en a menü számozva listázza a polcokat, a polc számozva a címeit, és egy cím külön oldalon nyílik meg. Ott az 1 XMODEM-1K-val küldi, az X XMODEM-mel, a Q visszalép. A menü H pontja a C64-en is elmagyarázza.
Az XMODEM nem visz fájlnevet. A protokoll kiválasztása után indítsd el a letöltést a terminálban (a download vagy receive menüjében), add meg a nevet, amit a board mutat (a polcon szereplő név .PRG nélkül), és a fájl programként kerül a lemezre: LOAD"ARIADNE",8,1, majd RUN. A board egy percig vár a terminálra, az Esc vagy a RUN/STOP feladja. Az XMODEM kitölti az utolsó blokkot, ezért a fájl legfeljebb 127 (XMODEM) vagy 1023 (XMODEM-1K) bájttal hosszabb lehet. Egy Commodore-program ugyanúgy betöltődik.
Az átvitelt a rubbs BBS::Zmodem-je és BBS::Xmodem-je végzi (rubbs 0.26.0): a bájtok a PETSCII-kódolót megkerülve mennek ki, a 0xFF duplázott telnet IAC-ként, az XMODEM pedig az átvitel idejére telnet BINARY módot kér. A TTG Gate BBS-en át a letöltés ugyanígy működik: a gateway továbbadja a BINARY-kérést a hívó termináljának (rubbs 0.26.1).
| Változó | Alapérték | |
|---|---|---|
WARP_ENGINE_BBS_ARCHIVE_URL |
http://archive.teletypegames.org |
az archívum sima HTTP-je |
WARP_ENGINE_BBS_SHELVES |
config/shelves.yml |
a polcok és a mappáik |
WARP_ENGINE_BBS_INDEX_TTL |
300 |
ennyi másodpercig tartja meg egy polc INDEX.TXT-jét |
WARP_ENGINE_BBS_DOWNLOAD_MAX |
1048576 |
a legnagyobb elküldött fájl, bájtban |
WARP_ENGINE_BBS_DOWNLOADS |
data/downloads.jsonl |
a sikeres letöltések, soronként egy JSON |
Új polc = egy új bejegyzés a config/shelves.yml-ben (id, name, path, about); a masterre pusholás élesíti. A letöltésnaplóból jönnek a címek mellett látható számok. A boardnak nincsenek titkai.
A masterre pusholás után a Woodpecker élesíti (RuboCop, compose-ellenőrzés, ci-deploy warp-engine-bbs). A konténer neve warp-engine-bbs, a helye /srv/stacks/warp-engine-bbs, a data/ megmarad a deployok között. Az entrypoint induláskor frissíti a rubbs-t.
A kód a házi rétegezést követi: a lib/domain (ShelfModel, TitleModel, a polc-, archívum- és letöltés-repository, a CatalogService és a composition root, WarpEngineBBS) semmit sem tud a telnetről, a lib/ui-ban pedig a UI::Modern, a UI::Petscii és a két arc közös protokollrésze, a UI::Transfer van.