Top > マルチプレイ
HTML convert time to 0.016 sec.


マルチプレイ

Last-modified: 2017-06-26 (月) 20:14:12

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

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

といったことができます。通常のゲームを複数人で行うことのほか、カスタムシナリオ(0.14時点でTeam-productionが追加)で目標を達成する対戦、将来的にはPvPと呼べるような対戦も検討されています。
公開サーバーを閲覧から手軽にサーバーへ参加できるようになったため、このページではサーバーを立てる解説がメインになっています。
サーバー情報では日本で参加を募っている公開サーバーを挙げています。

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

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

サーバー仕様 Edit

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

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

概要 Edit

  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 というようにオプションを指定する

コンソール Edit

Linux Edit

headlessは通常のゲームのデータが入っていないのみで、通常版のバイナリでも同じオプションを指定すればheadlessと同様に動作します。
LinuxのディストリビューションはCentOS7で動作確認しました、VPS等ではデフォルトCentOS6を幾つか確認していますがCentOS6ではライブラリが古くエラーになりfactorioが起動しません。CentOS7に再インストールしましょう。

  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設定した上で起動するか、
クライアントで設定してからコピーしておいて下さい。

使用出来るパラメータ
headless serverのバージョンアップ方法
ここから先は0.13.3のみ起動バグ回避の為に追記が必要

0.13.0以降の起動概要 Edit

  • セーブデータの作成
    # 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 Edit

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

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

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

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

終了はコマンドプロンプト上でCtrl+C。タスクマネージャー→タスクの終了ではデータがセーブされないので注意。コマンド(dirなど)が打ち込める状態で動いており(Unixでいうバックグラウンド動作に似て非なる状態)、c:\*>の状態でCtrl+Cといきなり打っていい。

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

*注意事項 Edit

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

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

GUIで立てる Edit

起動時のメニューから「ゲーム」→「マルチプレーヤー」→「ニューゲーム」で新規にサーバーを立てることができます。仕様は同じですので、上記の内容を理解した上で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 Edit

Desync(デシンク)について Edit

  • 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以降、あまり再発しない模様。また長時間プレイで起こりやすくなるが、再起動で治るケース有り。

サーバーの仕様について Edit

  • シングルプレイのセーブデータとマルチのセーブデータって別物?
    • 同じ物。シングルで遊んでた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クライアント上では日本語入力出来ません。メモ帳を開くなどしてコピペ張り付けで発言は出来ます。入力するツールがあります。下記推奨事項参考。
  • VPNでプレイできる?
    • サーバーとクライアント間でIP通信出来るネットワークに居ればVPNでもLANでもWANでも大丈夫。サーバー本体自身ではlocalhost指定、LAN内からはLANのIPアドレス指定、外部からグローバルIPアドレス指定で接続、いずれの方法でも同じサーバーにアクセスできます。
  • 英語サイトの"MP"って何?
    • マルチプレイの略。
  • プレイヤー名ってどこで変更出来るの?
    • 「オプション」→「その他」から変更すればいい。
  • 研究ってどうなるの?
    • サーバー参加者全員が同じ研究を修得する・した扱いになる。
    • 誰でも次の研究を選択できる。早いもの勝ちになってしまうのでよく相談しましょう。
  • 死んだらどうなるの?
    • 所持アイテムを失ってゲーム初期地点で再復活する。銃も防具も無い裸の状態なので注意。
  • 注意事項や禁止事項はある?
    • まだマルチプレイはテスト段階で、意図的に起こせる複数のバグや問題が報告されております。全員が以下に記載する既知問題を認識し、協力してプレイしましょう。知らない事があれば教え合いましょう。
  • マルチでPvPは出来る?
    • 出来ます。互いに打ちあったり、人の立てた建物を壊したり、ベルトコンベアの向き一部変えたり、パイプに違う液体を流したり、チェストの制限サイズを勝手に変えたり……。現状、制限はありません。
    • PvP MODを入れる事で、「バイタ―を生産する」行為を通じてPvPが出来るらしい。公式Foram参照。
  • 次回接続した時手持ちアイテムや座標はどうなるの?
    • セーブデータの中に各プレイヤーの名前と持ち物・座標情報・アイテムフィルタ設定等の情報が存在している様子。マルチプレイヤーでロードした時はアイテム・座標が"プレイヤー名"で判定されて開始される。
    • ただし、まず公開サーバーについてはfactorio.comのアカウント名でしか接続できず、その名前の変更は執筆時点で1度だけは変更できる模様。当然他のユーザーと重複できない。また公開サーバーでない場合、まず重複プレイはできず、require_user_verificationがtrueの場合は公開サーバーと同様ログインしたクライアントでしか接続できない。
      以下は現状と少々異なる。
  • キャラクターの色を変えたい
    • 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}
プレイヤー間のラグ発生状況

推奨事項 Edit

  • ゲーム内chat([@]キーでチャット開始。
  • そのままでは日本語入力はできない。
    外部メモ帳などに書いた文章をチャット欄にコピペ(Ctrl + Vキー)することで日本語発言は可能。
    FactorioChat FactorioKanji を利用すればコピペせずに日本語が打ち込める。
  • 連絡手段を別に作ると楽(IP交換や、接続順や接続開始・完了連絡用)
  • headless serverの場合、autosave周期はサーバ設定に依存する。
  • マップ幅か高さを決めた方が快適かもしれない(マップが広いとセーブデータが肥大化してロードに時間がかかる)
  • バイターの量は少な目が吉。バイターが多いと襲ってくる度に凄く重かったり戦闘中Desyncしやすかったり。

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

技術情報 Edit

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

  • 多少修正、後コメント行設置。質問を書いて置けば誰かが答えてくれるかも。 -- 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

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White