aclist / dztui

DayZ GUI server browser and frontend for Linux
https://aclist.github.io/dzgui/dzgui
GNU General Public License v3.0
83 stars 10 forks source link

dztui now fails to launch #12

Closed fossean closed 2 years ago

fossean commented 2 years ago

Not sure what changed, but dztui stopped working for no obvious reason. I downloaded dzgui and that works perfectly using the same steam path, workshop & game directories.

As dzgui works so well, there's no obviously no urgency to fix this, I'm just posting in case it's useful. I'll be installing steamcmd later just for fun ;)

I'm running MX Linux 21.1 (debian based)

Here is the error from dztui (I had to run it with root, otherwise the terminal just closes without any error text)

[INFO] Verifying integrity of server modlist manifest [33/33]
[INFO] Mod check passed
awk: fatal: cannot open file /home/foss/.steam/debian-installation/steamapps/workshop/content/221100/2760915083/meta.cpp' for reading: No such file or directory

When connecting to the same server with dzgui, I get a different 'false positive', but the game actually launches and runs without issue:

[DZGUI] Setting favorite server
[DZGUI] Checking response time of servers
[DZGUI] Verifying server modlist integrity
[DZGUI] Passed mod check
awk: fatal: cannot open file `/home/foss/.steam/debian-installation/steamapps/workshop/content/221100/2054775140/meta.cpp' for reading: No such file or directory
awk: fatal: cannot open file `/home/foss/.steam/debian-installation/steamapps/workshop/content/221100/2054775140/meta.cpp' for reading: No such file or directory
steam.sh[45505]: Running Steam on mx 21.1 64-bit
steam.sh[45505]: STEAM_RUNTIME is enabled automatically
setup.sh[45571]: Steam runtime environment up-to-date!
steam.sh[45505]: Steam client's requirements are satisfied
[2022-06-08 11:46:51] Startup - updater built Jun  7 2022 03:18:19
[2022-06-08 11:46:51] Opted in to client beta 'publicbeta' via beta file
You are in the 'publicbeta' client beta.
Installing breakpad exception handler for appid(steam)/version(1654574690)
[2022-06-08 11:46:51] Loading cached metrics from disk (/home/foss/.steam/debian-installation/package/steam_client_metrics.bin)
[2022-06-08 11:46:51] Using the following download hosts for Public, Realm steamglobal
[2022-06-08 11:46:51] 1. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2022-06-08 11:46:51] 2. https://cdn.akamai.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2022-06-08 11:46:51] 3. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
Installing breakpad exception handler for appid(steam)/version(1654574690)
[2022-06-08 11:46:51] Verifying installation...
[2022-06-08 11:46:51] Verification complete
Loaded SDL version 2.0.22-7215337
/usr/share/themes/Breeze/gtk-2.0/widgets/entry:70: error: unexpected identifier 'direction', expected character '}'

(steam:45662): Gtk-WARNING **: 11:46:51.845: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Breeze/gtk-2.0/widgets/styles:36: error: invalid string constant "combobox_entry", expected valid string constant
ComputeStartupMode: found registry default startup mode: 0steamwebhelper.sh[45668]: Runtime for steamwebhelper: defaulting to /home/foss/.steam/debian-installation/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[45668]: Using CEF sandbox (try with -no-cef-sandbox if this fails)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
CAppInfoCacheReadFromDiskThread took 121 milliseconds to initialize
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)

(steam:45662): Gtk-WARNING **: 11:46:53.449: gtk_disable_setlocale() must be called before gtk_init()
local (potentially out of sync) copy of roaming config loaded - 4677 bytes.
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
roaming config store loaded successfully - 4677 bytes.
migrating temporary roaming config store
BRefreshApplicationsInLibrary 1: 24ms
Installing breakpad exception handler for appid(steam)/version(1654574690)
Failed to init SteamVR because it isn't installed
Installing breakpad exception handler for appid(steam)/version(1654574690)
ExecCommandLine: "'/home/foss/.steam/debian-installation/ubuntu12_32/steam' '-nominidumps' '-nobreakpad' '-applaunch' '221100' '-connect=168.100.161.146:2302' '-nolauncher' '-nosplash' '-skipintro' '-name=jackdaw' '"-mod=@2122332595-Vehicle3PP;@2420864633-The_Perception_Server_Pack;@2492595497-The_Perception_Licensed;@2462927972-The_Perception_Helicopters;@2636037836-ZombieCooKie_Darkness;@2350401726-King_of_the_Hill;@2444301292-Care_Packages;@2545327648-Dabs_Framework;@2276010135-DayZ_Editor_Loader;@2398911445-Basic_Territories;@2565724570-Better_Snap_Sounds;@2444247391-Inventory_Move_Sounds;@2345073965-CJ187_LootChest;@2303483532-CarCover;@1836257061-Banking;@1590841260-Trader;@2049002856-MuchCarKey;@1832448183-FlipTransport;@2710385029-BetterStash;@2143128974-Advanced_Weapon_Scopes;@1793351435-Remastered_Arma_Weapon_Pack;@2443122116-SNAFU_Weapons;@2273590683-RevGuns;@1646187754-Code_Lock;@2303554682-Dogtags;@2484279619-Quadlock_s_Pack;@1827241477-Breachingcharge;@1797720064-WindstridesClothingPack;@1991570984-MuchStuffPack;@1710977250-BaseBuildingPlus;@1828439124-VPPAdminTools;@1559212036-CF;@-"'"
System startup time: 3.84 seconds
GameAction [AppID 221100, ActionID 1] : LaunchApp changed task to ProcessingInstallScript with ""
BuildCompleteAppOverviewChange: 350

(steam:45662): Gtk-WARNING **: 11:46:56.645: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): GLib-CRITICAL **: 11:46:56.645: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed

(steam:45662): Gtk-WARNING **: 11:46:56.646: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): Gtk-WARNING **: 11:46:56.646: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): Gtk-WARNING **: 11:46:56.646: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): Gtk-WARNING **: 11:46:56.647: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): Gtk-WARNING **: 11:46:56.647: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): Gtk-WARNING **: 11:46:56.647: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): Gtk-WARNING **: 11:46:56.648: gtk_disable_setlocale() must be called before gtk_init()
RegisterForAppOverview 1: 60ms
RegisterForAppOverview 2: 61ms

(steam:45662): Gtk-WARNING **: 11:46:57.953: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): Gtk-WARNING **: 11:46:57.953: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): Gtk-WARNING **: 11:46:57.953: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): Gtk-WARNING **: 11:46:58.004: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): Gtk-WARNING **: 11:46:58.005: gtk_disable_setlocale() must be called before gtk_init()

(steam:45662): GLib-CRITICAL **: 11:46:58.005: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed

