[Support] Josh.5 Docker Templates


Recommended Posts

The speed at first download issue used to be a consequence of the steamcache and as such I expect it's something upstream.  My recent testing though seemed to indicate that it was resolved in this particular bundle - this one even maxes out my bandwidth when cached which the previous never did.  If I recall correctly, there was some issue where the download halved the speed due to downloading two copies simultaneously - i.e. one for your gaming client and one for the cache.  I'm sure this is not normal proxy behaviour, however this isn't a typical proxy being that it uses DNS instead of standard traffic routing methods.  

 

To that end I'd suggest someone looks upstream for resolution.  I'm overseas for a few weeks so a bit difficult for me.

Link to comment

Easy to find others on google:

 

https://forum.level1techs.com/t/troubleshooting-steam-cache-speed-when-downloading-non-cached-games/132384/7

 

 

This one highlights to be careful with your DNS, which I agree - I have mine set via DHCP going to my lancache, then that points upstream to my INTERNAL DNS NOT the internet DNS, which in turn then points to the internet from my firewall.  I'd recommend you do the same.

 

 

This one claims to have helped fix the issue on freenas

 

Link to comment
15 hours ago, Marshalleq said:

The speed at first download issue used to be a consequence of the steamcache and as such I expect it's something upstream.  My recent testing though seemed to indicate that it was resolved in this particular bundle - this one even maxes out my bandwidth when cached which the previous never did.  If I recall correctly, there was some issue where the download halved the speed due to downloading two copies simultaneously - i.e. one for your gaming client and one for the cache.  I'm sure this is not normal proxy behaviour, however this isn't a typical proxy being that it uses DNS instead of standard traffic routing methods.  

 

To that end I'd suggest someone looks upstream for resolution.  I'm overseas for a few weeks so a bit difficult for me.

Even if it was due to downloading two copies, I have a symmetrical gigabit connection and the speeds I get are closer to 5% of my bandwidth.

I have tried pointing the DNS from 8.8.8.8 to 1.1.1.1 (upstream) but no change. I will now try pointing it to my Pi-Hole DNS that sits inside my network.

 

EDIT: Even when using my local DNS (pi-hole) as my upstream, the results are the same.

Edited by ONI
Link to comment
On 2/27/2020 at 7:14 AM, LeoFender said:

 

if I changed the order of DNS requests to: Client -> PiHole -> Lancache-bundle -> 1.1.1.1 ?

 

That's how mine is set up and it works so far so go ahead and do it if you haven't yet, unless you got a reply from a someone saying that would cause an issue that I haven't spotted yet.  The only issue that I think this setup can have is if lancache will only serve cached content to a dns request by the same ip (pihole) after a certain cooldown to prevent accidentally DOS attacking yourself in the case of accidentally making a dns loop or similar issue.

 

I wanted the lancache to use for WSUS for all computers since my home internet bandwidth is 6Mbps but not everyone in my house wants to use the pihole (they are crazy since with our internet speed using it helps a lot).

  • Like 1
Link to comment
3 hours ago, Marshalleq said:

The Point is you’re not the only one and it’s unlikely to be specific to this docker.


Sent from my iPhone using Tapatalk

So I spoke to the LanCache team in discord and they are blaming this container. Honestly I don't think that is right either but at this point I plan on deleting LanCache unless somebody has another idea for me to try.

Edited by ONI
Link to comment
So I spoke to the LanCache team in discord and they are blaming this container. Honestly I don't think that is right either but at this point I plan on deleting LanCache unless somebody has another idea for me to try.
If that is the case, then perhaps test it using the 3 official lancache containers separately rather than this one. That would prove once and for all that it is a fault with the lancache-bundle image.
Link to comment
22 minutes ago, Josh.5 said:
1 hour ago, ONI said:
So I spoke to the LanCache team in discord and they are blaming this container. Honestly I don't think that is right either but at this point I plan on deleting LanCache unless somebody has another idea for me to try.

If that is the case, then perhaps test it using the 3 official lancache containers separately rather than this one. That would prove once and for all that it is a fault with the lancache-bundle image.

This is what I was thinking of trying. I'll post updates.

Edited by jbartlett
  • Like 1
Link to comment

I was looking at the implementation comparing this lancache with the other three. While the docker file seems to be in line with the others, the overlay files do not - notably missing the files in the "hooks" directory of monolithic on github. Also the overlay directory doesn't have the subdirectories created correctly, I don't know if that impacted the docker or not.

