メインコンテンツまでスキップ

Factorio headless serverを自宅に構築して、仲間と自動化を楽しむ

· 約6分
時雨風
箱庭の管理者

Factorioが正式リリースされてから、約1年がたちました。 といってもベータ版と何か明確に変わったかと聞かれてもよくわからないですし、1年たったからといってもおもしろさも変わりません。なぜか定期的にやりたくなる魅力を持っています。 ずっとずっと楽しめるゲームであることは間違いありません。

さて、ネットでFactorioのマルチサーバーについて検索しても数年前の内容が多く困っていました。 この記事では、自分の知る限りのことをまとめました。参考になれば幸いです。

なお、Ubuntuのインストールやポート開放、DDNSの設定などに関しましてはMinecraftの記事で方法を一通り紹介しています。 自宅サーバーを持ちたいけど、なにから始めたらわからないといった方はまずはこちらをお読みください。

https://site.tokiukaze.com/blog/minecraft-server-bedrock-create

マルチサーバー構築

環境はubuntuです。 この記事では、Factorioマルチサーバーの導入についてを主に扱います。 ポート開放やufwについては触れません。

まずは、必要なパッケージを導入します。 sudoコマンドを扱う際は先に sudo -i を使用して、権限を取得しておくとコピペが楽です。 パッケージ導入が終わったらroot権限を使用するのはやめといたほうがいいです。

sudo apt update
sudo apt install -y xz-utils curl

factorio用のディレクトリを作成します。

cd
mkdir app
cd app

headless-serverをダウンロードします。

curl -LOJ https://factorio.com/get-download/stable/headless/linux64

その後ファイルを解凍し、解凍されたファイル「factorio」に入ります。

tar -Jxvf factorio_headless_x64*.tar.xz
rm factorio_headless_x64*.tar.xz
cd factorio

ワールドの作成とゲームの起動をします。 ゲームクライアントから、すでにあるセーブデータを持ってきてもよいです。

~/app/factorio/bin/x64/factorio --create [セーブデータ名]
~/app/factorio/bin/x64/factorio --start-server [セーブデータ名]

「ctrl + c」でサーバーを終了できます。

ゲームの設定ファイルを編集できます。 下記が設定ファイルになっています。

/config/config.ini

ゲームから接続

factorioから接続できるかを確認してください。

factorioを開きます。 「マルチプレイヤー」 -> 「アドレスに接続」

アドレスとポートを指定します。

例:

tokiukaze.mydns.jp:34197

「接続」をクリック

自動アップデート

面倒なアップデート操作を自動化します。 公開されているアップデートマネージャーを活用します。

https://github.com/narc0tiq/factorio-updater

factorio ディレクトリへ移動します。

cd ~/app/factorio

python3とパッケージのインストールを行います。

sudo apt install -y python3-pip
pip3 install requests

アップデーターをダウンロード。

curl -OL https://raw.githubusercontent.com/narc0tiq/factorio-updater/master/update_factorio.py

実行します。

python3 update_factorio.py --apply-to bin/x64/factorio
python3 <update_factorio.pyのパス> --apply-to <factorio/bin/x64/factoiroのパス>

インストールされているfactorioを指定することで自動でバージョンを確認しアップデートを行います。 現在のfactorioがあるpathを指定する必要があります。

上記コマンドを打ち込むことで、かんたんにサーバーのアップデートを実行することができます。

備考

いろいろと関連する情報を集めています。

セキュリティ設定

factorio はデフォルトで UDPプロトコル で 34197番ポート を利用します。

https://qiita.com/nanocloudx/items/f0612595cf334aef18b8

デフォルトポートは攻撃の対象になりやすいため、変更をお勧めします。 WANからルーターは別のポートで受信し、サーバー側では変わらず34197番ポートで受けるのが楽かと思います。

サーバーコマンド

メッセージやらチートやらゲーム設定やら充実してます。お好みで。

https://wiki.factorio.com/Console/ja

サーバーソフトウェアを手動でダウンロードする場合

手動でのダウンロードが必要になった場合はこちら。 下記のリンクからダウンロードできます。

https://www.factorio.com/download

サーバーソフトウェアのリンク

まとめ

Factorioサーバーは構築できましたか? 私自身いろいろと勉強中ではありますが、わかりやすくなるように頑張っております。 今後ともブログを更新していきたいと思っていますのでよろしくお願いします。

この記事を書いた理由は参考にしていたqiita記事がバージョンアップなどにより参考にならなくなっていたことです。主に動かなくなった部分の手入れを行いました。 私が参考にしていた記事は下記のものです。

https://qiita.com/nanocloudx/items/f0612595cf334aef18b8

今後もfactorioでどんどん超効率の工場を作ってみてください。

Factorio初心者へアドバイス

研究が進むとスクラップ&ビルドをやりがちだけど、ビルド&ビルドでOKです。 壊さないで、新しいものをどんどん作りましょう!