Installing a Server Print

  • dedicated, server, set up, setup, steam, steamcmd, tutorial, linux
  • 6

As a security best practice, create a user to run steam instead of running as root or administrator. This way, if your Arma server is compromised, the attacker will find it more difficult to access the rest of the OS.

useradd -m -s /bin/bash steam

Switch to the newly created steam user.

sudo -i -u steam

Create a new directory for SteamCMD to avoid cluttering the home directory.

mkdir ~/steamcmd && cd ~/steamcmd

Download the SteamCMD for Linux tarball from the link at the Valve Developer Community page. Use a command line tool such as wget or curl.

Extract the tarball

tar xf steamcmd_linux.tar.gz

Execute steamcmd.sh. It will install the rest of the Steam client and start the Steam client shell. If this step fails on a 64-bit OS, you will likely need to install 32-bit libraries.

./steamcmd.sh

At the Steam client shell, login with a valid Steam username and password. The Valve Developer Wiki recommends that you create a new Steam account for this. SteamCMD will cache the login credentials and anyone who gains access to your server will be able to log into the account used there. In addition, you cannot log into a single Steam account from two places at once. You do not need to have Arma 3 purchased on the Steam account used here to download the server. Therefore, you should create a new Steam account with no purchases only for use on this server.

login myusername

Change the directory SteamCMD will install the server in.

force_install_dir ./arma3/

Install the Arma 3 Linux dedicated server. The validate option will check for corruption.

app_update 233780 validate

Exit SteamCMD.

exit

Create the directories used to store the profile files and Arma3.cfg file.

mkdir -p ~/".local/share/Arma 3" && mkdir -p ~/".local/share/Arma 3 - Other Profiles"

Note: create a symlink called "MPmissions" pointing to "mpmissions" to solve RANDOM SEGFAULTS.

ln -s //mpmissions //MPMissions

Was this answer helpful?

Back