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

factorioで仲間と自動化を楽しむ factorio

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

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

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

マルチサーバー構築

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

環境はUbuntu 22.04です。まずは、必要なパッケージを導入します。

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

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

mkdir work
cd work

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

curl -Lo factorio_headless.tar.xz https://factorio.com/get-download/stable/headless/linux64

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

tar -xvf ./factorio_headless.tar.xz
sudo mv ./factorio /opt/
cd /opt/factorio/

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

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

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

設定ファイル

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

/opt/factorio/config/config.ini

ゲームから接続

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

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

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

例1:外部にあるサーバーに接続する場合

tokiukaze.com:34197

例2 : ネットワーク内のサーバーに接続する場合

192.168.1.2:34197

「接続」をクリック

自動アップデート

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

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

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

cd ~/work

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

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

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

sudo apt install -y python3-pip
pip3 install requests

実行します。

python3 update_factorio.py --apply-to /opt/factorio/bin/x64/factorio

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

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

備考

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

セキュリティ設定

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

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

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

サーバーコマンド

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

Console - Factorio Wiki

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

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

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

まとめ

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

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

factorio headless server の準備 - Qiita
factorio についてfactorio は 工場を作って、ひたすら自動化していくゲームです。ゲームの紹介は割愛しますが、プログラマーならハマると思うのでおすすめです。ゲームクライアント単体…

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

時雨風
時雨風

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

コメント

タイトルとURLをコピーしました