All Rust commits from Facepunch
Merge from main Auto conflict resolved on cannon.depoyed, salvaged_cleaver, Scientist2