---
title: 'WarpEngine BBS'
url: 'https://wiki.teletypegames.org/hu/services/warp-engine-bbs'
markdown: 'https://wiki.teletypegames.org/hu/services/warp-engine-bbs.md'
lang: hu
date: '2026-10-31'
description: '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 …'
taxonomy:
  tag:
    - howto
---

# WarpEngine BBS

> 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](https://bbsweb.teletypegames.org)-en, és a [TTG Gate BBS](https://wiki.teletypegames.org/hu/services/ttg-gate-bbs)-en át is

# Áttekintés

Ruby alkalmazás a [**rubbs**](https://git.teletypegames.org/engines/rubbs) gemre építve, mint a [Teletype BBS](https://wiki.teletypegames.org/hu/services/teletype-bbs), a [Feedia BBS](https://wiki.teletypegames.org/hu/services/feedia-bbs) és a [TTG Blog BBS](https://wiki.teletypegames.org/hu/services/ttg-blog-bbs). A [WARP64U](https://wiki.teletypegames.org/hu/stores/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:

- **Modern**: ANSI-színek, ablakok, menük és egér (SyncTERM, NetRunner, PuTTY, bbsweb). Letöltés **ZMODEM**-mel, **XMODEM-1K**-val vagy **XMODEM**-mel.
- **Commodore 64**: PETSCII 40×25-ön, C64-es terminálprogramhoz (CCGMS, Novaterm, UltimateTerm) WiFi-modem mögött. Letöltés **XMODEM-1K**-val vagy **XMODEM**-mel.

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.

# A polcok

| 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](https://wiki.teletypegames.org/hu/stores/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.

# Letöltés

**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).

# Beállítások és adatok

| 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`](https://git.teletypegames.org/bbs/warp-engine-bbs/src/branch/master/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 motorháztető alatt

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.

'; 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: [Discord Updater bot](https://wiki.teletypegames.org/hu/services/updater.md)
- Next: [TTG Wiki BBS](https://wiki.teletypegames.org/hu/services/wiki-bbs.md)
