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
4
dpkg --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
5
apt 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
2
steam@f3becc6a2a46:~$ exit
root@f3becc6a2a46:~# exit
離開 docker 後 將對 docker 所做的改變 commit 成新的 image 我是設成 conan_exiles
1
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
3
docker 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
3
docker exec -i -t conan_server /bin/bash
su steam ; cd
wine ./steamcmd.exe +login anonymous +force_install_dir c:\\conanKFC +app_update 443030 +quit
更新完 記得 stop & start 一次 讓新 server 重新上線

read logs

想要看 server logs 的 可以用這個指令

1
docker logs conan_server

參考文件

  1. Dedicated Server Setup
  2. How to run a Conan Exiles server on your Linux Box with WINE
  3. Running a Conan Exiles Server on Ubuntu Linux using WINE