SteamCache2

SteamCache2 is a blazing fast download cache for Steam, designed to reduce bandwidth usage and speed up game downloads.

Features

  • High-speed caching for Steam downloads
  • Tiered storage for getting the most out of your storage media
  • Garbage Collected storage for limiting the size of RAM or Disk cache and will not go above what you choose or stop caching unlike others
  • Reduces bandwidth usage
  • Easy to set up and configure aside from dns stuff to trick Steam into using it
  • Supports multiple clients

Usage

  1. Start the cache server:
    ./SteamCache2 --memory 1G --disk 10G --disk-path tmp/disk
    

Advanced Configuration

Garbage Collection Algorithms

SteamCache2 supports multiple garbage collection algorithms for both memory and disk caches:

# Use LFU for memory cache (good for long-running servers)
./SteamCache2 --memory 4G --memory-gc lfu --disk 100G --disk-gc lru

# Use FIFO for predictable eviction (good for testing)
./SteamCache2 --memory 2G --memory-gc fifo --disk 50G --disk-gc fifo

# Use size-based eviction for disk cache
./SteamCache2 --memory 1G --disk 200G --disk-gc largest

Available GC Algorithms:

  • lru (default): Least Recently Used - evicts oldest accessed files
  • lfu: Least Frequently Used - evicts least accessed files (good for popular content)
  • fifo: First In, First Out - evicts oldest created files (predictable)
  • largest: Size-based - evicts largest files first (maximizes file count)
  • smallest: Size-based - evicts smallest files first (maximizes cache hit rate)
  • hybrid: Combines access time and file size for optimal eviction

Use Cases:

  • LAN Events: Use lfu for memory caches to keep popular games
  • Gaming Cafes: Use hybrid for balanced performance
  • Testing: Use fifo for predictable behavior
  • Large Files: Use largest to prioritize keeping many small files
  1. Configure your DNS:
    • If your on Windows and don't want a whole network implementation (THIS)[#windows-hosts-file-override]

Windows Hosts File Override

  1. Open Notepad as Administrator:

    • Click on the Start menu, type Notepad, right-click on Notepad, and select Run as administrator.
  2. Open the Hosts File:

    • In Notepad, go to File > Open.
    • Navigate to C:\Windows\System32\drivers\etc.
    • Select All Files from the dropdown menu to see the hosts file.
    • Open the hosts file.
  3. Add the Override Entry:

    • At the end of the file, add a new line with the IP address of your SteamCache2 server followed by lancache.steamcontent.com. For example:
      192.168.1.100 lancache.steamcontent.com
      
      Replace 192.168.1.100 with the actual IP address of your SteamCache2 server.
  4. Save the Hosts File:

    • Save the changes by going to File > Save.
  5. Flush DNS Cache (optional but recommended):

    • Open Command Prompt as Administrator.
    • Run the following command to flush the DNS cache:
      ipconfig /flushdns
      
  6. Restart

    • Restart Steam or Restart Your PC

This will direct any requests to lancache.steamcontent.com to your SteamCache2 server.

License

See the LICENSE file for details. But just for clarity this covers all files in this project unless stated in the individual file.

Acknowledgements

Description
SteamCache2 is a BLAZING FAST download cache for the lulz
Readme MIT 696 KiB
2025-09-22 01:59:36 -05:00
Languages
Go 99.5%
Makefile 0.5%