5 ms·
Yeah, I remember the copying. At some parties we spent a lot of time doing that. Some CDNs use HTTP with post-download verification (I hope). I suppose local c
by archi42 3y ago
Yeah, I remember the copying. At some parties we spent a lot of time doing that.
Some CDNs use HTTP with post-download verification (I hope). I suppose local caching is the reason for that decision; think big LAN parties with a "only" a few gigabit/s of connectivity (if at all).
A nice solution is what Steam does: The client checks a magic DNS entry (lancache.steamcontent.com), which you're intended to override [0]. It then just works.
For Riot, Blizzard, Epic and Windows Update I've set 36 overrides in dnsmasq (they supply a script for that); those are branded akamai hosts and such.
It supports more launchers and platforms/consoles, but from the big list [1] that's all we needed.
Now GOG uses HTTPS, so for the reason you stated that can't really be cached for random 3rd party machines. Subsequently, if LanCache gets an HTTPS connection, it simply proxies the encrypted connection to the correct server using SNI sniffing.
Regarding bandwidth: Two games on our list were CS:GO and LoL. IIRC four people had to install CS:GO and six people had to install LoL. We could have setup file shares, copied the data (as usual, with multiple people saturating the first share to come online, and nobody using the second or third share), hope laymen know where their steam library lives and to put the correct folder there... or just let them download the games directly from the client, except on a virtual 10 Gb/s pipe ;-)
Though to be fair: In Steam you can configure the client to allow others to download their games from you on the local network. If enabled, you can configure to share with "only me", "steam friends" and "everyone". They added the feature earlier this year[2]; probably for the Steam Deck?
One of the attendees installed Baldurs Gate 3 (>100GB) from a friend that way.
However, the local download feature wins over the lancache, which messed things up a bit when everyone installed CS:GO and pulled that from a single PC instead the server; so we had everyone disable that.
I'm now running a smaller cache on my home server. Additionally, I have a spare server sitting here that's collecting dust. I think I'll permanently designate that my LanCache server for future LAN parties.
[0] https://lancache.net/news/2020/01/14/steam-client-now-supports-lancache/ https://lancache.net/news/2020/01/14/steam-client-now-suppor...
[1] https://github.com/uklans/cache-domains https://github.com/uklans/cache-domains
[2] https://help.steampowered.com/en/faqs/view/46BD-6BA8-B012-CE43 https://help.steampowered.com/en/faqs/view/46BD-6BA8-B012-CE...
- deleted 3y ago[deleted]
- kentonv 3y agoDefinitely sounds like a lifesaver for LAN parties where everyone is bringing their own machines! Or really when machines are maintained by any method other than my crazy one... :)
- archi42 3y agoIt's not that crazy ;-) I actually emulated your approach for release testing. Except I was using qemu VMs.