 Waiting what seems like an eternity for games to download is annoying enough to start with but when there are multiple people in the house or office and Everyone wants to grab a hot new title at the same time. You can run into some serious bottlenecking. So We set out to solve that problem once and for all Without just spending more money on a faster internet connection and now well not quite now Jake's fixing it but soon Everyone in this building will be able to download games from services like Steam at full speed And I'm gonna show you guys how After Jake fixes the machine and I tell you about Corsair's next generation strafe mark 2 keyboard It features a variety of cherry MX RGB key switches and 8 megabytes of onboard profile storage Check it out at the link below If you've been to an organized LAN event recently you were probably wowed by game download speeds that seemed like they were from the future or something But unless it was dream hack 2018 the event's internet speed is probably nowhere Near enough to offer those kinds of speeds to even just a couple of people. So How do they do it? Great question and one that can be both simple and Complicated to answer so in short those insane speeds are thanks to the event having something called a caching server Basically when a game is first downloaded on the network instead of the files just going straight to the downloaders drive like let's say this Laptop that used to be here, but instead I'll use this hard drive as a prop Instead of them just going straight to this drive. They are first saved to a separate machine and then Kind of relayed to the user so then the next time someone wants to download that same game Let's say to this other hard drive Instead of pulling it off of Steam or you play directly It'll save a ton of bandwidth to the outside internet by grabbing it off of that same server This will help keep latency down for all of the gamers that are sharing that same connection So the concept is simple But when you get into sending up nginx DNS forwarding dealing with HTTPS and worrying about when to clear the cache The actual deployment can get pretty confusing Now thankfully for us there are a ton of different solutions that mostly revolve around the same built-in nginx caching solution With the most up-to-date being the appropriately named steam cache It's pre compiled for Docker making it quick to set up and despite its name There's actually a version of it that supports steam origin riot games battle.net Frontier launch pad you play and even Windows update so it's perfect for your next LAN or even general home use because I mean Who needs epic games launch anyway, right? Yeah, right? So let's get started on exactly how it works then shall we for most people standard one gigabit networking along with a couple of Along with a couple of raid zeroed hard drives will be more than sufficient, but Come on you guys know how we do so we wanted to plan to allow every single writer here in the office to download games at the same time so that would be about one gigabyte per second of Sequential read speeds now that's child's play for today's high-end NVMe SSDs like this one But since we also need capacity and that's not what you're gonna get from a single optane drive We decided on six raid zeroed 480 gigs SATA SSDs from Corsair that we pulled out of that dual machine build rip rip in pieces Now it should be noted that a single drive failure here would result in a complete loss of all the data on the array But it doesn't really matter since this server is not mission critical all it's doing is caching Readily available games and updates we could easily throw a new drive in and redownload it all the other key specs of our system The other key specs of our system are at 64 gigs of DDR4 RAM Lots of RAM lets the server cache files in memory for quicker transfers and a 10 gigabit network card So remember even though we want to download from this server at one gigabit We want multiple people to be able to do that at the same time so this one needs a bigger pipe Now we're using an x5 40t2, but that's kind of older. It was because we had it lying around They're actually cheaper options these days from a quantia and a suce So then now that we have a server primed for caching we can get back to the software side of things As I mentioned earlier steam cache comes in the form of a docker container Which is kind of like a virtual machine But instead of emulating the entire operating system Then with the specific software that we need on top of that docker can run specific software as if it's on its OS Without running an entire separate OS making it a lot more efficient Especially if you need to run multiple instances of the same software And we will need to do that since each different service that needs caching steam origin battle net etc will run in its own instance Now we know all of that was a gross oversimplification So we're actually going to link a video below with a better explanation of docker if you're into that Docker can run on both linux and windows But the windows version has to actually virtualize a linux kernel on top of windows So we're going to stick with linux we went with Ubuntu desktop 18.04 Because we love reading butthurt comments from the arch and mint fanboys Just kidding love you guys But don't worry the guide to docker is in the description But don't worry the guide that we're going to have linked below will work on pretty much any flavor of linux that you like Now our first step is to get docker up and running Once you have it make sure that you run your docker commands either with sudo or by adding your user to the docker group Do not run any of this as root please Then for our installation we want to cache all of the services that we use on a regular basis here at the office Which means that we're going to need six static ips one for each of them Since this OS has a graphical interface it's actually super easy to set up our ips We just need to navigate to network settings and enter them Wabam! Wabam! Just like that I type pretty fast Now we can start each of the caching docker containers one by one And then steam cache DNS which will forward all of the URLs that need caching To our server instead of the world wide web Then, I mean don't worry, then if something isn't on our server it won't just fail If the content isn't cached yet it will then get downloaded to the caching server and be forwarded to the downloader seamlessly Cool right? So theoretically then we should be good to start downloading some games right? Uhh not quite so we need to set the cache IP as DNS on all the systems we want to use Right So keep in mind that if you intend to run a solution like this long term It's a lot more elegant to set your primary DNS on your router to the IP of your caching server Instead of setting up the DNS settings on a computer by computer basis Uhh don't worry any unrelated traffic will go to the usual location Okay so we're ready so here's the caching server We've got our diagnostics panel running and all of that And then we've got actually a couple of test victims So first up we've got this guy one of Jake's test benches And we're just going to do a quick sanity check make sure everything's working This is actually a 10 gig client with an Intel Optane drive as it's boot so go ahead and hit that I want to hit it at the same time as you Okay 3 3, 2, 1, go! Oh boy Brandon you're going to have to get here in the next 23 seconds here You got this? I'm at 200 megs I'm coming down at 320 megs a second sir you're at what? 223 223? 230 250 Oh wow 300 Are you done the game yet? Uhh 7 seconds Who's going to win? 5 2 seconds 2 And done Undone! Same time Go check go check because it'll be done too so we don't even have to see the actual speed Wonder what the... That is disgusting Okay so we peaked out at 7.2 gigabit 7.2 gigabit? Yeah from the cert Show it show Brandon 7 point okay so that was the peak 7.2 and then it was kind of averaged around 6 There's another 6.7 right there Dang flabbit that's insane Alright for lulls I'm just going to do PUBG and see if that one works Oh yeah it is It is So with games like PUBG where there's a lot of compression you're limited by your computer So if we look at the cores of this system since this is an i9 you don't have a huge amount of single threaded performance So Steam will only use a certain amount of cores and it won't bypass that 90 percent So we're capped out by our CPU right now Yeah decompressing Not by our server So if you see here there's two full cores that are being utilized I think it's normally three or four that it'll use Right And then past that it won't use any more to not interrupt the rest of your system Right And I think it's more optimized for like four to eight core systems 16 cores a little too much for Steam So it's a less impressive demo but it's definitely our best case scenario and that means that we could have five systems Yeah Hitting it at the same time Well apparently seven now based on what we saw there So I guess conclusion time then This may not be a solution for the everyday gamer Like many people will only ever download each game play it once then delete it and never download it again And it's a lot more user friendly to just use Steam's own backup feature to a NAS If there's something that you think occasionally you might want to re-download But if you have a bunch of gaming efficient autos in the house Or if you help run a local LAN gaming organization we would definitely recommend giving it a shot Especially if you have an old computer lying around that's just waiting to be given a new purpose Speaking of just waiting what are you waiting for? Try FreshBooks today! FreshBooks is the small business accounting software custom built for how you want to work It's the simple way to be more productive, more organized and to get paid faster FreshBooks allows you to create and send professional looking invoices in less than 30 seconds You can set up online payments with just a couple of clicks and get paid up to 4 days faster They've got apps for iOS and Android so you can take the entire FreshBooks experience with you on the go And you can see when your client has seen your invoice to put an end to the guessing games So for your unrestricted 30 day free trial go to freshbooks.com slash tech tips And enter Linus Tech Tips in the how did you hear about us section We're going to have that linked below So thanks for watching guys! Dislike or like, check out our other videos Oh wait this is my tech quickie outro, crap Also get subscribed, we have merch And let us know if you want to see a follow up to this video where instead of like a jank-tastic Like rats nest of SSDs in the back of a regular tower Yeah and Jake's water cooled test bench If you want to see us like set this up properly Like get like every Steam and Origin game possible cached onto it and do some cool demos Maybe we should do like a LAN center Oh! That would be pretty sick This would be perfect for that Yeah We might need more networking though Maybe Want to see us take it to the next level? Let us know in the comments below