Daem0n-BetterTerminal icon

BetterTerminal

Improved GTFO terminal with fuzzy search, pipelines, consumable tracking, localization and searchable command history.

Last updated 2 days ago
Total downloads 77
Total rating 0 
Categories Client Mods
Dependency string Daem0n-BetterTerminal-1.1.3
Dependants 1 other package depends on this package

This mod requires the following mods to function

BepInEx-BepInExPack_GTFO-3.2.2 icon
BepInEx-BepInExPack_GTFO

BepInEx pack for GTFO. Preconfigured and includes Unity Base DLLs.

Preferred version: 3.2.2

README

BetterTerminal

BetterTerminal 1.1.3 expands GTFO's computer terminals with faster search, command pipelines, item tracking, configurable visuals, localization, guided help, and extended command history.

Development disclosure: this project was created with assistance from OpenAI Codex. Design decisions, testing, packaging, and publication remain the author's responsibility.

BetterTerminal is designed as a convenience layer over GTFO's native terminal, not as a replacement for its command system.

What's new in 1.1.3

  • Consumables register after GTFO factory/culling initialization instead of waiting for a consumable list command.

  • CONFIG CONSUMABLESINLIST ON|OFF controls broad native LIST inclusion.

  • Consumable pings expire after five seconds without removing MARK markers.

  • Guided help, command topics, status diagnostics, and documentation links.

  • Command and configuration autocomplete.

  • Configuration profiles, section views, validation, reset, and text glow intensity.

  • Better token-by-token fuzzy matching, spacing recovery, pipelines, and visible history.

  • Interactive web documentation and terminal trainer.

  • Visual, localization, consumable, map-marker, and runtime-safety improvements.

See CHANGELOG.md for detailed verification notes and limitations.

Main features

  • Fuzzy completion for commands and terminal item identifiers.
  • Common-prefix completion or interactive arrow selection for ambiguous matches.
  • Configurable Levenshtein distance.
  • Searchable extended command history inspired by interactive shells.
  • Session-only history by default. Optional disk persistence with CONFIG HISTORYMODE DISK; clear it with HISTORY CLEAR.
  • LIST and QUERY support for ID ranges and result limits.
  • Typed pipelines with filtering, sorting, limiting, querying, pinging, marking, and text processing.
  • Terminal registration, QUERY, PING, and map markers for uncollected consumables.
  • Runtime settings through CONFIG; most changes apply without restarting GTFO.
  • JSON localization with runtime language switching and custom language files.
  • Configurable neofetch-style terminal status.
  • Optional sleeping-terminal image and interactive background customization.
  • Optional STFO scripting support through the separate STFO package.

Installation

Mod manager

Install BetterTerminal through r2modman or Thunderstore Mod Manager. Required dependencies are installed automatically.

Manual

Install the GTFO BepInEx pack, then place BetterTerminal.dll inside:

GTFO/BepInEx/plugins/BetterTerminal/

Getting started

Use these commands in any GTFO terminal:

COMMANDS
HELP
CONFIG
NEOFETCH
IDLESCREEN
HELP BETTERTERMINAL
BETTERTERMINAL STATUS
DOCS

Examples:

LIST MEDIPACK 3
LIST MEDIPACK_100-500
QUERY MEDIPACK 2
LIST GLOW_STICK | WHERE ZONE 49 | TAKE 1 | PING
LIST TOOL_REFILL | SORT ID | TAKE 3 | QUERY
COMMANDS | WHERE TEXT PING

Item filters and queries

LIST keeps GTFO's native substring-filter behavior. For predictable results, prefer a complete item type instead of a single letter:

LIST GLOW_STICK
LIST MEDIPACK
LIST CONSUMABLES
LIST NATIVE | WHERE ZONE 49

LIST CONSUMABLES shows only supported consumables registered by BetterTerminal. LIST NATIVE is available as a pipeline source and excludes those added consumables.

Direct and piped queries both accept native terminal objects and supported consumables:

QUERY GLOW_STICK_001
LIST GLOW_STICK | WHERE ZONE 49 | TAKE 1 | QUERY
LIST MEDIPACK | TAKE 1 | QUERY
PING GLOW_STICK_001
LIST GLOW_STICK | WHERE ZONE 49 | TAKE 1 | PING

Consumable queries show type, current zone and area, placement state, use, and ping availability. Registration occurs while level objects initialize, so results can briefly change during level loading or host migration. Consumable locator pings clear after five seconds. Pipeline PING accepts one result only; use TAKE 1 when necessary. MARK remains persistent until UNMARK.

Press Up on an empty command line to open searchable history. Type to narrow results, use Up/Down to select, then press Enter.

Consumable tracking

BetterTerminal can expose supported consumables that vanilla terminals do not normally list. Only items still present in the level are tracked. Supported categories include:

  • Fog repellers
  • C-Foam grenades
  • Lock melters
  • Glow sticks
  • Long-range flashlights
  • I2-LP syringes
  • IIx syringes
  • Explosive tripmines
  • C-Foam tripmines

This feature is experimental and can be disabled per category through CONFIG or BetterTerminal.cfg. Registration now runs when each consumable finishes GTFO's factory/culling setup, without requiring LIST CONSUMABLES to initialize the registry. CONFIG CONSUMABLESINLIST ON|OFF controls whether registered consumables also appear in broad native searches such as LIST U; default is OFF.

Picked-up items are removed from terminal results. Dropped supported items are registered again after GTFO reports their new placement. Zone data comes from the item's current course node rather than its original spawn metadata.

Localization

Language files are created under:

BepInEx/config/BetterTerminal/Localization/

English and Spanish are included. template.json can be copied and translated to add another language. Change language at runtime:

CONFIG LANGUAGE EN
CONFIG LANGUAGE ES
CONFIG RELOAD

Terminal appearance

BetterTerminal exports replaceable files under:

BepInEx/config/BetterTerminal/neofetch.txt
BepInEx/config/BetterTerminal/idle-screen.png

Neofetch output is configurable. Sleeping-terminal replacement is configurable; the experimental interactive background is disabled by default. Image rotation, flipping, opacity, intensity, color behavior, and terminal text color can be adjusted through CONFIG or BetterTerminal.cfg.

Multiplayer and achievements

  • BetterTerminal is client-side for its interface and convenience features.
  • Other players do not need it for you to use local terminal improvements.
  • GTFO does not officially support mods; use a modded profile and private sessions.
  • BetterTerminal does not intentionally disable Steam achievements. This is not a guarantee from GTFO or Steam.
  • Tracking and pipeline features may expose information unavailable through vanilla terminal commands.

STFO compatibility

STFO is optional. BetterTerminal works without STFO. STFO requires BetterTerminal and declares it as a Thunderstore dependency.

Support

When reporting a problem, include:

  • BepInEx/LogOutput.log
  • BetterTerminal version
  • GTFO rundown/version
  • Command entered
  • Relevant configuration values
  • Reproduction steps

For consumable-list reports, also include the exact commands used and whether the result changed after waiting, changing terminal, dropping an item, or host migration. Single-letter filters such as LIST U are broad substring searches; use LIST CONSUMABLES when testing consumable registration specifically.

Issues and source: github.com/AlexanderMakunin/BetterTerminal

Detailed documentation: alexandermakunin.github.io/BetterTerminal

GTFO does not officially support mods. Game updates, IL2CPP changes, rundowns, and other mods can expose untested behavior. Local validation cannot guarantee every runtime combination.

Credits

  • Code and project: AlexanderMakunin
  • Icon artwork: hawry
  • AI-assisted development: OpenAI Codex

License

MIT License.