-
-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feedback] Steam support for lancache #85
Comments
Maybe a stupid question, but if you use the docker images, how do you update? When I run the docker pull command:
Maybe the instructions should be updated to add an "How to update" section too? |
I'll add notes about a 'How to update' section. In this case, you should just need to stop and then start your docker containers. On startup, monolithic and lancache-dns should pull a new cache domain list from online and use it. You can look at the logs of the container to confirm this (using |
The Steam-Client works perfectly :) and also at full speed ~50 MB/sec. But it seems that SteamCMD does not use the new feature ~ 5-8 MB/sec |
An excellent question. I would suspect SteamCmd uses the same backend libraries that the client does, so the next release /may/ have this in. We'll seek clarification from Valve |
So can someone explain how to solve the miss'es im getting in the logs by adding the lancache.steamcontent.com ? It's been 4 days already i followed the tutorial and nothing is going ok. A tutorial about fixing the misses would be nice .... |
Yep, it's likely we can solve that. Without information, that likelihood approaches zero, although we could probably sit and speculate all day what would cause it. Please raise a separate issue, including relevant logging information and we can take a look. |
Done i posted my issue here: #90 |
Some feedback after playing around with this a bunch with ~10 clients or so. Everything is faster than before. With my home gigabit connection I am now getting full speed to my regional Steam endpoint, before the initial download would be much slower (50mbit), despite adding multiple addresses, I could never get it to work fast, etc. So that bottleneck has totally been eliminated for me. Cache hits are also faster? Normally a local LAN hit to one client would be 400mbit but now they're north of 800mbit; depending on the game. I can't explain why this would be but just reporting it. |
We used this at a big LAN this past weekend with over 100 clients. I used the docker-compose image, no tweaking or customizing beyond adjusting memory and storage size. We had an iffy internet connection, but averaged about 150 Mbps download speeds. It served up over 6.2 TB of data after downloading 2.2 TB of data from Thurs night through Sunday afternoon. I don't know about other clients but it worked perfectly for at least Steam and Blizzard downloads. Initial Blizzard downloads were slow, but we were able to precache pretty much everything prior to the event kicking off, so the attendees didn't notice. ;) Peak upload speed was 6.55 Gbps, which made getting a 10G card, switch, and a small stack of SSDs totally worth it. Y'all made this so easy, we couldn't have done it without you! |
I'm using the latest version of lancache/monolithic and the Steam client but I can't say I've noticed any improvement to uncached download speeds. It still seems hugely game-dependent. Some games seem to be near-full speed, but others are painfully slow still (e.g. Jackbox Party games last night were downloading at under 1 MB/s on a 10 MB/s connection). I'm not using lancache-dns which I think means I can't set up multiple IPs, since every guide I can find for doing so includes setting up lancache-dns. |
Hi,
I don't see how you would expect it to be able to work without the DNS
component. Although maybe I haven't understood your setup yet.
As a free open source side project, we are unable to provide free email
support.
However we have a community in discord who will be may be able to discuss
your setup and provide advice ...
https://lancache.net/discord
Regards,
Brian Wojtczak
…On Sat, 30 May 2020 at 10:40, DragonQ ***@***.***> wrote:
I'm using the latest version of lancache/monolithic and the Steam client
but I can't say I've noticed any improvement to uncached download speeds.
It still seems hugely game-dependent. Some games seem to be near-full
speed, but others are painfully slow still (e.g. Jackbox Party games last
night were downloading at under 1 MB/s on a 10 MB/s connection).
I'm not using lancache-dns which I think means I can't set up multiple
IPs, since every guide I can find for doing so includes setting up
lancache-dns.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#85 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAOAMVNFAOM2RID2CPWGOUTRUDICRANCNFSM4KJ5NUZA>
.
--
Brian Astrolox Wojtczak
*This email has been sent from my personal email account.*
*Unless otherwise specified please consider it private and confidential. *
My Personal Website <http://www.astrolox.com/> | My Keybase Profile
<https://keybase.io/astrolox>
My LinkedIn Profile <http://www.linkedin.com/in/astrolox> | My Company
Website (K42 Software) <https://www.k42.io/>
PGP: 214A 9358 A9F7 0F63 5DC0 FB69 CD69 6A8F 1E7C 9187
|
I use Pihole with conditional forwarding of the domains defined by uklans/cache-domains to lancache, rather than using lancache-dns. I've asked in Discord though, thanks for the tip. |
I set this up a little bit ago and just wanted to leave some feedback. Currently, Steam will check to see if there's a DNS record for It'd be awesome if instead Steam would connect directly to the IP address returned from the initial DNS query for That would make it so that if I only really wanted to use lancache for steam games, I don't have to run a separate DNS server like |
I don't understand. Just looking at getting things setup, but based on the description in the OP this your comment doesn't make sense to me. So I assume I am missing something.
The way I read it is, if Steam gets a result for the DNS query lancache.steamcontent.com, all requests for content will go through your cache server. They will come with the wrong hostname, but that shouldn't be a problem. |
Obviously only Valve know the exact behaviour of their client, however its our understanding that lancache.steamcontent.com is the only required DNS entry since the change was made to the client in January. The other steam related hostnames have not been removed from the cache-domains list as yet, but it should be possible to remove all but lancache.steamcontent.com and still have it work. I.E steam DOES use the IP returned from that hostname - its not purely a "exists or does not exist" trigger record. Admittedly due to Covid we havent had much in the way of LAN events this year to gather the usual real world lancache data, but none of the team have reported any issues with home/test setups. |
uklans/cache-domains#124 is relevant, and as @unspec says - due to the lack of LANs we've not been able to test in all environments before we merge this change. That being said, we do have test setups running successfully so there is minimal risk. I suspect we can merge this relatively soon. |
The intended behaviour of the Steam client is that you should only ever need to hijack lancache.steamcontent.com. This is from our original email from Valve in December 2019:
They also confirmed that the Steam client increases the number of TCP connections from 4 to a max of 32 when using a lancache:
|
great. i hope it's not limited to RFC1918 IPv4 addresses as we use public ones, but i can't check it this year due to the virus situation. |
Valve have stated it needs to resolve to RFC1918 addresses:
This is also the same for HTTPS downgrade on Riot and Origin. One solution is to have a private internal range that your router can route to, provide that in DNS lookup for clients, so even though they have a public IP, the lancache is still on RFC1918 and they can still route to it from your LAN. |
thanks, i simply forgot that we already have this... |
Thanks for all of the responses and for the clarification of how the feature works! I set everything up again to set up a STR to reproduce the problem I was seeing, but everything looks like it's working as expected now. The steam client connects directly to the IP returned from the DNS query for |
I'm having some problems with Linux clients and the Steam Deck. Both need a /etc/hosts forcing lancache.steamcontent.com to my monolithic IP otherwise steam wont use the DNS cache. You can curl the address and it will hit but steam itself wont use it. Other people posted on the Steam Forums the same issue: https://steamcommunity.com/app/1675200/discussions/0/3267932441832871889/ I believe is more a Steam issue than a lancache issue, somehow steam is not checking for lancache.steamcontent.com on Linux machines unless you force it through hosts. |
Also having the issue mentione by @h0m3 on linux ... but strangely steamdeck works great edit: tested again on steamdeck |
With the advent of "Game File Transfer over Local Network" earlier this year, a new hurdle came to LanCache (at least at our last LAN with 8 people): I know this isn't an actual LanCache issue, it's in the Steam logic that picks the data source. Maybe you have contacts at Valve to help you figure out if this is intentional or an accident. But I felt like you might be interested to know this. According to the Steam docs data traffic is on port 24070 TCP. Discovery is not mentioned and I only have a single machine with Steam installed here; that one only broadcasts the steam discovery protocol on 27036. Disabling/enabling the file transfer feature didn't seem to alter the packages. |
One thing I have done in the past for my lan is run all ports facing end users in protection mode, then leave the uplink or server ports in normal mode. Ports in protected mode are not allowed to send frames/packets to another port in protection mode. Protected ports are only allowed to send traffic to normal mode. This would block the steam feature @archi is talking about and give the added benefit of protecting people computer from viruses or bad actors. The down side with this it makes it harder for people to self host game servers. |
@archi not sure if our contact at valve will have much to say but I guess we can ask. No promises. |
Hahaha, I wasn't expect you to "fix" this, since this is outside your control :) But since this was not yet mentioned anywhere, I thought it might be sensible to mention the caveat. Especially at a bigger LAN party this might come as an unexpected surprise to both attendees and organizers ;-) OTOH: At scale, central caching for new data (=LanCache) pairs well with decentralized distribution of existing data (=GFToLN). However, this isn't trivial and only Valve knows how smart or dumb the whole GFToLN scheme is :) btw, is that GFToLN? GFT? GoL? 🤔 |
Seems like the windows client is doing the same thing. Pinging lancache.steamcontent.com resolves to the lancache server. Steam client however does not hit the lancache server at all unless you modify the hosts file then it works as it should. So I guess until further notice lancache is basically broken for Steam. Steam Beta Branch: Stable Client EDIT: Something I just thought. The client still works if you modify the hosts file so this means support is still basically in the client as at least from that DNS it accepts downloading from HTTP not requiring HTTPS. So the only thing I can think of the new clients have hardcoded DNS servers. Hosts file is parsed before DNS so that's why putting a entry in there works but DNS does not. Now to find out how to see if the Steam client is querying my DNS server at all or its using a internal hard coded DNS server (like a lot of things have been doing lately which is a pain in the ass). |
@crkinard cant confirm, worked for us just fine a week ago. |
@crkinard Things we have found that can cause this issue on Windows is:
Check for all of those. |
|
I can only suggest it's something odd with your individual setup, I tested it at a LAN party last week and it worked as expected with the latest containers. If you drop into our Discord server, more people may be able to help troubleshoot what's happening here. |
As an update on potential issues with the Linux Steam client, I have reported this to Valve and they are looking into it. |
Works great on Windows. But I can confirm that the Linux Steam client skips the lancache server completely. Not even adding |
I cannot get lancache working with steam. All my other clients are working fine. When i ping lancache.steamcontent.com this resolves to my lancache server Steam Beta Branch: Stable Client similar to @crkinard |
Just as a sanity check, your clients have disabled this option, correct?
[image: image.png]
…On Tue, May 14, 2024 at 6:46 AM Alon Nitzan ***@***.***> wrote:
I cannot get lancache working with steam. All my other clients are working
fine. When i ping lancache.steamcontent.com this resolves to my lancache
server
—
Reply to this email directly, view it on GitHub
<#85 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEC6RYQCOOKPETMC6I3JFB3ZCH2THAVCNFSM4KJ5NUZKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMJQHE4TSNRWGM2Q>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Hi, your image did not get attached to the response. Which setting are you referring to? |
My apologies Alon. In Steam settings, under "Downloads", is "Game file
transfer over local network" turned off? Clients will download from another
client versus hitting the cache if this is enabled.
On Wed, May 15, 2024 at 1:47 AM Alon Nitzan ***@***.***>
wrote:
… Just as a sanity check, your clients have disabled this option, correct?
[image: image.png]
… <#m_5392736029120434611_>
On Tue, May 14, 2024 at 6:46 AM Alon Nitzan *@*.*> wrote: I cannot get
lancache working with steam. All my other clients are working fine. When i
ping lancache.steamcontent.com <http://lancache.steamcontent.com> this
resolves to my lancache server — Reply to this email directly, view it on
GitHub <#85 (comment)
<#85 (comment)>>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEC6RYQCOOKPETMC6I3JFB3ZCH2THAVCNFSM4KJ5NUZKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMJQHE4TSNRWGM2Q
<https://github.com/notifications/unsubscribe-auth/AEC6RYQCOOKPETMC6I3JFB3ZCH2THAVCNFSM4KJ5NUZKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMJQHE4TSNRWGM2Q>
. You are receiving this because you commented.Message ID: @.*>
Hi, your image did not get attached to the response. Which setting are you
referring to?
—
Reply to this email directly, view it on GitHub
<#85 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEC6RYV2DHKIYBI6KIRN74DZCMAHNAVCNFSM4KJ5NUZKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMJRGE3TAOBTGE4A>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Hi everyone! Posting this as a place to collate feedback, problems, suggestions and comments on the Steam support for lancache.
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.
This has already been added to the uklans/cache-domains project, so any new deployments of lancachenet/monolithic and lancachenet/lancache-dns will pull in the new hostname for lancache.steamcontent.com; so you can take advantage of this now!
Valve have been amazingly helpful and supportive of getting this done, and they're keen to see lots of people use it. They also want all feedback, statistics, and any issues that people have so that they can help further.
The text was updated successfully, but these errors were encountered: