All Rust commits from Facepunch
Merge from main (PlayerAnimation.controller conflict, merged automatically)