(steam:45662): Gtk-WARNING **: 11:46:58.005: gtk_disable_setlocale() must be called before gtk_init()
fsync: up and running.
wine: Using setpriority to control niceness in the [-10,10] range
GameAction [AppID 221100, ActionID 1] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 221100, ActionID 1] : LaunchApp changed task to SynchronizingControllerConfig with ""
GameAction [AppID 221100, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 221100, ActionID 1] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 221100, ActionID 1] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 221100, ActionID 1] : LaunchApp continues with user response "CreatingProcess"
/bin/sh\0-c\0/home/foss/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=221100 -- '/home/foss/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/foss/.steam/debian-installation/compatibilitytools.d/GE-Proton7-20'/proton waitforexitandrun  '/home/foss/.steam/debian-installation/steamapps/common/DayZ/DayZLauncher.exe' '-connect=168.100.161.146:2302' '-nolauncher' '-nosplash' '-skipintro' '-name=jackdaw' '"-mod=@2122332595-Vehicle3PP;@2420864633-The_Perception_Server_Pack;@2492595497-The_Perception_Licensed;@2462927972-The_Perception_Helicopters;@2636037836-ZombieCooKie_Darkness;@2350401726-King_of_the_Hill;@2444301292-Care_Packages;@2545327648-Dabs_Framework;@2276010135-DayZ_Editor_Loader;@2398911445-Basic_Territories;@2565724570-Better_Snap_Sounds;@2444247391-Inventory_Move_Sounds;@2345073965-CJ187_LootChest;@2303483532-CarCover;@1836257061-Banking;@1590841260-Trader;@2049002856-MuchCarKey;@1832448183-FlipTransport;@2710385029-BetterStash;@2143128974-Advanced_Weapon_Scopes;@1793351435-Remastered_Arma_Weapon_Pack;@2443122116-SNAFU_Weapons;@2273590683-RevGuns;@1646187754-Code_Lock;@2303554682-Dogtags;@2484279619-Quadlock_s_Pack;@1827241477-Breachingcharge;@1797720064-WindstridesClothingPack;@1991570984-MuchStuffPack;@1710977250-BaseBuildingPlus;@1828439124-VPPAdminTools;@1559212036-CF;@-"' -nolauncher -nosplash -skipintro \0
Game process added : AppID 221100 "/home/foss/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=221100 -- '/home/foss/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/foss/.steam/debian-installation/compatibilitytools.d/GE-Proton7-20'/proton waitforexitandrun  '/home/foss/.steam/debian-installation/steamapps/common/DayZ/DayZLauncher.exe' '-connect=168.100.161.146:2302' '-nolauncher' '-nosplash' '-skipintro' '-name=jackdaw' '"-mod=@2122332595-Vehicle3PP;@2420864633-The_Perception_Server_Pack;@2492595497-The_Perception_Licensed;@2462927972-The_Perception_Helicopters;@2636037836-ZombieCooKie_Darkness;@2350401726-King_of_the_Hill;@2444301292-Care_Packages;@2545327648-Dabs_Framework;@2276010135-DayZ_Editor_Loader;@2398911445-Basic_Territories;@2565724570-Better_Snap_Sounds;@2444247391-Inventory_Move_Sounds;@2345073965-CJ187_LootChest;@2303483532-CarCover;@1836257061-Banking;@1590841260-Trader;@2049002856-MuchCarKey;@1832448183-FlipTransport;@2710385029-BetterStash;@2143128974-Advanced_Weapon_Scopes;@1793351435-Remastered_Arma_Weapon_Pack;@2443122116-SNAFU_Weapons;@2273590683-RevGuns;@1646187754-Code_Lock;@2303554682-Dogtags;@2484279619-Quadlock_s_Pack;@1827241477-Breachingcharge;@1797720064-WindstridesClothingPack;@1991570984-MuchStuffPack;@1710977250-BaseBuildingPlus;@1828439124-VPPAdminTools;@1559212036-CF;@-"' -nolauncher -nosplash -skipintro ", ProcID 46436, IP 0.0.0.0:0
chdir /home/foss/.steam/debian-installation/steamapps/common/DayZ
ERROR: ld.so: object '/home/foss/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/foss/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/foss/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 221100, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""
GameAction [AppID 221100, ActionID 1] : LaunchApp changed task to Completed with ""
ERROR: ld.so: object '/home/foss/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/foss/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 46441 != 46438, skipping destruction (fork without exec?)
Installing breakpad exception handler for appid(steam)/version(1654574690)
ProtonFixes[46768] INFO: Running protonfixes
ProtonFixes[46768] INFO: Running checks
ProtonFixes[46768] INFO: All checks successful
ProtonFixes[46768] INFO: Using global defaults for "DayZ" (221100)
ProtonFixes[46768] INFO: No protonfix found for "DayZ" (221100)
fsync: up and running.
wine: Using setpriority to control niceness in the [-10,10] range
ThreadGetProcessExitCode: no such process 46792
ThreadGetProcessExitCode: no such process 46788
ThreadGetProcessExitCode: no such process 46777
ThreadGetProcessExitCode: no such process 46776
ThreadGetProcessExitCode: no such process 46439
ThreadGetProcessExitCode: no such process 46795
Game process updated : AppID 221100 "/home/foss/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=221100 -- '/home/foss/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/foss/.steam/debian-installation/compatibilitytools.d/GE-Proton7-20'/proton waitforexitandrun  '/home/foss/.steam/debian-installation/steamapps/common/DayZ/DayZLauncher.exe' '-connect=168.100.161.146:2302' '-nolauncher' '-nosplash' '-skipintro' '-name=jackdaw' '"-mod=@2122332595-Vehicle3PP;@2420864633-The_Perception_Server_Pack;@2492595497-The_Perception_Licensed;@2462927972-The_Perception_Helicopters;@2636037836-ZombieCooKie_Darkness;@2350401726-King_of_the_Hill;@2444301292-Care_Packages;@2545327648-Dabs_Framework;@2276010135-DayZ_Editor_Loader;@2398911445-Basic_Territories;@2565724570-Better_Snap_Sounds;@2444247391-Inventory_Move_Sounds;@2345073965-CJ187_LootChest;@2303483532-CarCover;@1836257061-Banking;@1590841260-Trader;@2049002856-MuchCarKey;@1832448183-FlipTransport;@2710385029-BetterStash;@2143128974-Advanced_Weapon_Scopes;@1793351435-Remastered_Arma_Weapon_Pack;@2443122116-SNAFU_Weapons;@2273590683-RevGuns;@1646187754-Code_Lock;@2303554682-Dogtags;@2484279619-Quadlock_s_Pack;@1827241477-Breachingcharge;@1797720064-WindstridesClothingPack;@1991570984-MuchStuffPack;@1710977250-BaseBuildingPlus;@1828439124-VPPAdminTools;@1559212036-CF;@-"' -nolauncher -nosplash -skipintro ", ProcID 46789, IP 0.0.0.0:0
Setting breakpad minidump AppID = 221100
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197960464655 [API loaded no]
Installing breakpad exception handler for appid(steam)/version(1654574690)
ThreadGetProcessExitCode: no such process 46896
ThreadGetProcessExitCode: no such process 46855
Game process updated : AppID 221100 "/home/foss/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=221100 -- '/home/foss/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/foss/.steam/debian-installation/compatibilitytools.d/GE-Proton7-20'/proton waitforexitandrun  '/home/foss/.steam/debian-installation/steamapps/common/DayZ/DayZLauncher.exe' '-connect=168.100.161.146:2302' '-nolauncher' '-nosplash' '-skipintro' '-name=jackdaw' '"-mod=@2122332595-Vehicle3PP;@2420864633-The_Perception_Server_Pack;@2492595497-The_Perception_Licensed;@2462927972-The_Perception_Helicopters;@2636037836-ZombieCooKie_Darkness;@2350401726-King_of_the_Hill;@2444301292-Care_Packages;@2545327648-Dabs_Framework;@2276010135-DayZ_Editor_Loader;@2398911445-Basic_Territories;@2565724570-Better_Snap_Sounds;@2444247391-Inventory_Move_Sounds;@2345073965-CJ187_LootChest;@2303483532-CarCover;@1836257061-Banking;@1590841260-Trader;@2049002856-MuchCarKey;@1832448183-FlipTransport;@2710385029-BetterStash;@2143128974-Advanced_Weapon_Scopes;@1793351435-Remastered_Arma_Weapon_Pack;@2443122116-SNAFU_Weapons;@2273590683-RevGuns;@1646187754-Code_Lock;@2303554682-Dogtags;@2484279619-Quadlock_s_Pack;@1827241477-Breachingcharge;@1797720064-WindstridesClothingPack;@1991570984-MuchStuffPack;@1710977250-BaseBuildingPlus;@1828439124-VPPAdminTools;@1559212036-CF;@-"' -nolauncher -nosplash -skipintro ", ProcID 46903, IP 0.0.0.0:0
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
Fossilize INFO: Overriding serialization path: "/home/foss/.steam/debian-installation/steamapps/shadercache/221100/fozpipelinesv6/steamapprun_pipeline_cache".
Installing breakpad exception handler for appid(gameoverlayui)/version(20220607031826)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
CAPIJobRequestUserStats - Server response failed 2
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(steam)/version(1654574690)
ThreadGetProcessExitCode: no such process 46876
ThreadGetProcessExitCode: no such process 46848
ThreadGetProcessExitCode: no such process 46839
ThreadGetProcessExitCode: no such process 46801
ThreadGetProcessExitCode: no such process 46797
ThreadGetProcessExitCode: no such process 46789
ThreadGetProcessExitCode: no such process 46768
pid 46793 != 46792, skipping destruction (fork without exec?)
Game process removed: AppID 221100 "/home/foss/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=221100 -- '/home/foss/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/foss/.steam/debian-installation/compatibilitytools.d/GE-Proton7-20'/proton waitforexitandrun  '/home/foss/.steam/debian-installation/steamapps/common/DayZ/DayZLauncher.exe' '-connect=168.100.161.146:2302' '-nolauncher' '-nosplash' '-skipintro' '-name=jackdaw' '"-mod=@2122332595-Vehicle3PP;@2420864633-The_Perception_Server_Pack;@2492595497-The_Perception_Licensed;@2462927972-The_Perception_Helicopters;@2636037836-ZombieCooKie_Darkness;@2350401726-King_of_the_Hill;@2444301292-Care_Packages;@2545327648-Dabs_Framework;@2276010135-DayZ_Editor_Loader;@2398911445-Basic_Territories;@2565724570-Better_Snap_Sounds;@2444247391-Inventory_Move_Sounds;@2345073965-CJ187_LootChest;@2303483532-CarCover;@1836257061-Banking;@1590841260-Trader;@2049002856-MuchCarKey;@1832448183-FlipTransport;@2710385029-BetterStash;@2143128974-Advanced_Weapon_Scopes;@1793351435-Remastered_Arma_Weapon_Pack;@2443122116-SNAFU_Weapons;@2273590683-RevGuns;@1646187754-Code_Lock;@2303554682-Dogtags;@2484279619-Quadlock_s_Pack;@1827241477-Breachingcharge;@1797720064-WindstridesClothingPack;@1991570984-MuchStuffPack;@1710977250-BaseBuildingPlus;@1828439124-VPPAdminTools;@1559212036-CF;@-"' -nolauncher -nosplash -skipintro ", ProcID 46903 
ThreadGetProcessExitCode: no such process 46903
ThreadGetProcessExitCode: no such process 46811
ThreadGetProcessExitCode: no such process 46438
ThreadGetProcessExitCode: no such process 46437
Game 221100 created interface STEAMAPPLIST_INTERFACE_VERSION001 / AppList
Game 221100 created interface STEAMAPPS_INTERFACE_VERSION008 / Apps
Game 221100 created interface STEAMHTMLSURFACE_INTERFACE_VERSION_004 / HTMLSurface
Game 221100 created interface STEAMHTTP_INTERFACE_VERSION002 / HTTP
Game 221100 created interface STEAMINVENTORY_INTERFACE_V002 / Inventory
Game 221100 created interface STEAMMUSICREMOTE_INTERFACE_VERSION001 / MusicRemote
Game 221100 created interface STEAMMUSIC_INTERFACE_VERSION001 / Music
Game 221100 created interface STEAMPARENTALSETTINGS_INTERFACE_VERSION001 / ParentalSettings
Game 221100 created interface STEAMREMOTESTORAGE_INTERFACE_VERSION014 / RemoteStorage
Game 221100 created interface STEAMSCREENSHOTS_INTERFACE_VERSION003 / Screenshots
Game 221100 created interface STEAMUGC_INTERFACE_VERSION010 / UGC
Game 221100 created interface STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001 / UnifiedMessages
Game 221100 created interface STEAMUSERSTATS_INTERFACE_VERSION011 / UserStats
Game 221100 created interface STEAMVIDEO_INTERFACE_V002 / Video
Game 221100 created interface SteamController005 / Controller
Game 221100 created interface SteamFriends015 / Friends
Game 221100 created interface SteamMatchMaking009 / Matchmaking
Game 221100 created interface SteamMatchMakingServers002 / MatchmakingServers
Game 221100 created interface SteamNetworking005 / Networking
Game 221100 created interface SteamUser019 / User
Game 221100 created interface SteamUtils009 / Utils
Game 221100 method call count for IClientRemoteStorage::FileWriteStreamWriteChunk : 27
Game 221100 method call count for IClientRemoteStorage::FileWriteStreamClose : 27
Game 221100 method call count for IClientRemoteStorage::FileWriteStreamOpen : 27
Game 221100 method call count for IClientRemoteStorage::GetQuota : 27
Game 221100 method call count for IClientRemoteStorage::FileExists : 29
Game 221100 method call count for IClientRemoteStorage::GetFileTimestamp : 2
Game 221100 method call count for IClientRemoteStorage::GetFileSize : 27
Game 221100 method call count for IClientAppManager::BIsDlcEnabled : 1
Game 221100 method call count for IClientAppManager::IsAppDlcInstalled : 3
Game 221100 method call count for IClientApps::BGetDLCDataByIndex : 2
Game 221100 method call count for IClientApps::GetDLCCount : 1
Game 221100 method call count for IClientMatchmaking::AddFavoriteGame : 1
Game 221100 method call count for IClientUtils::RecordSteamInterfaceCreation : 25
Game 221100 method call count for IClientUtils::GetAppID : 28
Game 221100 method call count for IClientUtils::GetIPCountry : 6
Game 221100 method call count for IClientFriends::GetPersonaName : 2
Game 221100 method call count for IClientUser::BIsSubscribedApp : 3
Game 221100 method call count for IClientUser::CancelAuthTicket : 1
Game 221100 method call count for IClientUser::GetAuthSessionTicket : 2
Game 221100 method call count for IClientUser::GetSteamID : 10
Game 221100 method call count for IClientUser::BLoggedOn : 1
Uploaded AppInterfaceStats to Steam

(process:46974): GLib-GObject-CRITICAL **: 11:49:45.529: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
src/steamexe/main.cpp (253) : Assertion Failed: reaping pid: 46974 -- gameoverlayui

src/steamexe/main.cpp (253) : Assertion Failed: reaping pid: 46974 -- gameoverlayui

Installing breakpad exception handler for appid(steam)/version(1654574690)
assert_20220608114955_34.dmp[47150]: Uploading dump (out-of-process)
/tmp/dumps/assert_20220608114955_34.dmp
assert_20220608114955_34.dmp[47150]: Finished uploading minidump (out-of-process): success = yes
assert_20220608114955_34.dmp[47150]: response: CrashID=bp-8ab9e0be-29ea-4aae-bcdd-ba2ba2220608
assert_20220608114955_34.dmp[47150]: file ''/tmp/dumps/assert_20220608114955_34.dmp'', upload yes: ''CrashID=bp-8ab9e0be-29ea-4aae-bcdd-ba2ba2220608''
Installing breakpad exception handler for appid(steam)/version(1654574690)
[2022-06-08 12:45:36] Background update loop checking for update. . .
[2022-06-08 12:45:36] Checking for available updates...
[2022-06-08 12:45:36] Downloading manifest: https://cdn.cloudflare.steamstatic.com/client/steam_client_publicbeta_ubuntu12
[2022-06-08 12:45:36] Manifest download: send request
Installing breakpad exception handler for appid(steam)/version(1654574690)
[2022-06-08 12:45:36] Manifest download: waiting for download to finish
[2022-06-08 12:45:37] Manifest download: finished
[2022-06-08 12:45:37] Download skipped by HTTP 304 Not Modified
[2022-06-08 12:45:37] Nothing to do
Installing breakpad exception handler for appid(steam)/version(1654574690)
Installing breakpad exception handler for appid(steam)/version(1654574690)
aclist commented 2 years ago

