Factorio

スタートアップスクリプト「Factorio Headless Server」は、さくらのVPSで作成された仮想サーバ上にFactorioのマルチプレイサーバ(Headless Server)を構築できるスクリプトです。
Factorio は工場を建設・維持するゲームです。敵と戦いながら、資源採掘や研究、インフラ構築や生産自動化を行なっていくゲームです。

Factorio は Wube software の著作物です。 Copyright Wube software

本スクリプトは、さくらのVPSのスタートアップスクリプト機能の一部です。スタートアップスクリプト機能の利用条件やその他詳細については スタートアップスクリプト をご確認ください。

事前準備

  • 本スクリプトのご利用には、お申込み済みのさくらのVPSの仮想サーバが必要です。お申し込み方法については、 お申し込みのながれ をご確認ください。
  • 2週間のお試し期間もございますので、まだご利用でない方もお気軽にお試しください。

※ お試し期間中は 帯域制限 があるため、マップのロードなどに時間がかかり、快適にプレイできない場合があります。

本スクリプトの構成

本スクリプトを実行すると、以下のファイルを生成します。

/var/spool/cron/crontabs
└─- ubuntu

/home/ubuntu/
|-- factorio
|-- factorio_cron.log
|-- factorio_headless_server_updater.sh
|-- first_map.log
|-- first_map.zip
|-- server-settings.json
└─- start_factorio_server.sh
/var/spool/cron/crontabs/ubuntu サーバOS起動時に、ゲームサーバーを自動で起動するためのCRON設定です。
factorio/ ゲームサーバーの実行ファイル群です。
factorio_cron.log ゲームサーバーを自動起動した際のログです。
factorio_headless_server_updater.sh ゲームサーバーを自動更新するスクリプトです。CRONにより、OS起動時に自動実行されます。
first_map.zip / first_map.log 初期マップのデータとその実行ログです。
server-settings.json ゲームサーバー起動時に読み込むサーバー設定ファイルです。
start_factorio_server.sh ゲームサーバーを起動するためのスクリプトです。CRONにより、OS起動時に自動実行されます。

スタートアップスクリプトの実行

左メニューの「サーバ」を選択し、スタートアップスクリプトを実行するサーバをクリックします。

「各種設定」から 「OSインストール」をクリックします。

「標準OS」で「Ubuntu 16.04 amd64」を選択し、管理ユーザのパスワードを入力します。

スタートアップスクリプトで「Factorio headless server」を選択し、OSのインストールを実行します。

接続方法

標準設定では、サーバーアドレスの直入力での接続になります。

「マルチプレイ」の「サーバーに接続」を選択します。

さくらのVPSのサーバに割り当てられたIPアドレスを入力して接続を押します。
ドメインを設定している場合は、ドメイン名の入力でも接続できます。

接続されると、ゲームのプレイ画面が表示されます。

メンテナンス手順

Factorioサーバーのバージョンアップデート

サーバOS起動時に「factorio_headless_server_updater.sh」を実行し、ゲームサーバーの自動更新を行なっています。
そのため、さくらのVPSのコントロールパネルやSSH経由でサーバOSを再起動すると、自動でアップデートが行われます。

セーブデータのアップロード

MacOSから

MacOSの場合、Factorioのセーブデータは下記ディレクトリに保存されています。
「~/Library/ApplicationSupport/factorio/saves/」

scpなどのコマンドで、VPSにデータをアップロードできます。

$ scp ~/Library/Application\ Support/factorio/saves/[マップ名].zip ubuntu@[VPSのIPアドレス]:~/

Windowsから

Windowsの場合、セーブデータは下記ディレクトリに保存されています。
「C:Users[ユーザ名]AppDataRoamingFactoriosaves」

WSL(Windows Subsystem for Linux)をセットアップした環境をお持ちであれば、scpで転送する事ができます。

$ scp /mnt/c/Users/[ユーザ名]/AppData/Roaming/saves/[マップ名].zip ubuntu@[VPSのIPアドレス]:~/

マップの読み込み設定

セーブデータをアップロードしたら、読み込むマップ名を修正する必要があります。

「/home/ubuntu/start_factorio_server.sh」というファイルで起動するマップ名を指定しています。(「.zip」はマップ名からは省略されるので注意してください)

このスクリプトをviなどのエディタで編集し、読み込むマップ名を変更してください。
(初期状態ではマップ名は first_map となっています)

設定変更後は、サーバOSを再起動することで新しい設定でゲームサーバが自動起動します。

その他設定変更

Factorioサーバーの管理者設定やログイン認証を設定するには、設定ファイルを書き換える必要があります。

ゲームサーバー起動時に読み込んでいる設定ファイルは「/home/ubuntu/server-settings.json」です。
この設定ファイルをviなどのエディタで書き換えてください。

設定変更後は、サーバOSを再起動することで新しい設定でゲームサーバが自動起動します。

セーブデータのダウンロード

デスクトップアプリケーションからサーバーに接続し、Escキーを押した時のゲームメニューから「セーブ」を選択すると、クライアント側にマップを保存できます。
以上でセーブデータのダウンロードが完了します。

Copyright (c) 2015 – 2018 Wube Software

本スクリプトの公開や本ページの画像利用にあたってはFactorio開発元のWube softwareの許諾を得ています。