[架站] Factorio — 異星工廠伺服器

手把手教你架設個人的 Factorio 伺服器

Metal Sheep
Nov 1, 2020

開始前,你必須先閱讀如何架設一台 Linux 的虛擬主機作為伺服器的容器:

建立必須的檔案

從 Factorio 的官網下載 Linux 的伺服器包:

打開 Steam ,開啟異星工廠並創建一組網路遊戲,直到進入遊戲畫面為止:

進入遊戲後,點擊 ESC 選擇儲存遊戲:

你可以從以下路徑中找到你的存檔,有些檔案有時候會是隱藏的,記得打開隱藏資料夾:

C:\Users 或 使用者\[使用者名稱]\AppData\Roaming\Factorio\saves

接著只要連同官網的伺服器包一起上傳到主機即可:

關閉 UDP 防火牆

由於 Factorio 是採用 UDP 協定,在 GCP 的防火牆設置中是默認不允許通過的,必須手動開啟它,以下是開啟的步驟:

點擊建立後等待一段時間即可生效。

操作 Linux

接下來我們回到 Linux 的指令操作上,解壓縮伺服器包:

sudo tar -xJf ~/factorio_headless_x64_1.0.0.tar.xz

在 GCP 介面中找到內部 IP :

執行伺服器只要修改指令的 IP 位置即可,以主機 instance-2 為例子:

sudo ./factorio/bin/x64/factorio --start-server ./server.zip --bind 10.128.0.2

看到以下畫面就大功告成了:

接下來複製你的外部 IP :

上線並邀請親朋好友一同遊玩:

設定伺服器選項

你會發現除了地圖外某些伺服器選項並不存在你的伺服器中,這時你必須回到你的電腦,從以下路徑找到伺服器設定檔的模板:

C:\Program Files (x86)\Steam\steamapps\common\Factorio\data\server-settings.example.json

把這個檔案複製出來並改成 server-settings.json 並定義你想設定的伺服器選項後,上傳到主機上,並將指令修改成如下即可吃到你的設定檔:

sudo ./factorio/bin/x64/factorio — start-server ./server.zip --server-settings ./server-settings.json --bind 10.128.0.2

背景執行伺服器

你會發現如果把終端機視窗關掉後,你的伺服器也會隨之關閉,要解決這個問題,只要在 Linux 作業系統中,在指令的末端加上 & 代表背景執行:

sudo ./factorio/bin/x64/factorio — start-server ./server.zip --server-settings ./server-settings.json --bind 10.128.0.2 &

此時你一樣會看到程式正常運作,但就算關閉了視窗後仍然會繼續運行。

關閉背景執行的程式只要使用以下指令即可:

ps -A # 找到 factorio 對照的 idsudo kill id

順帶一提,在沒人上線的情況下,Factorio 內的時間是不會運行的,你不用擔心睡一覺家被蟲群拆光。

從 Wiki 中得知更詳細的設定與教學

--

--