Thanks for making a new issue.

It would be nice to reach feature parity between DZTUI and DZGUI, but the latter has sort of taken over now and has some more sane methods I'd like to backport to DZTUI. In addition, I need to upgrade DZTUI to use the common dztuirc file so that you can switch between TUI/GUI version seamlessly.

I'll be installing steamcmd later just for fun ;)

Just note that the steamcmd method is currently only supported in DZTUI. DZGUI still does not have this functionality added in, so it's reliant on the manual method.

When connecting to the same server with dzgui, I get a different 'false positive', but the game actually launches and runs without issue

This is now fixed per the other thread (https://github.com/aclist/dztui/commit/94add8d9830dc468f9727453610fb028f2c3215a)

Here is the error from dztui (I had to run it with root, otherwise the terminal just closes without any error text)

Hmm, that is a bit concerning. Do you mean you had to run it as root just to get it to start, or in order to display this error message when connecting?

This seems to be the same error fixed above in DZGUI. It was a bug carried over from DZTUI, in fact. I've pushed a change on DZTUI as well, so please test.

fossean commented 2 years ago

Confirm that new DZTUI fixes the 'false positive' error.

Do you mean you had to run it as root just to get it to start, or in order to display this error message when connecting?

Just required root to display the error.

I followed the Valve instructions exactly to install steamcmd, but have been defeated. I installed dependencies, created new steam user, new folders, ran steamcmd which then downloaded the additional files. I added /home/steam/Steam/steamcmd.sh to $PATH. But bash cannot see steamcmd — echo $PATH shows the folder, but command -v steamcmd returns nothing.

Sorry I have failed! I'm feeling out of my depth here, but DZGUI works very well, and manual mod installation isn't too much of a hardship.

aclist commented 2 years ago

Confirm that new DZTUI fixes the 'false positive' error.

Thanks.

Just required root to display the error.

Hmm, I'm drawing a blank on this right now, but let's just sweep this under the rug...

I followed the Valve instructions exactly to install steamcmd, but have been defeated. I installed dependencies, created new steam user, new folders, ran steamcmd which then downloaded the additional files. I added /home/steam/Steam/steamcmd.sh to $PATH. But bash cannot see steamcmd — echo $PATH shows the folder, but command -v steamcmd returns nothing.

You should be adding directory paths to your $PATH, not the path to files themselves: just $HOME/steam/Steam, if that is where it's located.

fossean commented 2 years ago

You should be adding directory paths to your $PATH, not the path to files themselves: just $HOME/steam/Steam

Yes, I should have clarified, that is what I did. echo $PATH showed success but bash still refused to see steamcmd.sh.

Nevermind, it's either my error or Valve's (probably mine), but I've drawn ablank on this one.

aclist commented 2 years ago

Rereading your post, it seems you had kept the script named steamcmd.sh, but were trying to look for a command named steamcmd. If you rename the script to just steamcmd, it should find it.

fossean commented 2 years ago

I tried once again, renaming script without .sh file extension, but DZTUI still can't see steamcmd — returns this:

[INFO] Verifying integrity of server modlist manifest [15/15]
[ERROR] Missing mods. Invoking steamcmd for user steam
[INFO] Found steamcmd user. Downloading mods
sh: 1: steamcmd: not found

As I'm adding mods manually, I might add that I prefer the long list of missing mods (with links) output by DZTUI. It's much easier to quickly open all the links in a browser and subscribe, as opposed to the DZGUI approach of offering one link at a time. Thanks for all your efforts on this, it's much appreciated!

EDIT:
I logged in as steam user and added the path to ~/.profile Now echo $PATH shows the installation folder when logged into both my user account and the steam user account. Also, command -v steamcmd shows the correct result for both accounts.

But when I run DZTUI, it says steamcmd is not installed:

[INFO] Verifying integrity of server modlist manifest [15/15]
[ERROR] Missing mods. Invoking steamcmd for user steam
[ERROR] steamcmd not installed. See: https://developer.valvesoftware.com/wiki/SteamCMD

It's definitely installed; if I switch to steam account with sudo -u steam -s, I can run steamcmd and arrive at the Steam> prompt.

aclist commented 2 years ago

I appreciate your sticking to this, I think we have a fix now.

As I'm adding mods manually, I might add that I prefer the long list of missing mods (with links) output by DZTUI. It's much easier to quickly open all the links in a browser and subscribe, as opposed to the DZGUI approach of offering one link at a time.

Yes, this is sort of a consequence of DZGUI initially being more of a convenience feature I made for a Steam Deck user, where the kiosk mode of the device necessitates some more literal jumping back and forth between DZGUI and the Steam big picture mode. I think what we need to do is start differentiating between desktop (GUI), Steam Deck, and terminal, and have different outcomes:

Desktop => emit the entire list or open all tabs (detect the system browser). Could rely on the Steam web site instead of the Steam application Steam Deck => walk user through mod installation one by one Terminal => emit the entire list or use steamcmd

It's definitely installed; if I switch to steam account with sudo -u steam -s, I can run steamcmd and arrive at the Steam> prompt.

OK, I recalled something similar about this issue happening with another user. The steamcmd automation was very experimental when I first made it, and I didn't consider different distro architectures and user permissions well enough. Basically, we should be more explicit about this check, rather than assuming that steamcmd might be globally visible to the user invoking the script, in addition to the steam user. Frankly, I think we don't even need to determine whether users other than steam can see steamcmd. That's a flaky approach that I should have changed. So let's just be more explicit about the verification and check for it sanely by invoking a subshell as the steam user, as we do when we run steamcmd itself.

Here's a quick test. Add your real steam username to the $steam_username variable at the top. It should login as expected. Once you confirm this, I will move this into DZTUI.

#!/bin/bash
steamcmd_user=steam
steam_username=

printf "[DZGUI] Switching to user: %s\n" $steamcmd_user
sudo su steam -c "command -v steamcmd"

if [[ $? -eq 0 ]]; then
    printf "[DZGUI] Invoking steamcmd\n"
    sudo su steam -c "steamcmd +login $steam_username"
else
    printf "[DZGUI] steamcmd not installed. See: https://developer.valvesoftware.com/wiki/SteamCMD"
fi

Some parts of DZTUI need a refactor, and the steamcmd automation hasn't been looked at in awhile, so this is a step in the right direction. I need to bring DZTUI/GUI to feature parity. I don't really know how many users are using steamcmd, but I think it's the minority. I'd definitely be interested to know if you run into any difficulties with the download process itself. I've been using the steamcmd method exclusively since the start, but it hasn't been tested much by other users. Thanks.

fossean commented 2 years ago

Here's a quick test. Add your real steam username to the $steam_username variable at the top. It should login as expected.

On running this I get the following:

[DZGUI] Switching to user: steam
[sudo] password for foss: 

On entering the password, the window closes immediately. Interestingly, I cannot run the script a second time; needed to restart system in order to run it again (logging out/in didn't help).

If I run it when logged in as steam, I get this output:

[DZGUI] Switching to user: steam
[sudo] password for steam: 
steam is not in the sudoers file.  This incident will be reported.
[DZGUI] steamcmd not installed. See: https://developer.valvesoftware.com/wiki/SteamCMDsteam@mx:/home/foss
aclist commented 2 years ago

Hmm. Permissions can be such a PITA at times.

In the second case, the user steam can't perform the sudo operation of switching to the user steam, since it's not in the sudoers file, and we are already the steam user anyway.

I need to think of a more stable way of handling this, will get back to you after I try some tests. I think it's quite a simple problem, just not putting the dots together.

aclist commented 2 years ago

How about this sequence of commands (as your regular user)?

sudo -u steam bash -c 'command -v steamcmd' >/dev/null
echo $?
fossean commented 2 years ago

How about this sequence of commands (as your regular user)?

This asks for password, then window closes on entry

aclist commented 2 years ago

OK. Both commands appear to be working, need to evaluate why the window is closing. What terminal emulator are you using?

fossean commented 2 years ago

What terminal emulator are you using?

Konsole

aclist commented 2 years ago

I found this:

As a safety feature, sudo normally resets the $PATH to a "safe" value before executing the shell (or the single command). That value will not have any of the modifications made in the /etc/profile and ~/.profile startup scripts, and without those modifications -- which add one or more user-specific directories to the path -- the shell will not find software which has been installed for individual users.

 -i, --login
                 Run the shell specified by the target user's password data‐
                 base entry as a login shell.  This means that login-specific
                 resource files such as .profile, .bash_profile, or .login
                 will be read by the shell.

Some variations to try:

sudo -u steam -i command -v steamcmd sudo -u steam -i command -v steamcmd 2>/dev/null

sudo -u steam /bin/sh -lc "command -v steamcmd" 2>/dev/null sudo -u steam /bin/bash -lc "command -v steamcmd" 2>/dev/null

Also check that result of: stat -c "%a" /tmp

is 1777

Also, are you invoking the script inside of konsole already open, or are you double-clicking and launching the script from the system window manager?

fossean commented 2 years ago
foss@mx:~
$ stat -c "%a" /tmp
1777

All variants return this result when pasted into an open Konsole:

[sudo] password for foss: 
/home/steam/Steam/steamcmd

When scripts are launched from window manager (Dolphin), the window closes, and a system restart is required in order to continue testing with Konsole.

fossean commented 2 years ago

Is this a workaround?

sudo has builtin protections that you're noticing when you run several of these commands. These protections are doing a number of things, such as enforcing a safe $PATH.

From the /etc/sudoers file:

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin This is what's showing up when you run your sudo -c .... commands. You can disable this behavior with the -E switch to sudo.

NOTE: For some setups the -E switch will not work. To "workaround" it you can use sudo env "PATH=$PATH" bash. This will also carry your current $PATH forward to your sudo environment.

https://unix.stackexchange.com/questions/91541/why-is-path-reset-in-a-sudo-command

This is what happens on my system:

foss@mx:~
$ sudo env "PATH=$PATH" bash
root@mx:/home/foss# sudo -u steam -i command -v steamcmd
/home/steam/Steam/steamcmd
root@mx:/home/foss# sudo -u steam -i command -v steamcmd 2>/dev/null
/home/steam/Steam/steamcmd
root@mx:/home/foss# sudo -u steam /bin/sh -lc "command -v steamcmd" 2>/dev/null
/home/steam/Steam/steamcmd
root@mx:/home/foss# sudo -u steam /bin/bash -lc "command -v steamcmd" 2>/dev/null
/home/steam/Steam/steamcmd
root@mx:/home/foss# 
aclist commented 2 years ago

OK, I understand better about the nature of the problem now. I assumed everything was being invoked in the terminal directly (that's my bias, I suppose). I would tend to just open a terminal and invoke the script directly, not from a shortcut.

When running those test commands via a double-click, it has nothing graphical to return, since they are being run in a shell, with the result just getting emitted to stdout, and the terminal emulator was not explicitly told to remain open, since it was launched from a file manager. As for the restart required, I believe it (broad oversimplification) interfered with your login session or whatever daemon Konsole uses to run. Generally, when you pass a command to a terminal emulator to spawn the emulator itself and then run the command, you need to add an internal flag to "hold" the terminal and keep it open, rather than treating the command as ephemeral. The switch is traditionally -hold. (Additional options can be seen in konsole --help)

This gives a much clearer focus to what we need to do, so returning to the steamcmd issue, I actually created another test, installed Dolphin, and tried running the script directly in Konsole via the file manager. The result is a bit erratic, and while it works, it doesn't print some of the lines correctly, and the exit command does not release the terminal, so the script has to be forcibly closed. Therefore, what I would recommend doing if you want to run a script that interactively prints content to the terminal (versus some script that just performs an action on your system and completes) is to create a "wrapper" shortcut like:

konsole -e "dztui"

If you instead want to keep the script somewhere as a loose file and not stick it in your $PATH, use the construct:

konsole -e "/bin/bash dztui.sh"

So you wouldn't be launching the script directly, but rather this wrapper script to ensure that Konsole is opened correctly, then the real script within it.

I'm guessing that when using DZTUI, you were just opening a terminal and typing dztui, but when running the tests above, you were double-clicking them. Is this correct? If not, and you intend to run dztui via the file manager as well, try the below. Actually, try the below anyway.

  1. Create a script containing the following:
    #!/bin/bash
    konsole -e "/bin/bash zen.sh"
  2. Save as test_dolphin.sh
  3. Create a script containing the following:
#!/bin/bash
separator=│
user=steam
steam_username=

menu(){
    printf "\n"
    for i in 1 2 3; do
    printf "$i$separator Test $i\n"
    done
    printf "\n"
    printf "q$separator Quit\n"
}

test_result(){
    if [[ $res -eq 0 ]]; then
        printf "[DZGUI] Test $sel OK\n"
        for ((i=3;i>0;i--)); do
            printf "[DZGUI] Launching steamcmd in $i...\n"
            sleep 1s
        done
        sudo su -c "steamcmd +login $steam_username"
    else
        printf "[DZGUI] Test $sel failed"
    fi
}

test_1(){
    sudo -u steam -i command -v steamcmd > /dev/null 2>&1
    res=$?
    test_result
}
test_2(){
    res=$(sudo -u steam -i command -v steamcmud > /dev/null 2>&1)
    test_result
}
test_3(){
    sudo -u steam -i command -v steamcmd
    res=$?
    test_result $res
}

main(){
    while true; do
        menu
        read -p "Selection: " sel
            case $sel in
                1) test_1;;
                2) test_2;;
                3) test_3;;
                q) exit ;;
                *) : ;;
            esac
    done
}

