Giter Site home page Giter Site logo

steam-tui's Introduction

Steam TUI

tests Crates.io

About

Just a simple TUI client for steamcmd. Allows for the graphical launching, updating, and downloading of steam games through a simple terminal client. Methodology informed by steam-cli.

Note

Steam no longer has a backend only mode. This client has become more limited, but still potenitally useful for those who don't want to use the steam client.

Example of steam-tui in action

Usage

Login with steamcmd first to cache your credentials (don't trust some random app with your passwords):

steamcmd
# Steam> login <user>
# Steam> quit

Launch the binary steam-tui, and rejoice ๐ŸŽ‰. Help is in the client.

Unable to launch games? Pressing space will start a steam client and will let you launch games that need steam libraries or have some sort of DRM.

Warning

Still unable to launch games?

You are not alone, but gaming on linux is getting better. You can define a custom script to launch a specific game by creating $STEAM_TUI_SCRIPT_DIR/<game id>.sh, steam TUI will pass in the file it thinks should be run, but you can ignore this and just do whatever. This reduces steam-tui to more of a launcher, but it's better than nothing.

Features not in the help

It's like an Easter egg for reading documentation!

Favourites

Pressing f will toggle favourites on a game, pressing F will filter favourite games.

Hiding games

Pressing H will hide the selected game. Hidden games are recorded in ~/.config/steam-tui/config.json.

Showing other things (like demos)

You can enable (or hide by exclusion) Game DLC Driver Applications Config Demo Tool Unknown, by changing the allowed_games field in the config.

Requirements

steamcmd is required to launch steam-tui, as steam-tui is essentially just a graphical wrapper for this program. wine usage will be attempted if a native Linux game is not found.

Why ?

Because why not? Also, the Steam client seems to break on my Arch build. I have a GT 610, and barely anything graphical works- this is a nice work around.

Update, I got rid of the 610 (let's go 1660), but moved to NixOS and Wayland and the steam client still doesn't work lol.

Contributing

At this point, I am very much done with the project. I only really play Kerbal and 5 Dimensional Chess with Multiverse Time Travel, so additional work on this project is moot. If you buy me a coffee, I'd be happy to sink some more time into this.

Sponsors

Thank you to those who have heeded my call for more coffee!

  • @abowen @KDanisme @jharlan-hash (sponsored major update 0.3.0)
  • @MathiasSven (sponsored minor update 0.2.1)
  • @vaelund (sponsored major update 0.2.0)

Missing Features

  • Better handling for Proton games
  • Filter for only showing installed games

steam-tui's People

Contributors

abowen avatar dmadisetti avatar sir-photch avatar toastal avatar zeerooth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

steam-tui's Issues

[Feature Request] Support Goldberg Steam Emulator

Hi, I haven't tried steam-tui yet but I like the look of it and I think I have an idea that aligns with your goals.

There's an open source replacement for the steam_api library called Goldberg Steam Emulator, it allows you to run most games without the Steam client at all by emulating the steamworks functions that games are looking for.

For steam-tui to implement this feature, it would be best to allow users to configure steam-emu on a per-game basis, copying and backing up the steam_api files when it's enabled, and putting the originals back when it's disabled.

Also I should note that there's games this won't work with, as it's not a crack for games with DRM. If the game has any DRM Goldberg can not bypass it. In those cases the bare-bones steam client feature will still be useful.

blank games list after login -2

provide a log with steam-tui 2> error.log

Closing because it seems like the initial error was fixed. Also added custom scripts to help with executables being off

Originally posted by @dmadisetti in #62 (comment)

I did do that, but the error.log is absolutely empty!

Steam-tui can't find steamcmd

I'm trying to use the program on Fedora, which doesn't allow the user to install steamcmd directly from a repository. I have steamcmd installed under home/username/Steam and I've added home/username/.cargo/bin to my PATH, but I still get this error when using the steam-tui command:

Fatal Error in client thread:
An error occurred spawning the steamcmd process. Do you have it installed?
Os { code: 2, kind: NotFound, message: "No such file or directory" }

What could the issue be?

Blank Menu After Login - Crashes on Navigation Attempt

After successfully opening the TUI and logging into my Steam account, I am presented with a blank menu where I'd expect to see my list of games. I've tried re-logging into Steam but the problem persists. Furthermore, when I attempt to navigate the blank menu, the app crashes.
image
The application doesn't display any error messages in stderr until I try to navigate. The app was launched with RUST_BACKTRACE=full.

thread 'main' panicked at 'Index is guarded by next, previous. This is safe.', /build/source/src/util/stateful.rs:39:22
stack backtrace:
   0:     0x561a98cd166a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h248962d2d122e2c9
   1:     0x561a98cf9d2f - core::fmt::write::h5f95cb8cfa6115f7
   2:     0x561a98cdd8e5 - std::io::Write::write_fmt::h84b7654c24157227
   3:     0x561a98cd1425 - std::sys_common::backtrace::print::h2e5be404ab22c93f
   4:     0x561a98cd6cfe - std::panicking::default_hook::{{closure}}::h098fd3ade5bcfd5b
   5:     0x561a98cd69b9 - std::panicking::default_hook::h01e9e78d073c3fbc
   6:     0x561a98cd7251 - std::panicking::rust_panic_with_hook::h110f1ac29bb0350d
   7:     0x561a98cd1999 - std::panicking::begin_panic_handler::{{closure}}::h5045ea681cf020a4
   8:     0x561a98cd1776 - std::sys_common::backtrace::__rust_end_short_backtrace::h5a41a5e5cb43f3f7
   9:     0x561a98cd6f52 - rust_begin_unwind
  10:     0x561a98b4d323 - core::panicking::panic_fmt::hb69349353d008f71
  11:     0x561a98b4d1d3 - core::option::expect_failed::h29f70ad0483bd034
  12:     0x561a98b4f33c - steam_tui::util::stateful::StatefulList<T>::selected::hef86a634f531f434
  13:     0x561a98b517f4 - steam_tui::main::h06e5cea6220eec52
  14:     0x561a98b4f5a3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h42a0ff66b3733c8c
  15:     0x561a98b4f5b9 - std::rt::lang_start::{{closure}}::h9799b639b6920e92
  16:     0x561a98cd6e51 - std::panicking::try::he791fc1a94a09c44
  17:     0x561a98cbdfdb - std::rt::lang_start_internal::h0972b5621afa304e
  18:     0x561a98b52485 - main
  19:     0x7f9379a1bace - __libc_start_call_main
  20:     0x7f9379a1bb89 - __libc_start_main@@GLIBC_2.34
  21:     0x561a98b4d765 - _start
  22:                0x0 - <unknown>

OS: NixOS unstable

Custom Launch Scripts

Every game is a little different to get up and running reliably. steam-tui should look for a custom user script to run prior to trying the other scripts. Reasonable hack for getting around user/system specific proton calls etc..

Double entries / filter by installed

Hi!

This is a pretty cool TUI for steam, I gotta be honest.
Two things that appeared to me though:

I get multiple entries for the same game, if they are installed:
grafik

Is this an issue of your implementation?

Also, would it be possible to add a filter to only show installed games? Would make things easier for ppl with larger libraries.

I know some rust, so If you point me to the right places, I might be able to modify that myself.

Cheers!

`nix build` fails with 2 test errors

Full log:
nix log /nix/store/fmgcz5rhwnvg5svyx9icww1slj34mnzc-steam-tui-dev.drv --extra-experimental-features nix-command

@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking sources
unpacking source archive /nix/store/4zpqdkwjwdf1y9rp95kzlnrwllidcxnr-wd2mckabynwimgkqwmkvjkjgg34ha8al-source
source root is wd2mckabynwimgkqwmkvjkjgg34ha8al-source
Executing cargoSetupPostUnpackHook
unpacking source archive /nix/store/w3b82kii9ynw2wmj5p69ksyllvrdrc3g-cargo-vendor-dir
Finished cargoSetupPostUnpackHook
@nix { "action": "setPhase", "phase": "patchPhase" }
patching sources
Executing cargoSetupPostPatchHook
Validating consistency between /build/wd2mckabynwimgkqwmkvjkjgg34ha8al-source//Cargo.lock and /build/cargo-vendor-dir/Cargo.lock
Finished cargoSetupPostPatchHook
@nix { "action": "setPhase", "phase": "configurePhase" }
configuring
@nix { "action": "setPhase", "phase": "buildPhase" }
building
Executing cargoBuildHook
++ env CC_x86_64-unknown-linux-gnu=/nix/store/6mx62f4mdv5y1awi7y2mp23a76gg0ba7-gcc-wrapper-11.3.0/bin/cc CXX_x86_64-unknown-linux-gnu=/nix/store/6mx62f4mdv5y1awi7y2mp23a76gg0ba7-gcc-wrapper-11.3.0/bin/c++ CC_>
   Compiling autocfg v1.1.0
   Compiling libc v0.2.126
   Compiling cfg-if v1.0.0
   Compiling proc-macro2 v1.0.40
   Compiling once_cell v1.12.0
   Compiling unicode-ident v1.0.1
   Compiling quote v1.0.20
   Compiling syn v1.0.98
   Compiling memchr v2.5.0
   Compiling log v0.4.17
   Compiling scopeguard v1.1.0
   Compiling cc v1.0.73
   Compiling futures-core v0.3.21
   Compiling crossbeam-utils v0.8.10
   Compiling bitflags v1.3.2
   Compiling pkg-config v0.3.25
   Compiling pin-project-lite v0.2.9
   Compiling bytes v1.1.0
   Compiling futures-sink v0.3.21
   Compiling itoa v1.0.2
   Compiling serde_derive v1.0.138
   Compiling rayon-core v1.9.3
   Compiling adler v1.0.2
   Compiling smallvec v1.9.0
   Compiling futures-task v0.3.21
   Compiling serde v1.0.138
   Compiling crc32fast v1.3.2
   Compiling fnv v1.0.7
   Compiling adler32 v1.2.0
   Compiling foreign-types-shared v0.1.1
   Compiling openssl v0.10.40
   Compiling parking_lot_core v0.9.3
   Compiling signal-hook v0.3.14
   Compiling futures-util v0.3.21
   Compiling tinyvec_macros v0.1.0
   Compiling futures-channel v0.3.21
   Compiling native-tls v0.2.10
   Compiling matches v0.1.9
   Compiling either v1.7.0
   Compiling httparse v1.7.1
   Compiling slab v0.4.6
   Compiling pin-utils v0.1.0
   Compiling futures-io v0.3.21
   Compiling hashbrown v0.12.1
   Compiling failure_derive v0.1.8
   Compiling unicode-xid v0.2.3
   Compiling gimli v0.26.1
   Compiling unicode-width v0.1.9
   Compiling percent-encoding v2.1.0
   Compiling weezl v0.1.6
   Compiling try-lock v0.2.3
   Compiling openssl-probe v0.1.5
   Compiling half v1.8.2
   Compiling rustc-demangle v0.1.21
   Compiling numtoa v0.1.0
   Compiling tower-service v0.3.2
   Compiling color_quant v1.1.0
   Compiling unicode-bidi v0.3.8
   Compiling ryu v1.0.10
   Compiling serde_json v1.0.82
   Compiling encoding_rs v0.8.31
   Compiling lebe v0.5.1
   Compiling httpdate v1.0.2
   Compiling bit_field v0.10.1
   Compiling scoped_threadpool v0.1.9
   Compiling cassowary v0.3.0
   Compiling unicode-segmentation v1.9.0
   Compiling byteorder v1.4.3
   Compiling bytemuck v1.10.0
   Compiling lazy_static v1.4.0
   Compiling ipnet v2.5.0
   Compiling regex-syntax v0.6.26
   Compiling mime v0.3.16
   Compiling base64 v0.13.0
   Compiling port_scanner v0.1.5
   Compiling tracing-core v0.1.28
   Compiling thread_local v1.1.4
   Compiling lock_api v0.4.7
   Compiling memoffset v0.6.5
   Compiling crossbeam-epoch v0.9.9
   Compiling num-traits v0.2.15
   Compiling num-integer v0.1.45
   Compiling indexmap v1.9.1
   Compiling rayon v1.5.3
   Compiling num-iter v0.1.43
   Compiling num-rational v0.4.1
   Compiling miniz_oxide v0.5.3
   Compiling http v0.2.8
   Compiling foreign-types v0.3.2
   Compiling deflate v1.0.0
   Compiling inflate v0.4.5
   Compiling tinyvec v1.6.0
   Compiling getopts v0.2.21
   Compiling form_urlencoded v1.0.1
   Compiling openssl-sys v0.9.74
   Compiling backtrace v0.3.65
   Compiling gif v0.11.4
   Compiling addr2line v0.17.0
   Compiling fuzzy-matcher v0.3.7
   Compiling tracing v0.1.35
   Compiling http-body v0.4.5
   Compiling unicode-normalization v0.1.21
   Compiling want v0.3.0
   Compiling object v0.28.4
   Compiling aho-corasick v0.7.18
   Compiling num_cpus v1.13.1
   Compiling mio v0.8.4
   Compiling socket2 v0.4.4
   Compiling signal-hook-registry v1.4.0
   Compiling getrandom v0.2.7
   Compiling termion v1.5.6
   Compiling dirs-sys-next v0.1.2
   Compiling atty v0.2.14
   Compiling crossbeam-channel v0.5.5
   Compiling flate2 v1.0.24
   Compiling png v0.17.5
   Compiling threadpool v1.8.1
   Compiling idna v0.2.3
   Compiling tokio v1.19.2
   Compiling regex v1.5.6
   Compiling nanorand v0.7.0
   Compiling dirs-next v2.0.0
   Compiling pretty-bytes v0.2.2
   Compiling spin v0.9.3
   Compiling parking_lot v0.12.1
   Compiling url v2.2.2
   Compiling signal-hook-mio v0.2.3
   Compiling shellexpand v2.1.0
   Compiling crossbeam-deque v0.8.1
   Compiling tokio-util v0.7.3
   Compiling crossterm v0.23.2
   Compiling synstructure v0.12.6
   Compiling h2 v0.3.13
   Compiling openssl-macros v0.1.0
   Compiling pin-project-internal v1.0.11
   Compiling hyper v0.14.19
   Compiling jpeg-decoder v0.2.6
   Compiling failure v0.1.8
   Compiling tiff v0.7.2
   Compiling pin-project v1.0.11
   Compiling flume v0.10.13
   Compiling tokio-native-tls v0.3.0
   Compiling exr v1.4.2
   Compiling hyper-tls v0.5.0
   Compiling tui v0.18.0
   Compiling serde_urlencoded v0.7.1
   Compiling image v0.24.2
   Compiling reqwest v0.11.11
   Compiling tui-image-rgba-updated v0.2.2
   Compiling steam-tui v0.2.1 (/build/wd2mckabynwimgkqwmkvjkjgg34ha8al-source)
    Finished release [optimized] target(s) in 1m 55s
Executing cargoInstallPostBuildHook
Finished cargoInstallPostBuildHook
Finished cargoBuildHook
buildPhase completed in 1 minutes 55 seconds
@nix { "action": "setPhase", "phase": "checkPhase" }
running tests
Executing cargoCheckHook
++ cargo test -j 8 --release --target x86_64-unknown-linux-gnu --frozen -- --test-threads=8
   Compiling steam-tui v0.2.1 (/build/wd2mckabynwimgkqwmkvjkjgg34ha8al-source)
    Finished release [optimized] target(s) in 3.91s
     Running unittests src/lib.rs (target/x86_64-unknown-linux-gnu/release/deps/steam_tui-b76d212d596bab28)

running 9 tests
test util::parser::tests::test_parse_data ... ok
test util::parser::tests::test_parse_update ... ok
test util::parser::tests::test_parse_update_basic ... ok
test client::tests::test_implicit_line_ending ... FAILED
test client::tests::test_polluted_data ... FAILED
test util::parser::tests::test_parse_update_fail ... ok
test util::parser::tests::test_parse_update_continue ... ok
test util::parser::tests::test_parse_update_sucess ... ok
test client::tests::test_blank_login ... ok

failures:

---- client::tests::test_implicit_line_ending stdout ----
thread 'client::tests::test_implicit_line_ending' panicked at 'Channel dies: RecvError', src/client.rs:584:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- client::tests::test_polluted_data stdout ----
thread 'client::tests::test_polluted_data' panicked at 'Channel dies: RecvError', src/client.rs:569:14


failures:
    client::tests::test_implicit_line_ending
    client::tests::test_polluted_data

test result: FAILED. 7 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

error: test failed, to rerun pass '--lib'

cargo test on the same installation works without problems

[Feature Request] Ability to Remove Games

Currently (as far as I am aware) there is no way to remove downloaded games through steam-tui. It would be a nice addition and be really convenient.

PS: I think the aur package is a bit behind the repo so whoever maintains it might want to update it.

ARM builds?

this is a very nice tool considering how much of a pain in the ass it is to run steam on ARM even with box64, so an arm64 release would be nice

Windows: Can't get past the `Logging in and updating...` screen

While steam-tui builds just fine on Windows nowadays, I can't get past this screen:

image

That screen shows up just after you type your Steam username and hit Enter.

It looks like steam-tui spawns steamcmd.exe just fine:

image

But my guess is that when steam-tui sends the login <user> command to steamcmd.exe, that doesn't actually work... And yes, I have followed what the README says.

I'm not a Windows programmer (though I occasionally use it for gaming), so I'm not sure how to debug this further...

Originally posted by @guihkx in #48 (comment)

Cannot login with cargo version. Binary version refuses to work at all.

I see the ASCII Steam logo and a login prompt at the bottom of the screen. When I put in my username it just hangs.

steamcmd has been installed and I followed the steps to set that up.
openssl-dev was also installed because Cargo complained.

When running just the standard binary, that doesn't work at all:

ldd steam-tui
linux-vdso.so.1 (0x00007ffdfb7b5000)
libssl.so.1.1 => not found
libcrypto.so.1.1 => not found
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fd452976000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd45288f000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd452665000)
/nix/store/mhhlymrg2m70r8h94cwhv2d7a0c8l7g6-glibc-2.34-210/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007fd45309f000)

