You are viewing a potentially older version of this package. View all versions.
Daem0n-STFO-1.0.0 icon

STFO

Sandboxed scripting language and terminal runtime for BetterTerminal pipelines and interactive programs.

Date uploaded 3 days ago
Version 1.0.0
Download link Daem0n-STFO-1.0.0.zip
Downloads 5
Dependency string Daem0n-STFO-1.0.0

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
Daem0n-BetterTerminal-1.1.1 icon
Daem0n-BetterTerminal

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

Preferred version: 1.1.1

README

STFO

STFO adds a sandboxed scripting language to BetterTerminal. BetterTerminal works without STFO; STFO requires BetterTerminal.

Installing through Thunderstore or r2modman automatically installs the required Daem0n-BetterTerminal dependency.

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

Credits

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

Features

  • Interactive programs using RUN.
  • Pipeline scripts using LIST ... | STFO SCRIPT | QUERY.
  • Program and pipeline entry points in one .stfo file.
  • Variables, functions, conditions, loops, lists and maps.
  • Private text, number, boolean and option input.
  • PRINT, OUTPUT, imports and workspace-confined file access.
  • Instruction, time, memory, recursion, collection and string limits.
  • Static checks through STFO CHECK SCRIPT.
  • Recursive script folders and safe relative imports.
  • Case-preserving private input with configurable maximum length.
  • Filtered and bounded SCRIPTS output.
  • Configurable prompt, option marker and execution statistics.

Script workspace

Created automatically when STFO loads:

BepInEx/config/STFO/Scripts

Commands:

SCRIPTS
SCRIPTS FILTER
STFO CHECK DEMO
STFO CONFIG
RUN DEMO
LIST MEDIPACK | STFO DEMO | QUERY

File writes are disabled by default. When enabled, writes remain restricted to the STFO workspace.

Runtime customization:

STFO CONFIG
STFO CONFIG RELOAD
STFO CONFIG ENABLED ON|OFF
STFO CONFIG WRITES ON|OFF
STFO CONFIG STATS ON|OFF
STFO CONFIG UPPERCASEINPUT ON|OFF
STFO CONFIG INPUTLIMIT 1-65536
STFO CONFIG LISTLIMIT 1-1000
STFO CONFIG PROMPT TEXT
STFO CONFIG MARKER TEXT

CHANGELOG

Changelog

1.0.1

  • Replaced potentially moderated wording in the repository, Thunderstore README, and public documentation.
  • Added a dedicated GitHub Pages guide and safe command-flow simulator.
  • Expanded documentation for dependency direction, runtime limits, private input, workspace writes, multiplayer behavior, and unverified cases.
  • No scripting runtime behavior changed in this release.

Why this release exists

Thunderstore did not identify the exact reason for the earlier invalid state. This version removes one plausible wording trigger so the package can be tested again without claiming that cause was confirmed.

Verification and limitations

  • Release build completed with no compiler errors or warnings against BetterTerminal 1.1.1.
  • Documentation and package metadata were checked for version consistency.
  • Successful upload does not guarantee moderator approval or prove the removed wording caused the earlier invalid state.

1.0.0

  • Initial public release.
  • Added standalone STFO plugin with hard BetterTerminal dependency.
  • Added parser, analyzer and bounded virtual machine in STFO.Language.
  • Added program and pipeline entry points.
  • Added interactive private input and arrow option selection.
  • Added safe script workspace, subfolders and imports.
  • Added optional workspace-confined file writes.
  • Added BetterTerminal pipeline integration.
  • Added configurable private input, prompt, option marker, script-list limits, and execution statistics.
  • Added English runtime messages and separate language/configuration guides.
  • Added reproducible Thunderstore packaging and release automation.

Verification and limitations

  • STFO.dll and STFO.Language.dll build with no compiler errors or warnings against BetterTerminal 1.1.1.
  • Generated package root and required DLL paths were inspected locally.
  • Automated publication completed after compilation and package-layout checks. These checks do not cover every script, rundown, multiplayer setup, host migration or long-running session. GTFO updates can change IL2CPP behavior.
  • Development used OpenAI Codex assistance under AlexanderMakunin's direction and testing.