lightwo 2022 年 10 月 14 日 上午 7:53
Eureka! Steam Client launch options bug worked around
You may be familiar with how Steam and Source/GoldSrc/Quake-based games work; launching with -<args> uses command line options specific to launching, and +<cmds> fire console commands at launch.

All this works just fine on SteamCMD, but the issue arises if you try to do it on the main client. The client fails to parse console commands properly (notice the single quote):
+some_command Outcome: >>> command not found: some_command'

The workaround
What's the workaround? It's actually dead simple.
Just enclose everything in quotes and add a dummy command!
"+some_command <arg> +some_other_command <arg> +dont_touch_this"

Explanation
So, normally, when you try to do this, you end up nowhere because the client mistakenly adds another ' at the end of any command:
+some_command <arg> Result: some_command' <arg>
Outcome: >>> command not found: some_command'
...and here's what happens if you try to be smart and enclose it in quotes:
"+some_command <arg>" Result: some_command <arg>'
Outcome: "some_command" = "<arg>'"
(notice the extra ')
Well, why don't we push it further to the right instead?
"+some_command <arg> +some_other_command <arg>" Result: some_command <arg>
some_other_command <arg>'
Outcome: "some_command" = "<arg>"
"some_other_command" = "<arg>'"
(again, the extra ')
Okay, but now the other command isn't usable. Let's add a dummy command to make the previous two work.
"+some_command <arg> +some_other_command <arg> +dont_touch_this" Result: some_command <arg>
some_other_command <arg>
dont_touch_this'
Outcome: "some_command" = "<arg>"
"some_other_command" = "<arg>"
(no extra '!) >>> command not found: dont_touch_this'
Awesome! It worked, but let's ignore the error from the dummy command, it doesn't matter.

How you can benefit from this
Ever wanted to use internal commands and variables like @AllowSkipGameUpdate = "1" on launch? Well, now you can!

Here's a few other interesting commands you can try:
@bMetricsEnabled 0 clientui_overlay_fps <desired FPS, def. 60> library_sharing_account_max 1337 sCommunityShareScreenshotLink about:blank (this points to Facebook by default...) steamcontroller_developer 1 voice_quality <quality, def. 6> unShaderBackgroundProcessingThreads ## (Linux, replace ## with `nproc`)



Now, I am aware of "-script <filename>" referenced in the Command Line Options wiki page, but either it's total bull, or the actual syntax and implications are not yet known.
最后由 lightwo 编辑于; 2023 年 8 月 28 日 上午 8:03
< >
正在显示第 1 - 6 条,共 6 条留言
lightwo 2022 年 10 月 14 日 上午 10:10 
Finally! Many edits later, I figured everything out. Have fun pretending your client is SteamCMD now!
最后由 lightwo 编辑于; 2022 年 10 月 14 日 上午 10:28
burnhell 2023 年 2 月 28 日 上午 7:59 
引用自 lightwo
How you can benefit from this
Ever wanted to use internal commands and variables like @AllowSkipGameUpdate = "1" on launch (which nowadays requires Small Mode, launching via steam:// URL or desktop shortcut)? Well, now you can!
May you elaborate more on how where exactly I should put; @AllowSkipGameUpdate = "1" ?

Is it on the game via steam or is it on the steam.exe?

For example:
in the steam desktop shortcut I added
"C:\Program Files (x86)\Steam\steam.exe" @AllowSkipGameUpdate 1
最后由 burnhell 编辑于; 2023 年 2 月 28 日 上午 8:09
lightwo 2023 年 2 月 28 日 上午 8:11 
引用自 burnhell
引用自 lightwo
How you can benefit from this
Ever wanted to use internal commands and variables like @AllowSkipGameUpdate = "1" on launch (which nowadays requires Small Mode, launching via steam:// URL or desktop shortcut)? Well, now you can!
May you elaborate more on how where exactly I should put; @AllowSkipGameUpdate = "1" ?

Is it on the game via steam or is it on the steam.exe?

For example:
"C:\Program Files (x86)\Steam\steam.exe" @AllowSkipGameUpdate 1
"C:\Program Files (x86)\Steam\steam.exe" "+@AllowSkipGameUpdate 1 +dummy"

Though @AllowSkipGameUpdate 1 is a bit obsolete considering that using Offline Mode nowadays lets you skip updates and get right into the game.

If you want the full procedure for either method, feel free to read these:
https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=2925299592
https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=2926418252
最后由 lightwo 编辑于; 2023 年 2 月 28 日 上午 8:16
burnhell 2023 年 2 月 28 日 上午 8:16 
引用自 lightwo
引用自 burnhell
May you elaborate more on how where exactly I should put; @AllowSkipGameUpdate = "1" ?

Is it on the game via steam or is it on the steam.exe?

For example:
"C:\Program Files (x86)\Steam\steam.exe" @AllowSkipGameUpdate 1
"C:\Program Files (x86)\Steam\steam.exe" "+@AllowSkipGameUpdate 1 +dummy"

Though @AllowSkipGameUpdate 1 is a bit obsolete considering that using Offline Mode nowadays lets you skip updates and get right into the game.
Yeah but, offline mode doesn't count hours played in the profile. lol
thank you, gonna try it now. :cozybethesda::steamhappy:
lightwo 2023 年 2 月 28 日 上午 8:20 
引用自 burnhell
引用自 lightwo
"C:\Program Files (x86)\Steam\steam.exe" "+@AllowSkipGameUpdate 1 +dummy"

Though @AllowSkipGameUpdate 1 is a bit obsolete considering that using Offline Mode nowadays lets you skip updates and get right into the game.
Yeah but, offline mode doesn't count hours played in the profile. lol
thank you, gonna try it now. :cozybethesda::steamhappy:
You also need to know that the modern library doesn't offer you to skip updates, so as noted:
...like @AllowSkipGameUpdate = "1" on launch (which nowadays requires Small Mode, launching via steam:// URL or desktop shortcut)?
...please don't go launching all your outdated games immediately, because you will find that the ConVar does nothing in the modern library.

Also, be careful to stop any updates the client starts as the result of launching the game, because... well, Steam behaves that way. Sorry.



In any case, I do recommend following my new procedure in this guide:
https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=2925299592

And note this:
If you want/need Steam networking: Switch back with Steam > Go Online... and continue playing

Thus, you only need to go offline to launch the game, but then you can immediately exit out of the mode.
最后由 lightwo 编辑于; 2023 年 2 月 28 日 上午 8:24
burnhell 2023 年 2 月 28 日 上午 8:29 
引用自 lightwo
引用自 burnhell
Yeah but, offline mode doesn't count hours played in the profile. lol
thank you, gonna try it now. :cozybethesda::steamhappy:
You also need to know that the modern library doesn't offer you to skip updates, so as noted:
...like @AllowSkipGameUpdate = "1" on launch (which nowadays requires Small Mode, launching via steam:// URL or desktop shortcut)?
...please don't go launching all your outdated games immediately, because you will find that the ConVar does nothing in the modern library.

Also, be careful to stop any updates the client starts as the result of launching the game, because... well, Steam behaves that way. Sorry.



In any case, I do recommend following my new procedure in this guide:
https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=2925299592

And note this:
If you want/need Steam networking: Switch back with Steam > Go Online... and continue playing

Thus, you only need to go offline to launch the game, but then you can immediately exit out of the mode.
shame modern library doesn't allow it,:steamsad:

I will try "Switch back with Steam > Go Online... and continue playing"

Edit: Works, it count hours played this way :D
最后由 burnhell 编辑于; 2023 年 2 月 28 日 上午 8:34
< >
正在显示第 1 - 6 条,共 6 条留言
每页显示数: 1530 50

发帖日期: 2022 年 10 月 14 日 上午 7:53
回复数: 6