Rust binds that are not about crafting

Building the bind maker meant reading everything Facepunch has published about the bind command, and most of it has nothing to do with craft.add. These are the binds I actually run, with the mechanics that make them work.

A craft bind is one console command attached to a key. The mechanism is general: bind will attach any console command, and several of the most useful ones are not commands at all in the usual sense but movement and camera state. Knowing three small rules about how the console treats them unlocks the rest.

The three rules

1. Semicolons chain commands

Everything after the key name is the command, and semicolons separate several. This is what makes craft.add ...;craft.add ... possible, and it applies to any command.

2. A plus sign means “only while held”

Movement and action commands come in two forms. forward starts the action and leaves it running until something else overrides it. +forward runs it only while the key is down and stops on release. The difference is the whole distinction between a toggle and a hold, and you choose it per bind.

3. A tilde cycles

Prefixing a chain with ~ makes each press step to the next command in the chain instead of running them all. That is how you build a one-key toggle between two settings.

Auto-run

The bind everyone asks for. Press once, keep running, hands free for the map:

bind x forward;sprint

Because there is no plus sign, both actions persist until you touch a movement key, which cancels them. If you would rather have a sprint-while-held key — for a controller-style layout, say — the same line with plus signs does that:

bind x +forward;+sprint

Pick a key you will not hit by accident. I use x; anything near WASD that is not already bound works.

Crouch toggle

bind z duck

Same principle: duck without the plus stays crouched until you press it again, which is easier on the hand than holding Ctrl through a long peek. This is the single most common non-crafting bind in the game and it is one word.

Chat callouts

chat.say sends a message, and it takes the text as an argument in quotes:

bind 7 chat.say "Hello everyone!"

Where this earns its keep is not greetings but the three or four things you say in every fight: a callout that you are pushing, a request for cover, a warning that you are low. Put each on a numpad key you do not use for crafting and they go out in one press, spelled correctly, while you are still aiming. Team chat versus global depends on the server's chat setup; the command itself is the same.

Combat log on the console key

This one is clever and comes straight from the Facepunch documentation. F1 opens the console; combatlog prints the last few exchanges of damage. Bind them together and the console opens already showing who hit you and for how much:

bind f1 consoletoggle;combatlog

You lose nothing — the console still opens on F1 exactly as before — and you gain the combat log on every open without typing it. If you rebind F1 to anything else, note that consoletoggle is the command that opens the console, so keep it in the chain or you will have no way back in.

The tilde trick: one key, two states

The documented example toggles the viewmodel between normal and mirrored:

bind rightarrow ~graphics.vm_horizontal_flip 0;graphics.vm_horizontal_flip 1

First press runs the first command, second press the second, and it wraps. The same shape works for any pair of console values you want to flick between — two field-of-view settings, two sensitivity values, a graphics setting you turn down for fights and back up for building. Write the two states as two commands, put a tilde in front, and the key becomes a switch.

Kill, and why you might bind it

bind k kill

The documentation's own example. Useful when you are stuck in geometry or want to respawn at a bag quickly. The obvious caveat is that k is one keypress away from the movement keys; if you bind this at all, bind it with a modifier so it cannot fire by accident:

bind [leftshift+k] kill

Saving it, and where it lives

Binds are written to keys.cfg in the game's cfg folder. They normally persist on their own, but writecfg forces the config files to be saved immediately, which is worth running after a batch of changes so a crash does not lose them:

writecfg

Because it is a plain text file, keys.cfg is also the backup. Copy it somewhere safe once your binds are how you want them, and a reinstall or a verify-game-files that resets it costs you a paste rather than an evening. The craft bind guide covers the file in a little more detail.

A layout that keeps them apart

NUMBER ROW: CALLOUTS789chat.say on 7, 8, 9NEXT TO WASD: MOVEMENT TOGGLESWASDZXZ = duck · X = forward;sprintNUMPAD: CRAFTING BINDS7894561230.+1 spawn kit · 2 meds · 3 ammo4 raid · 5 armour · 6 building7 tools · 8 base · 9 gun powderkeys you bindleft at default
Crafting on the numpad where a misfire costs nothing, movement toggles next to WASD where the hand already is, callouts on the number row. Orange keys are the ones you bind; grey keys stay at their defaults.

The reason to separate them is failure cost. A crafting bind that fires by accident queues an item; a movement bind that fires by accident walks you off a cliff. So crafting goes on keys you have to reach for, and movement toggles go on keys you can hit without looking. The numpad crafting keys are the six from the loadout guide plus the tools, base and gun powder keys from the first hour and gun powder guides; the key reference has the exact token for every key in the picture.

Removing any of them

bind x with nothing after it clears the key. That is all. The only bind on this page where clearing needs care is the F1 one, and only because you want to make sure consoletoggle still lives somewhere.