EN /HU | Login

Technologies

Everything named anywhere in this wiki: the languages we write in, the software we run, the libraries we depend on. Libraries are grouped under their language. Nothing comes from a lock file — this is what the wiki talks about, with a link wherever a page exists.

Languages

Language What it is Where we use it Licence
Go Statically typed systems language; cross-compiler and WebAssembly target in the standard toolchain. Ebitengine games, Inkwell, the Updater bot, the wiki fetcher and Countdowner BSD-3-Clause
Ruby Dynamic, object-oriented scripting language. The Catalog API, WarpEngine and the RuBBS gem Ruby / BSD-2-Clause
Python 3 Scripting language present on practically every host. Every store engine — standard library only, because a Batocera box has python3 and no pip PSF-2.0
Rust Memory-safe systems language, built around Cargo crates. Bevy games MIT / Apache-2.0
Lua Small embeddable scripting language. TIC-80 cartridges and LÖVE games MIT
JavaScript The language of the browser. Phaser games and the renderer of the WarpEngine Client ECMA-262 standard; V8 BSD-3-Clause
TypeScript JavaScript with static types, compiled before it ships. The public site's frontend and the WarpEngine Client Apache-2.0
GDScript Godot's own Python-flavoured scripting language. Godot projects MIT (Godot)
C# Godot's second first-class scripting option. Available in Godot ECMA-334 standard; .NET MIT
6502 assembly Machine language of the C64's MOS 6510 and the Plus/4's 7501/8501. Blessing of Ra, Rabbit Scooter — C64, the C64 Demo, the Plus/4 demo — (instruction set)
Free Pascal Compiled Pascal; small self-contained binaries. The Discord thread scheduler GPL-2.0+ (compiler), LGPL-2.1+ with linking exception (RTL)
C / C++ Compiled systems languages: C++ for our 16-bit DOS programs, C for the fantasy console. DOSINST and GMENU, built with Open Watcom for DOS (DOSINST also for Win32); building the TIC-80 Pro binary from source in the builder image ISO standard; Open Watcom Sybase Open Watcom Public License 1.0, GCC GPL-3.0+, Clang Apache-2.0
Java Cross-platform, JVM-hosted language. Running the Unique Tile Finder jar when producing TIC-80 tiles GPL-2.0 with Classpath Exception (OpenJDK)
PHP Server-side scripting language. Grav CMS, which serves this wiki PHP-3.01 (BSD-3-Clause from PHP 8.4)
POSIX sh Lowest common denominator shell, so a curl-piped installer runs where /bin/sh is dash. Every store installer and uninstaller POSIX standard; dash BSD-3-Clause, bash GPL-3.0+
ERB Ruby's embedded templating syntax. WarpEngine's per-platform CI pipeline templates and RuBBS screen templates Ruby / BSD-2-Clause
Twig PHP templating language used by Grav. The wiki theme and its JSON API endpoints BSD-3-Clause

Game engines, frameworks and platforms

Technology What it is Notes Licence
Ebitengine 2D game engine for Go; desktop and WebAssembly from one code base. Powers Rabbit Roller Apache-2.0
Bevy Data-driven ECS engine in Rust, no visual editor — projects are Cargo crates. First-class WASM support MIT / Apache-2.0
Godot Open-source 2D/3D engine with a visual editor and headless export. Exports web plus Windows, Linux and a universal macOS build MIT
LÖVE (Love2D) Lightweight Lua framework for 2D games, packaged as a .love archive. Web builds via love.js zlib
Phaser HTML5 2D framework: WebGL/Canvas, physics, tweens, particles. Needs no compilation — the simplest of our pipelines MIT
TIC-80 Fantasy console with editors for code, sprites, maps, sound and music. The Pro version is a commercial itch.io product; our builder image compiles it from source MIT; the Pro binary is a paid product
Commodore 64 The 8-bit home computer, targeted in assembly as a .prg. PAL, raster-polled, no interrupts — (hardware)
Commodore Plus/4 The 264-series sibling: same 6502 core, TED instead of VIC-II and SID, .prg from $1001. Same ACME toolchain as the C64, xplus4 emulator — (hardware)
Inkwell Our point-and-click framework for Go, a DSL layer over Ebitengine. Implements the SCUMM-era skeleton MIT

In-house engines, services and tools

