STFO
Sandboxed scripting language and terminal runtime for BetterTerminal pipelines and interactive programs.
About this mod Author’s original text
STFO
STFO is an experimental scripting language and terminal runtime layered on top
of BetterTerminal. BetterTerminal works without STFO; STFO requires
BetterTerminal. 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.
Install & use Install: follow the bundled instructions
- Unzip the archive from playbuff and read the bundled readme / instructions first.
- Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
- For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
- Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.
Install locations vary a lot between mods — the bundled readme is the most reliable guide.
Install these first, or the mod will not work: