Factorio

[更新: 2021年6月15日]

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

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

仕様

提供プラン

全てのプラン

バージョン

全てのバージョン

OS

Ubuntu 18.04 と Ubuntu 20.04 で利用可能

事前準備

  • 本スクリプトのご利用には、お申込み済みのさくらの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起動時に自動実行されます。

Factorio headless server のインストール

[サーバー新規追加の場合]
「Ubuntu」を選択し、インストールしたいOSバージョンを選択します。
[OS再インストールの場合]
「標準OS」を選択し、インストールしたい「Ubuntu」のOSバージョンを選択します。

スタートアップスクリプトで「利用する」を選択し、「Factorio headless server」を選択します。

[サーバー新規追加の場合]
「支払い方法」をご確認いただき、必要事項を選択または入力して「お支払い」をクリックします。

[OS再インストールの場合]
「OS再インストール」をクリックします。
表示された確認画面の内容に問題が無ければ、再度「OS再インストール」をクリックします。

サーバー新規追加の準備、またはOS再インストールが開始します。

[サーバー新規追加の場合]
コントロールパネルに新規追加したサーバーが表示されたら、「電源操作」から「起動」を選択してください。
サーバーの起動とともに Factorio headless server のインストールを開始します。
完了までしばらくお待ちください。

[OS再インストールの場合]
サーバーの状態が「インストール中」から「稼働中」になると、Factorio headless server のインストールを開始します。
完了までしばらくお待ちください。

Factorioのクライアント側で使用するため、「基本情報」から「IPv4」のアドレスをお控えください。(アイコンをクリックするとIPアドレスをコピーできます)

Factorio にログインする

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

「マルチプレイ」の「サーバーに接続」を選択します。
さくらの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キーを押した時のゲームメニューから「セーブ」を選択すると、クライアント側にマップを保存できます。
以上でセーブデータのダウンロードが完了します。

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