Moving the Steam library to a NAS
Today’s post is quite different from the ones I’ve written before.
Today we are moving my gaming PCs Steam library into my NAS.
Multi-device gaming: say you have one gaming computer in a room and another one in your living room’s TV; if you share your Steam library between devices, you don’t have to store games twice, nor keep two separate Steam libraries up-to-date.
Making it easier to factory-reset the gaming computer: I have a dedicated Windows desktop for gaming-only (for isolation and because gaming sucks on macOS), so this setup makes it much easier to install a fresh copy of Windows whenever I want to.
Easier Steam library backups: the NAS has nightly backups, so everything that’s stored in it has on- and off-site snapshots taken every day at 4PM UTC; that’s much easier than running some client-server solution between my gaming computer and my NAS for backups. I don't want my CS:GO configuration corrupting anytime soon.
I’ve tried this project a couple times already.
The first time was a failure, because the NAS had spinning drives in it. And while sequential reads where quick enough, random reads of smaller files dropped throughput down to around
10MB/s, not enough for gaming workloads.
I recently switched to solid-state drives, so random reads are now fast enough to allow loading games over the network.
Note: the SSDs I’m using are Samsung 860 EVOs.
All links are GbE, and both devices hang off the same switch.
A quick file transfer test shows links run at top speed.
Note: the following are instructions for a Linux server and Windows client setup.
Follow this first guide to install and run a Samba SMB shared folder with user authentication and no guest access.
Follow this second guide to mount your shared folder to a drive letter in Windows 10 (I chose
Follow this third guide to create a Steam library folder in your network drive and move your games one by one into it. Remember to check the games’ integrity after transferring and before running them to avoid trouble.
Note: I did not follow those exact guides when setting this up, but I essentially followed the same steps.
My gaming computer only contains a boot drive with Steam and Chrome, and everything else is sourced from the shared folder.
Millisecond-paced games like Counter-Strike: Global Offensive run flawlessly, with the same frame rates as before.
I haven’t noticed any increase in loading times since moving.
Nothing, to be honest.
If your PC boots faster than it gets a network lease, and Steam runs after logging in, then sometimes Windows doesn’t have the time to mount the shared folder before Steam boots, making Steam not recognize the games installed there and forcing you to restart it. Ugly!
Some games don’t run off the network for some reason.
Some anti-cheat software doesn’t allow games to run off network drives either (see Annex A).
Annex A: tested games
The following is an exhaustive list of tested games:
- Counter-Strike: Global Offensive: no issues, if you play on FACEIT servers though, the anti-cheat software doesn’t let you run off a network drive.
- PLAYERUNKNOWN’S BATTLEGROUNDS: doesn’t run at all, sadly.
- Garry’s Mod: no issues.
- Rocket League: no issues.
- Keep Talking and Nobody Explodes: no issues, haven’t tried VR.
- Business Tour: no issues.
Note: I’ll try to keep the above list updated with any games I purchase down the road.