Setup Conan Exiles Server inside docker(2)
Conan Exiles 在五月時正式發行了 所以我又回鍋玩了一下 然後家又被抄掉 蓋完新家 結果玩的 Server 竟然關了 所以又回來試一年前寫的 server 架設的文章 其本上大部分的指令都還可以用 server 跑起來也還滿穩的 CPU loading 不高 就佔著一個 thread RAM 也吃不多 可能人還太少 蓋的東西還不夠多吧
下面就把去年的文章重整一下 有興趣的照著作 應該不會有問題
Ubuntu Bionic 已經 release 了 所以 docker 改用 18.04
1
docker run -it -v /home:/home ubuntu:18.04
以下指令沒特別說明的話 都在 docker 裡面執行
1
2
3
4dpkg --add-architecture i386
apt update
apt install software-properties-common
apt install --install-recommends wine64
setup account
建立帳號 steam 帳號 因為有 -v /home:/home 所以這個 steam 帳號會出現在 host 的 /home 下
1
adduser steam
get steamcmd
安裝 x86 版的 steamcmd 我是直接放在 steam 的 home 目錄下 解開後會有不少檔案
1
2
3
4
5apt install wget unzip
su steam
cd ~
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
unzip steamcmd.zip
download game
使用 steamcmd 下載遊戲 約有 16GB
1
wine steamcmd +login anonymous +force_install_dir c:\\conanKFC +app_update 443030 +quit
launch conan server
下載完後 可以先啟動 server 讓他把設定檔產生出來
1
wine ~/.wine/drive_c/conankfc/ConanSandboxServer.exe
預設的設定檔在這邊
1
/home/steam/.wine/drive_c/conankfc/ConanSandbox/Config/
主要的幾個檔案跟可修改的內容是 其他遊戲中的參數要用生出來的設定檔來改
- DefaultEngine.ini
- ServerName 設成你喜歡的名字
- DefaultGame.ini
- MaxPlayers 最大玩家數
- DefaultServerSettings.ini
- AdminPassword Admin 密碼
生出來的設定檔會出現在這裡
1
/home/steam/.wine/drive_c/conankfc/ConanSandbox/Saved/Config/WindowsServer/
- ServerSettings.ini
- ClanMaxSize 部落最大人數
- MaxAggroRange 怪物的警示距離 據說設小一點 server loading 比較輕 (ex.1000)
- MaxNudity 裸露程度 0: 禁止 1: 部分 2: 全部
- ServerRegion Server 地區 (0=EU, 1=NA, 2=Asia)
- 其他如果有出現在 DefaultServerSettings.ini 但是確沒出現在這邊的 請從 DefaultServerSettings.ini 那邊把設定 copy 過來再修改
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 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
wine ./steamcmd.exe +login anonymous +force_install_dir c:\\conanKFC +app_update 443030 +quit
read logs
想要看 server logs 的 可以用這個指令
1
docker logs conan_server