EN /HU | Belépés

TTG Gate BBS

Egy cím a hálózat összes boardjához: válassz egyet a menüből, és a gate átkapcsol; amikor az a board bont, visszakerülsz a menübe. És a Global Discovery: a világ többi telnetes BBS-e egy kereshető listában, mindegyik a legutóbbi hívásunk eredményével, ugyanígy tárcsázva.

Élesben: teletypegames.org:2399, és böngészőből a bbsweb-en (az utolsó kártya)

Áttekintés

A TTG Gate BBS egy tárcsázómenü és semmi több, a bbsweb listájának telnetes párja. Saját boardot nem futtat: a kiválasztott board saját portja veszi át a hívást a rubbs telnet-gatewayén (BBS::Gateway) át (a Teletype BBS-nek 2026-11-01 óta nincs saját gateway-doorja: a gate az egyetlen átjáró). Minden board megtartja a kódját, a portját és a deployát; a gate csak a bájtokat viszi.

Mint a BBS-hálózat minden boardjának, ennek is két arca van egy porton, és a hívás ugyanazzal a terminálkérdéssel indul:

  • Modern — a logó és egy kétállású választó, Own Servers | Global Discovery (a TAB vált). Own Servers: boardonként egy sor a saját színében (szám, név, címkék, port), a lista alatt a kiválasztott board leírása és címe. A nyilak választanak, a RETURN vagy a board száma tárcsáz, a Q vagy az Esc bont.
  • Commodore 64 — minden képernyő egy keretben, a C64 tizenhat színében és kis/nagybetűs karakterkészletében: a színes TTG GATE logó a node számával és az órával; két fül, Own Servers és Global Discovery, az aktív a saját színű sávban, jobbra az épp online boardok száma; alattuk az aktív fül almenüje (/Find, Browse, New, Random, Died, Graves, Srcs, a gombjuk sárga); a tartalom a teljes 40 oszlopon; alul a képernyő gombjainak sora. Az Own Servers a C64-es arccal is bíró boardjainkat listázza: a board színének kockája, neve és portja, a lista alatt a kijelölt board leírása, címe és címkéi. Az O és a D bárhonnan fület vált; a CRSR fel és le a listában mozog, a Global Discoveryn a lista tetejéről a CRSR fel az almenübe visz (ott balra-jobbra mozog a sáv, a RETURN megnyit, a CRSR le visszavisz); egy sárga gomb bárhonnan megnyitja a helyét; a RETURN megnyit vagy tárcsáz, a ← vagy a RUN/STOP visszalép, a Q bont.

Own Servers a C64-es arcon

Egy board tárcsázása

A board előbb a saját terminálkérdését teszi fel. A gate jelenti neki a hívó ablakméretét, így modern terminálnál az a tipp; a C64 nem jelent ablakméretet, ezért a board C64-nek veszi. A RETURN elfogadja a tippet.

A boardot a szokott módon hagyd el (kijelentkezés, Alt-X, C64-en Q): a gate jelzi, hogy bontott, és egy gomb visszahozza a menüt.

Global Discovery

A saját boardjaink mellett a gate nyilvános listákból katalógust vezet a világ többi telnetes BBS-éről, és naponta egyszer mindegyiket felhívja, hogy válaszol-e. Kézzel írt adat nincs benne: minden mező egy forráslistából, a saját hívásunkból, a DNS-ből vagy egy rögzített szabálytáblából jön, nyelvi modell nem vesz részt benne. Csak telnet: SSH, rlogin vagy webcím nincs.

Board keresése

A modern arcon a Global Discovery pontjai:

Pont
Every board minden board a halottak kivételével, elöl a válaszolók, aztán név szerint
Search / bárhol; lásd lent
Browse terminál (ANSI, PETSCII, ASCII, ATASCII), szoftver, ország és hálózat szerint, darabszámmal
New this week amelyeket egy lista az elmúlt 7 napban nevezett meg először
Random board egy, amelyik válaszolt a legutóbbi hívásunkra
Recently died az elmúlt 30 napban halottá vált boardok
Graveyard minden halott board: egyet sem törlünk, a története megmarad
Sources a listák, a forrásmegjelölések, a DB-IP és a kimaradás módja

A lista minden board állapotát mutatja: ● online, ◐ akadozó, ✗ nem elérhető (azzal, hogy mióta: „down for 3 days”), † halott, ? még nem hívtuk. Az F állapot szerint szűr, a nyilak és a PgUp/PgDn lapoznak. A board saját oldalán ott a címe, az állapota és a legutóbbi válasza, hogy a mi szerverünkről miért nem értük el (a fel nem oldható név nem ugyanaz, mint egy tűzfal), az elmúlt 30 nap csíkja (█ aznap válaszolt, · nem), minden mező azzal a listával, ahonnan jött, az FTN-cím, a tagek, és a B a bannere első képernyőjével.

A keresés a szavait tagként olvassa, ahol tudja: a petscii hu online a kódolás, az ország és az állapot együtt, a synchronet, fidonet vagy sbl a szoftvert, a hálózatot vagy a listát keresi. A többi szó a nevekben, sysopokban, helyekben, szoftverekben és hostnevekben keres, mindegyik egy ottani szó elejeként. A halott boardok kimaradnak, hacsak a keresés nem mondja, hogy all. Az FTN-mailereket (levelezőprogramok, amelyek egy nodelist telnetcímén válaszolnak, nem BBS-ek) csak a sw:ftn-mailer keresés mutatja.

A Commodore 64-en a D (a Global Discovery fül) ugyanabban a keretben nyitja meg a Global Discoveryt: oldalanként tíz board egy szűrősor alatt (PETSCII, és az F-fel választott állapot: élő, online, akadozó, nem elérhető, még nem hívott), mindegyiken állapotjel (félkocka: világoszöld online, sárga akadozó, piros nem elérhető, szürke halott), név, ország és szoftver, a lista alatt a kijelölt board teljes címe, állapota, válaszideje, szoftvere és terminálja. Csak PETSCII boardok vannak rajta, a halottak csak a Died, a Graves vagy egy all-os keresés alatt, mert a gate a bájtokat változatlanul viszi, és egy ANSI board C64-en szemét. Egy board akkor PETSCII board, ha valamelyik hívásunk PETSCII-t kapott tőle, nem azért, mert egy lista ezt mondja (lásd lent a C64-stílusú hívást). A keresést (/) a gombsorba kell gépelni; a Browse-ban (B) szoftver, ország és hálózat van; az S a Sourcest nyitja. Egy board oldalán a 30 napos sáv, a mezők (a hosszú érték tördelve) a forrásukkal, a címkék és a gombok: a RETURN tárcsáz, a B a PETSCII bannert mutatja. A Sources minden listát a rekordjainak sávjával, az utolsó import állapotával és idejével, a formátumával és feltételeivel mutatja, alatta a mért és a listák szerinti PETSCII-boardok számát.

Global Discovery a C64-es arcon

Egy board oldala a C64-es arcon

Sources a C64-es arcon

Egy katalógusbeli board tárcsázása

A board oldalán a RETURN tárcsáz, ugyanazon a gatewayen át, mint a saját boardjainkat; amikor bont, egy gomb visszahozza az oldalát, a Q (C64-en a ←) pedig a listát ott, ahol tartottál.

  • Csak katalógusbeli board hívható: szabad címet nem lehet beírni, így a gate nem nyílt relé.
  • Hívónként 10 tárcsázás 10 percenként, és egy hostra egyszerre legfeljebb 3 vonal a gate-ből (ezek az alapértékek, beállíthatók, lásd Beállítás).
  • A modern arc rákérdez, mielőtt egy csak C64-re készült boardot hív; a C64-es arc csak PETSCII boardot tárcsáz. Halott board is hívható, egy kérdés után.
  • A tárcsázás a mi hívásaink közé számít: az eredménye bekerül a board történetébe és állapotába, a sikertelen pedig azonnali újrahívást kér a probertől.

Hogyan hívunk egy boardot

A prober a mi szerverünkön fut (teletypegames.org, vps.teletype.hu), és csak a forráslistákban közzétett címeket hívja: nincs szkennelés.

  1. Feloldja a hostot és kapcsolódik, 10 s után feladja.
  2. A telnetkérdésekre rögzített válaszokat ad: terminált ANSI, ablakot 80×25; minden más opciót elutasít.
  3. Legfeljebb 8 másodpercig vagy 4 KB-ig olvas. Ha 4 másodperc alatt semmi sem jön, egyetlen Entert küld, mást nem. Soha nem jelentkezik be.
  4. Bont. Az eredmény ok (jött banner), silent, closed, refused, timeout vagy dns_fail.

A C64-stílusú hívás. Mivel a prober ANSI-terminálnak mondja magát, a hívójához igazodó board ANSI-t mutat neki, egy igazi Commodore 64 (WiFi-modem mögötti terminálprogram, amely nem ismeri a telnetet) viszont PETSCII-t kapna. Ezért azt a boardot, amelyet egy lista Commodore- vagy PETSCII-boardnak mond (a CBBS Outpost minden boardja, a C64 módú SyncTERM-bejegyzés, a PETSCII megjegyzésű SBL-sor, a PETSCII-t említő vagy Commodore-os BBS-programot futtató Telnet BBS Guide-bejegyzés), vagy amelynek a bannere PETSCII volt, a napi hívása után 30 másodperccel, ha az válaszolt, másodszor is felhívja, úgy, ahogy egy C64 hív: ugyanaz a kapcsolat, 4 másodperc csend után egy Enter (CR, 0x0D), de minden telnetopciót elutasít, nincs termináltípus és ablakméret, és hosszabb az olvasás, mert egy tcpser mögötti igazi C64 későn válaszolhat: az első bájtra legfeljebb 20 másodpercig vár, és 25 másodpercig vagy 4 KB-ig olvas. Ugyanahhoz a napi körhöz tartozik, és sosem fut a host egy másik hívása mellett, így ezek a boardok legfeljebb napi két hívást kapnak; sikertelen hívás után nincs C64-stílusú, a csendben maradtat másnap újra megpróbálja. A board állapotába nem számít bele.

A petscii tagot egy board csak akkor kapja meg, ha a két hívás valamelyike tényleg PETSCII-bájtokat kapott. Amit egy lista mond, az claims:petscii lesz, egy kereshető, de meg nem jelenített tag: egy Commodore-ként listázott board, amelynek a C64-stílusú hívása ANSI-t vagy sima szöveget kap, nem PETSCII board. Amelyik board ANSI-t mutat a terminálunknak és PETSCII-t egy C64-nek, mindkét tagot megkapja, és mindkét arcról hívható; mindkét bannert őrizzük, a modern arc az ANSI-t, a C64 arc a PETSCII-t játssza le.

A válaszoló boardot naponta egyszer hívja (± 2 óra), a hibázót 1, 6, majd 24 óra múlva újra, a halottat (30 napja nem válaszolt) hetente; amelyiket már egy lista sem nevez meg, és egy éve halott, azt többé nem hívja. Egyszerre legfeljebb 8 hívás fut, ugyanarra a hostra vagy IP-címre sosem kettő. A szoftver és a kódolás a bannerből jön egy rögzített mintatáblával, az ország az IP-címből.

Kimaradás (opt-out)

A sysop kétféle dolgot kérhet, egy hostnévre vagy IP-címre (annak minden portjára):

  • hide — a boardot nem hívjuk és nem mutatjuk;
  • no_preview — a board listázva van és hívjuk, de a bannerét sosem mutatjuk.

Küldd el a hostnevet vagy a címet és a szintet a Teletype Games csapatának (kapcsolat: Discord vagy e-mail). A bejegyzés a config/discovery-optout.yml-be kerül, és a prober a push után egy órán belül betartja.

Források és forrásmegjelölés

Forrás Mit olvasunk belőle
FidoNet nodelist (Z2DAILY, a NodelistDB-n át) a telnetcímmel bíró node-ok: név, hely, sysop, FTN-cím
fsxNet nodelist ugyanez az fsxNetre
Micronet nodelist ugyanez a Micronetre
Synchronet BBS List, a Vertrauen exportja név, sysop, hely, szoftver, címek, hálózatok, indulás éve
SyncTERM BBS list név és telnetcím
CBBS Outpost (commodorebbs.com), a Commodore-boardok listája név, telnetcím, hely, szoftver, hardver, weboldal
Telnet BBS Guide (telnetbbsguide.com), engedéllyel a havi lista: név, telnetcím, hely, szoftver, weboldal