Linux 5.15.0-56-generic #62-Ubuntu (Mint) SMP
8(16) AMD Threadripper 3800MHz processors, 121357.90 total bogomips, 31953M RAM
System library 2.35.0

Automate AUR release

Shouldn't be too hard. Have a script that replaces hashes. I don't use Arch anymore to test though.

Would like Arch tester / contributor to make this happen

"Login" not working

When i open steam tui, press l and enter my name it loads but doesnt show any games/titles . Im not sure if this is an issue with the app or steamcmd but when i open steamcmd it gives me this output

Redirecting stderr to '/home/eugene/.local/share/Steam/logs/stderr.txt'
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[ 0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam API...OK

Steam>src/clientdll/compatmanager.cpp (905) : GetCompatibilityToolCommandLineInternal on dependent tool failed

:)

Crash with UTF8error

Whilst building the library once logging in, it gets to about 50 something percent and then errors with this error:

Problem("Utf8Error { valid_up_to: 4502, error_len: Some(1) }")

Any ideas?

This is on arch linux, installed from the AUR with yay. I tried the steam-tui, and the steam-tui-bin just in case.

Add a LICENSE

You should add a LICENSE for your project, a good selection can be found here

Automatically Download Images [Feature Request]

Lol, sorry folx. The screenshot I share has images and the app doesn't (unless you configure it)

