# 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: ```sh ./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: ```sh # 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 2. 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: ```plaintext 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: ```sh 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](LICENSE) file for details. But just for clarity this covers all files in this project unless stated in the individual file. ## Acknowledgements - Inspired by [Lancache.net](https://lancache.net/)