LinkedIn にシェア
LINEで送る
Pocket

Factorioには複数人が一つのマップで同時にプレイすることができるマルチプレイモードがあります。

マルチプレイモードでは、サーバーをFactorioのゲーム内でホストするモードの他に専用のサーバープログラムを使用してゲームとは切り離した状態でホストするHeadless(ヘッドレス)モードがあります。

今回はHeadlessのサーバープログラムをDocker上でホストしたいと思います。

(前記事で挫折したものをDockerで成功させることにしました)

 

0. 忙しい人向けの結論

# docker pull dtandersen/factorio
# mkdir -p /opt/factorio
# chown 845:845 /opt/factorio
# docker run -d -p 34197:34197/udp -v /opt/factorio:/factorio  --name factorio --restart=always dtandersen/factorio

 

1. 事前準備

以下のことができている前提です。

  • サーバー側のポート(34197/UDP)が解放されている。(ルーター、firewall-cmdなど)
  • サーバーにsshにて接続ができる。
  • ある程度Linuxの操作についてわかる。
  • 最低限の英語がわかる。
  • SteamでFactorioを購入済
  • Dockerがシステムにインストール済

 

基本rootで作業します。 (#で始まるコマンドはスーパーユーザー権限です。 $は一般ユーザー権限)

 

2. やること(目的)

  • FactorioのHeadless ServerをDocker上で動かす (Docker Hub上のイメージを使用)
  • 今回は単純に動かすところまで。

 

3. 自分向けFirewall-cmd設定メモ

# firewall-cmd --permanent --add-port=34197/udp
success
# firewall-cmd --reload
success
#firewall-cmd --list-all (解放できたか確認)

 

4. DockerイメージをDocker Hubから手に入れる

Docker Hubでfactorioを検索したところ

https://hub.docker.com/r/dtandersen/factorio

が一番ダウンロードされていて、最新のfactorioのバージョンにも追従しているので、それを使うことにします。

# docker pull dtandersen/factorio

 

5. 作業ディレクトリの作成と実行

とりあえず、Docker HubのREADMEに書いてあるやり方を参考にしてやります。

# mkdir -p /opt/factorio
# chown 845:845 /opt/factorio
# docker run -d \
  -p 34197:34197/udp \
  -v /opt/factorio:/factorio \
  --name factorio \
  --restart=always \
  dtandersen/factorio

 

はい、動きました。

 

6. まとめ

もうまとめ書く余力もない…

ただ、分かったことは…

Dockerは神

 

 

 

以上です。

 

Docker/Kubernetes 実践コンテナ開発入門
  • 山田 明憲
  • 価格   ¥ 3,650 prime
  • 販売者 Amazon.co.jp
クリックして今すぐチェック
Docker実践ガイド 第2版 (impress top gear)
  • 古賀政純
  • 価格   ¥ 4,104 prime
  • 販売者 Amazon.co.jp
クリックして今すぐチェック
Docker
  • Adrian Mouat
  • 価格   ¥ 3,888 prime
  • 販売者 Amazon.co.jp
クリックして今すぐチェック