main
  1. Save as test.sh
  2. Update the value for steam_username at the top
  3. Make test_dolphin.sh and test.sh executable (chmod +x)
  4. Open file manager
  5. Click to launch test_dolphin
  6. Try the tests using the TUI
  7. Watch if the tests return OK and steamcmd is launched

This concludes the tests. I think all of these commands are going to work (without forcibly closing!), so I can then safely update the DZTUI side. But it would be important to know how you are usually launching DZTUI.

fossean commented 2 years ago

Interesting to read about the --hold option in Konsole. If I add it to a 'wrapper' shortcut: konsole --hold -e "/bin/bash MyTest.sh" and re-test the earlier commands (sudo -u steam -i command -v steamcmd, etc) they all output /home/steam/Steam/steamcmd; more importantly the Konsole window remains open.

I've been lauching DZTUI from Dolphin. It runs fine, apart from steamcmd not running. Anyway, on to the test — I changed zen.sh to test.sh (typo?) and Konsole returns this:

1│ Test 1
2│ Test 2
3│ Test 3

q│ Quit
Selection: 1
[sudo] password for foss: 
[DZGUI] Test 1 OK
[DZGUI] Launching steamcmd in 3...
[DZGUI] Launching steamcmd in 2...
[DZGUI] Launching steamcmd in 1...
bash: line 1: steamcmd: command not found

1│ Test 1
2│ Test 2
3│ Test 3

q│ Quit
Selection: 2
[DZGUI] Test 2 OK
[DZGUI] Launching steamcmd in 3...
[DZGUI] Launching steamcmd in 2...
[DZGUI] Launching steamcmd in 1...
bash: line 1: steamcmd: command not found

1│ Test 1
2│ Test 2
3│ Test 3

q│ Quit
Selection: 3
/home/steam/Steam/steamcmd
[DZGUI] Test 3 OK
[DZGUI] Launching steamcmd in 3...
[DZGUI] Launching steamcmd in 2...
[DZGUI] Launching steamcmd in 1...
bash: line 1: steamcmd: command not found

1│ Test 1
2│ Test 2
3│ Test 3

q│ Quit
Selection:

Maybe there's a problem with my steam $HOME permissions. I installed it according to the Valve guide, but I'll delete steam user and $HOME and re-install, then run test_dolphin.sh again.

UPDATE: After recreating steam user and steam $HOME, test_dolphin.sh gives result below. Same result after adding folder to user $PATH and steam $PATH in ~/.bashrc

1│ Test 1
2│ Test 2
3│ Test 3

q│ Quit
Selection: 1
[sudo] password for foss: 
[DZGUI] Test 1 failed
1│ Test 1
2│ Test 2
3│ Test 3

q│ Quit
Selection: 2
[DZGUI] Test 2 OK
[DZGUI] Launching steamcmd in 3...
[DZGUI] Launching steamcmd in 2...
[DZGUI] Launching steamcmd in 1...
bash: line 1: steamcmd: command not found

1│ Test 1
2│ Test 2
3│ Test 3

q│ Quit
Selection: 3
[DZGUI] Test 3 failed
1│ Test 1
2│ Test 2
3│ Test 3

q│ Quit

After adding the path to ~/.bashrc in steam $HOME and user $HOME, my steam user can only 'see' steamcmd and the path to folder when I log in as below. I need to be root user, then enter sudo -u steam -s.

root@mx:/home/steam/Steam# sudo -u steam -s
steam@mx:~/Steam
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/steam/Steam
steam@mx:~/Steam
$ command -v steamcmd
/home/steam/Steam/steamcmd
steam@mx:~/Steam

It seems I have made things worse.

aclist commented 2 years ago

Gah! Well, we don't want to be root every time.

At the risk of oversimplification, could you take a more reductivist approach without the use of custom paths and login profiles and copy steamcmd to a global location like other binary programs, so that it's accessible to all system users? That's where it resides if it comes from your system package manager. The fact that you have a loose script kicking around is adding another variable of complexity.

E.g.,

sudo cp steamcmd /usr/bin

aclist commented 2 years ago

Actually, it seems that for the most part your tests were passing, we just had to reformulate the steamcmd launch parameters a bit. If, as a matter of standard operating procedure, you don't change any other settings after getting a test result and report back here first, it'll reduce the number of variables in play so that the outcome is repeatable.

Try using your previous configuration but formatting the command as follows:

sudo -u steam -i steamcmd +login

fossean commented 2 years ago
$ sudo -u steam -i steamcmd +login
[sudo] password for foss: 
-sh: 1: steamcmd: not found
fossean commented 2 years ago

I have to say, this steamcmd is a right pain.

Perhaps the system I'm using is too idiosyncratic! I accept that it may not be cost effective to fix every possible permutation of Linux distro.

aclist commented 2 years ago

Yes, it is annoying. The reason I was pushing you for it is that I think it may be affecting other users. A variant of this came up some time ago here: https://github.com/aclist/dztui/issues/8

It has some other unrelated issues mixed in, but the basic issue was the same. That conversation resulted in making the steamcmd invocation more robust (it was much simpler originally) to cover Ubuntu. What I ended up doing there was testing all of this in a virtual machine, so I think I'll have to do the same for MX Linux.

What I'm getting at here is that, vagaries of distros aside, I think there is a fundamentally more sane way of handling this and getting it to work all the time, but I need to tinker with other distros some more to see what the smoking gun is.

Best I can do for now is add a one-shot mode to DZGUI to format all of the links as clickable links in a file in your browser. (We shouldn't just mass open links at will, as some servers could have 30 or 40 of them).

aclist commented 2 years ago

I'm going to be working on this some more this weekend. To clarify, did you try copying steamcmd to the default system path of /usr/bin? I mentioned it when posting two messages in succession, so not sure if you saw it.

fossean commented 2 years ago

Yes, I copied steamcmd to /usr/bin. It gave the error that it couldn't find the linux32 folder. I copied that across too, and then remember seeing the error "folder /tmp/steamapps does not exist. (Apologies for lack of detail, I'm not at my desktop atm).

fossean commented 2 years ago

Back at desktop, here are the notes I took when copying steamcmd to /usr/bin —

After trying sudo cp steamcmd /usr/bin:

Selection: 9
[INFO] Verifying integrity of server modlist manifest [15/15]
[ERROR] Missing mods. Invoking steamcmd for user steam
[INFO] Found steamcmd user. Downloading mods
/usr/bin/steamcmd: line 38: /usr/bin/linux32/steamcmd: Not a directory

After sudo cp steamcmd /usr/sbin and sudo cp -r linux32 /usr/sbin

Selection: 4
[INFO] Verifying integrity of server modlist manifest [15/15]
[ERROR] Missing mods. Invoking steamcmd for user steam
[INFO] Found steamcmd user. Downloading mods
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[  0%] Checking for available update...
[----] Download Complete.

After sudo cp -r public /usr/sbin

There was an error of failed to find /tmp/steamapps

aclist commented 2 years ago

OK, I went through and debugged this and finally understand the problem and its implications.

First of all, an apology: I had made some assumptions based on faulty memory and was scratching my head as to why you were copying linux32 libraries and the like. In my ignorance, I had neglected to realize that the manual tarball of steamcmd is not a single file, but actually a collection of linked libraries and other files. It just goes to show that you have to replicate the exact scenario to be on the same page. That is my fault.

I rolled an MX Linux VM and reproduced all the steps and saw exactly what you were pointing out.

So we have these two scenarios:

  1. The distribution provides the package (Ubuntu, Arch, some other distribution), and it is likely (but not guaranteed) to be installed globally
  2. The user (some other distribution) manually downloads the tarball and installs it to a path of their choosing.

In this regard, Valve's instructions caused us unnecessary confusion in that they advise you to install the tool locally to the Steam user. The main use case for steamcmd is having an unattended server administration tool, so it's not really necessary for another user to probe if it's installed and go through the incantations of trying to pass through the $PATH. Our use case is different, since we are invoking the script as our real user first. But the way I was going about it was simply too obscure.

Frankly, one could probably even install steamcmd to one's own user, which would simplify this switching back and forth, but for the purposes of isolation, it seemed reasonable to me at the time (and still does).

And as long as we are isolating, having to copy the executable to a global path like /usr/bin misses the point, and having to pass through the $PATH and do unsafe stuff like export env vars as root just gets us further and further from a reliable, sane solution--all for the sake of just verifying that steamcmd exists for error handling purposes.

So I think we dispense with the command -v method, we dispense with custom paths, and we dispense with these esoteric ways of trying to find the file, and we do something more generic that will work on any and all distributions.

Instead, let the user follow the instructions given on the Valve help page. Let them create a steam user and download the files to the $HOME directory. Then we just use find to search the system more generically for the presence of files named steamcmd, regardless of where they may be. This can include $HOME or other sundry locations and does not concern itself whether they are explicitly in $PATH and executable.

So with that preamble out of the way, please try the following:

  1. Simply unpack the tarball into the steam user's $HOME directory, nothing more. You can remove it from /usr/sbin or wherever else. For the sake of this explanation, I will assume the binary is located at $HOME/Steam/steamcmd.sh.
  2. As the user that would run DZTUI, invoke: sudo -iu steam bash -c '$HOME/Steam/steamcmd.sh +force_install_dir /tmp +login <user> +workshop_download_item "221100" "2462896799" +quit', replacing <user> with your steam username. This will run steamcmd with the full path and prompt it to download one mod to /tmp, then quit. steamcmd will ask you to enter your login credentials (and 2FA code, where applicable).
  3. I cannot say for certain why dowloading to /tmp failed for you previously, but I confirmed the above working on an MX Linux VM. It's possible that steamcmd got polluted on prior invocations.
  4. If this works, I think we can just cast a wider net to probe for the location of steamcmd and pass the full path into the launch command, and I will push a hotfix to the way this is handled. It should let you start using the auto install method without further fuss.

There's another question you can perhaps help me with:

In the TUI client, everything is already happening in the terminal, so having the user proceed to type their credentials into the steamcmd prompt is no different from if they typed them into a DZTUI prompt. But if we extend this functionality to DZGUI, steamcmd would run in the background, and cannot be fully automated unless we pass the login credentials through a menu. Even though these credentials go nowhere but steamcmd, and DZTUI doesn't make callbacks anywhere, I feel it would be seen as suspicious to a user who doesn't know what is going on under the hood.

Option 1: users who enabled auto mod install in DZGUI are given a masked password prompt to enter credentials; these get passed to steamcmd in the background.

PRO: greatly automates and expedites mod installation CON: may seem suspect

Option 2: DZGUI spawns another terminal window with steamcmd, and users enter their credentials into that prompt directly.

PRO: may be seen as more official and trustworthy, more explicit indication of where credentials wnet CON: much more fiddly

What do you think about the above?

On a related note, I finished preparing the "one-shot" method for the GUI client of generating a file with links and opening it in the browser, as you had asked. This lets you avoid jumping back and forth between dialogs.

This gives you:

In DZTUI:

  1. Manual list of links to open
  2. Automation through steamcmd

In DZGUI:

  1. (If Steam Deck/kiosk mode is detected) one-at-a-time installation of mods
  2. Manual list of links to open, generated as a file in the browser
  3. Automation through steamcmd (to be determined)

In DZGUI, unless you are running a Steam Deck, the default will always be to open the full list of links, so no more annoying dialogs. These changes should go live today or tomorrow.

fossean commented 2 years ago

This seems very encouraging, apart from the final (intentional?) error:

$ sudo -iu steam bash -c '$HOME/Steam/steamcmd.sh +force_install_dir /tmp +login <my_username> +workshop_download_item "221100" "2462896799" +quit'       
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[  0%] Checking for available update...
[----] Downloading update (0 of 54,952 KB)...
[  0%] Downloading update (1,416 of 54,952 KB)...
[  2%] Downloading update (3,078 of 54,952 KB)...
[  5%] Downloading update (4,739 of 54,952 KB)...
[  8%] Downloading update (6,404 of 54,952 KB)...
[ 11%] Downloading update (8,078 of 54,952 KB)...
[ 14%] Downloading update (9,905 of 54,952 KB)...
[ 18%] Downloading update (11,652 of 54,952 KB)...
[ 21%] Downloading update (13,394 of 54,952 KB)...
[ 24%] Downloading update (15,049 of 54,952 KB)...
[ 27%] Downloading update (16,712 of 54,952 KB)...
[ 30%] Downloading update (18,360 of 54,952 KB)...
[ 33%] Downloading update (20,185 of 54,952 KB)...
[ 36%] Downloading update (21,842 of 54,952 KB)...
[ 39%] Downloading update (23,500 of 54,952 KB)...
[ 42%] Downloading update (25,162 of 54,952 KB)...
[ 45%] Downloading update (26,991 of 54,952 KB)...
[ 49%] Downloading update (28,651 of 54,952 KB)...
[ 52%] Downloading update (30,311 of 54,952 KB)...
[ 55%] Downloading update (31,905 of 54,952 KB)...
[ 58%] Downloading update (33,730 of 54,952 KB)...
[ 61%] Downloading update (35,394 of 54,952 KB)...
[ 64%] Downloading update (36,941 of 54,952 KB)...
[ 67%] Downloading update (39,874 of 54,952 KB)...
[ 72%] Downloading update (41,157 of 54,952 KB)...
[ 74%] Downloading update (42,437 of 54,952 KB)...
[ 77%] Downloading update (43,722 of 54,952 KB)...
[ 79%] Downloading update (45,134 of 54,952 KB)...
[ 82%] Downloading update (46,414 of 54,952 KB)...
[ 84%] Downloading update (47,696 of 54,952 KB)...
[ 86%] Downloading update (48,982 of 54,952 KB)...
[ 89%] Downloading update (50,398 of 54,952 KB)...
[ 91%] Downloading update (51,670 of 54,952 KB)...
[ 94%] Downloading update (52,953 of 54,952 KB)...
[ 96%] Downloading update (54,360 of 54,952 KB)...
[ 98%] Downloading update (54,952 of 54,952 KB)...
[100%] Download Complete.
[----] Applying update...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching...
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
/tmp/dumps insufficient permissions - delete and recreate
[  0%] Checking for available updates...
[----] Verifying installation...
[  0%] Downloading update...
[  0%] Checking for available updates...
[----] Download complete.
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching Steamcmd...
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1654574676
-- type 'quit' to exit --
Loading Steam API...OK
Logging in user <my_username> to Steam Public...
password: 
Enter the current code from your Steam Guard Mobile Authenticator app
Two-factor code:<code>
OK
Waiting for client config...OK
Waiting for user info...OK
Downloading item 2462896799 ...
ERROR! Download item 2462896799 failed (I/O Operation Failed).foss@mx:~
$ 

There are a couple of pertinent-looking errors in $HOME/Steam/logs. Firstly, workshop_log.txt:

[2022-06-13 11:54:32] Loading workshop items for 0 installed apps for user [U:1:198927]:
[2022-06-13 11:54:38] [AppID 241100] Subscribed items changed
[2022-06-13 11:54:38] [AppID 221100] Loaded workshop items in "/tmp/steamapps/workshop" (0 installed, 0 needed)
[2022-06-13 11:54:38] [AppID 221100] Download item 2462896799 requested by app
[2022-06-13 11:54:38] [AppID 221100] Starting Workshop download job (requested item 2462896799 )
[2022-06-13 11:54:38] [AppID 221100] Detected workshop change : changed cached item 2462896799, new manifest 5349117335962550243
[2022-06-13 11:54:38] [AppID 221100] Update canceled: Staging folder not writable (Disk write failure) "/tmp/steamapps/workshop/downloads/221100"
[2022-06-13 11:54:38] [AppID 221100] Download item 2462896799 result : I/O Operation Failed

Also in content_log.txt:

[2022-06-13 11:54:32] Loaded 0 apps from install folder "/tmp/steamapps\appmanifest_*.acf".
[2022-06-13 11:54:38] AppID 221100 scheduler update : Priority First, not played for 346180 seconds, update disabled for 0 seconds
[2022-06-13 11:54:38] AppID 221100 update changed : Running,
[2022-06-13 11:54:38] AppID 221100 update changed : Running,Reconfiguring,
[2022-06-13 11:54:38] AppID 221100 update changed : Running,Reconfiguring,Stopping,
[2022-06-13 11:54:38] AppID 221100 update changed : Running,Stopping,
[2022-06-13 11:54:38] AppID 221100 update changed : None
[2022-06-13 11:54:38] AppID 221100 scheduler finished : removed from schedule (result Disk write failure, state 0x0) 

Option 1: users who enabled auto mod install in DZGUI are given a masked password prompt to enter credentials; these get passed to steamcmd in the background.

Option 2: DZGUI spawns another terminal window with steamcmd, and users enter their credentials into that prompt directly.

It's a difficult choice, but I prefer Option 1. I think concerns about security won't even occur to a certain number of users. And those who are concerned are more likely to be able to quickly cast an eye over the script. I think it would be sufficient to emphasise the open nature of the script in the readme. Also, less fiddly ;)

aclist commented 2 years ago

I think you alluded to that before upthread. Seems like the user steam can't write to /tmp for some reason? After switching to that user, what's the output of stat -c "%a" /tmp? As that user, also try touch /tmp/file.tmp. As a third option, check if /tmp/steamapps already exists and whether there is crud in there.

ls -trhla /tmp/steamapps

It also sounds a bit like this: https://github.com/ValveSoftware/steam-for-linux/issues/7843

But that should be long fixed. It's imperative that we write to /tmp, which is why +force_install_dir is being used.

I'd be interested to see the output of what happens when /tmp/steamapps already exists versus when it doesn't.

When invoking the full script, it moves the content out of /tmp/steamapps and then nukes the directory left behind. When we've been doing these one-off tests, there's been no additional cleanup, so I'd wager that is the cause of the issue.

Could also add a pre-runtime sanity check to clean up the directory before downloading.

fossean commented 2 years ago

It also sounds a bit like this: ValveSoftware/steam-for-linux#7843

Very odd. I just decided to test this again. First I checked that /tmp/steamapps did not exist.

sudo -iu steam bash -c '$HOME/Steam/steamcmd.sh +force_install_dir /tmp +login <user> +workshop_download_item "221100" "2462896799" +quit'

Returns this:

foss@mx:~
$ sudo -iu steam bash -c '$HOME/Steam/steamcmd.sh +force_install_dir /tmp +login <my_username> +workshop_download_item "221100" "2462896799" +quit'
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1654574676
-- type 'quit' to exit --
Loading Steam API...OK
Logging in user '<my_username>' to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Downloading item 2462896799 ...
Success. Downloaded item 2462896799 to "/tmp/steamapps/workshop/content/221100/2462896799" (762682988 bytes) foss@mx:~
$ 

tmp/steamapps was created and contains the specified folders. The files are successfully written to /tmp/steamapps in repeated tests regardless of whether /tmp/steamapps pre-exists or not.

Don't know if it's significant but in the original test yesterday I was asked for 2FA

foss@mx:~
$ sudo -iu steam
[sudo] password for foss: 
$ stat -c "%a" /tmp
1777
$ touch /tmp/file.tmp
$ 

Result: file.tmp is created

$ ls -trhla /tmp/steamapps
total 176K
drwxr-xr-x  3 steam steam 4.0K Jun 14 10:34 .
drwxr-xr-x  5 steam steam 4.0K Jun 14 10:37 workshop
drwxrwxrwt 19 root  root  164K Jun 14 11:06 ..
$ 
aclist commented 2 years ago

It seems like the prior errors were some sort of false positive. I'll push a hotfix in a little while so that you can use these findings against DZTUI, but I would continue stress testing it a bit to see if steamcmd burps out an error again.

As for 2FA, steamcmd creates a local hash after first invocation that is used to expedite login later, but it expires over time, so you'll be prompted for credentials again eventually.

aclist commented 2 years ago

This fix is now live and should be a more extensive way of checking for the presence of steamcmd, checking first the "expected" path of it residing somewhere under /home/steam, then /usr/share, then /usr/bin, then, failing that, all of /, and grabbing only one instance. It seems that even distros that pre-package steamcmd actually link it to the script steamcmd.sh elsewhere on the system, which should be pretty reliable. since trying to invoke the packaged version of steamcmd directly is not going to work well.

I'll need to start building up the documentation to explain this, and also explicitly state the caveats about creating the steam user and where to save steamcmd.sh

I also backported from DZGUI the improved mod validation logic and faster ping check, which gives a nice performance uplift.

I still need to push the one-shot browser link mod method to DZGUI, among other things, but I think this is slowly bringing us closer to feature parity.

aclist commented 2 years ago

After fixing the steamcmd detection method, I neglected to update the new steamcmd invocation parameters discussed above, so there was a small bug. Pushed another hotfix (0.3.3)

aclist commented 2 years ago

