Yesterday I got a message from mlebjerg on the Limetech forums saying that he had managed to combine all of the Steamcache docker images into one combined image! I gave the image a test and it works flawlessly! So here are some instructions on how to set it up. They are super easy this time!
- Head to Community Applications. Search for and install SteamCacheBundle.
- Next set a fixed IP address. Enter this in the box marked, Fixed IP address. Make sure it's not an IP allready in use on your network.
- Make sure the Data and Logs directories are set to your liking. The Data directory is where all the cache data will be stored.
- Now change the CACHE_MEM_SIZE, CACHE_DISK_SIZE and CACHE_MAX_AGE if you wish. The are fairly self explanatory and can be left at default if you want. If your running low on free RAM, consider lowering CACHE_MEM_SIZE. The container wont start if you don't have enough free RAM at start.
- The ports must be left as they are. Don't change these!
- UPSTREAM_DNS is the IP of the DNS server that will be user for queries that are not handled but Steamcache. Currently it is set to Cloudfares DNS server.
- USE_GENERIC_CACHE must be left set to "true" No touchy!
- The rest of the values can be set to "true" to dissable the caching of that specific service if you so wish. If you want to cache everything, then leave them all blank.
- Once the settings are all in order, hit Apply
Now to test the DNS server within Steamcache. Run the following command on your gaming machine, replacing X.X.X.X with the IP you gave SteamCacheBundle to check the DNS server is working. It should return the same IP.
dig @X.X.X.X +short steamcache.cs.steampowered.com
Power Shell (Windows):
Resolve-DnsName steamcache.cs.steampowered.com -server X.X.X.X
Provided this returns the correct IP, update the DNS settings on your gaming machine, to point to the IP you gave SteamCacheBundle. I recommend only setting one DNS server as depending on the OS settings it may choose a DNS server at random.
You will no longer be able to access the internet on your gaming machine if your unRAID server is off as your machine will be unable to resolve hostnames.
Start a small game downloading in any of the supported game clients you use. (Steam, Origin, UPlay)
Run the following command in an SSH session to your unRAID server
docker exec -it SteamCacheBundle tail -f /data/logs/access.log
This should return lots of text with the word “Miss” towards the end of the line. This means it is getting the download from Steam servers, not the cache. Leave the SSH session open.
Wait for the download to finish
Uninstall the game then reinstall it
The SSH session should now display the same text but with “Hit” at the end instead of “Miss”. This means it’s downloading the game from the cache. Your download speed should also be much faster.
At this point your all done! Files in the cache will last for as long as you set CACHE_MAX_AGE to and the cache overall wont exceed this size specified in CACHE_DISK_SIZE.