The command line
ibf <command> --help describes each command's options; the reference
lists them all. What each is for:
| Command | For |
|---|---|
ibf setup <folder> |
Installing (or updating, or with --uninstall removing) the framework in a game folder; see Getting started |
ibf launch |
Starting the game from its folder, and waiting until the framework answers |
ibf doctor |
Checking the install and the running game; --in-game drives the game through a checklist |
ibf new <name> |
Starting a bot from a template; --lang cpp for a C++ one |
ibf run <bot> --pad N |
Playing one bot on a pad; --watch restarts it whenever its file changes |
ibf match <bots...> |
Playing matches between bots, with results; see Matches |
ibf replay <file> <bot> |
Playing a recording to a bot and comparing its answers |
ibf state |
The game's state now; --watch keeps printing, --json prints all of it |
ibf logs -f |
The framework's log as it is written: the host's lines, the game's, every bot's |
ibf cmd <command> |
One console command, as typed in the game's console (F2); ibf cmd help lists them |
ibf bench |
How long the SDK takes per tick, and how soon a bot wakes after a tick |
ibf instances |
The games running with the framework |
ibf launch and ibf doctor find the game folder from --game-dir, then the environment
variable IBF_GAME_DIR, then the folder ibf setup last used. The commands that talk to
the game (run, match, state, logs, cmd, bench) use the newest running game on
this machine, or --instance <pid>; or a game anywhere over TCP with --url tcp://host:port
and --token (or the environment variables IBF_URL and IBF_TOKEN), when the game
listens ([bridge.tcp] in the configuration). The Linux wheel speaks TCP
only.
Console commands worth knowing
Run these in the game's console (F2) or with ibf cmd:
help, help <command> |
every command, or one in detail |
status |
the framework's state: hooks, ticks, the overlay, the bridge, the run mode |
bots |
the connected bots and tools: pads, latency, inputs |
bot.info <bot>, param.set <bot> <name> <value> |
a bot's parameters and stats; change one |
match.start mode=versus map=0, match.quit |
the Navigator: matches through the menus |
mode lockstep, mode realtime |
the run mode |
sim.pause, sim.step [n], sim.resume |
the simulation, a tick at a time |
record.start, record.stop |
recording |
state.dump - |
the state as JSON |
plugins |
the in-process plugins (see Plugins) |
tcp, tcp.allow <token> pad=<n>|watch, tcp.revoke <token>|all, tcp.token <token> |
the TCP server: its connections; a token pinned to a pad, or a spectator's; forgetting one; how a token's last connection ended |
screenshot |
the game's frame, as a BMP in ibf\logs |