Az egyes boardok listázott adatait olvassuk, a fájlokat sosem tesszük közzé újra. A CBBS Outpost (commodorebbs.com) listájából csak a tényeket vesszük át, naponta egy kéréssel, a forrásmegjelöléssel minden boardoldalon, amelyet megnevez, és a Sources képernyőn: a sysop nevét, e-mail-címét, felhasználónevét, a képernyőképeket, a megjegyzéseket és az oldal saját online jelzését soha; a Commodore-boardként listázás állítás, amelyet a C64-stílusú hívásunk ellenőriz. A sysopjai kérhetik egy bejegyzés levételét, ahogy a Kimaradás résznél. Az általa listázott boardoknál az ő szoftvere és helye az első. A Telnet BBS Guide (telnetbbsguide.com) listáját az engedélyével használjuk: a hivatalos, terjesztésre szánt havi listáját olvassuk, abból is csak a telnetes bejegyzéseket, az e-mail-címeket és a leírásokat soha (egy leírásból csak azt nézzük, megnevezi-e a PETSCII-t). Ez a legnagyobb lista, de kézzel, havonta szerkesztik, ezért ha egy boardot a nodelistek vagy az SBL is megneveznek, az ő adataik az elsők. Az országok a DB-IP IP to Country Lite adatbázisából jönnek, CC BY 4.0 alatt: IP Geolocation by DB-IP; saját, havonta letöltött példányt használunk.

Beállítás

A boardok a config/boards.yml-ből jönnek, a menü sorrendjében, a bbsweb-kártyáik nevével, leírásával, címkéivel és színével:

Mező
id rövid, egyedi név
name ez látszik a menüben
summary a leírás a modern arcon
tags a név alatti sor a C64-es arcon
port a board portja
accent a board színe, #rrggbb (az xterm 256 színéből vagy a C64-éiből a legközelebbi)
petscii true, ha a boardnak van C64-es arca
enabled false kiveszi a menüből

Egy új board az új board ellenőrzőlistájának részeként ide is bekerül; a masterre pusholás élesíti.

Változó Alapérték
TTG_GATE_BBS_GATEWAY_HOST host.docker.internal itt tárcsázza a boardokat
TTG_GATE_BBS_PUBLIC_HOST teletypegames.org ez a cím látszik minden boardnál
TTG_GATE_BBS_BOARDS config/boards.yml a boardlista
TTG_GATE_BBS_DIAL_WINDOW 600 Global Discovery: a hívónkénti tárcsázási korlát ablaka, másodperc
TTG_GATE_BBS_DIAL_PER_CALLER 10 ennyit tárcsázhat egy hívó az ablakban
TTG_GATE_BBS_DIAL_PER_HOST 3 ennyi vonal mehet a gate-ből egyszerre egy hostra

A motorháztető alatt

A házi szabvány rétegei: BoardModel, BoardRepository (a YAML-fájl), DirectoryService és a TTGGateBBS kompozíciós gyökér; az arcok UI::Modern (a választó, a menü és a Discovery-képernyők) és UI::Petscii (a keret a füleivel és az almenüvel, és a nézetek, csak a változó cellákat küldve). A Global Discovery a lib/domain/discovery/ alatt él: a katalógus egy SQLite-fájl (data/discovery.sqlite3, WAL, FTS5), amelyet a napi import és a prober (saját konténer, ttg-gate-bbs-prober) ír, a gate pedig olvas, a tárcsázásai rögzítését kivéve (BrowseService, DialService). A gateway jelentését egy hívásról a rubbs 0.31 adja (BBS::Gateway::Report). A számok a data/discovery-metrics.prom-ba mennek (ttg_gate_bbs_discovery_*, köztük a tárcsázási korlátok, hogy a hívók és a hostok mennyire közelítik őket, az elutasított tárcsázások okonként, és a tárcsázások ideje és forgalma) a Grafanának. A masterre pusholás a Woodpeckerből élesíti (RuboCop, compose-ellenőrzés, ci-deploy ttg-gate-bbs); a konténer ttg-gate-bbs, a /srv/stacks/ttg-gate-bbs-ben, és a boardokat a hoszt portjain éri el (host.docker.internal). Ezekre a belső kapcsolatokra nem vonatkoznak a vps-bbs-firewall IP-nkénti korlátai, így a gate minden hívója egyszer számít.