Link to comment
I was looking at the implementation comparing this lancache with the other three. While the docker file seems to be in line with the others, the overlay files do not - notably missing the files in the "hooks" directory of monolithic on github. Also the overlay directory doesn't have the subdirectories created correctly, I don't know if that impacted the docker or not.
I'll take a look at that this weekend. I may have left it out on purpose. But perhaps it was an oversight.
  • Thanks 1
Link to comment
  • 2 weeks later...

Josh.5, I may be late to the conversation, but I am seeing the same issue as others with the logging.  It appears the lancache-bundle access.log file is truncated.  It is missing the "HIT" and "MISS" part of the logs as shown below in green.  I googled this issue prior to coming here and noticed a lancache dev telling another person they won't support this docker because there is something wrong with it.

 

lancache-bundle example (borrowed from another post):

10.0.0.4 - - [28/Feb/2020:22:33:18 +0100] "GET /depot/239145/chunk/afd533bb3c7a6f892dbff6232afa4b91d6f78704 HTTP/1.1" 200 339616 "-" "Valve/Steam HTTP Client 1.0"

 

SteamCacheBundle example:

 

10.10.10.101 / - - - [25/Mar/2020:05:51:11 -0600] "GET /depot/582661/chunk/5dbb54e74494aae3cd94f7c47c3c6587cd1b86e0 HTTP/1.1" 200 1054416 "-" "Valve/Steam HTTP Client 1.0" "HIT" "edge.steam-dns.top.comcast.net" "-"

 

Edit: BTW, the cache may be working, but without being able to see the HIT/MISS messages in the log, it's hard to say.  One of the issues I have with SteamCacheBundle is DNS related.  I've seen clients randomly get the legit IP of steam servers, so half the packets go through the cache server and half bypass it (watching traffic on the firewall).  In the past, if I throttled the computer running the initial install/update on the firewall, 99% of the data would be cached and the rest of the computers will benefit from that cache.  Along with adding all the rest of the caches (WarGaming is a major one for me), I'm hoping this docker has been successful in stopping computers from learning the legit IP of servers they are downloading from.

 

 

Thanks,

James

Edited by jzawacki
Link to comment
33 minutes ago, osokthedevil said:

Also it just doesn't work with pihole either.

Not sure how that is the case, I had it working fine with PiHole, just couldn't tell if it was actually caching properly or not.  Here is how I have mine setup:

 

1) DHCP hands out DNS IP1 as PiHole IP and DNS IP2 as a dead IP.  You have to do this because Windows will randomly ask DNS.  It's not a "primary" and "secondary" IP, it's whatever Windows wants to use.

2) PiHole upsteam DNS is lancache-bundle server IP

3) lancache-bundle upstream DNS server is OpenDNS server IP

 

This provides ad blocking (as well as blacklists), caching, and whatever filter settings you  have on OpenDNS.

 

Just make sure that when you are troubleshooting/making changes to DNS servers that you do an ipconfig /flushdns on the computer you are troubleshooting with, as Windows with cache DNS IPs and you won't be actually asking the DNS server.  Another method to verify is to talk directly to the DNS servers.

 

From a cmd prompt, type in "nslookup", it will connect to your default DNS server.  If you want to change server, type "server" and then IP, such as "server 8.8.8.8", this will ask that DNS server for the next lookup.

 

Edit: Example-

 

C:\Users\jzawacki>nslookup
Default Server:  UnKnown
Address:  10.10.10.12

 

> server 10.10.10.14
Default Server:  [10.10.10.14]
Address:  10.10.10.14

 

> steamcache.cs.steampowered.com
Server:  [10.10.10.14]
Address:  10.10.10.14

 

Non-authoritative answer:
Name:    steam.cache.lancache.net
Address:  10.10.10.14
Aliases:  steamcache.cs.steampowered.com

Edited by jzawacki
Link to comment

Ok, It appears that it might be working, just some of the configs might not be setup the way the devs want them to.  I don't know why your log lines are truncated, but when comparing SteamCacheBundle to lancache-bundle, I found that 200 = HIT and 206 = MISS

 

10.10.10.100 - - [25/Mar/2020:20:27:47 -0600] "GET /tpr/ovw/data/c1/25/c125c5ac589f3ccbdbd632d5249b7878 HTTP/1.1" 206 7540 "-" "-"
10.10.10.100 - - [25/Mar/2020:20:27:50 -0600] "GET /na/patches/wot_1.7.1.1844_na/wot_1.7.1.20228_1.7.1.20220_client.wgpkg HTTP/1.1" 206 16777216 "-" "wdsa::Torrents/libtorrent 1.1.9.0"

 

