マルチプレイ

Last-modified: 2022-10-21 (金) 01:26:38

マルチプレイは、ユーザーが同じゲーム内でゲームをすることで

  • 公開サーバーに参加する(プレイ→ゲーム→公開サーバーを閲覧)
  • 仲間内で誰かがサーバーを立てて接続しそこに参加する

といったことができます。通常のゲームを複数人で行うことのほか、(v0.16)シナリオモードで特定の勝利条件を目指すPvPモードもあります。
公開サーバーを閲覧から手軽にサーバーへ参加できるようになったため、このページではサーバーを立てる解説がメインになっています。
サーバー情報では日本で参加を募っている公開サーバーを挙げています。

 

※バージョンアップ事に機能の変更・追加、修正などが行われています。記事の内容は更新情報を追い切れていません。一部は最新の情報を記載していますが、適時編集をお願いします。

サーバーのゲームに参加する

上記の通り、ゲーム内メニューのプレイ→ゲーム→公開サーバーを閲覧で公開サーバーが一覧表示・検索できますので、そこから「参加」をすることで参加できます。
公開サーバーでなくIPアドレス指定で接続することも可能です。公開・非公開とも以下の記述のほとんどは同じです。
サーバーと同じバージョンのFactorioでなければなりません(0.14.20に0.14.21から接続ということもできません)
また、MODも一致してなければなりません。必要なMODはインストール、不要なMODは有効/無効で無効化するか削除しなければなりません。0.17から自動で入れたり無効にすることが出来るようになりました。
クライアント側でポート開放の設定は必要ありません
(0.12まではP2P形式でポート開放を全員がする必要がありました)

サーバー仕様

  • デフォルトポート:34197
  • /config/config.iniのport項目を編集で変更可能。
  • プロトコルはUDP
  • ルーターでNAT接続の場合は、ポート解放しなければなりません。(サーバーのみ)
  • Version 0.13からP2Pは廃止されました。
  • 理論上、同時プレイヤー可能人数は無限。
    0.14時点で数百人の実績
  • 0.14リリースで人数はあまりパフォーマン上の問題はなく、規模と行動によって重くなる
  • 【重要】マルチプレイはテスト中です。Desyncしたらフォーラムを読んでバグ報告が無いか確認して、無ければバグ報告をする事が推奨されています。転んでも泣かない

サーバ設置方法(v0.14)

概要

  1. プレイヤーA(サーバ:)
     factorio --start-server セーブファイル オプションで起動。
    ポート開放などグローバールIPアドレスで接続できるように。
  2. プレイヤーB(参加者)
     factorioを通常に起動してプレイ→マルチプレイ→サーバに接続で[プレイヤーA]のIPアドレスを入れる。
  3. プレイヤーC(参加者)
     プレイヤーBと同様、プレイヤーAのIPアドレス。プレイヤーBのIPアドレスではつながらない。
  • サーバーがポートを変更している場合
    "IPアドレス:ポート"の形式で入力し、接続する。
  • ローカルのセーブデータから再開したい場合
    サーバーを立てる際、ローカルプレイのsavesにある savefilename.zip を使うなら factorio --start-server savefailename.zip というようにオプションを指定する

コンソール

Linux

