Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect linux SteamCMD work without system environment variable "HOME" #6

Open
iTeeLion opened this issue Feb 25, 2020 · 7 comments
Labels

Comments

@iTeeLion
Copy link

iTeeLion commented Feb 25, 2020

Linux SteamCMD use system environment variable "HOME" to create ".steam" folder in user home directory. Many source engine based servers use .steam folder to link to steamclient.so file and connect to steam. Without env variable steam creates folder "(null)" in it's own directory and game servers can't link steamclient.so file.

Solution:
Need to set env variable "HOME" before initialization steamcmd.
setenv("HOME", "/root", 1);

@et-nik
Copy link
Member

et-nik commented Mar 1, 2020

Thank you for the report.

Fixed in commit gameap/GDaemon2@2133bb8

@r4sas
Copy link

r4sas commented Mar 15, 2020

Why we must use root's uid when we providing username which must be used when starting server, SteamCMD?
gameap/GDaemon2@2133bb8#diff-250e0125e3d400733d03e7c7c50b96e1R135 - I think here we must use provided by -u uid/gid, not root's (which used when starting service).
Game servers, SteamCMD will never be able write/read anything from root home directory because they starting under gameap user.

@iTeeLion
Copy link
Author

iTeeLion commented Mar 27, 2020

Also need to create symlink from %gameap_steamcmd_dir%/linux32/steamclient.so to %user_home_dir%/.steam/sdk32/steamclient.so
https://ibb.co/Bwzrjwc

@et-nik et-nik reopened this Mar 27, 2020
@et-nik
Copy link
Member

et-nik commented Mar 27, 2020

@iTeeLion I uploaded your image to github
2020-03-27-09-50-05

So that it does not disappear. Many image hostings automatically delete images after a while.

@et-nik
Copy link
Member

et-nik commented Apr 21, 2020

Should be fixed in new version. I didn't check this. I appreciate if you'll check.

@r4sas
Copy link

r4sas commented May 1, 2020

Nothing changed:

Console initialized.
Using breakpad crash handler
Setting breakpad minidump AppID = 10
Forcing breakpad minidump interfaces to load
dlopen failed trying to load:
/root/.steam/sdk32/steamclient.so
with error:
/root/.steam/sdk32/steamclient.so: cannot open shared object file: Permission denied
Looking up breakpad interfaces from steamclient
dpkg -l | grep gameap
ii  gameap-daemon                 3.0.0-52                                        amd64        GameAP server management daemon
ii  gameap-starter                1.1.2-51stretch                                 amd64        GameAP Starter (Screen analog)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants