JustArchiNET / ArchiSteamFarm

C# application with primary purpose of farming Steam cards from multiple accounts simultaneously.
Apache License 2.0
11.06k stars 1.04k forks source link

Special characters in password treated like Enter key when typing at startup #3090

Closed Terrance closed 9 months ago

Terrance commented 9 months ago

Checklist

ASF version

Latest stable release

ASF variant

linux-x64

Bug description

Typing a special character at the Please enter your Steam password: prompt (including from a paste) immediately dismisses the prompt as if Enter was pressed.

Expected behavior

The prompt should accept my whole password without submitting.

Actual behavior

Steps to reproduce

Possible reason/solution

Using the asf AUR package on Arch Linux.

This is over SSH, but I've not had issues with any other programs' handling of special characters. Locale, in case that's relevant:

$ locale
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

Can you help us with this bug report?

Somehow, I can test and offer feedback, but can't code

Full log.txt recorded during reproducing the problem

INFO|ASF|InitCore() ArchiSteamFarm-custom V5.4.13.4 (source/c599465c-df92-4f92-bb7e-11b6652d720b | .NET 7.0.13; arch-x64; Linux 6.6.1-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 08 Nov 2023 16:05:38 +0000)
INFO|ASF|InitCore() Copyright © 2015-2023 JustArchiNET
INFO|ASF|StartInteractiveConsole() Interactive console is now active, type 'c' in order to enter command mode.
INFO|ASF|Start() Starting IPC server...
INFO|Microsoft.Hosting.Lifetime|Now listening on: http://localhost:1242
INFO|Microsoft.Hosting.Lifetime|Application started. Press Ctrl+C to shut down.
INFO|Microsoft.Hosting.Lifetime|Hosting environment: Production
INFO|Microsoft.Hosting.Lifetime|Content root path: /usr/lib/asf/
INFO|ASF|Start() IPC server ready!
INFO|BotName|Start() Starting...
INFO|BotName|Connect() Connecting...
INFO|BotName|OnConnected() Connected to Steam!

<BotName> Please enter your Steam password:
ERROR|BotName|InitLoginAndPassword() steamPassword is invalid!
INFO|BotName|Stop() Stopping...
INFO|ASF|OnBotShutdown() No bots are running, exiting...
INFO|Microsoft.Hosting.Lifetime|Application is shutting down...

Global ASF.json config file

{}

BotName.json config of all affected bot instances

{
  "Enabled": true,
  "OnlineStatus": 0,
  "RemoteCommunication": 0,
  "SteamLogin": "***",
  "IPCPassword": "***"
}

Additional info

The description for BotName.json above states that SteamPassword is mandatory, but the documentation says if left unset then I should be able to provide it at startup, which is where the problem lies. Is this still the case?

nolddor commented 9 months ago

Reproducible with latest stable. Unreproducible with latest pre-release, might be caused by fc13f2c48869b469be90ad5fb606df7cbe6c9e1c (?)

nolddor commented 9 months ago

@Terrance does it work for you with latest pre-release? https://github.com/JustArchiNET/ArchiSteamFarm/releases/tag/5.5.0.7

JustArchi commented 9 months ago

This was already fixed in latest pre-release, in particular starting from ASF V5.5.0.1.

Dupe of https://github.com/JustArchiNET/ArchiSteamFarm/issues/3075#issuecomment-1817710875

If you can't wait, I recommend upgrade to latest pre-release which is a stable release candidate at this stage. Otherwise, the next stable should be available in a month or so.

Terrance commented 9 months ago

Apologies, didn't spot that one whilst searching (admittedly I was looking for password-related issues rather than ones about the console in general). After some faff with the AUR package and system upgrades to switch to .NET 8.0, I now have 5.5.0.7 running and the password prompt works as expected.

JustArchi commented 9 months ago

That's alright, since the issue I linked indeed focused on something else, but the underlying problem was the same. Glad to hear it works for you now :+1: