Dedicated Server Setup: Linux and Windows
|The partial source of this article may be more up-to-date. However, if this is the case, please contribute the information to the wiki or let us know via our discord channel in the left sidebar.|
|This article or section contains information that is out-of-date.
|Dedicated Server Setup: Linux and Windows|
|Author:||jaktari • THJr • Melekaiah • LorenTedford64522|
- 1 Introduction
- 2 Basic requirements
- 3 Linux
- 4 Windows
- 5 Adding Mods
- 6 Backing Up and Savefiles
- 7 Removing Mods
- 8 Wiping your Savefiles
- 9 References
Introduction[edit | edit source]
This guide is an collection of all steps that can or need to be taken to set up an working Conan Exiles Server. Additionally side info about settings and adding mods ins included.
Basic requirements[edit | edit source]
- An Computer with the minimum official requirements is needed: Official Server Requirements
- Basic Knowledge of the OS you will be using.
Linux[edit | edit source]
The Linux Guide will take place in the command line, as that is in my opinion the fastest way to set up any Gameserver. This Guide is for 'Ubuntu'.
Setting Up SteamCMD[edit | edit source]
Do not run steamcmd while operating as the root user - to do so is a security risk.  To run SteamCMD and your Servers in an safe environment, create an user account named 'steam':
useradd -m steam
You can leave everything blank, except for the password. When this is done, move to the Home Directory:
You need to install the dependencies first:
sudo apt-get install lib32gcc1 software-properties-common -y sudo dpkg --add-architecture i386 sudo apt-get update
Now you can finally install SteamCMD:
sudo apt-get install steamcmd
For Ubuntu Server 18.04 LTS you will need to edit /etc/apt/sources.list file Here is mine.
#deb http://archive.ubuntu.com/ubuntu bionic main #deb http://archive.ubuntu.com/ubuntu bionic-security main #deb http://archive.ubuntu.com/ubuntu bionic-updates main # Modification for Conan Exiles below. deb http://archive.ubuntu.com/ubuntu/ bionic main restricted deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted deb http://archive.ubuntu.com/ubuntu/ bionic universe deb http://archive.ubuntu.com/ubuntu/ bionic-updates universe deb http://archive.ubuntu.com/ubuntu/ bionic multiverse deb http://archive.ubuntu.com/ubuntu/ bionic-updates multiverse deb http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu bionic-security main restricted deb http://security.ubuntu.com/ubuntu bionic-security universe deb http://security.ubuntu.com/ubuntu bionic-security multiverse
Then run apt-get update and apt-get upgrade. Next run the installer to install steam and continue with the rest of the tutorial.
sudo apt-get install steamcmd
Finally, link the SteamCMD executable so it is startable by typing steamcmd at any place in the terminal:
ln -s /usr/games/steamcmd steamcmd
Using SteamCMD to install the Conan Exiles Server[edit | edit source]
First Configure Steam for Windows Version if your using Linux Operating System
steamcmd +@sSteamCmdForcePlatformType windows
Run SteamCMD now using the following command:
SteamCMD will now open and install any pending updates. After this is done, execute the following command to login to the SteamAPI:
After this is done, you will want to select an directory for your Server:
After selecting your directory, use this command to download the Server Files:
All in one installation line looks like this.
steamcmd +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir /home/user/server +app_update 443030 +exit
Congratulations, your Server will now download and you can continue with the next step!
Installing Wine and Screen[edit | edit source]
Wine is an program that allows Windows Programs to be run on Linux Distributions. We will use it to make the Conan Exiles Server compatible with Ubuntu. Screen will be used to run the Server in the background without the need to keep an Terminal open.
Install Wine by running the following Commands:
wget https://dl.winehq.org/wine-builds/Release.key sudo apt-key add Release.key
The updated instructions (as of 10th may 2019) have the following lines instead: this guide worked with the above, but adding this for future reference.
wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add
The repositories were changed a while ago, and you have a different one depending on your version of Ubuntu.
For Ubuntu 18.10
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ cosmic main'
For Ubuntu 18.04
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
For Ubuntu 16.04
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main'
Now you can finnish off the wine install with the following.
sudo apt-get update sudo apt-get install --install-recommends winehq-stable
Note: Wine is big and might take a while to install. Now you will want to install Screen and xvfb:
sudo apt-get install screen xvfb
Congratulations, you've done everything needed to be able to run the Server comfortably! To create all Config Files run the Server once using these commands:
cd /InstallDirectory xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine ConanSandboxServer.exe -log
After a while (2-5 Minutes) press ctrl+C to close the Server. All config files should now be present.
Configuring the Server[edit | edit source]
There are various settings within various files in the directory. To make this as easy as possible, only Settings that can't or shouldn't be changed in game are listed. Various Additional Commands can be found below. All .ini files are located under <Server Directory>/ConanSandbox/Saved/Config/WindowsServer/
Engine.ini[edit | edit source]
Add these lines in this order at the Bottom of your .ini.
[URL] Port=7777 ;The Port for your Server
[OnlineSubsystemSteam] ServerName= ;The Name of your Server which is shown in the Server Browser ServerQueryPort=27015 ;The Port the SteamAPI will query your Server from ServerPassword= ;The Password needed to access the Server
ServerSettings.ini[edit | edit source]
Add these lines at the Bottom of your .ini if they don't exist yet.
MaxNudity= ;Either 0, 1 or 2. 2=Full, 1= Partial, 0=None LogoutCharactersRemainInTheWorld=False ;This option currently should be disabled as there is an issue with Bodies PVPEnabled=False ;Add this line to disable PVP AdminPassword= ;This option is important: Use this to change all Settings ingame later.
Game.ini[edit | edit source]
Add these lines at the Bottom of your .ini if they don't exist yet.
[ConanSandbox] UserID=steam [/script/engine.gamesession] MaxPlayers=20 ;you can choose the max allowed players on the server [/script/engine.gamenetworkmanager] TotalNetBandwidth=4000000 ;careful changing the bandwith values as it may cause lags to your players MaxDynamicBandwidth=100000 MinDynamicBandwidth=40000
Running the Server[edit | edit source]
The Server can be run using the following Commands:
cd /ServerDirectory screen xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine ConanSandboxServer.exe -log
Alternatively you can place a start.sh in the Server Folder with the following content:
#!/bin/sh screen xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine ConanSandboxServer.exe -log
Once your server is started, reaccess the Console by typing
in the terminal, then retyping that Command with the PID attached if multiple Screen Sessions are running.
screen -r <PID>
Once inside the console, stop the Server by using the Ctrl+C Shortcut.
Updating and Additions[edit | edit source]
To Update the Server, simply stop it using the above described method. After the Server has stopped, open SteamCMD in the Terminal by typing:
steamcmd +@sSteamCmdForcePlatformType windows
After that type:
After the login process is done, use this Command to update the Server:
When this process is finished, your Server should be up to date.
Shell script update Example update.sh inside update.sh you need to have the below information.
#!/bin/sh screen steamcmd +@sSteamCmdForcePlatformType windows +login anonymous +app_update 443030 +exit
Known Problems[edit | edit source]
- Running SteamCMD using scripts sometimes leads to problems that render the Server unusable. Solution: Do the manual steps as described above.
- Dreamworld:Display: SQLite database open FAILED. Solution: Run as root account.
- to unimplemented function msvcp140.dll.?_IsNonBlockingThread@_Task_impl_base@details@Concurrency@@SA_NXZ Solution: Delete game-db.shm and game-db.wal, additionally delete the Logs Folder.
Windows[edit | edit source]
Adding Mods[edit | edit source]
Adding mods can be done by steamcmd command example shown below.
steamcmd +@sSteamCmdForcePlatformType windows +login anonymous +workshop_download_item 440900 999999999
This is only an example of a mod but what you need is the workshop id number which is shown in the address bar of your web browser.
Example: https://steamcommunity.com/sharedfiles/filedetails/?id= After the = sign there is a long number this number is associated with the workshop mod your looking at subscribing to or modding your server to. That number goes into what is shown up at the top as the 999999999 number above.
Ended up writing a shell script to kill the server process then update the game and then the workshop items I am using. The reason I automated this process is because mods are constantly being updated and if users have a miss match on there mods they won't be able to login to the server..
Below is an examples of shell scripts i wrote for this process..
Create a new shell script by using nano an editor in linux. By using the command: nano update.sh Place below code in the document the use ctrl - x and save it.
#!/bin/sh killall 9 ConanSandboxServer.exe killall 9 ConanSandboxServer-Win64-Test.exe killall 9 Xvfb /usr/bin/screen -d -m steamcmd +@sSteamCmdForcePlatformType windows +login anonymous +app_update 443030 +exit sleep 2s #sh /home/user/workshopmapupdate.sh ## Uncomment workshopmapupdate.sh for use of mods.
Next you will want to create workshopmapupdate.sh To do this use nano as the editor as performed above for the first part of the process and create the file. Example: nano workshopmapupdate.sh Once the below information is copied and pasted and adjusted for the mods you wish to add use ctrl - x then save it.
#!/bin/sh /usr/bin/screen -d -m steamcmd +@sSteamCmdForcePlatformType windows +login anonymous +workshop_download_item 440900 111111111111111 +workshop_download_item 440900 2222222222222222 +exit
The above should be written all in one line do not use enter to go to the next line.. This is a very very long command line. In place of the 1's you will want to put your first id number as gathered at the end of that hit space and put a plus sign to start the next command in this case we start off with the second workshop item 2's. You can add as many workshop mods that you want but they ALL MUST BE ON THE SAME LINE. End the command process by using a plus sign then exit after the last work shop map has been placed in your shell script.
The Mods will be downloaded to a file located in the home directory of the steam user that you are using.. This directory is hidden but can be accessed by using the cd commands like listed below.
The folders located in this place is the mods that you are using you will need to later direct your modlist.txt to the .pak files located inside each of the folders.
Next we need to create the Mods folder.
Go into your saved directory where you have stored the server in our case we used a folder called server. Inside this folder look for ConanSandbox folder. You will want to change director into this folder by using the cd command like this.. Example: cd ~/server/ConanSandbox
After you are inside the ConanSandbox folder you will want to make a directory called: Mods Example command: mkdir Mods
Now you will want to change directory into mods to do this type: cd ./Mods
Use nano to create a file called modlist.txt Example command: nano modlist.txt
Here you will want to add the file locations to the .pak files of the mods you are using for your server.
Below is an example.
/home/user/.steam/SteamApps/workshop/content/440900/1111111111/Modlist1.pak /home/user/.steam/SteamApps/workshop/content/440900/2222222222/Modlist2.pak /home/user/.steam/SteamApps/workshop/content/440900/3333333333/Modlist3.pak /home/user/.steam/SteamApps/workshop/content/440900/4444444444/Modlist4.pak /home/user/.steam/SteamApps/workshop/content/440900/5555555555/Modlist5.pak
Use ctrl-x command to save the file .
Now you will eventually want to automate this process by crontab. To access crontab type in commandline: crontab -e
# Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any').# # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command 01 3 * * * cd /home/user && sh update.sh 07 3 * * * cd /home/user/server && sh start.sh 01 9 * * * cd /home/user && sh update.sh 07 9 * * * cd /home/user/server && sh start.sh
Your start script should look like this if your using cron to start the game for automation. In this case the script is named start.sh and we located it in /home/user/server/ folder.
#!/bin/sh /usr/bin/screen -d -m xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine /home/user/server/ConanSandboxServer.exe -log #### This should be placed in your home directory some where.. #### The above line of code needs to be on one line.
So the above is an example the file locations and how you can use crontab to automatically update your game server and the workshop mods using linux.
Backing Up and Savefiles[edit | edit source]
Removing Mods[edit | edit source]
Removing a mod from the server and using the same database may cause issues.
When you remove a mod, those mods leave a lot of garbage behind.
This can cause undesired effects. Removing a mod is sometimes paired with wiping the database clean for a fresh install of the server.
Wiping your Savefiles[edit | edit source]
CAREFUL DOING SO WILL ERASE ALL PROGRESSION AND SAVED CONSTRUCTIONS!
Delete or rename the game.db file. This will recreate a new empty file.