headlessは通常のゲームのデータが入っていないのみで、通常版のバイナリでも同じオプションを指定すればheadlessと同様に動作します。
LinuxのディストリビューションはFedora,CentOS7で動作確認しました。
但しCentOS7ではパッケージライブラリが0.16の実行環境に追いつけない為、初回サーバ構築で推奨出来ません。
Fedoraで構築する事をお勧めします。
VPS等での構築のにおいても、その他の理由がない限りFedoraを選択しましょう。

  1. 公式HPのdownload Pageよりtar.gzをダウンロード。
    (Steamで購入した人は、https://www.factorio.com/ アカウントを作成してユーザーページの Link your Steam account でSteamアカウントでログインする事でサーバパッケージのダウンロードが可能になりました。)
    download1.png
    download2.png
  2. linuxサーバの任意のディレクトリに設置して解凍
    # tar zxvf factorio_headless_x64_0.12.26.tar.gz ※tar.gzの場合
    # tar Jxvf factorio_headless_x64_0.15.5.tar.xz ※tar.xzの場合
  3. factorioフォルダに移動して、適当なセーブデータ(仮にhogehoge)を作成。
    # cd factorio/bin/x64/
    # ./factorio --create hogehoge
  4. セーブデータ(hogehoge)で起動
    # ./factorio --start-server hogehoge

停止方法はctrl+cなりkillなりで止まります。
強制終了すると終了時にセーブデータが更新されないので
kill -9じゃなくちゃんと通常killしましょう。

使用ポートはデフォルト(34197)ですが、
変更したい場合は起動後に作成された
config/config.iniのport=34197
を編集する事。
その他起動時のオプション、設定方法は概ね通常のクライアントと同様かと思います。
GUIが使えないため、通常クライアントからconfig.iniを修正したり、jsonファイルを修正したりして、何らかのファイル転送手段でコピーして持ってくる事で対処して下さい。
同じく、MAP設定を変更したい場合は、通常クライアントでMAP設定、作成、保存したsaveファイルをサーバに持って行くのが良いでしょう。

基本的には設定の仕方が解らない部分は、通常クライアントで最低限設定しておいたsaveやconfigファイルをコピーまたは上書きして、サーバ起動するのが楽だと思います。

modを使いたい場合は、通常クライアントと同様にmodsディレクトリに入れれば良いです。
直接viなどでjsonファイルでenable、disable設定した上で起動するか、
クライアントで設定してからコピーしておいて下さい。

使用出来るパラメータ

使用できるパラメータ

$ ./factorio -h

をまずはご覧ください。

例)
/opt/factorio/bin/x64/factorio --start-server hogehoge --autosave-interval 10 -- autosave-slots 10
hogehoge.zipで起動、オートセーブ間隔(interval)が10分、オートセーブ数は10個。

通常のfactorio.exeを使うより使えるパラメータは少ないですね。

headless serverのバージョンアップ方法

動作確認…CentOS 7
例は0.12.26から0.12.28へのアップデート手順。

  1. 以下のURLから適当なディレクトリにupdate_factorio.pyをダウンロード。
    https://github.com/narc0tiq/factorio-updater
    $ wget https://raw.githubusercontent.com/narc0tiq/factorio-updater/master/update_factorio.py
  2. URLの手順に従いコマンドを実施する。
    $ python update_factorio.py -l
    $ python update_factorio.py -p core-linux_headless64 -f 0.12.26 -x
    ※前提条件として事前にpython-pipや"pip install requests"が必要。やり方は各自python pip install等で検索して下さい。
    ※pythonのバージョンは2.7以上が必要。
    ※バージョン名(0.12.26)は各自のバージョンに応じて読み替え下さい。
    $ yum install epel-release
    $ yum install python-pip
    $ pip install requests
  3. /tmpにバージョンアップ用のデータがダウンロードされるので、それを用いてアップデートする。
    ※先のコマンドの実行結果の中に、アップデートのコマンド例が表示されているのでその通りにどうぞ。
    1. 0.12.26-→0.12.27
      $ /(factorioのディレクトリ)/bin/x64/factorio --apply-update /tmp/core-linux_headless64-0.12.26-0.12.27-update.zip
    2. 0.12.27→0.12.28
      $ /(factorioのディレクトリ)/bin/x64/factorio --apply-update /tmp/core-linux_headless64-0.12.27-0.12.28-update.zip
  4. 無事目的の版数まで更新された段階で終了。
    ./factorio --apply-update /tmp/core-linux_headless64-0.12.26-0.12.27-update.zip
      0.000 2016-03-23 20:40:20; Factorio 0.12.26 (Build 17762, linux64)
      0.000 Operating system: Linux
      0.000 Program arguments: "./factorio" "--apply-update" "/tmp/core-linux_headless64-0.12.26-0.12.27-update.zip"
      0.000 Read data path: /opt/factorio/data
      0.000 Write data path: /opt/factorio
      0.000 Binaries path: /opt/factorio/bin
      0.010 Running in headless mode
      0.012 Loading mod core 0.0.0 (data.lua)
      0.015 Loading mod base 0.12.26 (data.lua)
      0.939 Factorio initialised
      0.940 Info Updater.cpp:390: Applying update /tmp/core-linux_headless64-0.12.26-0.12.27-update.zip
      3.346 Goodbye
    ./factorio --apply-update /tmp/core-linux_headless64-0.12.27-0.12.28-update.zip
      0.000 2016-03-23 20:40:34; Factorio 0.12.27 (Build 17887, linux64, headless)
      0.000 Operating system: Linux
      0.000 Program arguments: "./factorio" "--apply-update" "/tmp/core-linux_headless64-0.12.27-0.12.28-update.zip"
      0.000 Read data path: /opt/factorio/data
      0.000 Write data path: /opt/factorio
      0.000 Binaries path: /opt/factorio/bin
      0.011 Running in headless mode
      0.013 Loading mod core 0.0.0 (data.lua)
      0.017 Loading mod base 0.12.27 (data.lua)
      0.948 Factorio initialised
      0.948 Info Updater.cpp:390: Applying update /tmp/core-linux_headless64-0.12.27-0.12.28-update.zip
      3.305 Goodbye
