24.04 Steam Client Install

SteamCMD requires lib32gcc1 which can be installed using:

apt install lib32gcc-s1

For security purposes, we do not want to run the server using the root account, so we'll create a new user named “gameserver” with the following command: Set its password and change its home directory. (this is handy for server software that writes to the users home directory)

 useradd gameadmin
 passwd gameadmin
 usermod -d /srv/data/gameservers/ gameadmin     <---- sets this users home directory to be   /srv/data/gameservers
 usermod --shell /bin/bash gameadmin           <---- Sets this user to use the bash shell
 cp ~/.bashrc /srv/data/gameservers           <----  Copys the bash shell profile to the homedir of the new user

Since we don't want to block terminal usage while the Arma 3 server is running, we've installed screen to allow the server to run on another screen, but we still have to allow our new user “gameadmin” to use screen by running:

chmod o+rw /dev/pts/0

Add this user to the sambausers group so it gets permissions to the data area where we will put the server.

usermod -a -G smbuser gameadmin

Now that we have acquired all system dependencies, we can now LOGIN with the gameuser account to start creating some folders and install SteamCMD.

LOGGED IN AS gameserver

As you may of noticed, we are still in the root user's home directory so lets change to where we will install the server.

cd /srv/data/gameservers

To keep our folder structure clean and simple, we'll create a new folder for SteamCMD

mkdir steamclient
cd steamclient

Download the SteamCMD executable.

wget http://media.steampowered.com/client/steamcmd_linux.tar.gz

Extract the contents to the directory.

tar -xvzf steamcmd_linux.tar.gz

Remove the tar file.

rm -f steamcmd_linux.tar.gz

Run and update SteamCMD.

./steamcmd.sh

Now logging into steam / verify your account and update

login username password
app_update xxxxx validate