[架站] Factorio — 異星工廠伺服器
手把手教你架設個人的 Factorio 伺服器
開始前,你必須先閱讀如何架設一台 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 中得知更詳細的設定與教學