CounterStrikeSharp icon indicating copy to clipboard operation
CounterStrikeSharp copied to clipboard

Ubuntu 25.04 or Debian 13 cannot enable executable stack as shared object requires: Invalid argument(A solution has been found)

Open YY731524955 opened this issue 5 months ago • 5 comments

★★★ On Ubuntu 25.04 or Debian 13 systems, cssharp cannot be used due to too many updates

Image

I tried using "execstack -c /root/Steam/cs2-ds/game/csgo/addons/counterstrikesharp/bin/linuxsteamrt64/counterstrikesharp.so" But found that the execstack package has been removed and is not available on Debian 13 So I continued to try"patchelf --clear-execstack /root/Steam/cs2-ds/game/csgo/addons/counterstrikesharp/bin/linuxsteamrt64/counterstrikesharp.so" But it directly corrupted my files, causing the server to crash Because I don't want to roll back to the Debian 12 system, I found the following solution and it worked!!! ★★★ Running a server in SteamRT3 without docker(Required on linux only) 1.【./steamcmd.sh +force_install_dir /root/steamrt +login anonymous +app_update 1628350 validate +quit】 2.【/root/steamrt/run /root/Steam/cs2-ds/game/bin/linuxsteamrt64/cs2 --graphics-provider "" -- -dedicated "rest of your startup args"】 For example:【/root/steamrt/run /root/Steam/cs2-ds/game/bin/linuxsteamrt64/cs2 --graphics-provider "" -- -dedicated -insecure -console -nomaster +port "$PORT" +map de_dust2 +game_type 0 +game_mode 1 +exec server.cfg +sv_logfile 1 -serverlogging -maxplayers_override 12 -maxplayers 12】 ★★★ The specific principle involves downloading a compatible environment called Steam Runtime, which includes all the necessary dependency libraries, and then launching the CS2 server within this environment. This ensures that the CS2 server can use older runtime libraries, preventing conflicts caused by having a newer system version.

YY731524955 avatar Aug 31 '25 18:08 YY731524955

same here

NikolaJyun avatar Sep 13 '25 14:09 NikolaJyun

Same here. I use AMP as a game server manager. Does anyone have a solution for AMP?

// EDIT Fixed it temporary in Debian 13 with AMP by extracting execstack from a Debian snapshot and copying the binary to /usr/local/bin and then clearing the flag.

However, as I said, this is only temporary; the flag must be cleared again with every plugin update. I have included this in my update script, but it's not a clean solution.

Unfortunately, I haven't found a way to get SteamRT3 working in AMP.

wget https://snapshot.debian.org/archive/debian/20250721T022532Z/pool/main/p/prelink/execstack_0.0.20131005-1%2Bb10_amd64.deb

mkdir -p /tmp/execstack-extract
dpkg-deb -x execstack_0.0.20131005-1+b10_amd64.deb /tmp/execstack-extract

sudo cp /tmp/execstack-extract/usr/bin/execstack /usr/local/bin/
sudo chmod 0755 /usr/local/bin/execstack

RafaelBetz avatar Sep 18 '25 16:09 RafaelBetz

Am receiving this error on an arch based system.

Cryptoc1 avatar Sep 29 '25 00:09 Cryptoc1

If you would like to test it, you are welcome to use the version for Debian 13 and Ubuntu 25.04, which includes the change from my pull #1059.

https://github.com/Matlord93/CounterStrikeSharp-test

Matlord93 avatar Oct 10 '25 05:10 Matlord93

I'm facing the same issue on Arch based linux os. here is my solution:

Install execstack using yay(AUR package) Then using execstack to clear the executable stack flag:

execstack -c /PATH/TO/CS2/game/csgo/addons/counterstrikesharp/bin/linuxsteamrt64/counterstrikesharp.so

restart the server and the issue is gone.

Guess it's same for debain and ubuntu.

OminousBlackCat avatar Oct 23 '25 10:10 OminousBlackCat