Let me be upfront about something: most people don't need a separately downloaded Rust client. Steam installs it, Steam verifies it, life is fine. The people who land on this page have one of three specific problems, and "download a clean client" is the genuine fix for all of them:
- EAC keeps kicking you with "client integrity violation" — something on your disk doesn't match what Facepunch shipped, the built-in verify isn't catching it, and you want a guaranteed-pristine copy of the files.
- You need a reference tree — you're debugging what some skin tool, "FPS config pack" or overzealous antivirus actually changed, and a diff against known-clean files answers it in seconds.
- You're running a frozen-version or staging test server — from the server rollback play — and need client builds that match it, archived before Steam force-updates everyone.
And one anti-reason, since it's the actual search that brings people from the forums: if you're hunting a "clean client" download to avoid owning the game, this page can't help — Rust's depots are license-checked, full stop. Worse, the "client packs" floating around RU and EN forums alike are precisely how people end up with EAC bans and stolen accounts. The clean client comes from Steam or it isn't clean.
02The command
Unlike the free-licensed server, the client (app 252490) needs an account that owns Rust:
$ ./DepotDownloader -app 252490 -username you -remember-password -dir ./rust-clientThat pulls the full client for your current OS — plan for a serious download, Rust's client is tens of gigabytes. On a machine you don't fully trust, swap the username for -qr and approve the login from your phone (why that's the safer shape). As usual, -os lets you fetch a different platform's build than the machine you're on.
03Fixing "EAC: client integrity violation"
The error that fills Rust's forums. EAC hashes what's loaded against what should be there, and when they disagree you're disconnected — corrupted chunks on a failing drive, a mod tool that edited game files, an AV that "cleaned" something, leftovers from an old installation. Steam's built-in "Verify integrity of game files" fixes most cases; when it doesn't, point DepotDownloader's validator at the install itself:
$ ./DepotDownloader -app 252490 -username you \
-dir "C:\Program Files (x86)\Steam\steamapps\common\Rust" -validateSame mechanism as the server guide's factory-reset trick: every file is re-hashed against the manifest and anything that doesn't match gets replaced with the canonical copy. It's a second opinion with different plumbing than Steam's verifier — and because it prints exactly which files it replaced, you also learn what was wrong, which Steam's silent progress bar never tells you. If files keep failing validation run after run, stop blaming software: that's a disk-health symptom, and your SSD is trying to tell you something. The first time I chased one of these, I reinstalled twice before I ran the validator and watched it name the exact files a "config pack" had touched — start there and save yourself the evening.
./rust-client copy and you can answer "what did that tool actually touch?" with one command: diff -rq ./rust-client "…/steamapps/common/Rust". I've watched this settle more than one argument about whether a "harmless FPS booster" modifies game binaries. (It did.)
04The Staging Branch is its own app
Quirk worth knowing: Rust's public test client isn't a branch of the main app — it's a separate product, Rust — Staging Branch, app 700580, which appears in the library of Rust owners. That means downloading it is its own command, not a -branch flag on 252490:
$ ./DepotDownloader -app 700580 -username you -dir ./rust-staging-clientPair it with the staging server and you've got next month's update in a test environment a week early — which is exactly how the serious plugin authors avoid wipe-day panic.
05Version pairs for frozen-time test servers
The server guide ends with the catch that a rolled-back server can't accept current clients. This is the other half: archive the client build that matches any server build you might freeze. The discipline is simple — when you snapshot a server version (wipe day, before a risky update), pull the matching client manifest the same day, while it's still inside the request-code window. Client manifest IDs live on SteamDB under app 252490's depots, same drill as always.
For the private test box where that frozen pair runs, Facepunch themselves document the knobs: the server can run with server.secure 0 / server.eac 0, and there's an official support article on launching the client with EAC disabled for exactly this kind of closed-loop testing. That combination is legitimate plumbing for development environments — plugin regression testing, archived-version research — not a way to play real Rust without anticheat.
06The EAC line you don't cross
If it were my install, I'd keep one pristine ./rust-client copy around permanently and reach for the validator before ever reinstalling. From here: the server half if you haven't read it, the CLI reference for every flag these recipes used, and the status page before you count on any older manifest still answering.