Could you clarify how opening links to mods works for you? I'm getting ready to release a big update for DZGUI, and included a method of preparing the whole list of links. You stated that it's easier to just open those and subscribe to them on the Steam web site. I tested whether subscribing/unsubscribing actually does anything, though, and it doesn't seem to trigger Steam to sync those changes. What happens when you click Subscribe buttons in a web browser versus the Steam client? Does it redirect the Steam client or do something else?

Edit: disregard the above; it was quite subtle in its behavior and takes a bit of time to synchronize. I might have to explicitly wait for a bit before proceeding to the next step.

fossean commented 2 years ago

Could you clarify how opening links to mods works for you?

I ususally open all the links to mods first, then rapidly subscribe to each and close the tab. Steam seems to be quite well synchronised, but restarting steam always gets things moving if there's a delay.

Some feedback on 0.3.3.

If Steam is not initially running then Steam login, 2FA, and automatic downloads function perfectly. Game launches and runs after downloading mods.

When attempting to run DZTUI with Steam already running, the script hangs at point below, game does not launch:

foss@mx:~/dztui
$ ./dztui.sh
0│ ==FRESH WIPE== The Perception EU1 1PP|PVP|Loot+|Leaderboard|Key │ 168.100.161.146:2302 │ 83/100 │ online  │ 14614427 │ TimeoutO] Polling servers. Please wait.
1│ DayZ Origins EU - 1PP|NoTrader|Loot+ - Fresh Wipe               │ 198.244.176.55:2302  │ 59/100 │ online  │ 12751607 │ Timeout
2│▶DayZ Aftermath Chernarus EU 2 |CUSTOM BASE BUILDING|Quest       │ 51.210.155.18:2402   │ 46/90  │ online  │ 15504869 │ 25.2 ms
3│ ==FRESH WIPE== The Perception EU2 | Deerisle | 5 Group Max|Heli │ 193.25.252.25:2302   │ 40/80  │ online  │ 15170530 │ Timeout
4│ DayZ Aftermath Livonia | CUSTOM BASE BUILDING|Quests            │ 51.210.155.51:2302   │ 39/80  │ online  │ 15504870 │ 24.5 ms
5│ [EU] RanzBude #1 - FRESH WIPED! | 100k start | WEED | 100+guns  │ 141.94.98.98:2302    │ 23/110 │ online  │ 13199653 │ 13.8 ms
6│ Lone Survivor |EU1|1PP PVP|Loot+|Guns+|BaseBuild|Raid|Trader|   │ 45.88.230.23:2302    │ 22/100 │ online  │ 5030110  │ Timeout
7│ Rearmed EU2 | Esseker                                           │ 168.100.161.234:2302 │ 5/100  │ online  │ 13864541 │ 20.4 ms
8│ [DZGA]100k Start|Loot++|KeyCard|Helis|Exclusif Content|KOTH|3PP │ 141.94.135.157:2402  │ 3/70   │ online  │ 15234438 │ 34.0 ms
9│ [EU] Vanilla+ Vibes |LOOTx2!|Party!|NoStamina!|Map!|Wiped 29/04 │ 45.92.36.43:2305     │ 0/80   │ offline │ 14409113 │ 12.3 ms

f│ Launch favorite
l│ List installed mods
r│ Refresh
q│ Quit

Selection: 0
[INFO] Verifying integrity of server modlist manifest
[INFO] Mod check passed
[INFO] Connecting to: ==FRESH WIPE== The Perception EU1 1PP|PVP|Loot+|Leaderboard|Key 168.100.161.146:2302
steam.sh[26693]: Running Steam on mx 21.1 64-bit
steam.sh[26693]: STEAM_RUNTIME is enabled automatically
setup.sh[26759]: Steam runtime environment up-to-date!
steam.sh[26693]: Steam client's requirements are satisfied
Good luck out there. DZTUI 0.3.3
foss@mx:~/dztui

Thank you very much for all your efforts in this. The easy interface and automatic downloads make this indispensable.

aclist commented 2 years ago

Thanks for your patience on helping with the bug smashing. I think the browser method is working well over on the DZGUI side; not sure if you're still subscribed to the other thread.

As for the latest snafu, it sounds quite similar to this: https://github.com/aclist/dztui/issues/10

The other user reported this as a transitory issue, so I'm not sure. I'm almost certain it somehow relates to the way we're launching games directly through the Steam executable's command-line parameters, instead of through the more well-formed Steam browser protocol, but the latter seems to have some problems with unescaping characters properly. Maybe I can work up a good method of quoting everything so that it works correctly.

I'll see if I can replicate it here and try some incantations with the Steam browser protocol method. I was originally using it, but as the launch parameters grew increasingly complex and unwieldy, I reverted to using the -applaunch method.

aclist commented 2 years ago

I remembered why we stopped using the browser protocol: https://steamcommunity.com/discussions/forum/1/458604254465948374/

If you pass command line options to a Steam URI instead of using the right-click launch menu and pasting them in, it tries to warn you and ask for your permission to launch the game this way. Unfortunately, this dialog will never appear if Steam is in the minigameslist mode or in the tray. The dialog just gets occluded and nothing will happen until you bring the full app to focus and click OK to confirm the prompt. That's why I stopped using that method. You would have to find and click on this dialog every time you wanted to launch the game.

aclist commented 2 years ago

Just spitballing a bit here: do by all means try restarting your Steam session. I find that mine tends to degrade when it's been open for several days and I've been switching between TTYs and stuff. It likes to kick me into offline mode while still keeping the client open, but make "Go Online" impossible without a relaunch.

Another false positive I've had: I had a nightly process using ffmpeg to screen capture a particular X screen as part of a browser automation routine for debugging, and grabbing the content of programs spawned to that screen and running it in the background of the X server. Sometimes I would forget it was running, and new programs calling GLX (OpenGL) would get swallowed into that screen and be functionally invisible. This meant that launching games would just cast them into a void, and they were exiting correctly without incident. I only found the problem after manually reviewing the video logs and finding game footage running on top of my video.

fossean commented 2 years ago

do by all means try restarting your Steam session

I tested with new Steam session, also with system restart prior. But, unfortunately, same behaviour — if Steam running initially, script hangs.

aclist commented 2 years ago

OK, will keep thinking about it. I cannot reproduce this currently, works fine for me.

Also try enabling debug=1 in the configs, getting the dry run parameters, and launching those in the terminal directly to see if anything was getting lost in the handover from DZTUI itself. (Likely not)

So you're saying that if Steam is not initially running, it will entirely obviate the process of launching Steam and jump right into the game? Does a process manager (htop etc) list no sign of residual Steam processes?

Also, try launching, then run winedbg in a terminal, enter info process and see if DayZ exe appears in the list. But in my experience, Steam just starting and quitting is quite common in the event of undocumented errors, and the log output is incredibly limited in these scenarios.

Lastly, please let me know if you're on Steam Beta branch and what version of Proton is being used at this point.

fossean commented 2 years ago

So you're saying that if Steam is not initially running, it will entirely obviate the process of launching Steam and jump right into the game? Does a process manager (htop etc) list no sign of residual Steam processes?

Yes, if I restart my system the script will launch Steam and then the game itself. Steam is not set to autostart. I just double-checked my processes to eliminate any background Steam processes (none were running).

Dry run parameters below, hangs and game doesn't launch (with Steam already running):

foss@mx:~
$ steam -applaunch 221100 -connect=193.25.252.25:2302 -nosplash -skipintro "-mod=@1602372402-DeerIsle;@2122332595-Vehicle3PP;@2420864633-The_Perception_Server_Pack;@2492595497-The_Perception_Licensed;@2462927972-The_Perception_Helicopters;@2350401726-King_of_the_Hill;@2757080411-Croco_s_Quadbike;@2444301292-Care_Packages;@2545327648-Dabs_Framework;@2276010135-DayZ_Editor_Loader;@2398911445-Basic_Territories;@2565724570-Better_Snap_Sounds;@2444247391-Inventory_Move_Sounds;@2345073965-CJ187_LootChest;@2303483532-CarCover;@1836257061-Banking;@1590841260-Trader;@2049002856-MuchCarKey;@2709289485-Admirals_Diving_Mod;@1832448183-FlipTransport;@2710385029-BetterStash;@2143128974-Advanced_Weapon_Scopes;@2443122116-SNAFU_Weapons;@2273590683-RevGuns;@1646187754-Code_Lock;@2303554682-Dogtags;@2484279619-Quadlock_s_Pack;@1797720064-WindstridesClothingPack;@1991570984-MuchStuffPack;@1710977250-BaseBuildingPlus;@1828439124-VPPAdminTools;@1559212036-CF"
steam.sh[14064]: Running Steam on mx 21.1 64-bit
steam.sh[14064]: STEAM_RUNTIME is enabled automatically
setup.sh[14130]: Steam runtime environment up-to-date!
steam.sh[14064]: Steam client's requirements are satisfied
foss@mx:~
$ 

winedbg output:

foss@mx:~
$ winedbg
wine: Call from 000000007B037FC8 to unimplemented function ndis.sys.NdisInitializeReadWriteLock, aborting
wine: Unimplemented function ndis.sys.NdisInitializeReadWriteLock called at address 000000007B037FC8 (thread 00ac), starting debugger...
003c:err:service:process_send_command service protocol error - failed to read pipe r = 0  count = 0!
wine client error:ac: 003c:fixme:service:scmdatabase_autostart_services Auto-start service L"tap0901" failed to start: 1053
write: Bad file descriptor
0088:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\wineusb": c0000142
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 1114
Wine-dbg>info process
 pid      threads  executable (all id:s are in hex)
 00000074 3        'explorer.exe'
 00000038 8        'services.exe'
 00000104 6        \_ 'rpcss.exe'
 000000ec 3        \_ 'PnkBstrA.exe'
 000000c8 4        \_ 'plugplay.exe'
 0000007c 6        \_ 'winedevice.exe'
 0000005c 5        \_ 'winedevice.exe'
 00000044 3        \_ 'svchost.exe'
 00000020 1        'start.exe'
 00000130 1        \_ 'winedbg.exe'
 00000128 2        \_ 'conhost.exe'
Wine-dbg>

I'm enrolled in the Steam beta branch. DayZ is using GE-Proton7-20.

aclist commented 2 years ago

I think I have a fix for this.

  1. You didn't specify if you were always trying the same server in these two scenarios. Try connecting to 4363928 (should work) and then try connecting to 14614427 (your server, The Perception EU1, has 32 mods) (likely won't work)
  2. Try invoking steam -applaunch 221100 -nolauncher by itself from the terminal (should work).
  3. Try all servers in your list and take note of the ones that did and did not work.
  4. You should see that the ones that don't work have an unusually large number of mods. The launch parameters are so long that they crash steam.

I am working up a hotfix, testing it now. It was a bit hard to test because I had to fetch 32GB of mods and steamcmd was choking on it.

aclist commented 2 years ago

Hotfix is live, please try. This attempts to consolidate the symlinks for mod directories down to extremely small strings, so that when the full launch parameters are concatenated, it's a manageable ("expected") length that doesn't overflow Steam's limits on length of launch options (where that limit lies is unclear, but your launch parameters for that server were almost 1,000 chars). With this change, the parameters are crunched down to 319 chars. Still extremely long due to how many mods there are (3x or more that of most servers), but it should work.

Downside of this is that the mod directories are basically unintelligible now, so if a user needed a human readable way of removing directories or mods, it's not gonna be easy without probing the files inside of them to get the name. (Doable, at least.)

One thing we could also consider is just using a numeric, incremental ID for the mods instead of a UUID, since the length would then be no more than triple digits at the high end.

