mirror of
https://github.com/GameServerManagers/LinuxGSM.git
synced 2026-04-25 14:15:59 +03:00
[GH-ISSUE #579] [LGSM] Steam Guard /2 Factor Auth still not working #467
Labels
No labels
Atomic
Epic
cannot reproduce
command: backup
command: console
command: debug
command: details
command: fast-dl
command: install
command: mods
command: monitor
command: post-details
command: restart
command: send
command: start
command: stop
command: update
command: update-lgsm
command: validate
command: wipe
distro: AlmaLinux
distro: Arch Linux
distro: CentOS
distro: Debian
distro: Fedora
distro: RedHat
distro: Rocky Linux
distro: Ubuntu
distro: openSUSE
engine: goldsrc
engine: source
game: 7 Days to Die
game: ARMA 3
game: Ark: Survival Evolved
game: Assetto Corsa
game: Avorion
game: BATTALION: Legacy
game: Barotrauma
game: Battalion 1944
game: Battlefield 1942
game: Black Mesa: Deathmatch
game: Blade Symphony
game: Call of Duty 2
game: Call of Duty 4
game: Call of Duty: United Offensive
game: Counter-Strike 1.6
game: Counter-Strike 2
game: Counter-Strike: Global Offensive
game: Counter-Strike: Source
game: Day of Infamy
game: Dayz
game: Death Match Classic
game: Don't Starve Together
game: ET: Legacy
game: Eco
game: Factorio
game: Factorio
game: Garry's Mod
game: Half-Life
game: Hurtword
game: Insurgecy
game: Insurgecy
game: Insurgency: Sandstorm
game: Just Cause 3
game: Killing Floor
game: Killing Floor 2
game: Left 4 Dead 2
game: Minecraft
game: Minecraft Bedrock
game: Mordhau
game: Multi Theft Auto
game: Mumble
game: Natural Selection 2
game: No More Room in Hell
game: Pavlov VR
game: Post Scriptum
game: Project Zomboid
game: Quake 3
game: QuakeWorld
game: Red Orchestra: Ostfront 41-45
game: Return to Castle Wolfenstein
game: Rising World
game: Rust
game: San Andreas Multiplayer
game: Satisfactory
game: Soldat
game: Soldier of Fortune 2
game: Squad
game: Squad 44
game: Starbound
game: Stationeers
game: Sven Co-op
game: Team Fortress 2
game: Teamspeak 3
game: Teeworlds
game: Terraria
game: The Front
game: Unreal Tournament 2004
game: Unreal Tournament 3
game: Unreal Tournament 99
game: Unturned
game: Valheim
game: Wurm Unlimited
game: Zombie Master Reborn
game: label missing
good first issue
help wanted
info: alerts
info: dependency
info: docker
info: docs
info: email
info: query
info: steamcmd
info: systemd
info: tmux
info: website
info: website
needs more info
outcome: duplicate
outcome: issue resolved
outcome: issue resolved
outcome: issue unresolved
outcome: pr accepted
outcome: pr rejected
outcome: unconfirmed
outcome: wontfix
outcome: wrong forum
potential-duplicate
priority
pull-request
type: bug
type: feature
type: feature
type: feature request
type: game server request
type: refactor
waiting response
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/LinuxGSM#467
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @DSDV on GitHub (Dec 26, 2015).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/579
Originally assigned to: @dgibbs64 on GitHub.
As reported here: https://github.com/dgibbs64/linuxgsm/issues/298
SteamGuard Two Factor auth seems to make some trouble.
As of now its implemented but not relay working as you can see on the folowing screenshot wich looked like these aover 5 hours... also tried updateing and so on.
http://imgur.com/R2pD4xJ
@DSDV commented on GitHub (Dec 26, 2015):
PS seems to be an problem with the mobile APP while with another account wich sadly still uses eMail it seems to work for another game.
I think its because eMail verification is somehow stored and the APP must be entered every time you log in
@UltimateByte commented on GitHub (Dec 26, 2015):
We should try this in standalone (without lgsm script) mode to see if srcds enven manages to get it working.
@DSDV commented on GitHub (Dec 26, 2015):
since lsgm sadly dont work with games where i need to use steamguard protected accounts the way u discriebed is the only one left to use for me - and it works well except its a 'lot' more work.
@dgibbs64 commented on GitHub (Dec 26, 2015):
This issue is definitely something that needs to be sorted out. It is on my radar for working on.
@UltimateByte commented on GitHub (Dec 26, 2015):
So it's fixable, that's a positive. But did you try without setting the steampass variable in the end ?
@DSDV commented on GitHub (Dec 27, 2015):
Nope i only tried the script "as is" and dont changed something
Good to know that it will become fixed specialy when steam gives you huhge advantages when using the phone as steamguard.
@UltimateByte commented on GitHub (Dec 29, 2015):
Try with the script, just don't set a password in the server config, and see what happens at install.
@dgibbs64 commented on GitHub (Dec 30, 2015):
Just tested with Steam Guard Authenticator. The issue is that it asks for a code every time you login to SteamCMD.
If you want to do any automation of server updates this is an issue straight away as user intervention is requires each time LGSM uses SteamCMD.
LGSM uses the tee command to send the output of SteamCMD to a log file and this is why it sometimes looks like its doing nothing on update (to do with a buffer or somthing).
My original issue was that Steam Guard Email code entry was not being seen by the user because of tee.
To get around this issue LGSM runs ./steamcmd.sh +login +password +quir without tee before the update command. This will ensure that if a code is required is is seen by the user, preventing SteamCMD from looking stuck when its waiting for user input.
I had setup SteamCMD to just login and quit without tee to allow Steam Guard Email codes to be input. These only need to be input once on each server.
So I recommend either using Steam Guard Email over Steam Guard Authenticator. Or purchasing the game on another steam account just for your servers.
Its a pain but I dont think Steam Guard Authenticator will work with LGSM and will break updating servers automatically.
I will figure out the best way to notify the user of this to ensure they are not using Steam Guard Authenticator.
@DSDV commented on GitHub (Dec 31, 2015):
Hm.. ok its what it what i was afraid of.
But at least we have a workaround.
2 Thoughts on this:
I think they will push the Mobile version harder in future and will shut down eMail eventualy.
So can we implement an authenticator in LSGM ? (i now securitywise its rubbish but still)
I know ther is a solution for windows (WinAuth) to get codes on WIndows based platforms (wich are not supported)
with best (and sorry for my bad english) +DS_DV+
@dgibbs64 commented on GitHub (Dec 31, 2015):
@DSDV I think you miss the point that the Authenticator is not suitable for this kind of setup. I don't think that Valve will phase out email authentication at all. Not all users will want to/cannot use a smartphone app for authenticating there steam account. Steam Guard via email is better than no Steam Guard but not quite as good as via smartphone.
Automation is simply not possible with the Authenticator as it requires user interaction for every login. It is not feasible for servers as they can receive updates at any point, and login to steam several times a day.
Steam Guard via email works by allowing a PC that Steam is running on to use your steam account by sending a code to the email account associated with your steam account. Once authorized that PC can login at any time with your steam account (still requiring password). This prevents any old PC around the world from trying to log in to your Steam account without you knowing about it. The only down side is that if the PC is compromised and your steam login details are known a hacker could login to your steam account from that PC.
Steam Authenticator is better for security in that you are required to authorize the PC EVERY time the steam account is logged in to. This is great for security and normal Steam Clients but rubbish for game servers.
TL;DR Steam Guard via email is the only workable option for game servers because of automation.
Hope that makes more sense 👍
@dgibbs64 commented on GitHub (Dec 31, 2015):
@UltimateByte i see in issue #570 you talk about unset the steam password. Does this cause 2-factor authentication to work? does this mean that not specifying the password allows the authenticator to only be used once like steam guard via email?
If so there may be a way to sort this....To get this to work we require 2-factor authentication code to be entered only once. Failing this I would be correct in stating that Steam Guard via email is the only option.
@Dunkelzhan commented on GitHub (Dec 31, 2015):
FYI -
I tried your suggestion of removing the Steam Guard Authenticator, and using Steam Guard Email codes in an effort to fix issue #570. I deleted the "sdtduser" account on my box, and all associated files. I then rebooted, created the user account again, and proceeded with a clean install.
The server installed correctly
I then validated, and updated (it confirmed I was running the latest version, and no updates were available). I was able to run a backup, and verified the server autostarts with the cron job. I then tried a manual update again, as this is where I had problems in the past. I again received a failure:
sdtdserver@WolfeDen1:~$ ./sdtdserver update
Redirecting stderr to '/home/sdtdserver/Steam/logs/stderr.txt'
[ 0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam API...OK.
Logging in user '(REMOVED USERNAME)' to Steam Public...
Using cached credentials. . .
Logged in OK
Waiting for license info...OK
[ FAIL ] Update sdtd-server: Checking for update: SteamCMD: Not returning version info
sdtdserver@WolfeDen1:~$ ./sdtdserver update
Redirecting stderr to '/home/sdtdserver/Steam/logs/stderr.txt'
[ 0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam API...OK.
Logging in user '(REMOVED USERNAME)' to Steam Public...
Using cached credentials. . .
Login Failure: Invalid Password
FAILED with result code 5
Failure! Error running SteamCMD
[ FAIL ] Update sdtd-server: Checking for update: SteamCMD: Not returning version info
sdtdserver@WolfeDen1:~$
Notice on the first ./sdtdserver update, it uses the cached credentials and says 'Logged in OK', then immediately running it again it comes back with 'Login Failure: invalid Password'.
I wish I knew more to help, but wanted to provide this information if it helps you with the issue.
@dgibbs64 commented on GitHub (Dec 31, 2015):
I was receiving this issue after trying out Steam Guard via Smartphone also. Its a bit of a pain in the arse. Im still working on this see what can be done...if anything
Login Failure: Invalid Password
FAILED with result code 5
@UltimateByte commented on GitHub (Jan 1, 2016):
Is there anything different between login commands at install and at update ?
@DSDV commented on GitHub (Jan 1, 2016):
Phu thats realy a big problem.
Maybe for what its worth try contacting Steamsupport.
It should be in there intrest to make servverhosting as easy as possible becuase its ther infrastructure?!
@dgibbs64 commented on GitHub (Jan 2, 2016):
@UltimateByte did you want to assign this to yourself?
@UltimateByte commented on GitHub (Jan 2, 2016):
Yep, forgot to assign this one !
BTW i'll probably need a hand at some point.
@UltimateByte commented on GitHub (Jan 2, 2016):
OK, so i tried to put a steamuser to CSGO, and it seems to have the exact same behaviour.
Then, i tried in manual mode.
Install steamcmd in /home/serverdev/csgoserver/steamcmd
run ./steamcmd.sh
login "my_username" //note that without quotations my username containing an underscore didn't work
prompt for password
prompt for 2 factor auth
force_install_dir /home/serverdev/csgoserver
app_update 740
=> Installing
Seems like steam auth is working find in standalone, so there is definitely an issue in how LGSM tries to login.
Gonna check the code to try to find out why it happens.
Update :
Then i tried again with LGSM after cleaning without setting a password...
It asked for my password, then 2 factor auth, then before installing the game, it showed this :
Logging in user 'my_username' to Steam Public...
Using cached credentials. . .
Logged in OK
Then it downloaded the game.
So something messes the login at some point. And credentials are stored somewhere by steamcmd... But where.. ?
@UltimateByte commented on GitHub (Jan 3, 2016):
Got some news !
That same issue just happened to me while using steamcmd in manual mode !
And it was cause by... Hold on... Suspense... Already being logged-in (as anonymous) !
@dgibbs64
The fix would probably be to make it so it only logs in once !
@UltimateByte commented on GitHub (Jan 4, 2016):
I've been checking for potential sessions without a +quit, but there is none...
The issue may be that it caches credentials...
Potential functions affecting this :
https://github.com/dgibbs64/linuxgsm/blob/master/functions/install_steamcmd.sh#L35
Or
https://github.com/dgibbs64/linuxgsm/blob/master/functions/check_steamcmd.sh#L56
@UltimateByte commented on GitHub (Jan 11, 2016):
OK, i had that issue while installing bb2server
It asked for my key once, then got stuck. The next times, it was stuck at the password step.
I ended up running steamcmd manually, which isn't a satisfying solution...
@Dunkelzhan commented on GitHub (Jan 11, 2016):
@UltimateByte : Could you post what the commands are to update Steam CMD manually for novices like me?
@UltimateByte commented on GitHub (Jan 12, 2016):
Sure !
I now know it by heart except the link ! :o))
So in a new user :
mkdir steamcmd
cd steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz
./steamcmd.sh
login YourUserame
force_install_dir /home/username/serverfiles
app_update 740 validate
(740 is for cs go)
BTW you can also find those instructions here
https://developer.valvesoftware.com/wiki/SteamCMD#Linux
But the whole purpose of LGSM is not having to do all this. But for games requiring login for now, it may be necessary to do it manually waiting for a fix, either from Valve or LGSM.
@Dunkelzhan commented on GitHub (Jan 12, 2016):
Thank you!
FYI, i got curious, and I tried:
cd steamcmd
steamcmd.sh
then, inside the steamcmd prompt:
login (removed username) (removed password)
Steam CMD then queried for the SteamGuard key, note: I used Steam Authenticator w/ my phone for this. I entered the code and it accepted it.
app_update 294420
This seemed to download and install updates. I then exited steamcmd:
quit
and changed directory back to my sdtdserver install
cd ..
and ran
./sdtdserver update
It appeared to login correctly, no issues with "cached credentials" as I had been getting, then check for updates - it found it was running the current version, where it hadn't been before. So it looks like running the update "manually" this way in Steamcmd also works.
Just FYI in case this helps you resolve anything.
@UltimateByte commented on GitHub (Jan 12, 2016):
Yest, that helps to allow us reproducing the steps !
I guess we will go deeper into that with Daniel as soon as we can.
@UltimateByte commented on GitHub (Jan 22, 2016):
@dgibbs64 I messed around quite a bit with it without finding any useful thing. I guess we could investigate that together.
@DSDV commented on GitHub (Feb 5, 2016):
BTW there has to be an automated way entering the mobile authentication!
how is it otherwise possible that there are thousands of trading bots out there able to trade without the 72 hold of penalty ?
@UltimateByte commented on GitHub (Feb 5, 2016):
@DSDV If you find the good way, feel free to tell us ! ^^
@dgibbs64 commented on GitHub (Feb 5, 2016):
Probably not using SteamCMD and using the Steam Client
@DaMaxx commented on GitHub (Jun 21, 2016):
Got the Steam Guard running with this patch #893
See #892 for informations about my system
Update: the installation seems to work fine, but updating is not working. It's stuck at:
[ .... ] Update terraria-server: Checking for update: SteamCMD
I guess it's waiting for me to enter my steam guard code again.
Update 2: just tried to enter my steam guard code behind:
[ .... ] Update terraria-server: Checking for update: SteamCMD
and the update finishes with:
[ OK ] Update terraria-server: Checking for update: SteamCMD
No update available:
Current version: 1153412
Available version: 1153412
https://steamdb.info/app/105600/
[ OK ] Update terraria-server: No update available
Update 3:
http://steamcommunity.com/groups/MobileAuthBeta/discussions/0/620712364038418588/?ctp=2#c523897277911481862
This makes me believe it's intended to be asked for the code every time you log into steamcmd on an account with mobile 2nd factor?
@UltimateByte commented on GitHub (Jun 22, 2016):
@DaMaxx Good to know, thanks, i just asked Cedar and Dgibbs if they knew more about unbuffer causing issues with this.
@DaMaxx commented on GitHub (Jun 22, 2016):
@UltimateByte I just had another look at this issue, when I force the program to use "stdbuf -i0 -o0 -e0" instead of unbuffer it works as well, at least on my machine.
So my guess is the problem comes with the "unbuffer" command.
Update: I released a new commit on my fork of linuxgsm which replaces unbuffer completely with stdbuf. Everything works like a charm now. Only the updatecheck for the SteamCMD doesn't prompt me to enter my 2nd factor. But just entering it and hit enter works for now. I guess theres some work needed to show the prompt on the console.
@UltimateByte commented on GitHub (Jun 23, 2016):
I guess @cedarlug already suggested that.
Good you did it.
So now we need feedback about it :) https://github.com/dgibbs64/linuxgsm/pull/893/
@lock[bot] commented on GitHub (Jul 19, 2018):
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.