SteamRE / DepotDownloader

Steam depot downloader utilizing the SteamKit2 library.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DepotDownloader does not use lancache.steamcontent.com for lan caches

LordRalex opened this issue · comments

Copy of the discussion reply made here - #248 (comment)

This however is actually an issue with DepotDownloader, and is not just a "setup" by users.

Steam doesn't just use the override of a DNS server to handle it. It does a lot more logic to decide if Lancaches are in use, and how to handle them. This is not logic that DepotDownloader does, and so it's only assuming it's the very large DNS overrides, which are not used.

lancachenet/monolithic#85 has good information on this process.

In short:

As of today's Steam Client update, there is now full support in Steam for a lancache. The way it works is by setting a DNS override for lancache.steamcontent.com pointing to the IP address of your cache server.
The Steam client will then use that cache server for all downloads. It will still make requests to the cache server using the hostname of the Valve content server to download from, but it will connect to your cache.
In addition, it will increase the maximum number of connections per IP from 4 to 32. This should solve the issue people have been seeing with slow initial downloads through lancache. It will also prevent the Steam Client from using Open Caching, which caused some downloads to not be cached correctly.

So, because DepotDownloader is not doing that same logic, it's not using the caches. These are the only DNS entries (the last one being the local CDNs to actually get said files)

media.steampowered.com
api.steampowered.com
cache6-dfw1.steamcontent.com

Are you trying to use DepotDownloader to install games from the Lancache, or just get them preloaded in the cache ahead of time?

My use-case is explained in the discussion linked: #248 (reply in thread)

I am a developer for a game server management panel. We use DepotDownloader to handle downloading games for each game server, as it's far easier to run and set up over trying to deal with Steamcmd and it's.... limitations.
Since each server should be independent as some might be on different versions or need different things, we don't use a single "location" to handle 1 game. If a game server is needed twice (let's use CSGO), then it needs to download it twice, which means going to Steam twice.
I would rather prefer administrators be able to use Lancache, which is the more accepted solution from Steam, to cache these downloads so that the panel is not being forced to go over the (slower) network each time.
This also makes my testing of software easier, as having to debug other issues with Steam stuff (like... Steam apparently marking everything as executable but DepotDownloader isn't... thanks Steam) much slower as to debug TF2, I'm being forced to download it each time. (This though is a limitation in my tester, but it works off a clean slate to do it's test)

So, to answer it more directly, to install games and allow re-installation of them through the Lancache

Makes sense to me! Added a comment to your original thread with some stuff that may be helpful.