Tested: 10/13/2018


Server specs:

OS: Debian 9.5 
CPU: 1x vcore 
RAM: 4GB 
NAS: 1TB Raid Z2 Block storage 
NET: 1 GB link. 

I will be entering the DNS information directly into pfsense DNS Resolver. This is so that I don't need to setup new DNS servers for my computers this will be handled by DNS Resolver and works 100% of the time.

Install Docker

apt-get install curl
sudo curl -sSL https://get.docker.com/ | sh

Install Docker with Steamcache

Before we begin I am installing on a Debian VM with an IP of 192.168.1.166. Please change the commands below to your network setup.

Steam DNS:

docker run --restart unless-stopped -d --name steamcache-dns -p 192.168.1.166:53:53/udp -e USE_GENERIC_CACHE=true -e 
LANCACHE_IP=192.168.1.166 steamcache/steamcache-dns:latest

Steam Cache Server:

docker run --restart unless-stopped --name steamcache -p 192.168.1.166:80:80 -v /cache/steam/data:/data/cache -v /cache/steam/logs:/data/logs steamcache/steamcache:latest


PFsense DNS Resolver Setup

Enter the following under your DNS Resolver Custom options section.

  • server:
  • local-zone: “content.steampowered.com” redirect
  • local-data: “content.steampowered.com 86400 IN A 192.168.1.166”
  • local-zone: “hsar.steampowered.com.edgesuite.net” redirect
  • local-data: “hsar.steampowered.com.edgesuite.net 86400 IN A 192.168.1.166”
  • local-zone: “akamai.steamstatic.com” redirect
  • local-data: “akamai.steamstatic.com 86400 IN A 192.168.1.166”
  • local-zone: “cs.steampowered.com” redirect
  • local-data: “cs.steampowered.com 86400 IN A 192.168.1.166”
  • local-zone: “edgecast.steamstatic.com” redirect
  • local-data: “edgecast.steamstatic.com 86400 IN A 192.168.1.166”
  • local-zone: “steamcontent.com” redirect
  • local-data: “steamcontent.com 86400 IN A 192.168.1.166”
  • local-zone: “steam-content-dnld-1.apac-1-cdn.cqloud.com” redirect
  • local-data: “steam-content-dnld-1.apac-1-cdn.cqloud.com 86400 IN A 192.168.1.166”
  • local-data: “cs.steampowered.com A 192.168.1.166”
  • local-data: “content1.steampowered.com A 192.168.1.166”
  • local-data: “content2.steampowered.com A 192.168.1.166”
  • local-data: “content3.steampowered.com A 192.168.1.166”
  • local-data: “content4.steampowered.com A 192.168.1.166”
  • local-data: “content5.steampowered.com A 192.168.1.166”
  • local-data: “content6.steampowered.com A 192.168.1.166”
  • local-data: “content7.steampowered.com A 192.168.1.166”
  • local-data: “content8.steampowered.com A 192.168.1.166”
  • local-data: “clientconfig.akamai.steamtransparent.com A 192.168.1.166”
  • local-data: “edge.steam-dns.top.comcast.net A 192.168.1.166”
  • local-data: “edge.steam-dns-2.top.comcast.net A 192.168.1.166”
  • local-data: “steam.apac.qtlglb.com A 192.168.1.166”
  • local-data: “steam.apac.qtlglb.com.mwcloudcdn.com A 192.168.1.166”
  • local-data: “steampipe.akamaized.net A 192.168.1.166”
  • local-data: “edgecast.steamstatic.com A 192.168.1.166”
  • local-data: “cdn1-sea1.valve.net A 192.168.1.166”
  • local-data: “cdn2-sea1.valve.net A 192.168.1.166”

Your DNS Resolver should look like this:

The results!

After you get everything setup you should get back into your Debian VM and install the following. This will help you monitor network usage for one interface only.

apt-get install nload

Now that it's installed use the following command to view network usage. Make sure to change your network adapter to the proper one .

nload eth0

Now start a steam download you should see activity on both Incoming and Outgoing this means that the steam cache server is working! It is currently Downloading and forwarding a copy of the files to your PC.

After the download is done Delete the game that you just installed and reinstall it you should see much greater download speed as the game will be downloaded form your local steam cache server!