Project Language What it does Licence
WarpEngine Ruby Mountable Rails engine: retro software catalog, CI pipelines, build endpoints, public JSON API. MIT
RuBBS Ruby Synchronet-style Telnet BBS framework: negotiation, ANSI frame buffer, widgets, themes. MIT
Inkwell Go Point-and-click framework on Ebitengine; every entity is a struct literal in a manager. MIT
warpstore Python Shared core of the store engines: catalog, releases, host matching, state, HTTP — one dependency-free file. MIT
WarpEngine Batocera Store Python Writes a catalog into a Batocera box's ROM folders and merges gamelist.xml. MIT
WarpEngine RetroArch Store Python Renders a catalog as RetroArch .lpl playlists with box art, locally or exported. MIT
WarpEngine Client TypeScript Desktop app showing the catalog as a grid of cards, with the store engine built in. MIT
TTG Batocera Store / TTG RetroArch Store JSON Our own store definitions — a config.json and two wrapper scripts on top of the engines above. MIT
Teletype BBS Ruby The public Teletype Games BBS on teletypegames.org:2323, built on RuBBS. MIT
Updater bot Go Polls the wiki, Redmine and Gitea, announces new activity on Discord; a cache prevents repeats. MIT
Status bot Free Pascal Creates a weekly Discord thread at a set time and posts the opening message. MIT
Countdowner Go Countdown timers for deadlines and releases — see Server. Not declared
wiki-fetcher Go Two-way git sync of the live wiki: takes pushes in on a Gitea webhook, commits the server's edits, parks conflicts on a branch. MIT
backup-scripts Make + shell Dumps databases, mirrors repositories, prunes old dumps, rsyncs off-site. MIT
DOSINST C++ Installs, updates and removes DOS programs from the read-only FTP store at ftp.teletypegames.org; the same source builds DOSINSTW.EXE for Windows 95 and later. GPL-3.0 (because of mTCP)
GMENU C++ Game menu for DOS: lists the game folders with their METADATA.INI data, searches, filters, sorts and starts them; GMEDIT.EXE edits METADATA.INI in a form. NASM assembly up to 1.1.1. MIT
BMAGIC C++ Boot Magic, a boot menu editor for DOS: maps and edits the boot menu of CONFIG.SYS and AUTOEXEC.BAT and the startup options of MSDOS.SYS, with a diff and a backup before every save. MIT

Server and infrastructure software

Software What it is Role here Licence
Nginx HTTP server and reverse proxy. Entry point for all traffic, SSL termination — see Server BSD-2-Clause
Traefik HTTP reverse proxy and load balancer with dynamic routing. Routes the containerised services by Host header MIT
Gitea Self-hosted Git: repositories, code review, issues. Our forge at git.teletypegames.org; also hosts a rubygems package registry MIT
Woodpecker CI CI/CD engine integrated with Gitea. Runs every build; its configuration extension fetches the pipeline from WarpEngine Apache-2.0
Grav Flat-file CMS; content is markdown on disk. This wiki MIT
Redmine Project management and issue tracking. Development tasks, bugs and milestones GPL-2.0
Matomo Privacy-friendly self-hosted analytics. Traffic across the public sites GPL-3.0+
Uptime Kuma Self-hosted uptime monitor with alerts. Availability of every server-side component MIT
Docker & Docker Compose Container runtime and orchestration. Every service on the box, and every CI builder image Apache-2.0 (Engine, Compose); Docker Desktop proprietary
MySQL 8 Relational database. The catalog database behind the Catalog API GPL-2.0 (Community), commercial dual licence
MariaDB MySQL-compatible relational database. Redmine's database — backed up with its own dump script GPL-2.0
PostgreSQL Relational database. The wiki's database — backed up with pg_backup.sh PostgreSQL
phpMyAdmin Web UI for inspecting and managing MySQL. Database inspection in the deployment stack GPL-2.0
Apache Web server bundled in the Grav container alongside PHP 8.1. Serves the wiki inside its container Apache-2.0
Telnet The 1970s remote terminal protocol, IAC negotiation and all. How you reach the BBS — (IETF standard, RFC 854)
rsync Incremental file synchronisation over SSH. Off-site mirroring of the backups GPL-3.0+
Discord Chat platform with bots and webhooks. Team communication, and the target of both bots Proprietary service
Google Calendar Shared calendar. Team scheduling — see Communication Proprietary service
YouTube Data API Google's API for channel and video metadata. The public site's latest-video panel Proprietary service (Google API ToS)
pyftpdlib FTP server library for Python. The anonymous, read-only FTP server at ftp.teletypegames.org (the DOSINST store and the TTGWIKI export), in a container; DOSINST and TTGWIKI test against it MIT
llama.cpp (llama-server) with Qwen3.5 0.8B and Gemma 3 270M Local language-model inference with an OpenAI-compatible HTTP API; small open-weights instruction models from Alibaba and Google. The shared model service in router mode, several models behind one address; Qwen3.5 is the Lapis-ACP of SERMO in the BBS MIT; Apache-2.0 (Qwen3.5); Gemma Terms of Use

Build, CI and developer tooling

Tool What it is Where it shows up Licence
GNU Make Build automation driven by a Makefile. The common front door of every engine's workflow, the backups and the client GPL-3.0+
Git Distributed version control. Everything, including the version fallback when metadata.json is absent GPL-2.0
Docker builder images Per-platform CI images configured server-side in WarpEngine's ci_platforms. godot-builder, tic80pro, bevy-builder (as bevy-ttg, with our crates preloaded), love-builder, ebitengine-builder (as ebitengine-ttg, with our Go modules preloaded), phaser-builder, c64-builder, plus4-builder, and commodore-player for the C64 / Plus/4 package step, and ci-tools for the helper steps MIT (Dockerfiles); base images per component
kaniko Container image builder that needs no Docker daemon. Building our own CI images into the Gitea registry, with no privileged mode and no docker socket (.woodpecker/ci-images.yaml in the teletypegames repo) Apache-2.0
Ubuntu / Debian / Alpine The base Linux distributions of those images. Ubuntu 24.04 for the TIC-80 Pro build, Debian for the Rust toolchain, Alpine for the light steps Free software, mixed per package
godot-ci Headless Godot editor plus matching export templates, in a container. The base of our godot-builder image MIT
CMake Cross-platform build system generator. Compiling TIC-80 Pro from source BSD-3-Clause
SDL2 Cross-platform graphics, audio and input library. A build dependency of TIC-80; shipped next to yapeSDL in the C64 / Plus/4 native players zlib
mingw-w64 GCC cross-compiler targeting Windows. Windows builds from the Linux CI image (Bevy's x86_64-pc-windows-gnu) Public domain / ZPL-2.1 (runtime, headers); GCC GPL-3.0+
osxcross Cross-compilation toolchain for macOS targets. The planned route to mac binaries for Bevy and Ebitengine GPL-2.0 (the Apple SDK under Apple's Xcode licence)
ACME 6502 cross-assembler. Assembling every C64 and Plus/4 project into a .prg GPL-2.0+
VICE (x64sc, xplus4) The Commodore 8-bit emulator family. Running C64 and Plus/4 builds locally, the emulator behind Batocera's c64 system, and — as the vice_x64sc / vice_xplus4 libretro cores compiled to WebAssembly — the browser player of every C64 and Plus/4 release GPL-2.0+
yapeSDL Attila Grósz's SDL2 emulator of the Commodore 264 family, the C64 and the VIC-20; one binary, the machine type comes from its yape.conf. The native player: the commodore-player image wraps the upstream Linux, Windows and universal macOS binaries around every C64 and Plus/4 .prg, with a launcher that sets the machine type and autostarts the program GPL-2.0+
EmulatorJS Browser front-end for libretro cores compiled to WebAssembly. The "Play in browser" page of C64 and Plus/4 releases; loader, minified runtime and the VICE core are self-hosted in the release's own /file/ folder, nothing comes from its CDN GPL-3.0
fswatch Filesystem change watcher. The make watch target in every engine's Makefile GPL-3.0+
jq Command-line JSON processor. Reading metadata.json in pipelines MIT
curl HTTP client. Downloading runtimes and HTML shells, and every upload/publish call curl (MIT-style)
zip / unzip Archive packaging. Building the versioned release ZIPs Info-ZIP
sed / awk Stream and text processing. Patching web players, extracting versions, splitting TIC-80 asset sections GPL-3.0+ (GNU); BSD awk MIT-style
mksquashfs / readelf SquashFS packer and ELF inspector. Rebuilding the fused LÖVE AppImage without executing it on an Alpine builder GPL-2.0+ / GPL-3.0+
Homebrew macOS package manager. make deps installs acme and vice with it BSD-2-Clause
Visual Studio Code Editor whose tasks.json we ship per engine. Cmd+Shift+B runs the default build task in every tools repository MIT (Code - OSS source); proprietary binaries
jsDelivr Public CDN for npm packages. Where the pinned phaser.min.js is fetched at build time Free service
adb Android Debug Bridge. Pushing an exported RetroArch tree onto a phone Apache-2.0
codesign / Gatekeeper Apple's signing tool and its runtime policy. Ad-hoc signing the Godot and WarpEngine Client macOS bundles Proprietary (macOS)
sips / ImageMagick / FFmpeg Image and media converters, first one found. Re-encoding catalog box art to the PNG RetroArch insists on Proprietary (sips) / ImageMagick / LGPL-2.1+ or GPL-2.0+ (FFmpeg)
tea The Gitea command-line client. Creating releases and replacing their attachments from a workstation MIT
Steamworks SDK / SteamPipe / steamcmd Valve's SDK, content pipeline and CLI. The Steam publication plan Proprietary (Steamworks SDK Access Agreement)
Mermaid Text-to-diagram syntax rendered in markdown. The architecture diagrams on Server and elsewhere MIT
Open Watcom v2 C/C++ compiler and linker for 16-bit DOS and Win32; the snapshot release has macOS and Linux binaries. Builds DOSINST (DOS and Win32) and GMENU; their pipelines install a pinned snapshot Sybase Open Watcom Public License 1.0
DOSBox / DOSBox Staging DOS emulators. Running the DOS programs locally, and headless in CI: GMENU's screen tests (Debian's DOSBox 0.74) and DOSINST's end-to-end tests (DOSBox Staging, with its NE2000 network emulation) GPL-2.0+
Wine Runs Windows programs on Linux. The tests of DOSINSTW.EXE in the DOSINST pipeline LGPL-2.1+

Content creation tools

Tool What it is Where it shows up Licence
LibreSprite Open-source pixel art editor for sprites and animation; a fork of Aseprite. Sprite work GPL-2.0
Pixelorama Cross-platform pixel art editor: layers, frames, custom brushes. Sprite and animation work MIT
IrfanView Windows image viewer with batch and merge functions. Merging images before unifying TIC-80 palettes Freeware, free for non-commercial use
Pic-2-Tic Web app that re-maps an image onto a fixed console palette. Applying the PICO-8 palette to merged backgrounds MIT
Unique Tile Finder Java tool that reduces an image to its unique tiles. Producing TIC-80 tiles — needs OpenJDK Name your own price on itch.io; no licence stated
RLE image encoder Run-length encoder for TIC-80 images. Compressing TIC-80 images MIT

Distribution platforms and retro hosts

Platform What it is How we reach it Licence
Batocera Plug-and-play retro gaming Linux distro. The Batocera store engine installs into its ROM folders GPL-2.0+ (Buildroot-based); bundled emulators per component
EmulationStation Batocera's front-end, whose library lives in gamelist.xml. Our metadata and box art are merged into it, never over the user's own entries MIT
RetroArch Frontend for libretro cores: desktop, Android, Steam Deck, handhelds. The RetroArch store engine writes .lpl playlists for it GPL-3.0
libretro cores The emulator plugins RetroArch loads. vice_x64_libretro boots our .prg files, tic80_libretro our .tic cartridges; the WebAssembly builds of vice_x64sc and vice_xplus4 run inside EmulatorJS on the public site Per core: VICE GPL-2.0+, TIC-80 MIT
Steam Valve's storefront; entry via Steamworks and the Steam Direct fee. Planned for the point-and-click title — see the publication plan Proprietary service
itch.io Indie storefront. Where TIC-80 Pro and Pixelorama are sold Proprietary service
MS-DOS (and DOS on Windows 9x) The 16-bit PC operating system, on real machines or in DOSBox. DOSINST installs programs from our FTP store, GMENU is the game menu on top Proprietary (MS-DOS); FreeDOS GPL-2.0+

Libraries by language

Ruby

Library What it does Licence
Ruby on Rails 8 The framework behind the Catalog API and the host of WarpEngine. MIT
warp_engine Our mountable engine gem: catalog domain, CI pipeline server, build endpoints, public API. MIT
bbs (RuBBS) Our Telnet BBS gem: Telnet, ANSI, widgets, themes, markdown, CSV persistence. MIT
ActiveAdmin The admin panel (blaze theme) for the catalog, the image library and the file manager. MIT
Devise Authentication for the admin panel. MIT
Blueprinter Serializers shaping the JSON API responses. MIT
apipie-rails REST API documentation, browsable as Swagger UI at /api/swagger. Apache-2.0
RSpec The test framework for the API and the engine. MIT
RuboCop Linting, on the rubocop-rails-omakase preset. MIT
Artii FIGlet big-banner rendering inside RuBBS. MIT

Go

Library What it does Licence
Ebitengine (github.com/hajimehoshi/ebiten/v2) The engine itself: rendering, input, game loop. Apache-2.0
Ebiten audio Ebitengine's audio package, backing Inkwell's WAV/OGG/MP3 player at 48 kHz. Apache-2.0
Inkwell (git.teletypegames.org/engines/inkwell) Our point-and-click adventure framework, consumed as a plain Go module. MIT
go-steamworks (github.com/Philipp15b/go-steamworks) Steamworks SDK bindings: achievements, cloud, overlay, rich presence. Apache-2.0
go:embed Standard-library asset embedding; Rabbit Roller's assets live in the binary. BSD-3-Clause
wasm_exec.js The Go runtime helper shipped with every WebAssembly build. BSD-3-Clause

JavaScript and TypeScript

Library What it does Licence
Phaser The framework itself, pinned per project and fetched from a CDN at build time. MIT
Vue 3 The frontend framework of the public site. MIT
Vite Build tool and dev server for that frontend. MIT
vue-router Client-side routing, one router module per page. MIT
Pinia State stores, one per domain (software, events, members, git, blog, howtos, youtube, ui). MIT
vue-i18n Internationalisation of the frontend. MIT
Tailwind CSS Utility-first styling. MIT
TuiCSS Retro terminal look on top of Tailwind. MIT
ESLint 9 Linting on a flat config, for Vue and TypeScript. MIT
Electron Desktop shell of the WarpEngine Client; contextIsolation on, nodeIntegration off. MIT
electron-builder Packages that client as an AppImage, a deb, an NSIS installer and a portable exe. MIT
Node.js / npm Runtime and package manager for the above; Node 22+ to install the client's dependencies. MIT (Node.js), Artistic-2.0 (npm)

Rust

Library What it does Licence
Bevy The ECS engine, a plain Cargo dependency. MIT / Apache-2.0
wasm-bindgen JS glue for web builds; crate and CLI must be the same version. MIT / Apache-2.0
Cargo / rustup The build tool and toolchain manager, including the wasm32-unknown-unknown target. MIT / Apache-2.0

Lua

Library What it does Licence
LÖVE The framework, and the official artifacts our binaries are fused into. zlib
love.js Emscripten LÖVE port; turns a .love into a web build. MIT
luac The Lua compiler, used as a syntax check before packaging. MIT
luacheck Syntax errors and unused variables; gates the TIC-80 pipeline. MIT
LDoc Generates the API documentation packaged with every TIC-80 release. MIT
lua-minify-tic80 Minifies the concatenated source to fit the cartridge. MIT

Python

Library What it does Licence
The standard library, and nothing else A deliberate constraint of warpstore and both store engines: the hosts range from a Batocera box with no pip to a desktop, and neither may be asked to install anything. PSF-2.0
http.server The built-in server behind make serve in the Phaser workflow. PSF-2.0
pyftpdlib The FTP server of the DOSINST store and the TTGWIKI export, and the FTP server of their tests — a server-side tool, so the standard-library rule of the store engines does not apply. MIT

C++ (DOS and Win32)

Library What it does Licence
mTCP Michael B. Brutman's TCP/IP stack for DOS over a packet driver; DOSINST's FTP client is built on it, vendored in its repository. GPL-3.0
Crynwr packet drivers The DOS network card drivers mTCP talks to; NE2000.COM for DOSBox Staging's emulated card. GPL-1.0 (version 1 only)
Winsock 1.1 The sockets of Windows 95 and later: the network of DOSINSTW.EXE. Proprietary (Windows)
The Open Watcom C/C++ runtime The C library of DOSINST and GMENU: files, DOS directory scans, BIOS keyboard, int86 calls to the BIOS and the mouse driver. Sybase Open Watcom Public License 1.0

Free Pascal

Library What it does Licence
The Free Pascal RTL All the status bot needs: schedule loop and Discord API calls in one binary. LGPL-2.1+ with static linking exception