BashTerm
Improving the GTFO Terminal
About this mod Author’s original text
BashTerm
An Improved GTFO Terminal
GitLab (Source) | GitHub (Mirror, Public Issues) | (Release)
e.g. Type P AMMO 69 instead of PING AMMOPACK_69
Issues / Suggestions
Please open issues (for suggestions, bugs, etc.) on the GitHub repo as the GitLab repository is not open for public contributions, thank you!!
Table of Contents
[TOC]
Aliases / Expansions
Command Aliases
Several shorthand aliases of commands are added to make common operations faster. Some UNIX-equivalent commands are also mapped.
| Alias | GTFO Command |
| --------------------------- | ------------------ |
| LS / L | LIST |
| LSU / LU | LIST U |
| CAT | READ |
| UC | UPLINK_CONNECT |
| RS / START | REACTOR_STARTUP |
| RSD / SHUT / SHUTDOWN | REACTOR_SHUTDOWN |
| UV[^1] | UPLINK_VERIFY |
| RV[^1] | REACTOR_VERIFY |
| P | PING |
| Q | QUERY |
| CLEAR | CLS |
Zone Identifier Expansion
Specifically, the LSU alias expands the number argument to a zone identifier if applicable (it should only take one argument).
Expansion on 49
LSU 49 ==> LSU E_49 ==> LIST U E_49
No expansion
LSU AM ==> LIST U AM
i.e. LSU 49 would be interpreted as LSU E_49 = LIST U E_49 (LIST RESOURCE ZONE_49)
This function can also be turned on for LIST itself in the config, expanding the first number argument encountered.
Item Name Expansion / Concatenation
Let's be honest, typing _ is not the most convenient thing in the world, so let's not do that.
Instead of entering something like PING AMMOPACK_594, BashTerm allows you to type PING AMMO 594 instead.
This is achieved through two mechanism:
- Concatenation
- Name Expansion
You might be thinking, "I don't freaking care how it works!", but understanding how BashTerm works will allow you to better utilize it.
Concatenation
Concatenation allows you to not have to type the underscore _ ever[^3] when using PING and QUERY.
For example:
- PING AMMOPACK 594 becomes PING AMMOPACK_594
- PING KEY BLACK 113 becomes PING KEY_BLACK_113
Name Expansion
COMMAND ARGUMENT_1 ARGUMENT_2...
Many objects (e.g. resources, objective items, etc.) have expansions defined in BashTerm. These expansions work on the first argument (ARGUMENT_1) when using the commands PING and QUERY.
Take the earlier example PING AMMO 594 again. After execution, AMMO is translated to AMMOPACK, then concatenation is performed to get PING AMMOPACK_594.
GTFO only allows these two commands to be accompanied with one argument: the item of interest (unless you consider the -T option), so we automatically consider expansion when you enter more than one argument. (calling PING or QUERY with only one argument, however, will not trigger expansion).
The following table lists all default expansion identifiers (note that "WORD+" means any word starting with WORD, aka prefix matching):
| Identifier | Expansion |
| --------------- | ---------------------- |
| MED+ | MEDIPACK |
| TO+ | TOOL_REFILL |
| AM+ | AMMOPACK |
| DIS+ | DISINFECT_PACK |
| TURB+ | FOG_TURBINE |
| NHSU | NEONATE_HSU |
| BK+ / BULK+ | BULKHEAD_KEY |
| BD+ | BULKHEAD_DC |
| HIS+ | HISEC_CARGO |
| LOCK+ | LOCKER |
| SEC+ / SD+ | SEC_DOOR |
| NFR+ | NFRAME |
| GEN+ | GENERATOR |
| DISS | DISINFECTION_STATION |
Customizing Aliases / Expansions
General Syntax
Command aliases and object expansions can be customized by editing their respective fields in the configuration. The config follows a specific format:
It is worth noting that aliases and expansions are essentially the same thing because they work the same way. The only difference between them in BashTerm is the argument(s) they apply to. "Aliases" only apply to commands, while "Object Expansions" apply to the arguments of commands
Custom Command Aliases
COMMAND, ALIAS1, ALIAS2: COMMAND2, CMD2_ALIAS1, CMD2_ALIAS2
Custom Object Name Expansions
EXPANSION, SHORTHAND1, SHORTHAND2
Alias and expansion customization follow the same format, as shown above. Different groups are separated by a colon:, and terms within a group are separated by commas,. All de
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: