Adigger Feb 10, 2017 @ 11:27am
Try Downloading from Local Source First
Like an increasing number of people worldwide my ISP is trying to squeeze its customers for all that they're worth by instituting a monthly data cap. The past two months I've gone over it (and paid overage fees) due to large Steam downloads, chiefly because we have 4 separate machines running Steam in my home that all decided to download major patches individually. When the latest 50-odd gigabyte DLC came out for Fallout 4 this week, that meant 200gb of downloads for that one game, erasing 20% of my monthly limit in one day. It's to the point that I have to plan my Steam purchases so that they don't fall within the same month in order to keep me below my data limit.
As all of these machines are aware of each other's Steam status (due to the in-home streaming service), would it be possible to have one client download the patch and then the others get it from that machine? The benefit to my data cap is obvious. It would also prevent the stampede that eats up all my bandwidth as all 4 clients try to download the same data simultaneously over one pipe. From Valve's end, it would reduce load on their servers as well.
While it may not effect every user, I'm willing to bet there are more folks than just me who have a laptop and desktop, or a spouse or kids or roommates that use Steam; at least enough to make it worth implementing. It seems like the client-communication side of it is already partly complete due to in-home streaming being able to see other clients and what games, patches and DLC packages they have installed.

TL;DR let Steam client download local data from other local clients to save precious bandwidth plz

Thanks!
< >
Showing 1-13 of 13 comments
SirYanthon Feb 10, 2017 @ 11:30am 
Fantastic idea!
Wouldn't it be better just to use a flash drive?
SirYanthon Feb 10, 2017 @ 12:05pm 
That would work, but it would be nice if he didn't have to do that.
Sovietball Feb 10, 2017 @ 1:25pm 
Originally posted by areteas:
Like an increasing number of people worldwide my ISP is trying to squeeze its customers for all that they're worth by instituting a monthly data cap. The past two months I've gone over it (and paid overage fees) due to large Steam downloads, chiefly because we have 4 separate machines running Steam in my home that all decided to download major patches individually. When the latest 50-odd gigabyte DLC came out for Fallout 4 this week, that meant 200gb of downloads for that one game, erasing 20% of my monthly limit in one day. It's to the point that I have to plan my Steam purchases so that they don't fall within the same month in order to keep me below my data limit.
As all of these machines are aware of each other's Steam status (due to the in-home streaming service), would it be possible to have one client download the patch and then the others get it from that machine? The benefit to my data cap is obvious. It would also prevent the stampede that eats up all my bandwidth as all 4 clients try to download the same data simultaneously over one pipe. From Valve's end, it would reduce load on their servers as well.
While it may not effect every user, I'm willing to bet there are more folks than just me who have a laptop and desktop, or a spouse or kids or roommates that use Steam; at least enough to make it worth implementing. It seems like the client-communication side of it is already partly complete due to in-home streaming being able to see other clients and what games, patches and DLC packages they have installed.

TL;DR let Steam client download local data from other local clients to save precious bandwidth plz

Thanks!
But doesnt downloading from someone else also use the same amount?
Ifthel Feb 10, 2017 @ 3:20pm 
Originally posted by Commissar Quacklordington:
But doesnt downloading from someone else also use the same amount?

I think he meant over LAN if I'm not mistaken, otherwise yeah it would.
Adigger Feb 10, 2017 @ 6:45pm 
The flash drive solution would only work if I disabled updates for every library item on all but one of the PCs here... which would be both time consuming and super inconvenient, given a decent sized library. Otherwise updates/DLCs are downloaded by each client when it sees them available. Also, I've done the copy-and-recheck thing several times before they added the ability to transfer between Library locations (to migrate things to my D: drive) and it often seems to redownload the whole thing anyway after doing its integrity check, so even for new installs I'm not sure how effective that is.
And yes, I do mean over LAN - sorry if that wasn't clear.
aiusepsi Feb 11, 2017 @ 7:45am 
The "you could just use a flash drive" argument is terrible. The entire point of computers is that they can do things automatically and take lots of boring manual work out of life.

Anyway: the Steam guys have definitely thought of something like this. I did see some evidence a while back that they started work on it, but there hasn't been any movement on it in a while. You're pretty bang on the money that it's a logical extension from stuff like Steam clients being able to see each other on a local network.
Last edited by aiusepsi; Feb 11, 2017 @ 7:46am
macer Feb 11, 2017 @ 11:59pm 
Nice idea
tin Feb 12, 2017 @ 1:40am 
Steam uses HTTP now, and crafty people have created systems for caching data on a proxy...
I've not tried it - but here: https://steamcache.github.io/

Agree with the P2P idea, but it should be off by default for security, and preferably detect networks so it can disable itself on a new network (such as if you visit a motel and use their WiFi).
RevMortis Feb 12, 2017 @ 9:57am 
Originally posted by tin:
Steam uses HTTP now, and crafty people have created systems for caching data on a proxy...
I've not tried it - but here: https://steamcache.github.io/

Agree with the P2P idea, but it should be off by default for security, and preferably detect networks so it can disable itself on a new network (such as if you visit a motel and use their WiFi).
This sounds like it could solve a lot more problems than just Data limits. I hope that the authors of the cache realize that it should also be set up so that it can be configured to "lock in" versions of software so that unnecessary updates for certain games are hidden.
Adigger Feb 13, 2017 @ 2:57pm 
Originally posted by tin:
Steam uses HTTP now, and crafty people have created systems for caching data on a proxy...
I've not tried it - but here: https://steamcache.github.io/

Agree with the P2P idea, but it should be off by default for security, and preferably detect networks so it can disable itself on a new network (such as if you visit a motel and use their WiFi).
Looks amazing but a little heavy duty for everyday usage - hopefully Valve will step in and make something a little more casually accessible (said as I exceed my data cap for the third month running). I take your point about security, but, correct me if I'm wrong, in-home streaming only works between Steam clients with common Steam (or family-shared) account logins? So if it expands on that framework there would be some built-in security based on Steam authentication.
aiusepsi Feb 13, 2017 @ 5:25pm 
Originally posted by areteas:
I take your point about security, but, correct me if I'm wrong, in-home streaming only works between Steam clients with common Steam (or family-shared) account logins? So if it expands on that framework there would be some built-in security based on Steam authentication.
Obviously security is a thing you should always keep in mind, but in this case, downloading content from peers isn't any more of a security risk than downloading from Steam normally.

Steam's download system is explicitly designed to be cacheable; that's why the various Steam cache implementations have sprung up. The flip side of that is that people could potentially run malicious caches; Steam defeats that by checking the validity of everything it downloads against hashes. If a peer did try to send you data that had been modified, maliciously or otherwise, it would fail the check against the hash and Steam would reject it.

The only remaining concern would be the networking code having a bug which caused a security issue. But sending files is pretty easy to implement correctly.
Rainwatcher Feb 13, 2017 @ 11:20pm 
Honestly, a steam cache for a local network should be very easy to implement, Family Sharing can recognise linked accounts, and In-home Streaming can move gameplay from one system to another.

One possible workaround, though it may not be suitable for a laptop that is used for gaming on the go, would be to point all your steam library folders for all your systems to a shared network drive on a single computer. Although I don't know enough about how steam validates its downloads based on the user downloading a particuliar game to know if this would work or break things in a spectaculiar manner for multiple accounts using the same shared library folder.
< >
Showing 1-13 of 13 comments
Per page: 1530 50

Date Posted: Feb 10, 2017 @ 11:27am
Posts: 13