Skip to content
ST

Cryptic Studios · 2010

Star Trek Online macros

Star Trek Online runs on the same Cryptic engine as Neverwinter, and its keybind system is the closest thing any live MMO has to programmable play. A single key can fire a whole tray of bridge officer abilities, cycle weapon groups and distribute shield power, all chained together with $$. Serious captains do not build hotbars — they build bind files.

Built-in macro editor

How macros work in STO

Commands are attached to keys with /bind, chained with $$, and saved to text files with /bind_save_file. TrayExecByTray fires an ability by tray and slot, and because slots are numbered rather than named, one bind keeps working across every ship and loadout.

Setting one up

  1. Type /bind KEY "command" in chat to attach a command to a key.
  2. Chain with $$ — /bind space "+TrayExecByTray 0 0 $$ +TrayExecByTray 0 1".
  3. Use +TrayExecByTray <tray> <slot>, both counted from zero, to fire a specific ability.
  4. Save everything with /bind_save_file mybinds.txt, which writes to your Star Trek Online Live folder.
  5. Reload it on any character with /bind_load_file mybinds.txt.

Rules and limits

  • Trays and slots are zero-indexed, so the first ability on the first tray is 0 0 — off-by-one is the most common mistake.
  • Abilities on cooldown are skipped silently, so a chained bind fires whatever happens to be ready rather than everything at once.
  • The + prefix matters: +TrayExecByTray responds to holding the key, TrayExecByTray only to a tap.
  • Bind files are plain text with the key and command on one line and no leading /bind.
  • Distributing shield power has its own command and does not respect the global cooldown, which is why it appears in nearly every attack bind.

Macros by career

Pick a career to see only the macros that apply to it.

All STO macros

26 macros, searchable and ready to copy.

26 macros

  • TA

    Alpha Strike

    Tactical

    /bind t "team Alpha strike $$ +TrayExecByTray 1 0 $$ +TrayExecByTray 1 1 $$ +TrayExecByTray 1 2"

    Fires your damage cooldowns together and announces it. Tactical burst windows are short and stack multiplicatively, so opening with half of them is close to wasting all of them.

  • TA
    /bind space "+power_exec Distribute_Shields $$ +TrayExecByTray 1 3 $$ +TrayExecByTray 0 0"

    Chains your attack patterns onto the main firing key so they refresh whenever they come up. Attack patterns are short enough that manual tracking always loses uptime.

  • ST
    /bind numpad4 "say Engaging"

    The foundation of every bind in this library. The key comes first, the command goes in quotes, and anything you can type into chat can be attached this way.

  • ST
    /bind h "team Heals incoming $$ +TrayExecByTray 1 0"

    Chains a team message onto an ability so your group sees the call the instant it goes out. Used for heals, tanking cooldowns and anything the rest of the team needs to react to.

  • ST
    /alias camp "logout"

    Aliases live in CommandAliases.txt in your Live folder and let you wrap a long chain behind a short name. Essential once your binds get long enough to be unreadable.

  • ST
    /bind space "+TrayExecByTray 0 0 $$ +power_exec Distribute_Shields"

    Balances shields across all four facings. It has no cooldown, so it belongs in every attack bind you own — the difference between a captain who does this constantly and one who does not is enormous.

  • EN
    /bind e "+TrayExecByTray 1 0 $$ +TrayExecByTray 1 1 $$ +TrayExecByTray 1 2 $$ +power_exec Distribute_Shields"

    Runs every hull and shield heal you have in one press. Anything on cooldown is skipped, so this reliably fires whichever repair is actually available when you are about to explode.

  • ST
    /combatlog 1

    Turns on the log that every parser reads. Nothing shows up in your damage numbers until this is on, and it resets more often than you would expect.

  • ST
    /bind space "GenSendMessage HUD_Root FirePhasers $$ +TrayExecByTray 0 0"

    Adds the actual weapon trigger to your attack chain. Without this line a tray bind fires your abilities but never pulls the trigger, which is a surprisingly common bug in home-made binds.

  • ST
    /bind q "+TrayExecByTray 0 0"

    TrayExecByTray triggers whatever sits in a given tray and slot, both zero-indexed. Because it names the position rather than the ability, the same bind survives every ship swap and loadout change.

  • TA
    /bind g "team Mark is up - burn it $$ +TrayExecByTray 1 4"

    Applies the damage resistance debuff and tells the team, so everyone dumps their burst into the same window rather than spreading it out.

  • ST
    /bind space "+TrayExecByTray 2 0 $$ +TrayExecByTray 2 1 $$ +TrayExecByTray 2 2"

    The ground equivalent of the spacebar bind. Ground trays are separate from space trays, so this needs its own bind file if you play a lot of ground content.