---
title: 'TTG Gate BBS'
url: 'https://wiki.teletypegames.org/hu/services/ttg-gate-bbs'
markdown: 'https://wiki.teletypegames.org/hu/services/ttg-gate-bbs.md'
lang: hu
date: '2026-10-30'
description: '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…'
taxonomy:
  tag:
    - howto
---

# 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](https://bbsweb.teletypegames.org)-en (az utolsó kártya)

# Áttekintés

A TTG Gate BBS egy tárcsázómenü és semmi több, a [bbsweb](https://bbsweb.teletypegames.org) 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](https://wiki.teletypegames.org/hu/engines/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](https://wiki.teletypegames.org/hu/services/bbs-network) 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](https://wiki.teletypegames.org/wiki-assets/ttg-gate-bbs/c64-tabs-own-servers.png)

# 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](https://wiki.teletypegames.org/wiki-assets/ttg-gate-bbs/c64-tabs-discovery.png)

![Egy board oldala a C64-es arcon](https://wiki.teletypegames.org/wiki-assets/ttg-gate-bbs/c64-tabs-board-page.png)

![Sources a C64-es arcon](https://wiki.teletypegames.org/wiki-assets/ttg-gate-bbs/c64-tabs-sources.png)

## 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](https://teletypegames.org/contact): Discord vagy e-mail). A bejegyzés a [`config/discovery-optout.yml`](https://git.teletypegames.org/bbs/ttg-gate-bbs/src/branch/master/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](https://nodelist.fidonet.cc) (Z2DAILY, a NodelistDB-n át) | a telnetcímmel bíró node-ok: név, hely, sysop, FTN-cím |
| [fsxNet nodelist](https://fsxnet.nz) | ugyanez az fsxNetre |
| [Micronet nodelist](https://minftn.outpostbbs.net) | ugyanez a Micronetre |
| [Synchronet BBS List](https://www.synchro.net/sbbslist.html), a Vertrauen exportja | név, sysop, hely, szoftver, címek, hálózatok, indulás éve |
| [SyncTERM BBS list](http://synchro.net/syncterm.lst) | név és telnetcím |
| [CBBS Outpost (commodorebbs.com)](https://www.commodorebbs.com), a Commodore-boardok listája | név, telnetcím, hely, szoftver, hardver, weboldal |
| [Telnet BBS Guide (telnetbbsguide.com)](https://www.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](https://db-ip.com) 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`](https://git.teletypegames.org/bbs/ttg-gate-bbs/src/branch/master/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](https://wiki.teletypegames.org/hu/services/bbs-network) 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.

'; var prevLevel = 2; for (var i = 0; i < headings.length; i++) { var h = headings\[i\]; var text = h.textContent.trim(); var slug = text.toLowerCase() .replace(/\[áàâä\]/g,'a').replace(/\[éèêë\]/g,'e').replace(/\[íìîï\]/g,'i') .replace(/\[óòôöő\]/g,'o').replace(/\[úùûüű\]/g,'u') .replace(/\[^a-z0-9\]+/g, '-').replace(/^-|-$/g, ''); if (!slug) slug = 'heading-' + i; if (used\[slug\]) { slug += '-' + i; } used\[slug\] = true; h.id = slug; var level = parseInt(h.tagName.charAt(1)); var cls = level > 2 ? ' class="toc-child"' : ''; html += '- [' + text + '](#'%20+%20slug%20+%20')
'; } html += '
'; toc.innerHTML = html; // Scroll-spy: highlight current heading var links = toc.querySelectorAll('a'); var ids = \[\]; for (var j = 0; j < links.length; j++) ids.push(links\[j\].getAttribute('href').slice(1)); function updateActive() { var current = ''; for (var k = 0; k < ids.length; k++) { var el = document.getElementById(ids\[k\]); if (el && el.getBoundingClientRect().top <= 80) current = ids\[k\]; } for (var m = 0; m < links.length; m++) { links\[m\].parentNode.classList.toggle('active', links\[m\].getAttribute('href') === '#' + current); } } window.addEventListener('scroll', updateActive, { passive: true }); updateActive(); })();

---

## Navigation

- Parent: [Szolgáltatások](https://wiki.teletypegames.org/hu/services.md)
- Previous: [TTG Blog BBS](https://wiki.teletypegames.org/hu/services/ttg-blog-bbs.md)
- Next: [Discord Updater bot](https://wiki.teletypegames.org/hu/services/updater.md)
