GameServerManagers / GameServerManagers/LinuxGSM
[Guide]: Steamcmd Username + Steam Guard via Smartphone (compatible with LinuxGSM, no plaintext password) w/ securely saved credentials
- Dominant language
- Shell
- Stars
- 4.9k
- Forks
- 864
- PR merge metrics
- No merged PRs in 30d
Description
### User story
As a server admin, I wanted to install a Terraria server. I didn't have a second account, didn't want plaintext password, and am using SteamGuard via Smartphone. This is listed as unsupported, but I accomplished it without a single extra tool. Being security-minded, I refuse to leave plaintext credentials, but obviously desire all functionality provided by LGSM.
### Game
Terraria, 7 Days, Satisfactory, Proj. Zomboid, Minecraft Bedrock, probably more later
### Linux distro
Other
### Command
command: start, command: stop, command: restart, command: monitor, command: details, command: update, command: validate, command: console, command: install
### Further information
First, requirements:
- Understand and edit lgsm config files
- Understand and execute steamcmd by hand as intended gameserver user
OK, so here's what I did. I imagine this could be adapted to any server requiring login. All commands are AS DESIRED GAME SERVER USER
1- Download and install terraria lgsm server per [Instructions](https://linuxgsm.com/servers/terrariaserver/#v-pills-install) step 1 and step 2
2- Run `./terrariaserver install` to create base folders/config files, will fail due to missing login

3- Run SteamCMD -- possibly must use ` ~/.steam/steamcmd/steamcmd.sh` (* This is as it was on my system ie ArchLinux, not sure if it'll be identical everywhere -- may need to use this version instead of package manager version due to saved data location? Unable to verify, need testers!)
4- Initiate login -- in my case using SteamGuard -- `login `
4b- Complete login securely, aka provide password and authenticate via smartphone
5- Enable stored credential login when using 'login' command without password (Advised/explained by SteamCMD in 'help login'! Read this to understand the mechanism!) via running `@NoPromptForPassword 1`
5b- Exit SteamCMD `exit`

6- Edit server config; provide username, LEAVE PASSWORD EMPTY `nano lgsm/config-default/config-lgsm/terrariaserver/_default.cfg` -- NOTE: It SAYS to edit a different file, but I find that when I do, the lgsm script overwrites it with the default when I run install. Thus, I edit the stored default, which then copies itself to the proper location. Any input would be appreciated. NOTE2: No, I don't wish to discuss my preference of console editor.

7- Install server, update/verify/etc as usual!


- No changes to LGSM core.
- No extra tools.
- No sketchy stored credentials.
- Works with any SteamCMD server requiring login/ownership.
- Does not require an extra dummy account.
- Only info leakage via LGSM tooling/config files is Steam username
### Relevant log output
```shell
(Provided as screenshots)
```
### Steps to reproduce
...also provided above, my bad
Contributor guide
Assessment
This issue has not been assessed yet.