-
Notifications
You must be signed in to change notification settings - Fork 176
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
Steam long commandline. #5753
Comments
This isn't a huge problem, I've already worked around it by making the commandline much shorter, but I think Steam should either allow longer commandlines or explicitly bark at you if you go over the limit. |
Resolves #9 Resolves #8 See ValveSoftware/steam-for-linux#5753 Steam seems to have issues with long launch arguments when calling it via `steam -applaunch GAMEID ARGUMENTS`. This results in the client not responding to any `-applaunch` attempts anymore, and it needs to be restarted. When trying to join servers with lots of mods, the `-mod=...` argument can become too long for Steam to handle, so mod directories should not be named by their mod ID and mod name and they should instead be kept as short as possible. This comes at the cost of not being able to identify mod directories easily anymore, but it's better than not being able to join certain servers at all and having to restart Steam. - Remove mod names from mod directory links - Turn decimal mod IDs into ASCII char strings and convert to base64
Could this issue please get some attention? I'm the author of a launcher script for DayZ which needs to pass a long In order to work around this issue, I had to update my launcher script so that it doesn't name mod directory links like |
I didn't find issue this when I originally reported my issue. I too was hopping to launch DayZ on Linux using a To be clear, the ONLY way at the moment to join a DayZ server with a long Currently it's a lot of hoop-jumping just to play DayZ on Linux. Fixing this issue would go a long way to making that process easier. steam:// URLs that are greater than 931 characters break the Steam client Issue transferred from #8484. Your system information
Please describe your issue in as much detail as possible:Invoke a Normally, when the Steam client is open from the terminal, its stdout/stderr will appear there. Subsequently, when a Steps for reproducing this issue:
The above URL is one that has been crafted by a DayZ launcher I'm working on to support connecting from the DayZ client running on Linux with Proton in Steam. It works for launching DayZ using URLs that fall below the 931 character limit. But I find it concerning that Thanks for supporting Linux! @DanielCeregatti commented on 2022-03-18T04:12:39: The same thing happens when using e.g.: When that is run from a terminal, that command successfully launches DayZ with the mods and connects to the server. But this command, which is > 931 characters:
When run from the terminal, there is no reaction from the running Steam client, and subsequent calls to the first command (or any other As I've been reading about how to launch Steam games from outside of Steam in a portable manner, I've read that the "correct" and most portable way is to use But really, the fact that this stops working once it's trigger, IMO, indicates some buffer is being overrun, and that's never good. Maybe I'll start seeing what executable payload I can start adding after the 931st character... I don't have windows, but I suspect this is an issue there as well. Thanks gain for supporting Linux! @chris-echoz commented on 2022-03-29T13:35:23: For what it's worth the same issue occurs if you write something longer than 1023 characters into Running Running When testing this I also noticed that the pipe expects a newline before it takes any action and will concatenate the input of separate writes until it finds a newline. Unfortunately splitting input into smaller chunks still caused the same problem. Example: What's worse, if this really is a buffer overflow, is that clicking links on the web will also trigger this behavior if they contain a steam:// URL that's too long. POC: https://s.echoz.io/steam_url_bug.html @chris-echoz commented on 2022-03-29T13:55:26: I had a friend on Windows test my POC and this behavior does not appear to be present there. The store link and desktop shortcuts (which as far as i know also use steam:// URLs) remained functional after clicking the long link. @DanielCeregatti commented on 2022-07-02T23:58:11: Duplicate of #5753 |
This limit should definitely be removed. I do not believe that mere notification of the problem to the user would remediate anything. Additionally, I am certain that the limit truly should become unlimited rather than the limit merely be configured to be greater, because that merely delays the problem until somebody else attempts something more unique and impressive. |
From some very quick testing, this seems to have been quietly fixed by Valve at some point between October and now, or at least the size of the buffer Steam uses has been greatly expanded. If anyone else can verify this it'd be greatly appreciated! |
Closing per the last comment. |
Your system information
Please describe your issue in as much detail as possible:
Steam stops reacting to external commands (ex.
steam -shutdown
) if you feed it a long enough commandline. Weirdly, it seems to vary, but a thousand chars does this reliably.Steps for reproducing this issue:
steam -applaunch 107410 -world=empty -noSplash -skipIntro -cpuCount=4 -maxMem=24576 -maxVRAM=11263 -exThreads=7 -noLogs -mod=mods-available/da8fc\;mods-available/7efc6\;mods-available/a9849\;mods-available/fb94f\;mods-available/7ef7c\;mods-available/76f92\;mods-available/7c479\;mods-available/69e77\;mods-available/bd6e9\;mods-available/42b88\;mods-available/665dc\;mods-available/b40a6\;mods-available/1e4ca\;mods-available/5528c\;mods-available/1878d\;mods-available/36b72\;mods-available/f4fb6\;mods-available/d79f8\;mods-available/2a801\;mods-available/fe52a\;mods-available/b0dd8\;mods-available/40496\;mods-available/4a200\;mods-available/c19a7\;mods-available/da7a1\;mods-available/3ecc8\;mods-available/74396\;mods-available/dc1d1\;mods-available/2fe45\;mods-available/ea285\;mods-available/be4b9\;mods-available/58582\;mods-available/c23ee\;mods-available/525f2\;mods-available/d36d8\;mods-available/d8b51\;mods-available/4cfbf\;mods-available/f235e\;mods-available/07c56\;mods-available/d24f0\;mods-available/07256\;mods-available/c92e1\;mods-available/d7dfb\;mods-available/68f61\;mods-available/fb083\;
It won't spew anything out into the console when this happens.
Not sure how to debug this further.
Happens in both the stable and the beta Steam versions.
Probably a DBus issue?
The text was updated successfully, but these errors were encountered: