sonic2kk / steamtinkerlaunch

Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs
GNU General Public License v3.0
2.16k stars 73 forks source link

Nothing is a valid command #61

Closed thomasfinstad closed 4 years ago

thomasfinstad commented 4 years ago

Running stl some_commandfrom steam or the cli yeilds an error about it not being a valid command.

This is what prints to console when starting steam from terminal and starting csgo with stl %command% as the launch parameter.

steam csgo ``` thomas@dsk01:~$ steam Running Steam on pop 20.04 64-bit STEAM_RUNTIME is enabled automatically Pins up-to-date! Steam client's requirements are satisfied /home/thomas/.steam/debian-installation/ubuntu12_32/steam -nominidumps -nobreakpad [2020-09-08 22:04:06] Startup - updater built Sep 3 2020 21:18:09 [2020-09-08 22:04:06] Loading cached metrics from disk (/home/thomas/.steam/debian-installation/package/steam_client_metrics.bin) [2020-09-08 22:04:06] Verifying installation... [2020-09-08 22:04:06] Verification complete STEAM_RUNTIME_HEAVY: ./steam-runtime-heavy Warning: failed to set thread priority: set failed for 4: -1: setpriority() failed Warning: failed to set thread priority: set failed for priority 4 Warning: support for elevated priorities is most likely unavailable, suppressing future warnings Warning: failed to set thread priority: set failed for 4: -1: setpriority() failed Warning: failed to set thread priority: set failed for priority 4 Warning: support for elevated priorities is most likely unavailable, suppressing future warnings ----------------------- arg1 /home/thomas/.steam/debian-installation/steamapps/common/Counter-Strike Global Offensive/csgo.sh is no valid command ========================= SteamTinkerLaunch v1.6.1 ========================= general usage: ----------------------- Just add this program to your steam game command line like: 'stl %command%' game specific use: ----------------------- When starting a game with stl it will check if a config file exists in /home/thomas/.config/stl/gamecfgs/730.conf for the game if it is not available it is created from the default config file (which is automatically created if not found). stl also has a global configfile /home/thomas/.config/stl/global.conf, all settings configured in here are initialized at first and therefore are default for all games, and will only be overridden, if the game specific config /home/thomas/.config/stl/gamecfgs/730.conf has an other value When starting the game a small requester will popup (default 2 seconds). When you want to change settings for that game press space to open the game configuration and adjust it to your needs. The game start will wait until you're done and your changes are used on the fly. for more functions please check the configs and or the README - if something is not clear please file a bugreport on the projectpage https://github.com/frostworx/steamtinkerlaunch you can also change settings via command line with 'stl set ENTRY (730 or 'all') VALUE' example: 'stl set PROTON_DEBUG_DIR_FILE 1232570 /random/path/' will set PROTON_DEBUG_DIR for the game 1232570 to /random/path/ if the game has a config file in /home/thomas/.config/stl/gamecfgs 'stl set RUN_REPLAY all 1' will enable RUN_REPLAY in all game config files found in /home/thomas/.config/stl/gamecfgs ------------------------ custom commands: ------------------------ 'stl dl git' will update stl git repo in '/home/thomas/.config/stl/downloads/stl' ------------------------ 'stl vortex ENTRY VALUE' example: 'stl vortex install' will install vortex 'stl vortex start' will start vortex 'stl vortex getset' will list vortex configuration ------------------------ 'stl autotweaks PLAFTORM (optional steamid)' will autogenerate all tweak files for every parsible game of platform PLATFORM or just for the optional SteamAppID where valid platforms are protonfixes lutris ```
For completeness, this is glxgears from the terminal ``` thomas@dsk01:~$ stl glxgears ----------------------- arg1 glxgears is no valid command Tue 8 Sep 22:08:12 CEST 2020 SKIP - updateConfigFile - config file /home/thomas/.config/stl/global.conf already at version v1.6.1 Tue 8 Sep 22:08:12 CEST 2020 INFO - exportCfgFile - '/home/thomas/.config/stl/global.conf' STOP Tue 8 Sep 22:08:12 CEST 2020 SKIP - updateConfigFile - config file /home/thomas/.config/stl/default_template.conf already at version v1.6.1 Tue 8 Sep 22:08:12 CEST 2020 SKIP - updateConfigFile - config file /home/thomas/.config/stl/vortex/vortex.conf already at version v1.6.1 ========================= SteamTinkerLaunch v1.6.1 ========================= general usage: ----------------------- Just add this program to your steam game command line like: 'stl %command%' game specific use: ----------------------- When starting a game with stl it will check if a config file exists in /home/thomas/.config/stl/gamecfgs/.conf for the game if it is not available it is created from the default config file (which is automatically created if not found). stl also has a global configfile /home/thomas/.config/stl/global.conf, all settings configured in here are initialized at first and therefore are default for all games, and will only be overridden, if the game specific config /home/thomas/.config/stl/gamecfgs/.conf has an other value When starting the game a small requester will popup (default 2 seconds). When you want to change settings for that game press space to open the game configuration and adjust it to your needs. The game start will wait until you're done and your changes are used on the fly. for more functions please check the configs and or the README - if something is not clear please file a bugreport on the projectpage https://github.com/frostworx/steamtinkerlaunch you can also change settings via command line with 'stl set ENTRY ( or 'all') VALUE' example: 'stl set PROTON_DEBUG_DIR_FILE 1232570 /random/path/' will set PROTON_DEBUG_DIR for the game 1232570 to /random/path/ if the game has a config file in /home/thomas/.config/stl/gamecfgs 'stl set RUN_REPLAY all 1' will enable RUN_REPLAY in all game config files found in /home/thomas/.config/stl/gamecfgs ------------------------ custom commands: ------------------------ 'stl dl git' will update stl git repo in '/home/thomas/.config/stl/downloads/stl' ------------------------ 'stl vortex ENTRY VALUE' example: 'stl vortex install' will install vortex 'stl vortex start' will start vortex 'stl vortex getset' will list vortex configuration ------------------------ 'stl autotweaks PLAFTORM (optional steamid)' will autogenerate all tweak files for every parsible game of platform PLATFORM or just for the optional SteamAppID where valid platforms are protonfixes lutris ```
frostworx commented 4 years ago

This is not the correct way to start a custom command. You can't simply add a command to the stl cmdline, therefore the error is correct (also showing what is possible via command line). Instead, start your custom program as it is written in the README here: https://github.com/frostworx/steamtinkerlaunch#Custom-Program

edit: the %command% in the README here https://github.com/frostworx/steamtinkerlaunch#general-usage is indeed literal.

If something still is unclear feel free to ask.

thomasfinstad commented 4 years ago

The quickstart leads me to believe that by adding the launch parameter should be enough to get going instead of saying the command is invalid. image

In other words, I am unclear on which additional steps I need to take to get the game to run with stl before I start adding configs to it, the first would be enable mangohud for me.

frostworx commented 4 years ago

Adding the launch parameter is enough to get started. Without configuring anything stl will set up its initial configuration files (as documented) and the game will simply start as usual. Like every program stl doesn't accept invalid command line arguments. The error logs you got are crystal clear and I have no idea what your problem is. You might want to look into your https://github.com/frostworx/steamtinkerlaunch#Configuration files and check the created log.

frostworx commented 4 years ago

I think I found what is your problem: stl only works with proton games! Still have a "# TODO - accept also linux native games?" in the code but I'm not interested in adding native support currently.

edit: an extra note in the README will be pushed with the next commit

edit2: I misunderstood your problem and thought you wanted to start a custom command that's why I suggested reading the custom command documentation here: https://github.com/frostworx/steamtinkerlaunch/issues/61#issuecomment-689303936

Would have been easier if I had known that /home/thomas/.steam/debian-installation/steamapps/common/Counter-Strike Global Offensive/csgo.sh is actually the game command and not your own script.

frostworx commented 4 years ago

note added in https://github.com/frostworx/steamtinkerlaunch/commit/05e120b627ed3601725e943b268f080f3cabd85e

thomasfinstad commented 4 years ago

That is fair, I really thought this would work for all games, I hope you will look into that part since a consolidated tool like this will be nice for native titles too.

I can see how csgo.sh might seem like homebrew hehe. Thanks anyway.

frostworx commented 4 years ago

Thank you for the feedback! It is not like I do not want to support native titles, but more that it could be pretty complicated to make all functions also work with native titles.

frostworx commented 4 years ago

fyi: https://github.com/frostworx/steamtinkerlaunch/issues/66#issuecomment-696020926