ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.21k stars 174 forks source link

SteamCMD app_info_print no output to stdout before quit - Recent Issue #9683

Open own3mall opened 1 year ago

own3mall commented 1 year ago

Your system information

Latest steamcmd linux script:

./steamcmd.sh +login anonymous +app_info_update 1 +app_info_print 232130 +quit

Please describe your issue in as much detail as possible:

./steamcmd.sh +login anonymous +app_info_update 1 +app_info_print 232130 +quit produces no output before exit.

./steamcmd.sh +login anonymous +app_info_update 1 +app_info_print 232130 prints output but doesn't exit (because no quit parameter passed in)

Steps for reproducing this issue:

  1. Run this command: ./steamcmd.sh +login anonymous +app_info_update 1 +app_info_print 232130 +quit
  2. No app_info_print output.

It should output to stdout the same thing it does when running the script without the +quit parameter:

./steamcmd.sh +login anonymous +app_info_update 1 +app_info_print 232130

tbeswick96 commented 1 year ago

Am having the same problem on Windows. Same command but with APP ID 233780 (don't think that matters)

Same thing working without +quit bt not working with +quit. Sometimes it dumps the data, most of the time it does not.

This started happening for me on 15th June (confirmed working on 13th)

HunterZ commented 1 year ago

For me it sometimes prints the info and sometimes does not. Very strange.

GGHostDotGames commented 1 year ago

Same problem here with SteamCMD on Windows. It started about two weeks ago. I ended up putting the command in a loop, which checks if the required output is there and, if not, repeats the command. Loops every 0.5s and usually returns the results within ten iterations.

GGHostDotGames commented 1 year ago

Based on the output it does give on failed attempts, it would seem as if it fails on executions where SteamCMD decides to autoupdate itself. The successful executions seem to be the ones where the auto-update was skipped.

For example, a successful execution's output:

Steam Console Client (c) Valve Corporation - version 1687387651
-- type 'quit' to exit --
Loading Steam API...OK
src\public\tier1\interface.h (265) : m_pModule
AppID : 4940, change number : 19358343/0, last change : Fri Jun 30 21:02:11 2023 
"4940"
{
    "common"
    {

    etc, etc

Vs a failed one:

Steam Console Client (c) Valve Corporation - version 1687387651
-- type 'quit' to exit --
Loading Steam API...OK
src\public\tier1\interface.h (265) : m_pModule
Redirecting stderr to 'C:\Users\juanh\Desktop\SCUMUpdater4\steamcmd\logs\stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
0x00000ED commented 1 year ago

Windows.

Hello, I’ll say right away that everything worked before, but now I can’t get the vdf package in node js I run node script like this

let cmd = spawn( this.#launcher, ['+login', this.#username, '+app_info_update', '0', '+app_info_print', serverAppID, "+quit"], {cwd: this.#folder, shell: false} );

cmd.stdout.on('data', (data) => { stdout += data.toString();

console.log(data.toString()); });

// this.#username = "anonymous" // serverAppID = "232330"

stamcmd exits and I don't get information about the requested application

log

Steam Console Client (c) Valve Corporation - version 1691628584
-- type 'quit' to exit --
Loading Steam API...OK

Connecting anonymously to Steam Public...
OK
Waiting for client config...OK
Waiting for user info...
OK

Redirecting stderr to 'D:\server\server\[SteamCmd]\logs\stderr.txt'
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[] Проверка на наличие обновлений...
[----] Проверка установки...

How to fix it? please don't suggest to use runscript

ThoronadNg commented 10 months ago

still the same problem here. when i use steamcmd.exe +login anonymous +app_info_update 1 +app_info_print 232130 +quit it rarly prints out the app_info before quit.

Sipowicz commented 9 months ago

Hello everyone,

TL:DR - I use this and it works now: steamcmd.exe +login anonymous +app_info_update +app_info_print steamAppID +logoff +quit

I am working with Windows server 2022, but the issue was the same when using SteamCMD

steamcmd.exe +login anonymous +app_info_update 1 +app_info_print $steamAppID +app_info_print $steamAppID +quit - normally produces the wrong output, but randomly produces the correct output. Removing +quit always produces correct output.

When I originally started using this command in 2016 it worked fine. After few years it randomly stopped working reliably which I was able to fix by adding a few more "+app_info_print"s steamcmd.exe +login anonymous +app_info_update 1 +app_info_print $steamAppID +app_info_print $steamAppID +app_info_print $steamAppID +app_info_print $steamAppID +quit - This worked up until a few weeks ago (as far as I can tell).

It seemed like the data pull was being cut off by the +quit option, so I added +logoff before +quit, and that seems to have done the trick.

tbeswick96 commented 5 months ago

So doing the +logoff worked to make it dump the output. Now I occasionally get invalid JSON: Why is there an OK in the middle of the dump? Seems possibly like text dumps are getting mixed up as that OK is from a previous message (e.g Logging off current session...<OK should be here>).