This docker container provides a caching proxy server for game download content. For any network with more than one PC gamer connected, this will drastically reduce internet bandwidth consumption.
This container is designed to support any game that uses HTTP and also supports HTTP range requests (used by Origin). This should make it suitable for:
- Steam (Valve)
- Origin (EA Games) – Not working right now
- Riot Games (League of Legends)
- Battle.net (Hearthstone, Starcraft 2, Overwatch)
- Frontier Launchpad (Elite Dangerous, Planet Coaster)
- Uplay (Ubisoft)
- Windows Updates
It’s super easy to install following the instructions below:
- Install the generic-cache container, from community applications, changing the cache and log locations if you wish and set a fixed IP for the container. Make sure it’s not one already in use on your network! It is also possible to change the cache memory size, disk size and age. You can do this by altering the values for the appropriate variable. Once complete click apply.
- Install steamcache-dns, from community applications, changing the LANCACHE_IP to the IP you set for the generic-cache container. You will need to set a fixed IP for this container also. You may also change the UPSTREAM_DNS setting. This is currently set to Google’s DNS server but you can change it to whichever server you like. This server will be used for any DNS queries that the cache does not handle. It is also possible to disable any of the caching services. To do this, set the variable corresponding to the service you wish to disable to true. Once complete click apply.
- Run the following command on your gaming machine, replacing X.X.X.X with the IP you gave steamcache-dns to check the DNS server is working. It should return the IP you set generic-cache to.
1dig @X.X.X.X +short steamcache.cs.steampowered.com
Power Shell (Windows):
1Resolve-DnsName steamcache.cs.steampowered.com -server X.X.X.X
- Now update the DNS settings on your gaming machine, to point to the IP you set for steamcache-dns. I recommend only setting one DNS server as depending on the OS settings it may choose a DNS server at random. Windows Instructions Mac Instructions
- Start a small game downloading in Steam
- Run the following command in an SSH session to your unRAID server
1docker exec -it cache-steam 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 super fast.
For more in-depth instructions, but not specific to unRAID, go here.