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

STFO

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

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

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 is an experimental scripting language and terminal runtime layered on top of BetterTerminal. BetterTerminal works without STFO; STFO requires BetterTerminal. Thunderstore and r2modman install the declared dependency automatically.

Development disclosure: STFO was developed with assistance from OpenAI Codex. AlexanderMakunin directed, reviewed, tested, packaged, and publishes the project. AI assistance does not guarantee correctness. Reproducible bug reports and code review are welcome.

Features

  • Interactive programs using RUN.
  • Pipeline scripts such as LIST MEDIPACK | STFO DEMO | QUERY.
  • Program and pipeline entry points in one .stfo file.
  • Variables, functions, conditions, loops, lists, maps and imports.
  • Private text and arrow-controlled option input.
  • PRINT, OUTPUT, static checks and workspace-confined file access.
  • Configurable instruction, estimated-memory, time, recursion, import, source, collection and string limits.
  • Recursive script folders and safe relative imports.

Quick start

STFO creates its script workspace when the plugin loads:

BepInEx/config/STFO/Scripts
SCRIPTS
SCRIPTS FILTER
STFO CHECK DEMO
STFO CONFIG
RUN DEMO
LIST MEDIPACK | STFO DEMO | QUERY

Important limitations

STFO is a bounded interpreter, not a proven security boundary. Memory use is estimated rather than enforced by the operating system, and time checks are cooperative. Bugs or mod conflicts may still cause hangs, crashes or data loss. Review downloaded scripts before running them.

File writes are disabled by default. When enabled, STFO confines resolved paths to its script workspace and rejects reparse points, symlinks and junctions. Private input is not encryption and may still be observable by other mods, logs, memory inspection or networking.

STFO runs client-side. Scripts are not automatically distributed or synchronized with other players. GTFO does not officially support mods, and updates to GTFO, IL2CPP, BepInEx, BetterTerminal or other mods may break it.

Version 1.0.1 compiled without warnings or errors against BetterTerminal 1.1.1 and its package layout was validated. This does not guarantee every rundown, script, multiplayer setup, host migration or long session works correctly.

Configuration

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

Full documentation and issue reporting: alexandermakunin.github.io/STFO ยท GitHub source and issues

Credits

  • Code and project: AlexanderMakunin
  • Icon artwork: Hawry
  • AI-assisted development: OpenAI Codex
  • License: MIT
Original author note

I know guys that the code is made by AI (with my supervision and testing by myself) isnt the best and maybe bad but wanted do smt for help u (and myself and friends) in common things that happens to all. Ff u got any ideas, recomendation or anything just go to the github and try ask me there, ill be glad to hear your opinions and changes to it. Made with passion, time and suffering asking to codex (chatgpt) to help me build this thing for all.

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.