Install Arma3 Exile Server on Ubuntu 20.04 by bigos
An installed Ubuntu 20.04 Server 64bit (CLI only) and a DBMS is recommended for an easy administration of your database is required
DBMS used in this tutorial – DBeaver – https://dbeaver.io/
It is assumed your server is hosted via a root server provider to avoid fiddling with ports/firewall
This guide aims to provide a step-by-step guide to install Arma3 Exile without mods onto Ubuntu 20.04
Code you have to execute will be highlighted in codeblocks
This guide will be updated if any bugs are reported to me
What packages to install?
- Steamcmd – This tool is needed to download the Arma3 serverfiles
- Mysql Server – Needed for Exile
- Arma 3 Server – Vanilla server
What else do I need?
- Exile Official Server Files – avaible on the official Exile Discord server or via this link – http://exilemod.com/ExileServer-1.0.4a.zip
- Updated Bikey because the current bikey is outdated and not functional – Get it on the official Exile Discord server
- Preferably a blank Steam Account to avoid security concerns – (only needed when you are planing to use mods)
- Discord Link —> https://discord.me/exile
- Exile Client Files – Extract from your local Arma3 installation
- WinSCP to move files to your server
Everytime a command starts with „sudo“ it is expected that you have change back to your standard user with privileges and after execution changed back to your new user „steamserver“
Step 1. – Preparations
To successfully install an Arma 3 Server some preparations are required
First update your server
sudo apt update && upgrade
Reboot just in case (not mandatory)
Create an user dedicated for your Arma3 server
sudo adduser steamserver
sudo add-apt-repository multiverse sudo dpkg --add-architecture i386 sudo apt update sudo apt install lib32gcc1 steamcmd
Install mysql server
sudo apt install mysql-server
Switch to your new user and insert your password when asked
Add steamcmd to your $PATH variable
in there navigate using arrow to the bottom off the file and add the following line – to save press ctrl + o and then enter.
Step 2. – Installing Arma 3 Server
Start steamcmd and login to your steamaccount
steamcmd login YOUR_USER_NAME
Set directory to install the serverfiles to
Install Arma3 server
app_update 233780 validate
Step 3. – Moving Files
Extract the content of ExileServer-1.0.4a.zip into your arma3 root directory
in this case /home/steamserver/exileserver
replace inside the folder „keys“ the exile.bikey with the newly aquired one from Discord
Extract Exile.sql from inside the archive to your computers desktop for example will be needed later on..
Copy your local Arma3 Exile client files into the same directory as mentioned above /home/steamserver/exileserver (root directory of your server)
Local Arma3 Files are found here:
Copy the whole folder and rename it to „@ExileMod“
Step 4. – Configuring Mysql
- Enter MySQL
sudo mysql -u root -p
2. Create User
create user 'exileserver'@'%';
3. Create Database
create database exile;
4. Grant Privileges
grant all privileges on exile.* to 'exileserver'@'%';
5. Flush Privileges
flush privileges; exit
Step 5. – Connecting with DBeaver
We need to allow access to the database outside of localhost/127.0.0.1
sudo nano /etc/mysql/my.cnf
Inside this file at the botton write:
[mysqld] bind-address = 0.0.0.0 sql-mode="" default-authentication-plugin=mysql_native_password
Using the default-authentication-plugin parameter changes the authentication to the legacy authentication system possibly being a security risk.
But it is required for extDB2 to work.
This setting lets you connect from everywhere – you can for example use your change this to a local address if your server is hosted inside your own network. Restart mysql to make changes take effect.
sudo service mysql restart
Your database is now ready to accept connections from outside your LAN.
Now open your DBeaver
Click the little arrow down near the „Plug“ symbol and choose mysql
Enter your credentials for your mysql user and the connection information
Serverhost: IP-Address Database: exile Username: exileserver Password: YOUR_DBUSER_PASSWORD
Confirm and congrats! you have configured DBeaver to use your mysql database.
Open a SQL-Editor
Paste the content of the exile.sql file you earlier copied to your desktop into the editor
Press the highlighted button (3rd from top) to execute the SQL Script
You now have filled your „exile“ database with the needed tables and keys etc..
Now return back to your console/shell
Now edit the extdb-conf.ini
inside the .ini search for [exile]
edit username and password and save the file. (ctrl + o)
Step 6. – Start up your Server
- Create a startup script
Inside of this paste the following
#!/bin/bash cd /home/steamserver/exileserver ./arma3server -config=./@ExileServer/config.cfg -cfg=./@ExileServer/basic.cfg -autoinit -mod="@ExileMod" -servermod="@ExileServer" -profiles >> serverlog.rpt 2>&1
Save the Script with Ctrl + O.
2. Make the script executable
chmod +x startserver.sh
3. Start your Server
Your server started but your serverlog.rpt gets bombed and is constantly taking more and more space?
It could be that extDB2 is not initialized properly and a package is missing
to check that -> navigate to /home/steamserver/exileserver/@ExileServer
your output should look like above
A common missing package is libtbbmalloc.so.2
ATTENTION! Because we are using extDB2 – a 32bit DB Connector we need to install the 32bit equivalent of the missing package ->
sudo apt install libtbb2:i386
To be continued.