Conan Exiles Setup
Conan Exiles dedicated server on steam.
See Conan Docker and Documentation.
Players |
CPU |
Memory |
Disk |
---|---|---|---|
10 |
2c/2t @3.0Ghz |
8GB |
35Gb |
35 |
4c/4t @3.1Ghz |
8GB |
35Gb |
50 |
4c/8t @3.5Ghz |
12GB |
35Gb |
70 |
4c/8t @4.0Ghz |
12GB |
35Gb |
See Conan Exiles Dedicated Server.
Ports
Conan Exiles Ports
7778
and27016
should be opened for server to appear in steam public lists or in player’s history. Public lists are buggy and will not always appear. Can take up to 15 minutes.If connecting on local network, use the private IP of the server, not the public IP address.
Port
Protocol
Type
Purpose
27015
UDP
PUBLIC
Dedicated Server (steam)
27016
UDP
PUBLIC
Dedicated Server (steam announce)
7777
UDP
PUBLIC
Dedicated Server (clients direct)
7778
UDP
PUBLIC
Dedicated Server (client via steam)
Updated: None
Files
Conan Exiles Files
See /data/server/ConanSandbox/Config/
for default files with all avaliable
options.
Location
Purpose
/data/server/ConanSandbox/Saved/Config/WindowsServer/Engine.ini
Core engine settings (e.g. ports)
/data/server/ConanSandbox/Saved/Config/WindowsServer/ServerSettings.ini
Specific game instance settings
/data/server/ConanSandbox/Saved/game.db
Game database and saves
Updated: None
Docker Creation
You can copy your existing state to docker /data
directory adjusting for
paths.
The UID/GID should be set to a user/group that has access to your media. All media clients should run under the same user to run correctly.
See Configuration for example configuration.
conan:
image: rpufky/steam:winehq
restart: unless-stopped
stop_grace_period: 1m
ports:
- '27015:27015'
- '27015:27015/udp'
- '27016:27016/udp'
- '7777:7777/udp'
- '7778:7778/udp'
environment:
- PUID=1001
- PGID=1001
- UPDATE_OS=1
- UPDATE_STEAM=1
- UPDATE_SERVER=1
- PLATFORM=windows
- STEAM_APP_ID=443030
- TZ=America/Los_Angeles
volumes:
- '/data/conan:/data'
- '/etc/localtime:/etc/localtime:ro'
Create custom_server
script to manage server, per Conan Docker and
Documentation requirements.
#!/bin/bash
#
# Runs as root. Drop privileges.
#
# Capture kill/term signals and send SIGINT to gracefully shutdown conan server.
PROCESS_WAIT_TIME=25
WATCHDOG_TIME=300
function shutdown() {
echo 'Shutting down server ...'
if [ "$(pgrep -n Conan)" != '' ]; then
echo "Sending SIGINT to Conan server (max ${PROCESS_WAIT_TIME} secs) ..."
kill -SIGINT `pgrep -n Conan`
sleep ${PROCESS_WAIT_TIME}
fi
if [ "$(pgrep wine)" != '' ]; then
echo "Sending SIGINT to wine processes (max ${PROCESS_WAIT_TIME} sec) ..."
kill -SIGINT `pgrep wine`
sleep ${PROCESS_WAIT_TIME}
fi
exit 0
}
trap shutdown SIGINT SIGKILL SIGTERM
function start_server() {
su steam -c "xvfb-run --auto-servernum wine64 ${SERVER_DIR}/ConanSandbox/Binaries/Win64/ConanSandboxServer-Win64-Test.exe -nosteamclient -game -server -log"
}
function watch_server() {
if ps aux | grep [C]onanSandboxServer > /dev/null; then
echo 'Server is running ...'
else
echo 'Starting server ...'
start_server &
fi
}
while true; do
watch_server
# background and using wait enables trap capture.
sleep ${WATCHDOG_TIME} &
wait
done
Note
PROCESS_WAIT_TIME
: amount of time allocated to shutdown wine.WATCHDOG_TIME
: amount of time between checking server heartbeat.
Game options specified will launch a dedicated server visible on steam clients. The game server will check for updates on boot and reboot.
docker-compose up -d conan
Note
Conan will autogenerate default configuration files if they are missing. Make sure the server gets to a running state before shutting down.
See Wine Taking Long Time for First Start if wine takes multiple minutes to start.