這系列文章會分享如何建立、設定,並優化 ARK: Survival Evolved 《方舟:生存進化》的 伺服器架設。這裡是第一篇,說明基本的系統需求與設定。

哈囉,我是阿克,最近都跟朋友一起在水晶島上玩耍,抓抓恐龍蓋蓋家,偶爾出去冒險找神器,在水晶島上時間真的流逝得好快XD。而如果你有架設伺服器的話,平時想上線採採資源也不用請朋友幫開,隨時都可以進去玩耍囉。

至於為什麼要用 Linux,而不是用 Ark Server Manager 在 Windows 上面建立伺服器呢?對我來說的優點有以下幾個:

  • 不需要圖形介面的話,可以榨出更多資源
  • 如果用 GCP 或是 AWS 的話,Linux 機器收費應該會比 Windows 便宜
  • 我不想要我的 Windows 電腦一直開著XD
  • 如果家裡有舊電腦或是筆電的話,加個記憶體拿來開伺服器就可以榨乾他的價值XD

這系列教學主要是使用 LinuxGSM,LinuxGSM 幫你簡化了很多繁雜的步驟與 SteamCMD 的操作,我自己是沒有研究它更內部的原理及架構,使用起來還滿好上手的。除了Ark 之外,LinuxGSM 其實也支援很多 Steam 上面遊戲伺服器的設置,所以如果你有其他遊戲也在支援的清單中,也可以試試看哦。

傳送門在這裡:https://linuxgsm.com/

系統配置

  • CPU:雙核心應該就夠
  • RAM:至少8G
  • OS:官方建議 Ubuntu 16.04 以上,我是用 Ubuntu Server 20.04 LTS
  • 需要有 Public IP 位址

以上規格應該能夠撐得起 10 人以下所需要的伺服器環境,但我實測感覺它跑起來會有點喘,尤其是 RAM 的使用,伺服器開起來之後它的 process 佔用約 7.5~7.6G,再加上 Ubuntu Server 背景還有一些 process 佔用了約100~200 MB 的 RAM,幾乎將機器上面的 8G 佔好佔滿,SSH 登入後進去打一些指令管理機器還會有點頓頓的。

以最初的地圖 The Island 來說,這樣的配置應該是足夠的。若是你的伺服器需要提供給更多玩家,或是設定了更複雜的地圖,那我建議 RAM 再加一條 4G 到 12G(對,我後來為了水晶島加了XD),這樣會比較充裕一些,偶爾要進去機器做一些簡單的管理也不會卡卡的。

至於 Ubuntu Server 的安裝和 Public IP 的部分,就有點太細節了。或者你是用GCP 這種雲端平台的話,這兩件事情也不用煩惱,VM instance 開了就直接都準備好了,真是究極方便。之後如果累積了足夠的篇幅可以分享的話,也許會再開一篇寫寫~

伺服器安裝與啟動

在正式開始之前,會先建議你挑一個固定的路徑來放 LinuxGSM 的檔案及操作。像我是固定放在

/opt/ark-server

這樣以後要維護或是備份搬家之類的話,操作邏輯上會比較一致一點。

首先,先 cd 至你想放伺服器檔案的目錄,然後使用以下指令先把 LinuxGSM 所需的依賴套件裝起來。

sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file tar bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux netcat lib32gcc1 lib32stdc++6 steamcmd

官方是有建議為這個服務建立一個 user,我自己是沒有啦,詳細的部分再麻煩到參考資料看看。

接著用以下指令將 LinuxGSM 的 script 抓回來。

wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh arkserver

抓完之後,接著再下

./arkserver install

就會自動幫你把所需要的檔案通通抓回來囉。這一步會花比較多時間哦~

等 install 結束之後,你可以下以下指令,把伺服器的程式跑起來。

./arkserver start

這邊一樣要給他一點時間載入,畢竟他要吃 7G 多的 RAM,載入時間也不少嘛XD

載入完成之後,你應該可以在遊戲內的伺服器清單看到他囉。

Ark 伺服器清單示意圖

至此,你應該可以順利啟動方舟的伺服器,很簡單吧XD

而伺服器程式預設是以 The Island 開局。至於地圖切換、設定密碼、設定伺服器名稱、MOD、參數調整、伺服器停止/啟動/更新,這些細節設定,我就留在第二篇囉。

最後再補充一下基本的維護指令

// 開啟伺服器
./arkserver start
// 關閉伺服器
./arkserver stop
// 更新伺服器
./arkserver update

謝謝收看~

參考資料:
https://linuxgsm.com/lgsm/arkserver/
https://docs.linuxgsm.com/