factorio について
factorio は 工場を作って、ひたすら自動化していくゲームです。
ゲームの紹介は割愛しますが、プログラマーならハマると思うのでおすすめです。
ゲームクライアント単体でも遊ぶことができますが、友人とオンラインでマルチプレイを楽しむためにサーバーを用意することができます。
このドキュメントでは CentOS7 での手順を記していますので、異なる環境の方は適宜読み替えてください。
また実行は factorio ユーザーを作成して実行するのが良いかと思います。
ポート開放
factorio はデフォルトで UDPプロトコル で 34197番ポート を利用します。
$ sudo firewall-cmd --add-port=34197/udp --permanent
$ sudo firewall-cmd --reload
ゲームの開始
公式サイトから headless server 版をダウンロードして実行します。
// factorio をダウンロード
$ cd ~/
$ wget https://www.factorio.com/get-download/0.12.35/headless/linux64
$ tar zxvf linux64
// ゲームを初期化
$ ~/factorio/bin/x64/factorio --create [ゲーム名]
// ゲームを起動
$ ~/factorio/bin/x64/factorio --start-server [ゲーム名]
ゲームの設定
一度 factorio を起動して終了すると、/config/config.ini
というファイルが生成されます。
ポート番号の変更や、自動セーブの頻度などが指定できますので、適宜編集するのが良いでしょう。
// 設定例
autosave_interval=2 // 自動セーブの頻度
port=34197 // factorioのポート番号
バックグラウンド実行
手軽に行うならば以下の方法でバックグラウンド実行できます。
サーバーの再起動にも対応したい方はデーモン化するのが良いでしょう。
// 起動
$ nohup ~/factorio/bin/x64/factorio --start-server [ゲーム名] > /dev/null 2> /dev/null &
// 終了
$ ps aux // factorio を起動したコマンドの PID を探す
$ kill [上で見つけたPIDを入力]
アップデートする
factorio-updater を利用します。
// factorio ディレクトリへ移動
$ cd ~/factorio
// python系のアップデート
$ yum -y install epel-release
$ yum -y install python-pip
$ pip install --upgrade pip
// アップデーターをダウンロード
$ wget https://raw.githubusercontent.com/narc0tiq/factorio-updater/master/update_factorio.py
// 現在インストールされているバージョンを入力
$ python update_factorio.py -p core-linux_headless64 -f 0.12.35 -x
// 現在インストールされているバージョンから順番にアップデートを実行する
$ ~/factorio/bin/x64/factorio --apply-update ~/factorio/tmp/core-linux_headless64-0.12.35-0.12.36-update.zip
参考記事
- factorio@jp wiki に大体のことが書いてあります。