---
title: 'Commodex BBS'
url: 'https://wiki.teletypegames.org/hu/services/commodex-bbs'
markdown: 'https://wiki.teletypegames.org/hu/services/commodex-bbs.md'
lang: hu
date: '2026-11-01'
description: 'A BBS-hálózat Commodore 64-es játékkézikönyve: keress csaknem 2900 cím között, nézd meg, ki és mikor készítette, olvass róluk, és cserélj csalásokat, tippeket a többi hívóval. Elérhető: teletypegames.org:2331, böngészőben a bbsweb-en, és a TTG Gate BBS-en át is Áttekintés Ruby-alkalmazás a rubbs …'
taxonomy:
  tag:
    - howto
---

# Commodex BBS

> A BBS-hálózat Commodore 64-es játékkézikönyve: keress csaknem 2900 cím között, nézd meg, ki és mikor készítette, olvass róluk, és cserélj csalásokat, tippeket a többi hívóval.
> 
> **Elérhető: `teletypegames.org:2331`**, böngészőben 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), az [Alexandria BBS](https://wiki.teletypegames.org/hu/services/alexandria-bbs) és a [WarpEngine BBS](https://wiki.teletypegames.org/hu/services/warp-engine-bbs).

Két arca van egy porton:

- **Modern**: ANSI-színek, ablakok, menük és egér (SyncTERM, NetRunner, PuTTY, bbsweb). Keresés párbeszédablakban, játéklisták a kiválasztott játék kártyájával jobbra, a Wikipédia-bevezető görgethető ablakban, a tippek, és egy űrlap az új tipphez.
- **Commodore 64**: PETSCII 40×25-ön, C64-es terminálprogramhoz (CCGMS, Novaterm, UltimateTerm) WiFi-modem mögött. Egybillentyűs menü, számozott listák, játékonként egy oldal, egy sor a kereséshez és egy szerkesztősor a tipphez.

A hívás a rubbs `BBS::Terminal` kérdésével indul: a RETURN elfogadja a tippet, az `1` a modern arcot, a `2` a C64-est választja.

# Honnan jönnek az adatok

| Mi | Forrás | Licenc |
|---|---|---|
| A katalógus: cím, év, kiadók, fejlesztők, tervezők, zeneszerzők, műfajok, játékmódok, sorozat | [Wikidata](https://www.wikidata.org): minden videojáték, amelynek platformja a Commodore 64 (P400 = Q99775) | CC0 |
| Egy játékról | az angol Wikipédia-cikk bevezetője, kérésre lekérve | CC BY-SA 4.0, a képernyőn feltüntetve |
| Csalások és tippek | a hívók; egy admin ellenőrzi, mielőtt megjelennek | a hívóké |

A katalógus pillanatképe a boarddal együtt érkezik (`config/catalog.json.gz`); a futó board hetente újraolvassa a Wikidatát, és az új példányt a `data/`-ban tartja. Sikertelen frissítéskor a régi pillanatkép marad. Az év a C64-re megadott első megjelenési dátum, ha a Wikidatában van ilyen, különben a legkorábbi dátum, ezért néhány játékteremi átiratnál a játékteremi év látszik.

A GameBase64-et **nem** használjuk: a licence tiltja, hogy a GB64-adatok a GB64 Team írásos engedélye nélkül nyilvános boardra kerüljenek. Ha megadják, egy GB64-importáló kiegészítheti a Wikidata-katalógust.

# Használat

**Modern terminálon:**

| Billentyű | Művelet |
|---|---|
| F2 | Cím keresése |
| F3 | Véletlen játék |
| Games menü | By year, By genre, By company, With tips |
| Enter vagy Alt-B | A játék Wikipédia-bevezetője |
| Alt-T | A játék tippjei |
| Alt-D | Tipp hozzáadása (az Alt-S elküldi) |
| F10 | A menü |
| Alt-X | Kilépés |

**Commodore 64-en** a főmenü: `S` keresés, `Y` év szerint, `G` műfaj szerint, `C` cég szerint, `R` véletlen játék, `T` tippes játékok, `I` a boardról, `Q` kilépés. Egy játék oldalán: `W` Wikipédia, `T` tippek, `A` tipp hozzáadása, `Q` vissza.

Az új tipp egy adminra vár; addig csak a beküldője látja a köszönetet. Egy hívás három tippet küldhet, 30 másodpercenként egyet, és a board óránként legfeljebb 30-at fogad.

# Beállítások és adatok

| Változó | Alapérték |  |
|---|---|---|
| `COMMODEX_BBS_CATALOG_SEED` | `config/catalog.json.gz` | a képpel érkező pillanatkép |
| `COMMODEX_BBS_CATALOG` | `data/catalog.json.gz` | a frissítés által írt pillanatkép |
| `COMMODEX_BBS_CATALOG_TTL` | `604800` | ennyi másodperc után olvassa újra a Wikidatát; `0`: soha |
| `COMMODEX_BBS_WIKIPEDIA_CACHE` | `200` | a memóriában tartott Wikipédia-bevezetők |
| `COMMODEX_BBS_TIPS_DB` | `data/tips.sqlite3` | a tippek |
| `COMMODEX_BBS_TIPS_SEED` | `config/tips.yml` | a boarddal érkező, eleve jóváhagyott tippek |
| `COMMODEX_BBS_DISCORD_WEBHOOK` | üres (ki) | minden új tippnél szól; titok, a szerveren a `.env`-ben |

Az adminok a szerveren moderálják a tippeket:

```sh
docker exec commodex-bbs bin/tips list           # a várakozó tippek
docker exec commodex-bbs bin/tips approved       # a jóváhagyottak
docker exec commodex-bbs bin/tips approve ID     # mostantól látszik
docker exec commodex-bbs bin/tips reject ID      # sosem látszik
```

A `bin/refresh-catalog` egy fejlesztői checkoutban új pillanatképet ír a Wikidatából.

# A motorháztető alatt

A masterre pusholás a Woodpeckerből élesít (RuboCop, compose-ellenőrzés, `ci-deploy commodex-bbs`); a konténer neve `commodex-bbs`, a helye `/srv/stacks/commodex-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` (`GameModel`, `TipModel`, `SummaryModel`; a katalógus-, Wikidata-, Wikipédia- és tipp-repository; `CatalogService`, `AboutService`, `TipService`; a `CommodexBBS` kompozíciós gyökér) semmit sem tud a telnetről, a `lib/ui` pedig a `UI::Modern`-t és a `UI::Petscii`-t tartalmazza. A katalógus a memóriában él (az egész board kb. 30 MB), a tippek SQLite-ban, így a `bin/tips` és a board ugyanazt látja.

'; 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: [BBS Web](https://wiki.teletypegames.org/hu/services/bbsweb.md)
- Next: [Discord botok](https://wiki.teletypegames.org/hu/services/discord-bots.md)