Automatically download the .icos for display:

https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/<id>/{app_info["common"]["clienticon"]}.ico

example:

https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/220200/12cfda2a83a4b676dedc3dd5b97639b43f41dd75.ico

Once saved in the correct spot, the TUI should display it.

[Feature Request] Allow for steam integrated games (DRM etc)

Title says all. It seems that all source engine games are unable to be launched through steam-tui (perhaps due to my install of steamcmd ?)

It seems that the issue is linked to libraries not loading. For Half Life, it's hw.so, for TF2 it's engine.so. Non-source games seem to work just fine.

I've read online that launching these games through the steam client instead of steamcmd worked just fine, perhaps that's the underlying cause, the client pointing the executable to libraries while steam-tui doesn't ?

I can provide more info, screenshots, logs, anything as long as it's requested. Have a good day, reader !

[Feature Request] Get status progress

Right now, you can start to download games (with no progress indication), you can launch games (with no indication if the failed), and you can start the Steam executable for DRM games (with no indication of what's going on)

In task form:

  • Follow download progress
  • Follow thread life for games
  • Follow thread life for steam executable

will this keep proton launch settings?

will this launch with the proton custom command we add to the steam client like ENV variables etc? I am trying to launch a game that uses proton and is not launching

Windows Support

Hello. My question is - is it possible to somehow run and use steam-tui on windows 10. I only managed to install steamcmd. It is not clear how to start binary.

[Question] Does This Override Game Steam Check

Does this override the issue of certain games checking if the game was launched from Steam, and if not attempt to launch the Steam client?
I know steam-cli mentions this as an issue.

Crashes shortly after start.

Shortly after starting steam-tui crashes with the following message:

`thread '' panicked at 'Stopping anyway.: Io(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" })', src/interface.rs:288:14

note: run with `RUST_BACKTRACE=1` environment variable to display the backtrace.

image

Running with RUST_BACKTRACE=1 give me the same message, but tell me to run with RUST_BACKTRACE=full.

Running with RUST_BACKTRACE=full give the follwing:

image

ldd /usr/bin/steam-tui
	linux-vdso.so.1 (0x00007ffda5141000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fb6e798e000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007fb6e78a6000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007fb6e769c000)
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fb6e7caf000)

Unclear on how to launch

Hello,
I am unsure on how to install/launch steam-tui. The instructions just say to "launch the binary". I tried downloading the one from the releases page, setting it as executable and running it from the shell, but all I get is a variation of "./steam-tui: not found".
My system is Kubuntu 22.04.3 LTS x86_64, by the way.

glibc-2.38 issue

can't update it lol, I'm on q4os and I cannot find a way to make it work.

Failed: Could not find executable to launch.

Whichever game I try launching, it gives me the error in the title, along with "Try setting $STEAM_APP_DIR". I have set it to path /home/grisha/.local/share/Steam. What do I need to do to make this work?
steam-tui | 0.2.1-4 from AUR

Crash with UTF8 error (similar to Issue #9), fatal error when trying to run in cargo

Similar to Issue #9, steam-tui puts up a fatal error when starting it normally:

Problem("Utf8Error { valid_up_to: 4502, error_len: Some(1) }")

However, when trying to run it with cargo run 2> err , I get another error:

Problem("Unknown command sent [0mUsage:\n\tlogin <username> [<password>] [<Steam guard code>]\n")

err.txt

So I tried to build it again (using cargo build --release) and this happened

I am using Ubuntu 21.04 over a SSH connection

Edit: I just tested this in the VM's console (no SSH involved this way) and while it didn't do stuff like in that picture, it still failed like above

[Feature Request] Hide games

Inside of steam-tui it shows up games which i dont own,
image
This is the gameslist on steam-tui ^^
and this is my normal steam library vv
image
i've made sure that the games arn't hidden or anything, i realise that you've sorta left this project alone so i understand if you don't put in the time to fix it but just thought id let you know.

Most games are borked when launched through `steamcmd` or directly - consider launching games using `steam -silent -applaunch <id>` by default

Hi!
I've tried to use steam-tui for a fair while now and unfortunately it seems like most often than not games are borked and refuse to launch.
For example, lately I've tried to make 4 linux native games work with different launch scripts, both on NixOS and Ubuntu and this is the result:

  • Terraria - doesn't launch, steamcmd reports CHIDDeviceListSDL(): Couldn't load libSDL2-2.0.so.0, not enumerating devices
    I managed to get around that by preloading the SDL2 library packaged by steam and running the binary directly with LD_LIBRARY_PATH=~/.steam/bin32/:$LD_LIBRARY_PATH ~/.local/share/Steam/steamapps/common/Terraria/Terraria but it threw an exception anyway Exception: System.TypeInitializationException: The type initializer for 'Microsoft.Xna.Framework.FNAPlatform' threw an exception. ---> System.NullReferenceException: Object reference not set to an instance of an object. On Ubuntu it terminates with [S_API FAIL] SteamAPI_Init() failed; create pipe failed.. I gave up on that one. Works on steam GUI.
  • missed messages - steamcmd reports that ERROR! AppId 812810 launch failed (Update required) but when I run app_update 812810 there's nothing to update. Running the binary directly runs the game in 0x0 window which well, makes it pretty unplayable. Works on steam GUI.
  • War Thunder - steamcmd reports ERROR! AppId 236390 launch failed (Missing executable). Works if launched directly either from steam or command line, but steam-tui reports that it can't find the executable anyway (because of steamcmd) or gets stuck on launching... if steam is running in the background.
  • You Have to Win the Game - basically the same as missed messages, but when run directly this one can't even load steam api by default error while loading shared libraries: libsteam_api.so: cannot open shared object file: No such file or directory. Again, steam-tui gets stuck in launching... phase. And again, works through steam GUI.

All in all, I don't know if it's only happening to me, but based on my experience and the discussions I've read online it seems like steamcmd is pretty ill-equipped for launching games beside simple servers, as it doesn't manage the libraries correctly and probably isn't even properly maintained (looking at the tiny documentation and non-existent support). To make user experience better, I'd simply offload the game launch phase straight to steam GUI and with -silent -nobrowser which seems to work, at least for me, 100% of the time (and this should also auto detect and start games with steam proton).
However, that's just my opinion for now - I'd like to hear if anyone else encountered such errors and if you were able to solve it, if it's possible at all.

Cannot launch games from 2nd steam library

Hi, I've been trying to use this but I can't seem to get any games on my hard disk to launch. I have one steam library on the same SSD as my OS, but I have a second steam library on my hard disk. The first library is at ~/.local/share/Steam/steamapps and the second library is at /run/media/username/diskName/Steam/steamapps. I'm not really sure how to provide you with any debug information, so if you have anything I can do just tell me.

OS: Manjaro with Linux 5.10.34
SteamCMD Version: latest-3

Scroll lag on key hold

When you hold j/k/up/down there is lag and will continue scrolling for a bit after the key is released. The lag doesn't become noticeable until I scroll more than about 10 items, but since I have a fairly large library cluttered with unplayed games from humble bundle this is frequent. If the scrolling lag is not an easy fix, a good work around would be to be able to filter the list to downloaded only.

Love the ascii art and vim binds, very cool program.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.