LinuxGSM icon indicating copy to clipboard operation
LinuxGSM copied to clipboard

[BUG] LinuxGSM incorrectly (not) installing deps for csgoserver

Open danglingptr0x0 opened this issue 3 years ago • 5 comments

User Story

As a server host, I want to run csgoserver so that people can play with me.

Basic info

  • Distro: Ubuntu 20.04.4 LTS
  • Game: CS:GO
  • Command: ./csgoserver detect-deps
  • LinuxGSM version: 21.5.1

Further Information

The script fails to install dependencies for csgoserver. However, the server itself seems to encounter issues as well, but I can't say if these are caused by the missing dependencies.

To Reproduce

Steps to reproduce the behavior:

  1. Run the server manager to create a csgoserver
  2. Update the newly created server by running ./csgoserver update
  3. Install the server by running ./csgoserver install
  4. Wait for it to finish, including SteamCMD downloading the server data
  5. Try to run the server with default config by running `./csgoserver start'
  6. Run ./csgoserver dt to check the details and if the server was bound to a socket
  7. Observe zeroes at the end of the printout, signifying that we couldn't bind to a socket
  8. Try ./csgoserver monitor to try querying the port, observe [FAIL]
  9. As such, try checking the deps, just in case: ./csgoserver detect-deps
  10. Observe detected missing dependencies. I couldn't manage to install them from official repos

Full list of missing deps:

Required Dependencies
=================================
./srcds_run

CentOS
=================================
 compat-libstdc++-33.i686 fontconfig freetype glibc.i686 libcurl.i686 libstdc++.i686 zlib

Ubuntu
=================================
lib32gcc1 libcurl4-gnutls-dev:i386 libfontconfig1 libfreetype6 libopenal1 libstdc++5:i386 libstdc++6:i386 zlib1g

Debian
=================================
lib32gcc1 libcurl4-gnutls-dev:i386 libfontconfig1 libfreetype6 libopenal1 libstdc++5:i386 libstdc++6:i386 zlib1g

Unknown shared Library
=================================
libavcodec.so.56
libavformat.so.56
libavresample.so.2
libavutil.so.54
libbz2.so.1.0
libcairo_client.so
libdxvk_d3d9.so
libicui18n.so
libicuuc.so
libMiles.so
libphonon.so
libSDL2-2.0.so.0
libsteamnetworkingsockets.so
libsteam.so
libswscale.so.3
libtier0_client.so
libtogl_client.so
libuuid.so.1
libv8_libbase.so
libv8_libplatform.so
libv8.so
libvideo.so
libvstdlib_client.so
libvulkan.so.1
libX11.so.6
tier0_i486.so
UnityPlayer.so
vgui.so
vstdlib_i486.so

Required Librarys
=================================
ld-linux.so.2
ld-linux-x86-64.so.2
libavcodec.so.56
libavformat.so.56
libavresample.so.2
libavutil.so.54
libbz2.so.1.0
libcairo_client.so
libc.so.6
libcurl-gnutls.so.4
libdl.so.2
libdxvk_d3d9.so
libfontconfig.so.1
libfreetype.so.6
libgcc_s.so.1
libicui18n.so
libicuuc.so
libMiles.so
libm.so.6
libopenal.so.1
libphonon.so
libpthread.so.0
librt.so.1
libSDL2-2.0.so.0
libstdc++.so.5
libstdc++.so.6
libsteam_api.so
libsteamnetworkingsockets.so
libsteam.so
libswscale.so.3
libtier0_client.so
libtier0.so
libtier0_srv.so
libtogl_client.so
libuuid.so.1
libv8_libbase.so
libv8_libplatform.so
libv8.so
libvideo.so
libvstdlib_client.so
libvstdlib.so
libvstdlib_srv.so
libvulkan.so.1
libX11.so.6
libz.so.1
tier0_i486.so
UnityPlayer.so
vgui.so
vstdlib_i486.so

[ ERROR ] Developer detect deps csgoserver: No exit code set
core_exit.sh exiting with code: 0

I installed the libs suggested for Ubuntu, however the result is exactly the same.

Moreover, the server itself keeps saying the following:

./srcds_run: 32: pushd: not found
./srcds_run: 35: popd: not found
WARNING: No map specified! Defaulting to de_dust
Server will auto-restart if there is a crash.
LD_LIBRARY_PATH=/home/simtoon/serverfiles/bin:/home/simtoon/serverfiles:/home/simtoon/serverfiles/bin:
Failed to open dedicated.so (/home/simtoon/serverfiles/bin/dedicated.so: undefined symbol: Plat_IsInDebugSession)

Server run command:

 ./srcds_run -game csgo -usercon -strictportbind -ip 0.0.0.0 -port 27016 +clientport 27005 +tv_port 27020 +sv_setsteamaccount B1BC60298A624843D1C4C48FC7998A8D -tickrate 128 +map de_mirage +servercfgfile csgoserver.cfg -maxplayers_override 16 +mapgroup mg_active +game_type 0 +game_mode 0 +host_workshop_collection  +workshop_start_map  -authkey  -nobreakpad

csgoserver's debug.log:

CRASH: Sun 06 Mar 2022 07:43:45 PM UTC
Start Line: ./srcds_linux -game csgo -usercon -strictportbind -ip 0.0.0.0 -port 27016 +clientport 27005 +tv_port 27020 +sv_setsteamaccount B1BC60298A624843D1C4C48FC7998A8D -tickr
ate 128 +map de_mirage +servercfgfile csgoserver.cfg -maxplayers_override 16 +mapgroup mg_active +game_type 0 +game_mode 0 +host_workshop_collection +workshop_start_map -authkey
-nobreakpad -debug
End of Source crash report

Expected behavior

The script should install the dependencies in the first place and if not, then definitely after running the command to check for them. The reason could very well be that they're missing from the official Ubuntu repos, but then the script should be updated to reflect that and perhaps fetch them from additional sources.

danglingptr0x0 avatar Mar 07 '22 12:03 danglingptr0x0

I noticed the leaked server key and have already revoked it.

danglingptr0x0 avatar Mar 07 '22 12:03 danglingptr0x0

have you installed the Dependencies from website as told

https://linuxgsm.com/servers/csgoserver/

johnoclockdk avatar Mar 07 '22 13:03 johnoclockdk

have you installed the Dependencies from website as told

https://linuxgsm.com/servers/csgoserver/

Naturally.

sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc1 lib32stdc++6 libsdl2-2.0-0:i386 steamcmd

0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

danglingptr0x0 avatar Mar 07 '22 13:03 danglingptr0x0

  1. detect-depencys is not intended to check the dependencys for the system.
  2. the problem seems to be this: Failed to open dedicated.so (/home/simtoon/serverfiles/bin/dedicated.so: undefined symbol: Plat_IsInDebugSession)
  3. this looks in the end more like a problem with the shell, see the pushd and popd errors

Do you got any other shell active as default ?

h3o66 avatar Mar 07 '22 21:03 h3o66

  1. detect-depencys is not intended to check the dependencys for the system.

    1. the problem seems to be this: Failed to open dedicated.so (/home/simtoon/serverfiles/bin/dedicated.so: undefined symbol: Plat_IsInDebugSession)

    2. this looks in the end more like a problem with the shell, see the pushd and popd errors

Do you got any other shell active as default ?

I changed it from sh (why did it default to sh anyway is beyond me) to bash, as bash has pushd and popd built-in. Both of these errors then disappeared, however the dedicated.so lib is still a problem. I looked everywhere and most of the results are from like 2004 and regarding other Source games. Couldn't find anything helpful.

danglingptr0x0 avatar Mar 08 '22 12:03 danglingptr0x0

One more question: Do you have only installed the csgoserver in the same directory ? I had now someone who installed the cssserver and the csgoserver into the same directory and with this the server broke.

h3o66 avatar Oct 14 '22 14:10 h3o66

  1. detect-depencys is not intended to check the dependencys for the system.

    1. the problem seems to be this: Failed to open dedicated.so (/home/simtoon/serverfiles/bin/dedicated.so: undefined symbol: Plat_IsInDebugSession)
    2. this looks in the end more like a problem with the shell, see the pushd and popd errors

Do you got any other shell active as default ?

I changed it from sh (why did it default to sh anyway is beyond me) to bash, as bash has pushd and popd built-in. Both of these errors then disappeared, however the dedicated.so lib is still a problem. I looked everywhere and most of the results are from like 2004 and regarding other Source games. Couldn't find anything helpful.

@h3o66 Hi. Thanks for reminding me about this. I totally forgot after removing the server because of that issue. I want to amend my statement regarding not knowing why the script defaulted to /bin/sh. /bin/sh is in fact a symlink to your current shell, so the problem wasn't there.

One more question: Do you have only installed the csgoserver in the same directory ? I had now someone who installed the cssserver and the csgoserver into the same directory and with this the server broke.

I did not, IIRC. I can try again, just to see if it works out-of-the-box with no custom configs beyond the key required from Valve. But I moved on since, so this is no longer of any importance to me. Thanks for the reply, though.

danglingptr0x0 avatar Oct 15 '22 00:10 danglingptr0x0

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

github-actions[bot] avatar Oct 16 '23 00:10 github-actions[bot]