ここから先は0.13.3のみ起動バグ回避の為に追記が必要

(ここから先は0.13.3のみ起動バグ回避の為に追記が必要)
この記述を最初と最後の{}の中に入れてください。

  "application_version": {
     "build_version": 22991,
     "build_mode": "headless",
     "platform": "linux",
     "game_version": "0.13.3"
  }

0.13.0以降の起動概要

※0.16以降はCentOS7でもglibcの旧バージョンしかパッケージインストール出来ず困難を極める為、Fedoraでの構築をお勧めします。

CentOS7におけるソースコードからの glibc >= 2.18 インストール方法

以下記事を参照 失敗すると殆どの基本コマンドが通らなくなる上、最悪OS復旧が困難となる為、自己責任覚悟でお願いします
https://forums.factorio.com/viewtopic.php?f=23&t=54654&p=324493&hilit=glibc#p324493

  • セーブデータの作成
    # cd factorio/bin/x64/
    # ./factorio --create ../../saves/hogehoge.zip
  • セーブデータ(hogehoge.zip)で起動
    # ./factorio --start-server ../../saves/hogehoge.zip
  • 公開サーバ設定は、dataディレクトリのserver-settings.example.jsonをコピーを作成して編集
    # cd factorio/data/
    # cp ./server-settings.example.json ./server-settings.json
    # vi ./server-settings.json
{
  "name": "(公開サーバリストの表題)",
  "description": "(サーバ概要)",
  "tags": ["(タグ1)", "(タグ2)", "(例)vanilla", "(例)JP"],
  "max_players": "(最大受入人数)",
  "_comment_visibility": [(visibility項目の説明なので無視)],
  "visibility": "(公開形式 public,lan,hiddenの何れか)",
  "_comment_credential": "(コメントなので無視)",
  "username": "(factorioに登録したユーザ名)",
  "password": "(登録ユーザ名に対応するパスワード)",
  "_comment_token": "(tokenの説明 代替パスワードの設定と書いてあるが未実装ぽい)",
  "token": "(上記により無視)",
  "game_password": "(このサーバに認証する為のパスワード)",
  "_comment_verify_user_identity": "(verify_user_identityの説明)",
  "verify_user_identity": (factorioユーザのみの許可 true, falseの何れか),
}
  • 公開サーバ設定(server-settings.json)込みで、セーブデータ(hogehoge.zip)を起動
    # ./factorio --start-server ../../saves/hogehoge.zip --server-settings
       ../../data/server-settings.json

Windows

http://www.factorioforums.com/forum/viewtopic.php?f=53&t=13609
バッチファイル(※1)なり、コマンドプロンプトからfactorio.exeの有るフォルダで以下のコマンドを実行

start Factorio.exe --start-server YOURSAVEGAME.zip

※上記に『/wait』オプションを付けると自動終了しない。

start /wait Factorio.exe --start-server YOURSAVEGAME.zip

YOURSAVEGAME.zipはセーブフォルダの任意のファイル名で。無ければ適当にニューゲームで作るか、factorio.exe --create hogehoge.zipで作成。
その他オプション類はconfig.iniのパラメータが使える模様。例えば以下の用にすると10分毎、100個ファイルのオートセーブになります。

start Factorio.exe --start-server YOURSAVEGAME.zip --autosave-interval 10 --autosave-slots 100

もしくは上記起動バッチファイルと同じフォルダにserver-settings.jsonを置き、

start Factorio.exe --start-server YOURSAVEGAME.zip --server-settings server-settings.json

とする。設定jsonファイルの書式はDataフォルダのserver-settings.example.jsonを参考に。
終了はコマンドプロンプト上でCtrl+C。タスクマネージャー→タスクの終了ではデータがセーブされないので注意。コマンド(dirなど)が打ち込める状態で動いており(Unixでいうバックグラウンド動作に似て非なる状態)、c:\*>の状態でCtrl+Cといきなり打っていい。

※1バッチファイル作成方法
 上記フォルダ内でメモ帳(〇〇.txt)を適当に作り「Saver.bat」と名前を変える

*注意事項

サーバーとクライアントを同じコンピュータで動かす場合、データフォルダは別のフォルダを参照するように設定する必要があります。config-path.cfgで別の内容を参照するように設定。単純なのはzip版を解凍したものサーバーにし、インストーラー版をクライアントにすれば動くでしょう。

P2Pが必須だった頃の注意事項。今はデフォルトでクライアント/サーバ形式なのであまり気にしなくて大丈夫

factorioはP2Pなので、NAT側とWAN側を繋ぐにはポート転送設定が必要だよ。
NAT内でプライベートIPアドレス同士で遊んでる時は、グローバルIP側とは通信できないので気を付けて。
NATループバックとかNATヘアピンとかで、"NATの中でグローバルIPで通信する"事が出来ないなら、
VPNとかやって下さい。
※新規プレイヤーが参加する時、接続先のサーバ(担当者)から、
 現在遊んでいる参加プレイヤー全員のIPリストを渡して、
 新規プレイヤーはそのリストを基にP2Pで参加者全員と接続を試みるんだけど、
 プライベートIPのみで通信してる人がいた場合、プライベートIPが渡されるから、
 当然インターネット側からはプライベートIPに到達できない。という事。解りにくいね。
 勿論、全員がグローバルIP経由で通信してて、ポート転送してれば問題ない。

  • Hamachiを用いた方法
    Hamachiをインストール(アンマネージド)
    https://secure.logmein.com/jp/products/hamachi/download.aspx
    インストール後、起動して新規ネットワークを作成する。
    友人には既存のネットワークに参加するをしてグループに参加。
    後は上記の方法でプレイすれば大丈夫です。

GUIで立てる

起動時のメニューから「ゲーム」→「マルチプレーヤー」→「ニューゲーム」で新規にサーバーを立てることができます。仕様は同じですので、上記の内容を理解した上でNAT開放などの設定をして使ってください。
GUIで起動した場合、サーバーのゲームをし続ける必要があり(ポーズやセーブで中止は可能)、コマンドラインよりCPU・メモリ・GPUともに必要になりますが、自分も常に参加するようであれば別にクライアントを立ち上げるよりは軽くなるはずです。
サーバーを中断する場合はセーブして、次回立ち上げるときは「ゲーム」→「マルチプレーヤー」→「ロード」で再開できます。

項目説明該当server-config
名称公開サーバーの表題。一覧に表示。name
説明サーバー概要。選択されたときに表示される説明。description
表示状態公開形式。公開サーバー一覧に載せるには「公開」、LANはメニューからLANを選んだとき表示されるか。公開されなくともIPアドレスで接続は可能visibility
最大プレーヤ数最大受入人数。max_players
パスワードこのゲームに参加するのに必要なパスワードgame_password
タグタグ。公開サーバーでタグ表示される。tags
AFKオートキックユーザーがこの時間何もしなければkickafk_autokick_interval
オートセーブの間隔オートセーブの間隔autosave_interval
Luaコマンドの許可Luaコマンドの利用可能者指定allow_commands
Only admins can pause管理者のみポーズ可能かどうかonly_admins_can_pause_the_game
ユーザーを照合Factorioアカウントを使ってユーザーを認証するrequire_user_verification

Q&A

Desync(デシンク)について

  • Desync(デシンク)とは?
    • サーバーとの同期がうまくいっていない状態。
  • 一度、Desync(同期失敗)になると鯖を再起するしかない?
    • フォーラムには次のように書いてあった、動かないなら再起動した方がよいだろうとの事。
      1. Avoid connecting multiple players into the game at about the same time.
        Sequentially it works just fine.
      2. When a desync happen and players reconnect there might be multiple instances of players
        in the game.
        Check the /players command in the debug console. You can delete offline players by typing
        /c game.removeofflineplayer("username")
      3. If things break it is often safer to restart the whole game than just reconnecting
    • <日本語訳>
      1.同時に繋ぐと落ちるよ。順番に接続すればOK
      2.DESYNCが起こると、プレイヤーが再接続するとゲームのプレイヤーの複数のインスタンスがあるかもしれません。デバッグコンソールで /players コマンドを確認してください。あなたは次のように入力して、オフラインのプレイヤーを削除することができます /c game.removeofflineplayer("username")
      3.それでも壊れるなら再起動する方が安全です。
    • <ソース> 
      http://www.factorioforums.com/forum/viewtopic.php?f=53&t=6284&p=49545&hilit=game.removeofflineplayer
  • (2ch情報)上記を実施したらセーブデータそのものが壊れたという話もあるので、2.実施せず大人しく再起動推奨。
  • v0.11.2でremoveofflineplayer は removeofflineplayers で置き換わったとある。因数無しだと全プレイヤー削除されるらしい。
  • v0.11.3でgame.removeofflineplayersでクラッシュする問題がfix。
  • v0.12.1以降は不明。
  • v0.14で同時に接続すること自体は問題が少なくなりました。ただ、Desyncそのものは0.14でも起きる時がある。クライアント側だけで解決できるときもあれば、サーバーを再起動し直さなければならないときもある模様。
  • セーブデータからロードして入室して貰ってもDesyncするけどどうすればいい?
    • セーブデータが壊れてるか回線相性・帯域の問題。新規や他のセーブデータで動くならセーブデータがダメになってる可能性が高い(セーブデータが壊れるバグ報告forumに有り)。
    • 0.12.0以降、あまり再発しない模様。また長時間プレイで起こりやすくなるが、再起動で治るケース有り。

サーバーの仕様について

  • シングルプレイのセーブデータとマルチのセーブデータって別物?
    • 同じ物。シングルで遊んでたMAPをロードして、マルチで遊んでセーブして、再度シングルでロードして遊べる。
  • クライアントはオートセーブを切っておいた方が良い?
    • autosave_only_on_serverがデフォルトでtrueでクライアント側ではオートセーブしない。falseにするとセーブが全員に発生し、遅いクライアントはスキップされる内容が多くなるのでfalseにするなら間隔を長くするなど。サーバー側のセーブは全員が待つのでスペックがそれなりにあれば問題ない。P2Pの頃はセーブデータを使うために誰か一人セーブする人を決めておくといったことがあった。
  • サーバ(クライアント)が重たい
    • 0.14で大きく改善された。プレーヤがラグっていてもゲーム進行は止まらなくなった。
      サーバあるいは接続プレイヤーの処理待ち、或いは不具合等(ゲームが一時フリーズ、factorio.exeの停止)でタイムラグは発生する。
      誰かの遅延が影響することはなくなったため、誰が遅延しているのか、負荷が高いのかを確認する必要はなくなった。
      ただし、重たくなる状況は依然として存在する。以前は「回線速度の問題、CPU、メモリなど処理負荷の問題、オートセーブの間隔(セーブの瞬間、重くなる)、バイターと戦闘中」が挙げられたが、戦闘中の処理でカクつく程度になった。
      0.14現在では、他のユーザーの影響より、(不具合は別として)主にsyncすべき情報量とその転送速度と処理速度に帰結している。サーバーが細い回線だったり処理能力が低かったりすると、他のユーザーの影響もあり得るが対策はサーバー増強しかない。
  • マップの共有に時間がかかる
    • Factorioの転送速度はおおよその回線より細い(0.12の頃は数100kbpsが限界だった)が改善されたため、フルで転送するとサーバーサイドのネットワーク負荷もそれなりになる。サーバーの設定項目に転送制限があるので困っていれば検討を(ただし転送速度が遅いとCatch upする量が増えるので…)
    • リプレイはデフォルトでは無効になっている
  • どのOS同士でもできる?
    • Windows、Mac、Linux相互に接続し遊べます。
    • 32bit版と64bit版では接続に不具合がある。→v0.11.2で若干修正を入れたらしい→0.14.10以降、32bit版はマルチプレイはできなくなりました。
  • スタート位置や初期アイテムは?
    • 開始位座標は全員同じで全員が初期アイテムを持つ。
  • チャットのやり方は?
  • 日本語入力出来ないの?
    • factorioクライアント上では日本語入力出来ません。メモ帳を開くなどしてコピペ張り付けで発言は出来ます。入力するツールがあります。下記推奨事項参考。
      v0.16からクライアント上での日本語入力が可能になりました。もちろんコピペでの入力も可能です。
  • VPNでプレイできる?
    • サーバーとクライアント間でIP通信出来るネットワークに居ればVPNでもLANでもWANでも大丈夫。サーバー本体自身ではlocalhost指定、LAN内からはLANのIPアドレス指定、外部からグローバルIPアドレス指定で接続、いずれの方法でも同じサーバーにアクセスできます。
  • 英語サイトの"MP"って何?
    • マルチプレイの略。
  • プレイヤー名ってどこで変更出来るの?
    • 「オプション」→「その他」から変更すればいい。
  • 研究ってどうなるの?
    • サーバー参加者全員が同じ研究を修得する・した扱いになる。
    • 誰でも次の研究を選択できる。早いもの勝ちになってしまうのでよく相談しましょう。
  • 死んだらどうなるの?
    • 所持アイテムを失ってゲーム初期地点で再復活する。銃も防具も無い裸の状態なので注意。
      (v0.15から)一応死んだ場所でアイテム入りの死体が一時的に残るが、徐々に失われる。
  • 注意事項や禁止事項はある?
    • まだマルチプレイはテスト段階で、意図的に起こせる複数のバグや問題が報告されております。全員が以下に記載する既知問題を認識し、協力してプレイしましょう。知らない事があれば教え合いましょう。
  • マルチでPvPは出来る?
    • 出来ます。互いに打ちあったり、人の立てた建物を壊したり、ベルトコンベアの向き一部変えたり、パイプに違う液体を流したり、チェストの制限サイズを勝手に変えたり……。現状、制限はありません。
    • PvP MODを入れる事で、「バイタ―を生産する」行為を通じてPvPが出来るらしい。公式Foram参照。
    • v0.16からPvP用のゲームシナリオが公式に追加されました。→シナリオのPvP
      プレイヤー同士で競い、ゲームモード毎の勝利条件を満たすことで勝利となるモードです。
  • 次回接続した時手持ちアイテムや座標はどうなるの?
    • セーブデータの中に各プレイヤーの名前と持ち物・座標情報・アイテムフィルタ設定等の情報が存在している様子。マルチプレイヤーでロードした時はアイテム・座標が"プレイヤー名"で判定されて開始される。
    • ただし、まず公開サーバーについてはfactorio.comのアカウント名でしか接続できず、その名前の変更は執筆時点で1度だけは変更できる模様。当然他のユーザーと重複できない。また公開サーバーでない場合、まず重複プレイはできず、require_user_verificationがtrueの場合は公開サーバーと同様ログインしたクライアントでしか接続できない。
      以下は現状と少々異なる。

      接続元が誰だろうと関係ない(詐称や乗っ取りが可能。)。シングルプレイヤーでロードした場合は名前に関わらず、そのセーブデータを保存した人で始まる。同じプレイヤー名で複数の人が接続する事は可能だが、次回接続時に入れ替わりが発生する可能性はある。

      • 例1
        1,プレイヤーAはaaa、プレイヤーBはbbb、プレイヤーCはcccで遊んでいて、プレイヤーAがセーブする。
        2,プレイヤーAがプレイヤー名bbbにしてセーブデータをロードするとbbbのアイテム・座標で開始する。
        3,プレイヤーBがプレイヤー名cccにして接続するとcccのアイテム・座標で開始する。
        4,プレイヤーCがプレイヤー名aaaにしてさらに接続するとaaaのアイテム・座標で開始する。
        5,プレイヤーDがプレイヤー名aaaにしてさらに接続すると、既に他のaaaが居るので新規スタート扱いになる。
      • 例2
        1,プレイヤーA、B、Cの名前は全員hoge。
        2,プレイヤーAの持っていたセーブデータをファイル転送なりでBに渡す。
        3,プレイヤーBがhogeで再開すると"プレイヤーAのhoge"のアイテム・座標で開始。
        4,プレイヤーAがhogeでBに接続すると"プレイヤーB(or C?)のhoge"のアイテム・座標で開始。
        5,プレイヤーCがhogeでBまたはAに接続すると"プレイヤーC(or B?)のhoge"のアイテム・座標で開始。
        6,プレイヤーDがhogeでA,BまたはCに接続すると4人目のhogeは元々居ないので新規プレイヤー開始になる。
      • 結論:プレイヤー名を変えてマルチプレイロードすれば他人のインベントリと座標操作可能。例えば次回ロードまでに斧を外した状態で強化壁で何重にも囲んでおいたりとしたイタズラが出来る。(がユーザー名
  • キャラクターの色を変えたい
    • RGBAカラーで管理されている。以下のコマンドで変更可能。
      /c game.players[x].color = {r=0, g=0, b=0, a=0}
      [x]は /playersのリスト順の番号(上から1~)。
      一番上のプレイヤーならplayers[1]
      コードはhttp://prideout.net/archive/colors.phpなどから
  • カラー指定例
    白色→{r=255, g=255, b=255, a=0}
    赤色→{r=255, g=0, b=0, a=0}
プレイヤー間のラグ発生状況

プレイヤー間のラグ発生状況、遅延が生じているプレイヤーの確認方法
"F5"または"F6"を押す。
または"F4"のDebug settingsのalwaysタブのshow_multiplayer_waiting_statisticsにチェックを入れる。
画面右上、ミニマップ左あたりに、プレイヤー名:数字が表示されるので、数字が大きい人が自分から見て遅延している。

推奨事項

  • ゲーム内チャットはGRAVE[` @]キーで開始。日本語も打てる。(Luaコンソールと共通)
  • Discordなどを利用し、連絡手段を別に作ると楽。(IP交換や、接続順や接続開始・完了連絡用)
  • headless serverの場合、autosave周期はサーバ設定に依存する。
  • マップ幅や高さを決めた方が快適な場合がある。(マップが肥大化するとロード時間が長くなる)
  • バイターの量は少な目が吉。バイターが多いと襲ってきたり近づいたり(チャンクロード)する度に重くなることがある。

<フォーラムに報告があったcriticalっぽいバグ情報 v0.12.1 2015/7/21現在(要検証?)>

  • Dytechマルチで、GUIボタンを押したらクラッシュする。
    対処:押すな。

技術情報

コメント(質問、相談、雑談等)

  • 多少修正、後コメント行設置。質問を書いて置けば誰かが答えてくれるかも。 -- 2015-07-27 (月) 12:34:26
  • マルチプレイの時に日本語入力をコピペするの面倒だったから支援ソフト作った.FactorioChat -- TN? 2016-04-07 (木) 17:12:03
  • マルチで trying to call command,but it is not allowed と出てキャラの色変えができません・・・。許可するにはどうやったらいいんでしょうか(´・ω・`) -- 2016-04-14 (木) 04:05:59
  • 追記:OSはWin7、STEAM版でプレイしています -- 2016-04-14 (木) 04:07:13
  • サーバーを立てるときにLuaコマンドの許可:にチェックを入れる必要があります -- 2016-04-20 (水) 17:28:56
  • マルチプレイ時にModを導入する場合は、プレイヤー全員が同じバージョンのModを適用してプレイすればいいのかな? -- 2016-05-03 (火) 20:52:33
  • ↑さっきTreefarm-Lite 0.3.5と0.3.6で検証したら、バージョン不一致エラーが出たからバージョンも合わせる必要あるみたい -- 2016-05-03 (火) 21:48:50
  • IPV4だとほぼVPN必須なこのマルチプレイの仕様は嬉しくないな -- 2016-05-05 (木) 14:43:31
  • 協力だけじゃなくて、トロピコみたいに特定研究までの勝負とかそういうのが欲しいな -- 2016-05-09 (月) 07:14:15
  • P2Pのことしか書いてないような… -- 2016-05-14 (土) 15:25:21
  • Winでサーバーを立てながら同じPCでゲームは出来ない?Wikiによく読めば書いてある? -- 2016-05-26 (木) 22:49:56
  • サーバーもクライアントも同じFactorio.exeで動くから単純に説明通り起動しようとするとエラーになる。
    exeのコピーをServer_Factorio.exeとでも改名して、それをサーバーとして動かせば同一PCでサーバーとクライアント両方動かせるよ -- 2016-06-10 (金) 13:50:25
  • ↑ありがとうございます!返答が遅くなって申し訳ないです。 -- 2016-06-14 (火) 00:39:39
  • 公開サーバのリストってある? 立てたら誰か来てくれるかな -- 2016-06-21 (火) 23:04:52
  • http://wikiwiki.jp/factorio/?%A5%B5%A1%BC%A5%D0%A1%BC%BE%F0%CA%F3 -- 2016-06-21 (火) 23:27:03
  • ↑4 良い内容だから注意事項欄に移植して書いておいたです。  -- 2016-07-04 (月) 00:09:41
  • コピーを別名で同ディレクトリのなかにつくってもエラーになって起動できない。win10+Steamなんだけど関係あるかな? -- 2016-07-13 (水) 19:48:51
  • 自分も出来ないから仕方なくvmware使ってやってるよ 低スペではキツイと思うけど -- xx? 2016-08-20 (土) 23:59:28
  • データのディレクトリが同じ(デフォルトでuser\AppDir\Roaming\Factorio)な設定だとエラーになる。cfg dirを変えるかzip版を落としてきてそっちをサーバーにするか。 -- 2016-09-17 (土) 01:01:29
  • 2chの方で質問させて頂いた者です、server-settings.example.jsonは例?なのでそのまま編集しても無意味だと思うのですが、これはリネームして所定の場所にコピーしなければいけないのでしょうか? -- 2016-12-04 (日) 17:53:41
  • 0.14もほぼ固まったみたいなのでいろいろ手を加えました。間違いなどあったらご指摘いただくか修正願います。 -- 2016-12-04 (日) 17:55:16
  • 該当するところだけ修正して、置き場所はどこでもいいです。exampleのあったところに置いたなら、bin\x64\factorio.exe --s(略).zip --server-settings data\server-settings.json とか factorio.exe --(r ings ..\..\data\server-settings.json とかになります。お好きなように -- 2016-12-04 (日) 17:59:29
  • 無事設定を読み込んでくれたみたいです、どうもありがとうございました!実のところFactorioは2時間弱しかやってないのでこれからじっくり楽しんできます -- 2016-12-04 (日) 18:03:24
  • windowsでサーバー立てる方法書いてありました。 http://milwa.tumblr.com/post/152799804742/windows%E3%81%A7factorio%E3%81%AEdedicated-server%E3%82%92%E5%BB%BA%E3%81%A6%E3%82%8B -- 2016-12-05 (月) 20:41:03
  • 色々と消えてた(消されてた)記事とか復活させました。 -- 2017-05-01 (月) 03:31:16
  • 1度作ったアカウントの名前どうやって変えられるんですか? -- 2017-06-26 (月) 20:14:11
  • 認証サーバーに接続できませんでした。って出てくる -- 2018-02-18 (日) 23:09:56
  • 2018-02-18 (日) 23:09:56の方、情報を詳しく書いた上で質問掲示板へどうぞ。誰が読んでも、あなたのやりたいこと・やったこと・その結果何が起こったのか、が分かるように情報を添えてください -- 2018-02-19 (月) 01:22:32
  • Hamachiでマルチプレイしてるのですが、クライアント側の接続が不安定なのは回線の問題でしょうか? -- 2018-05-21 (月) 23:03:37
  • サーバー建てたあと、接続者が誰もいない状態の時はサーバーの進行を止めることって可能なのでしょうか?(バイターの進化度を抑制したい) -- 2018-06-30 (土) 17:26:24
  • Esc→ポーズで止まります headlessで建てた場合は接続0人になったら勝手に停止します -- 2018-07-01 (日) 12:15:16
  • あ、すみません。headlessで立てた場合でした。接続0人のとき勝手に止まってたんですね、ありがとうございます -- 2018-07-05 (木) 18:36:37
  • headlessの自動停止はserver-setings.jsonの"auto_pause"がそれ。未接続時自動停止。デフォルトはtrue(停止) -- 2019-01-01 (火) 02:02:37
  • hedless版ですがubuntuでも動作しました。 -- 2019-08-03 (土) 11:02:43
  • ファクトリオアカウントでログインしようとすると認証サーバーからの応答を解釈できませんでした。おそらくサーバーのエラーです」 -- tobe? 2019-09-30 (月) 13:47:15
  • とでてマルチができません -- 2019-09-30 (月) 13:47:58
  • とでてマルチができません -- 2019-09-30 (月) 13:47:59
  • とでてマルチができません -- 2019-09-30 (月) 13:48:00
  • とでてマルチができません -- 2019-09-30 (月) 13:48:00
  • とでてマルチができません -- 2019-09-30 (月) 13:48:00
  • とでてマルチができません -- 2019-09-30 (月) 13:48:03
  • Factorio公式にアカウントを作成済みでIDとパスワードも合っているなら回線が悪いんじゃないですかね・・・ 6連投してるし・・・ -- 2019-09-30 (月) 21:31:16
  • headlessのサーバプログラムのv0.16.51からv0.17系へのアップデートは可能でしょうか。factorio-updaterを試しましたが対応するバージョンが無いと言われました -- 2019-10-05 (土) 21:48:01
  • headlessのLinux版ですが、Ubuntu 20.04で動作を確認しました -- 2020-09-03 (木) 10:35:50
  • headlessのlinux版ですが、CentOS8で動作を確認しました。 -- 2021-01-11 (月) 03:36:48
  • "_comment_token": の部分、2022年10月時点では実装されてるようです。トークン利用でサーバー公開できました。 -- 2022-10-21 (金) 01:26:38

質問する前に

  • 上のコメント欄や質問掲示板FAQに解決策が載っているかもしれません。質問を書き込む前に探してみると手間が省けるかも?
  • 質問をして解決したら、答えてくれた人へのお礼・のちのち同じ疑問を持った人のために必ず返事を書きましょう。
  • マルチプレイは複雑な仕組みで成り立っています。情報を省略して「接続できないのですが」のように書かれても誰も解決できません。あなたの状況が回答者に伝わるように、できるだけ詳しく書きましょう。