Setup Conan Exiles Server inside docker
最近在玩 Early Access 的 Conan Exiles 還滿有趣的 只是家經常被抄掉 常常流連失所 無家可歸
所以興起了自己架設 Server 的念頭 下面就是一些簡單的架設紀錄
首先 先從 Ubuntu 16.04 的 docker 開始 然後安裝 wine 2.0
因為遊戲是 Windows only 所以我們打算用 wine 來跑 server
1
docker run -it -v /home:/home ubuntu:16.04
以下指令沒特別說明的話 都在 docker 裡面執行
1
2
3
4
5
6apt update
apt install software-properties-common
add-apt-repository ppa:wine/wine-builds
dpkg --add-architecture i386
apt update
apt install --install-recommends wine-staging
setup account
建立帳號 steam 帳號 因為有 -v /home:/home 所以這個 steam 帳號會出現在 host 的 /home 下
1
2adduser steam
su steam
get steamcmd
安裝 x86 版的 steamcmd 我是直接放在 home 目錄下 解開後會有不少檔案
1
2
3
4cd ~
apt install wget unzip
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
unzip steamcmd.zip
download game
使用 steamcmd 下載遊戲 約有 13GB
1
/opt/wine-staging/bin/wine steamcmd +login anonymous +force_install_dir c:\\conanKFC +app_update 443030 +quit
launch conan server
下載完後 可以先啟動 server 讓他把設定檔產生出來
1
/opt/wine-staging/bin/wine ~/.wine/drive_c/conankfc/ConanSandboxServer.exe
設定檔會出現在這裡
1
/home/steam/.wine/drive_c/conankfc/ConanSandbox/Config/
主要的幾個檔案是
- DefaultEngine.ini
- ServerName 設成你喜歡的名字
- DefaultGame.ini
- MaxPlayers 最大玩家數
- DefaultServerSettings.ini
- ClanMaxSize 部落最大人數
- MaxAggroRange 怪物的警示距離 據說設小一點 server loading 比較輕 (ex.1000)
- AdminPassword Admin 的密碼
- MaxNudity 裸露程度 0: 禁止 1: 部分 2: 全部
- ServerRegion Server 地區 (0=EU, 1=NA, 2=Asia)
- 還有很多有用的參數 是個需要好好研究的檔案
docker commit
如果 server 能正確啟動(會吐出非常多的訊息) 那 docker 的部分跟整個 server 的架設就差不多了
Ctrl+C 結束 server 之後再按 Ctrl+D 離開 docker 離開之前 要把帳號後的 image id 給記下來
1
2steam@f3becc6a2a46:~$ exit
root@f3becc6a2a46:~# exit1
acelan@acelan ~/docker/conan % docker commit -m "initial Conan Exiles server" -a "initial Conan Exiles server" f3becc6a2a46 conan_exiles
launch server
之後要啟動 Conan Exiles server 需要執行下面指令 基本上這個指令只需要執行一次 以後我們都用 start/stop 來開關這個 server
1
2
3docker run -d --name conan_server -it -v /home:/home \
-p 7777:7777/udp -p 27015:27015/udp \
conan_exiles /opt/wine-staging/bin/wine /home/steam/.wine/drive_c/conankfc/ConanSandboxServer.exe
stop server
要停掉 server 這樣做
1
docker stop conan_server
start server
啟動 server 這樣做
1
docker start conan_server
shell in & update game
當 Conan Exiles 有更新時 我們得要進入 docker 中來 update 檔案
1
2
3docker exec -i -t conan_server /bin/bash
su steam ; cd
/opt/wine-staging/bin/wine ./steamcmd.exe +login anonymous +force_install_dir c:\\conanKFC +app_update 443030 +quit
read logs
想要看 server logs 的 可以用這個指令 不過其實沒什麼好看的 都看不懂就是了
1
docker logs conan_server