aclist commented 2 years ago

I poked around steamcmd parameters some more and something seems to have changed, as it's now possible to anonymously download mods without proving ownership of the DayZ license, so I dropped that requirement, which gets us one step closer to luxury automation. You won't need to manually enter anything into the prompt from now on.

fossean commented 2 years ago

Try connecting to 4363928 (should work) and then try connecting to 14614427 (your server, The Perception EU1, has 32 mods) (likely won't work)

Testing 0.3.3, with Steam running, attempt to connect to your suggested server (4363928) succeeded. BUT script first downloaded one mod and returned to main menu. On selecting server again, it downloaded the remaining mods and launched the game.

As you expected, 0.3.3, with Steam already running, will not launch game for any of my other servers. These all have a minimum of 20 mods.

steam -applaunch 221100 -nolauncher launches steam and the game

With latest hotfix, steamcmd had trouble downloading some of the mods. When the first error appeared ERROR! Download item 2801429879 failed there was also briefly an error saying 'insufficient disk space' — but this disappeared. I had to close/open Konsole several times, relaunching DZTUI to continue with downloads. There are often very long pauses at line: Waiting for user info...OK and occasionally a timeout error. Another error: ERROR! Download item 80930443 failed (No match).cp: cannot stat '/tmp/steamapps/workshop/content/221100/*': No such file or directory

0│ ==FRESH WIPE== The Perception EU1 1PP|PVP|Loot+|Leaderboard|Key │ 168.100.161.146:2302 │ 100/100 │ online │ 14614427 │ Timeout
1│ DayZ Origins EU - 1PP|NoTrader|Loot+ - Fresh Wipe               │ 198.244.176.55:2302  │ 99/100  │ online │ 12751607 │ 10.9 ms
2│▶DayZ Aftermath Chernarus EU 2 |CUSTOM BASE BUILDING|Quest       │ 51.210.155.18:2402   │ 90/90   │ online │ 15504869 │ 24.8 ms
3│ KarmaKrew Chernarus - 1PP MODS                                  │ 135.125.189.129:2202 │ 80/80   │ online │ 15248988 │ 22.8 ms
4│ DayZ Aftermath Livonia | CUSTOM BASE BUILDING|Quests            │ 51.210.155.51:2302   │ 75/80   │ online │ 15504870 │ 24.8 ms
5│ Lone Survivor |EU1|1PP PVP|Loot+|Guns+|BaseBuild|Raid|Trader|   │ 45.88.230.23:2302    │ 69/100  │ online │ 5030110  │ Timeout
6│ [EU] RanzBude #1 - FRESH WIPED! | 100k start | WEED | 100+guns  │ 141.94.98.98:2302    │ 60/110  │ online │ 13199653 │ 13.7 ms
7│ DayOne Namalsk Hardcore Survival #1 - 1PP                       │ 135.148.136.111:2302 │ 40/40   │ online │ 4363928  │ 88.7 ms
8│ Rearmed EU2 | Esseker                                           │ 168.100.161.234:2302 │ 20/100  │ online │ 13864541 │ 21.0 ms
9│ [DZGA]100k Start|Loot++|KeyCard|Helis|Exclusif Content|KOTH|3PP │ 141.94.135.157:2402  │ 5/70    │ online │ 15234438 │ 14.4 ms

f│ Launch favorite
l│ List installed mods
r│ Refresh
q│ Quit

Selection: 9
[INFO] Verifying integrity of server modlist manifest
[ERROR] Missing mods. Checking for steamcmd user 'steam'
[INFO] Found steamcmd user 'steam'
[sudo] password for foss: 
[INFO] Found steamcmd at '/home/steam/Steam/steamcmd.sh'
[INFO] Downloading mods
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
/tmp/dumps is not owned by us - delete and recreate
Unable to delete /tmp/dumps. Continuing anyway.
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1654574676
-- type 'quit' to exit --
Loading Steam API...OK

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Downloading item 1870481515 ...
Success. Downloaded item 1870481515 to "/tmp/steamapps/workshop/content/221100/1870481515" (135755972 bytes) Downloading item 2170927235 ...
Success. Downloaded item 2170927235 to "/tmp/steamapps/workshop/content/221100/2170927235" (10525960 bytes) Downloading item 2316250469 ...
Success. Downloaded item 2316250469 to "/tmp/steamapps/workshop/content/221100/2316250469" (2114375410 bytes) Downloading item 2458056027 ...
Success. Downloaded item 2458056027 to "/tmp/steamapps/workshop/content/221100/2458056027" (14553 bytes) Downloading item 2574104127 ...
Success. Downloaded item 2574104127 to "/tmp/steamapps/workshop/content/221100/2574104127" (4624704 bytes) Downloading item 2663169692 ...
Success. Downloaded item 2663169692 to "/tmp/steamapps/workshop/content/221100/2663169692" (999127569 bytes) Downloading item 2714183642 ...
Success. Downloaded item 2714183642 to "/tmp/steamapps/workshop/content/221100/2714183642" (234682066 bytes) Downloading item 2718277267 ...
Success. Downloaded item 2718277267 to "/tmp/steamapps/workshop/content/221100/2718277267" (71558424 bytes) Downloading item 2745298078 ...
Success. Downloaded item 2745298078 to "/tmp/steamapps/workshop/content/221100/2745298078" (774518127 bytes) Downloading item 2801429879 ...
ERROR! Download item 2801429879 failed (Failure).Downloading item 2803197132 ...
0│ DayZ Origins EU - 1PP|NoTrader|Loot+ - Fresh Wipe               │ 198.244.176.55:2302  │ 100/100 │ online │ 12751607 │ 18.2 ms
1│ ==FRESH WIPE== The Perception EU1 1PP|PVP|Loot+|Leaderboard|Key │ 168.100.161.146:2302 │ 100/100 │ online │ 14614427 │ Timeout
2│▶DayZ Aftermath Chernarus EU 2 |CUSTOM BASE BUILDING|Quest       │ 51.210.155.18:2402   │ 90/90   │ online │ 15504869 │ 25.0 ms
3│ Lone Survivor |EU1|1PP PVP|Loot+|Guns+|BaseBuild|Raid|Trader|   │ 45.88.230.23:2302    │ 70/100  │ online │ 5030110  │ Timeout
4│ DayZ Aftermath Livonia | CUSTOM BASE BUILDING|Quests            │ 51.210.155.51:2302   │ 69/80   │ online │ 15504870 │ 24.5 ms
5│ KarmaKrew Chernarus - 1PP MODS                                  │ 135.125.189.129:2202 │ 58/80   │ online │ 15248988 │ 31.1 ms
6│ DayOne Namalsk Hardcore Survival #1 - 1PP                       │ 135.148.136.111:2302 │ 40/40   │ online │ 4363928  │ 88.6 ms
7│ Rearmed EU2 | Esseker                                           │ 168.100.161.234:2302 │ 17/100  │ online │ 13864541 │ 21.0 ms
8│ ==FRESH WIPE== The Perception EU2 | Deerisle | 5 Group Max|Heli │ 193.25.252.25:2302   │ 10/80   │ online │ 15170530 │ Timeout
9│ [DZGA]100k Start|Loot++|KeyCard|Helis|Exclusif Content|KOTH|3PP │ 141.94.135.157:2402  │ 4/70    │ online │ 15234438 │ 14.3 ms

f│ Launch favorite
l│ List installed mods
r│ Refresh
q│ Quit

Selection: 
Selection: 9
[INFO] Verifying integrity of server modlist manifest
[ERROR] Missing mods. Checking for steamcmd user 'steam'
[INFO] Found steamcmd user 'steam'
[INFO] Found steamcmd at '/home/steam/Steam/steamcmd.sh'
[INFO] Downloading mods
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
/tmp/dumps is not owned by us - delete and recreate
Unable to delete /tmp/dumps. Continuing anyway.
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1654574676
-- type 'quit' to exit --
Loading Steam API...OK

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Downloading item 2801429879 ...
Success. Downloaded item 2801429879 to "/tmp/steamapps/workshop/content/221100/2801429879" (2735256164 bytes) Downloading item 2803197132 ...
0│ ==FRESH WIPE== The Perception EU1 1PP|PVP|Loot+|Leaderboard|Key │ 168.100.161.146:2302 │ 100/100 │ online │ 14614427 │ Timeout
1│ DayZ Origins EU - 1PP|NoTrader|Loot+ - Fresh Wipe               │ 198.244.176.55:2302  │ 99/100  │ online │ 12751607 │ 17.0 ms
2│▶DayZ Aftermath Chernarus EU 2 |CUSTOM BASE BUILDING|Quest       │ 51.210.155.18:2402   │ 90/90   │ online │ 15504869 │ 35.7 ms
3│ KarmaKrew Chernarus - 1PP MODS                                  │ 135.125.189.129:2202 │ 80/80   │ online │ 15248988 │ 34.3 ms
4│ Lone Survivor |EU1|1PP PVP|Loot+|Guns+|BaseBuild|Raid|Trader|   │ 45.88.230.23:2302    │ 71/100  │ online │ 5030110  │ Timeout
5│ DayZ Aftermath Livonia | CUSTOM BASE BUILDING|Quests            │ 51.210.155.51:2302   │ 69/80   │ online │ 15504870 │ 32.6 ms
6│ DayOne Namalsk Hardcore Survival #1 - 1PP                       │ 135.148.136.111:2302 │ 40/40   │ online │ 4363928  │ 97.0 ms
7│ Rearmed EU2 | Esseker                                           │ 168.100.161.234:2302 │ 15/100  │ online │ 13864541 │ 23.8 ms
8│ ==FRESH WIPE== The Perception EU2 | Deerisle | 5 Group Max|Heli │ 193.25.252.25:2302   │ 13/80   │ online │ 15170530 │ Timeout
9│ [DZGA]100k Start|Loot++|KeyCard|Helis|Exclusif Content|KOTH|3PP │ 141.94.135.157:2402  │ 4/70    │ online │ 15234438 │ 20.5 ms

f│ Launch favorite
l│ List installed mods
r│ Refresh
q│ Quit

Selection: 
Selection: 9
[INFO] Verifying integrity of server modlist manifest
[ERROR] Missing mods. Checking for steamcmd user 'steam'
[INFO] Found steamcmd user 'steam'
[sudo] password for foss: 
[INFO] Found steamcmd at '/home/steam/Steam/steamcmd.sh'
[INFO] Downloading mods
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
/tmp/dumps is not owned by us - delete and recreate
Unable to delete /tmp/dumps. Continuing anyway.
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1654574676
-- type 'quit' to exit --
Loading Steam API...OK

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Downloading item 2803197132 ...ERROR! Timeout downloading item 2803197132cp: cannot stat '/tmp/steamapps/workshop/content/221100/*': No such file or directory
0│ DayZ Origins EU - 1PP|NoTrader|Loot+ - Fresh Wipe               │ 198.244.176.55:2302  │ 100/100 │ online │ 12751607 │ 10.6 ms
1│ ==FRESH WIPE== The Perception EU1 1PP|PVP|Loot+|Leaderboard|Key │ 168.100.161.146:2302 │ 100/100 │ online │ 14614427 │ Timeout
2│▶DayZ Aftermath Chernarus EU 2 |CUSTOM BASE BUILDING|Quest       │ 51.210.155.18:2402   │ 89/90   │ online │ 15504869 │ 25.0 ms
3│ KarmaKrew Chernarus - 1PP MODS                                  │ 135.125.189.129:2202 │ 80/80   │ online │ 15248988 │ 23.2 ms
4│ Lone Survivor |EU1|1PP PVP|Loot+|Guns+|BaseBuild|Raid|Trader|   │ 45.88.230.23:2302    │ 75/100  │ online │ 5030110  │ Timeout
5│ DayZ Aftermath Livonia | CUSTOM BASE BUILDING|Quests            │ 51.210.155.51:2302   │ 70/80   │ online │ 15504870 │ 25.0 ms
6│ [EU] RanzBude #1 - FRESH WIPED! | 100k start | WEED | 100+guns  │ 141.94.98.98:2302    │ 67/110  │ online │ 13199653 │ 13.6 ms
7│ DayOne Namalsk Hardcore Survival #1 - 1PP                       │ 135.148.136.111:2302 │ 40/40   │ online │ 4363928  │ 88.8 ms
8│ Rearmed EU2 | Esseker                                           │ 168.100.161.234:2302 │ 15/100  │ online │ 13864541 │ 21.3 ms
9│ ==FRESH WIPE== The Perception EU2 | Deerisle | 5 Group Max|Heli │ 193.25.252.25:2302   │ 5/80    │ online │ 15170530 │ Timeout

f│ Launch favorite
l│ List installed mods
r│ Refresh
q│ Quit

Selection: 
0│ DayZ Origins EU - 1PP|NoTrader|Loot+ - Fresh Wipe               │ 198.244.176.55:2302  │ 100/100 │ online │ 12751607 │ 10.9 ms
1│ ==FRESH WIPE== The Perception EU1 1PP|PVP|Loot+|Leaderboard|Key │ 168.100.161.146:2302 │ 100/100 │ online │ 14614427 │ Timeout
2│ KarmaKrew Chernarus - 1PP MODS                                  │ 135.125.189.129:2202 │ 80/80   │ online │ 15248988 │ 23.1 ms
3│ [EU] RanzBude #1 - FRESH WIPED! | 100k start | WEED | 100+guns  │ 141.94.98.98:2302    │ 76/110  │ online │ 13199653 │ 13.7 ms
4│ Lone Survivor |EU1|1PP PVP|Loot+|Guns+|BaseBuild|Raid|Trader|   │ 45.88.230.23:2302    │ 64/100  │ online │ 5030110  │ Timeout
5│ DayZ Aftermath Livonia | CUSTOM BASE BUILDING|Quests            │ 51.210.155.51:2302   │ 60/80   │ online │ 15504870 │ 25.2 ms
6│ DayOne Namalsk Hardcore Survival #1 - 1PP                       │ 135.148.136.111:2302 │ 40/40   │ online │ 4363928  │ 88.5 ms
7│ Rearmed EU2 | Esseker                                           │ 168.100.161.234:2302 │ 18/100  │ online │ 13864541 │ 20.6 ms
8│ [DZGA]100k Start|Loot++|KeyCard|Helis|Exclusif Content|KOTH|3PP │ 141.94.135.157:2402  │ 5/70    │ online │ 15234438 │ 14.4 ms
9│ ==FRESH WIPE== The Perception EU2 | Deerisle | 5 Group Max|Heli │ 193.25.252.25:2302   │ 1/80    │ online │ 15170530 │ Timeout

f│ Launch favorite
l│ List installed mods
r│ Refresh
q│ Quit

Selection: 5
[INFO] Verifying integrity of server modlist manifest
[ERROR] Missing mods. Checking for steamcmd user 'steam'
[INFO] Found steamcmd user 'steam'
[sudo] password for foss: 
[INFO] Found steamcmd at '/home/steam/Steam/steamcmd.sh'
[INFO] Downloading mods
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1654574676
-- type 'quit' to exit --
Loading Steam API...OK

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Downloading item 80930443 ...
ERROR! Download item 80930443 failed (No match).cp: cannot stat '/tmp/steamapps/workshop/content/221100/*': No such file or directory
0│ DayZ Origins EU - 1PP|NoTrader|Loot+ - Fresh Wipe               │ 198.244.176.55:2302  │ 100/100 │ online │ 12751607 │ 25.6 ms
1│ ==FRESH WIPE== The Perception EU1 1PP|PVP|Loot+|Leaderboard|Key │ 168.100.161.146:2302 │ 100/100 │ online │ 14614427 │ Timeout
2│ KarmaKrew Chernarus - 1PP MODS                                  │ 135.125.189.129:2202 │ 80/80   │ online │ 15248988 │ 23.0 ms
3│ [EU] RanzBude #1 - FRESH WIPED! | 100k start | WEED | 100+guns  │ 141.94.98.98:2302    │ 76/110  │ online │ 13199653 │ 13.8 ms
4│ Lone Survivor |EU1|1PP PVP|Loot+|Guns+|BaseBuild|Raid|Trader|   │ 45.88.230.23:2302    │ 64/100  │ online │ 5030110  │ Timeout
5│ DayZ Aftermath Livonia | CUSTOM BASE BUILDING|Quests            │ 51.210.155.51:2302   │ 60/80   │ online │ 15504870 │ 24.5 ms
6│ DayOne Namalsk Hardcore Survival #1 - 1PP                       │ 135.148.136.111:2302 │ 40/40   │ online │ 4363928  │ 88.4 ms
7│ Rearmed EU2 | Esseker                                           │ 168.100.161.234:2302 │ 19/100  │ online │ 13864541 │ 20.5 ms
8│ [DZGA]100k Start|Loot++|KeyCard|Helis|Exclusif Content|KOTH|3PP │ 141.94.135.157:2402  │ 5/70    │ online │ 15234438 │ 14.0 ms
9│ ==FRESH WIPE== The Perception EU2 | Deerisle | 5 Group Max|Heli │ 193.25.252.25:2302   │ 2/80    │ online │ 15170530 │ Timeout

f│ Launch favorite
l│ List installed mods
r│ Refresh
q│ Quit

Selection: 
aclist commented 2 years ago

I'll do a diff and see if anything breaking was introduced on the download front, but I don't think so. steamcmd was acting very flaky for me, too. Steam's regular maintenance falls around the Tues/Weds mark, and causes significant performance degradation across a lot of their services, so that may have been responsible, but I don't know. I'd give it 24 hours and check again.

I don't believe logging in as anonymous subjects you to throttling of any sort, either.

fossean commented 2 years ago

This may be relevant. Possible that some older mods require steam login, hence timeouts. Thread is full of grumbling re. steamcmd.

aclist commented 2 years ago

Great find. I knew there was a reason I originally implemented it that way. This is why you should never try to solve two problems at the same time.

I reverted the change to the login method. Now, can you test the shorter mod symlinks and see if you can pull those down and connect to the 20+ mod servers?

fossean commented 2 years ago

If mods need to be downloaded, I keep seeing this error (latest DZTUI with revert, and previous version):

ERROR! Download item 80930443 failed (No match).cp: cannot stat '/tmp/steamapps/workshop/content/221100/*': No such file or directory

If mods are already downloaded, steam and game are launched swiftly.

0│ ==FRESH WIPE== The Perception EU1 1PP|PVP|Loot+|Leaderboard|Key │ 168.100.161.146:2302 │ 100/100 │ online │ 14614427 │ Timeout
1│▶DayZ Aftermath Chernarus EU 2 | FRESH WIPE! | CUSTOM BUILDING   │ 51.210.155.18:2402   │ 79/90   │ online │ 15504869 │ 25.2 ms
2│ DayZ Origins EU - 1PP|NoTrader|Loot+ - Fresh Wipe               │ 198.244.176.55:2302  │ 70/100  │ online │ 12751607 │ 10.6 ms
3│ KarmaKrew Chernarus - 1PP MODS                                  │ 135.125.189.129:2202 │ 69/80   │ online │ 15248988 │ 23.0 ms
4│ [EU] RanzBude #1 - FRESH WIPED! | 100k start | WEED | 100+guns  │ 141.94.98.98:2302    │ 54/110  │ online │ 13199653 │ 13.8 ms
5│ ==FRESH WIPE== The Perception EU2 | Deerisle | 5 Group Max|Heli │ 193.25.252.25:2302   │ 53/80   │ online │ 15170530 │ Timeout
6│ Lone Survivor |EU1|1PP PVP|Loot+|Guns+|BaseBuild|Raid|Trader|   │ 45.88.230.23:2302    │ 50/100  │ online │ 5030110  │ Timeout
7│ DayZ Aftermath Livonia | FRESH WIPE! | CUSTOM BUILDING          │ 51.210.155.51:2302   │ 50/80   │ online │ 15504870 │ 25.2 ms
8│ DayOne Namalsk Hardcore Survival #1 - 1PP                       │ 135.148.136.111:2302 │ 40/40   │ online │ 4363928  │ 85.0 ms
9│ Rearmed EU2 | Esseker                                           │ 168.100.161.234:2302 │ 7/100   │ online │ 13864541 │ 20.2 ms

f│ Launch favorite
l│ List installed mods
r│ Refresh
q│ Quit

Selection: 7
[INFO] Verifying integrity of server modlist manifest
[ERROR] Missing mods. Checking for steamcmd user 'steam'
[INFO] Found steamcmd user 'steam'
[INFO] Found steamcmd at '/home/steam/Steam/steamcmd.sh'
[INFO] Downloading mods
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1654574676
-- type 'quit' to exit --
Loading Steam API...OK
Logging in user 'my_username' to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Downloading item 80930443 ...
ERROR! Download item 80930443 failed (No match).cp: cannot stat '/tmp/steamapps/workshop/content/221100/*': No such file or directory
0│ ==FRESH WIPE== The Perception EU1 1PP|PVP|Loot+|Leaderboard|Key │ 168.100.161.146:2302 │ 100/100 │ online │ 14614427 │ Timeout
1│▶DayZ Aftermath Chernarus EU 2 | FRESH WIPE! | CUSTOM BUILDING   │ 51.210.155.18:2402   │ 78/90   │ online │ 15504869 │ 24.9 ms
2│ DayZ Origins EU - 1PP|NoTrader|Loot+ - Fresh Wipe               │ 198.244.176.55:2302  │ 70/100  │ online │ 12751607 │ 10.8 ms
3│ KarmaKrew Chernarus - 1PP MODS                                  │ 135.125.189.129:2202 │ 69/80   │ online │ 15248988 │ 22.9 ms
4│ [EU] RanzBude #1 - FRESH WIPED! | 100k start | WEED | 100+guns  │ 141.94.98.98:2302    │ 54/110  │ online │ 13199653 │ 13.6 ms
5│ ==FRESH WIPE== The Perception EU2 | Deerisle | 5 Group Max|Heli │ 193.25.252.25:2302   │ 53/80   │ online │ 15170530 │ Timeout
6│ DayZ Aftermath Livonia | FRESH WIPE! | CUSTOM BUILDING          │ 51.210.155.51:2302   │ 50/80   │ online │ 15504870 │ 25.2 ms
7│ Lone Survivor |EU1|1PP PVP|Loot+|Guns+|BaseBuild|Raid|Trader|   │ 45.88.230.23:2302    │ 49/100  │ online │ 5030110  │ Timeout
8│ DayOne Namalsk Hardcore Survival #1 - 1PP                       │ 135.148.136.111:2302 │ 40/40   │ online │ 4363928  │ 85.0 ms
9│ Rearmed EU2 | Esseker                                           │ 168.100.161.234:2302 │ 7/100   │ online │ 13864541 │ 20.5 ms

f│ Launch favorite
l│ List installed mods
r│ Refresh
q│ Quit

Selection: 
fossean commented 2 years ago

Not a problem with all servers, though. Connected to server 15021740 which has 41 mods; successfully downloaded 7 or eight mods without hanging. Will test others.