Now, what makes even less sense.. is this attached picture.  In the upper left, I am updating Overwatch on a computer that is on WiFi (which is crappy in my house, so the 1.5MB/s isn't part of the issue), in the upper right is the bandwidth monitoring on my firewall showing pretty much NO internet traffic, which means it is all being pulled from the lancache-bundle docker, and at the bottom is the lancache-bundle log showing 206, or misses.

 

So, I don't know where to go from here.  It appears to be working, so that might be good.  Logs appear to be useless other than seeing that computers are actually talking to it.  I'll play with it some more, but I'm not sure how to help you fix it.

 

I do have one group of requests though, if you could install vim, make bash the default, and install bash-completion, I would appreciate it and it would make troubleshooting a lot easier for me.

 

James

lancache-bundle01.JPG

Link to comment

Hey,

Do we have to do anything specific to this container, other than set the BIND IPs, for it to cache things?

For example, do we need to set each service type to 'false' so that it does cache them?

 

I ask as i've had Lancache in operation for a while now, lots of downloads from at least 4-5x of the services it lists as supporting, with 100s of GB of data downloaded in total...and the current cache size is less than 5Gb.

 

Is that normal?

 

Thanks!

Link to comment
3 hours ago, boomam said:

Hey,

Do we have to do anything specific to this container, other than set the BIND IPs, for it to cache things?

For example, do we need to set each service type to 'false' so that it does cache them?

 

 

Yes, you have to setup your network to use the lancache-bundle as your ONLY internal DNS server.  Other than that, not normally.  But I am experiencing all kinds of weirdness on it.

Link to comment
14 hours ago, jzawacki said:

 

Yes, you have to setup your network to use the lancache-bundle as your ONLY internal DNS server.  Other than that, not normally.  But I am experiencing all kinds of weirdness on it.

Hi,

That's not what i'm asking at all, reading the second paragraph would have showed this.

 

I'm asking if we have to turn on each supported service as part of the docker container setup, using the variables that are pre-set in the template.

It is of course obvious that for DNS requests to be intercepted that it would need to be in the chain of DNS's in use by a given subnet.

 

Thanks.

Link to comment
23 hours ago, boomam said:

Hi,

That's not what i'm asking at all, reading the second paragraph would have showed this.

 

Ok, with that kind of response, you get this kind of response:

 

If you want it to cache something, do you think you should set it to false?  Normally, the word false, means you DON'T want it to do something.  Therefore, you DO NOT need to change any of those fields.  By default, it will cache everything.  The only time you would set it to false, is if you DON'T want it to cache something.

  • Like 1
Link to comment

i have testet lancache on several games on steam and can confirm 10x my internet download speeds when a game is in cache.

however i cannot see the files in cache folder unless i browse from inside unraid GUI. 

many folders names 0a , 0b etc. with files from 500kb til 1mb with names like 60a856419f0420a152aeac5ae1270d00

So im very happy..keep up the nice work 🙂

Link to comment

Thank you for the docker, but from the beginning is obviously unusable. I downloaded my game again from UPlay, Steam, Microsoft Store, Wargaming, EA Origin and again the data was deleted and lost from the allocated disk even though I set my cache to 3650 days. I will return to backup using WinRAR or 7zip.

Link to comment

I Installed the docker - simply changed the default DNS on a few computers to the one set by the default 192.168.1.202 and the second to 8.8.8.8  It appears to be working.   questions.  Forgive my questions if they are completely ignorant.  I didn't see a guide so i winged it.

1.   Will non gaming network traffic not be cached and pass through the lancache server?

2.  I see some references to complications on having the lancache share go to more than 1 drive, does that matter much?

3.  When i can afford to get another SSD (beyond the Cache drive of unraid) - it seems like it might be a good idea to dedicate an SSD in the unraid array.  I am assuming that i would limit the share to that drive and it would work fine? But it would be written to cache then moved at night with parity written to the lancache share which would be limited to that new SSD? Or am i on the wrong path here?  Perhaps it would be worth just getting another old machine and throwing a drive in, installing linux and making it a dedicated lancache machine?

4. Would i want to set the dns in the router instead so all traffic goes through the cache instead of on each computer?

5.  Did i miss something in the setup and i just think its working.. I only tested with a few smaller games or is it as easy as setting your dns?  What about Gateway does that need to be set?

Edited by FrozenGamer
additional questions
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.