列車信号(Train Signals)
2026-05-22
Factorioの列車信号ガイド。ブロック、チェーン信号、デッドロック、待機エリアなど列車運用の基本とトラブル対処を解説。
レール信号は Factorio で機能する鉄道システムを運用するために不可欠な部品で、 ここの基本を理解しているかどうかで列車網の組みやすさがまるで違ってきます。
本チュートリアルでは、 なぜ信号が必要か・どう使うか・チェーン信号の仕組み・デッドロックとは何か・どう回避するか、 という流れで一通り押さえていきます。
目的は、 読者が鉄道システムをスムーズに稼働させ、 よくある問題を自分で診断・修正できる状態まで持っていくことです。
頻出の問題例やユースケースも一緒に紹介していくので、 実プレイで詰まったときの参照リストとしても使えるはずです。
前提となる構成
並列複線を基準にする
このチュートリアルでは、 上下方向それぞれに 1 本ずつの 2 本並列の線路構成を基準として使います。
入門者には、 1 本の双方向線路よりもこの構成を強く推奨します。
双方向単線は列車が増えると問題を引き起こしやすく、 早い段階で詰まりが見え始めるからです。
レーダーで把握しやすくする
交差点の近くにレーダーを置いて、 問題が起きた箇所を素早く把握できるようにしておくのもおすすめのテクニックです。
鉄道網は規模が大きくなるほど目視確認が大変になるので、 重要な交差点ごとに監視ポイントを置く習慣をつけておくと、 後々の運用とトラブルシュートがだいぶ楽になります。
給油を最初に自動化する
新しい列車や駅をシステムに追加したら、 できるだけ早く給油の自動化を設定することを推奨します。
列車は通常の運行スケジュールの停車駅で給油する (これには燃料を駅へ運ぶ必要がある場合とない場合があります) か、 別に燃料駅をスケジュールに加えて給油することができます。
最大列車長を先に決める
最後に、 設計の前に最大列車長を決めておくのが鉄道網設計の定石です。
最大列車長が決まれば、 信号間隔・駅・待機エリアの設計をすべてその長さに合わせて作れるようになるので、 後から「列車を長くしたら駅に収まらない」 「信号間隔が足りなくてデッドロックが起きる」 といった事故を構造的に防げる、 という大きなメリットがあります。
通常信号とブロック
ブロック分割の仕組み
線路上に列車が複数いる場合、 衝突の可能性があります。
これを防ぐために、 線路上や交差点に信号を設置していきます。
信号は線路を ブロックと呼ばれる区画に分割し、 「各ブロックに入れる列車は 1 編成だけ」 というルールを強制します。
既に占有されているブロックに入る方向の信号は赤を示し、 そこで入ろうとする列車は信号で停止する、 というのが基本の動きです。
プレイヤーが信号を手に持っているとき、 線路上にブロックが色付きで表示される、 という便利な可視化機能があります。
これらの色はブロックの可視化用で、 信号灯の色とは関係ありません。
レール信号とチェーン信号はブロックを分断しますが、 駅 (Train stop) はブロックを分断しないという地味な仕様があり、 この点を覚えておくとブロック構造の理解で混乱しにくくなります。
信号の色 (緑・黄・赤)
通常の (レール) 信号は、 後ろのブロックに列車がいないときは緑になります。
列車がブロックに入ると、 そのブロックに入るすべての信号が赤に変わる、 という挙動です。
列車が入ろうとしている途中では、 その直前に信号が黄色になり、 ブロックが入ってくる列車のために予約されていることを知らせます。
黄色は、 まだ列車がブロック内部にはいない状態の「予約済み」 を意味する色です。
信号は線路の右側に置く
信号は線路の右側に設置し、 列車は走行方向から見て右側にある信号だけを通過できる、 というルールがあります。
双方向に列車を走らせるには、 並行して 2 本の線路を敷くか、 線路の両側に信号を置く必要があります。
自動運転中の列車は、 左側の信号だけを通過してはいけません。
もしその場所に右側の信号がなければ、 そこは通れないという扱いになります。
これが原因で、 見た目では線路がつながっているのに「経路なし (no path)」 エラーが出るケースがあります。
「接続の一部が一方通行になっている」 状態です。
チェーン信号
交差点で待たせない原則
列車が交差点で待機すると、 同じ方向でない列車も含めて、 交差点を共有する他の列車が一気に待たされることになります。
これらの列車がさらに別の列車を待たせて、 結果的にシステム全体の流れが遅くなる、 という連鎖が起きるのが、 鉄道網の最も典型的な詰まり方です。
交差点で列車が待つことは避けるべきで、 Factorio では チェーン信号を使ってこれを防ぎます。
仕組み
ブロックの入口がチェーン信号で守られている場合、 列車は次のブロックにも入れる場合にのみ進入します。
チェーン信号の先のブロックに入った後で長時間そこで待つことはできない、 という制約が効きます (通常の信号の後なら待てます)。
列車は交差点で待つべきではないので、 ここに対しては Factorio コミュニティでよく知られたシンプルなルールが共有されています。
交差点の内部および交差点の直前にはチェーン信号を使い、 交差点の出口には通常のレール信号を使う。
一般に、 待機している列車が別の線路を走る列車の進行を妨げる可能性がある場合は、 その箇所には基本的にチェーン信号を使うべき、 という原則として覚えておくと、 配置の判断が早くなります。
チェーンが連続する場合
チェーン信号が連続して並ぶ場合、 列車は通常信号 (または目的地駅) までの経路が完全にクリアである場合にのみ進入します。
最初のチェーン信号を通過すると、 列車は経路上の全てのブロックを予約し、 そのブロックを離れるまで他の列車がそのブロックを通れないようにする、 という挙動になります。
あるチェーン信号が、 出力側に一つしか信号がないブロックにつながっている場合、 そのチェーン信号は常にその出力側の信号と同じ色になります。
線路が分岐する場合、 出力の一方が赤でもう一方が緑、 ということがあります。
その場合、 チェーン信号は 青 に点灯し、 列車は占有されたブロックに入らない経路であれば進入を許可されます。
列車の運転士は青信号を見ても待つべきかどうかわかりませんが、 ゲーム内ではこのルールで正しく動作します。
ブロック分割とスループット
単一ブロック交差点の限界
交差点が単一のブロックで、 その入口にチェーン信号・出口に通常の信号があるだけなら、 同時に交差点にいる列車は 1 編成までになります。
交差点は動作はしますが、 並列性が出せない、 という限界があります。
多ブロック分割でスループット改善
交差点を複数のブロックに分割して信号を置けば、 複数の列車が同時に通れるようになり、 大きくスループットを向上させられます。
長い直線でも信号で区切れば複数編成が同時に走行できるようになるので、 ここでもベルトレベルの細かい刻みでスループットが伸ばせる、 という嬉しい性質があります。
チェーン信号の使いすぎに注意
ただし、 ネットワークにチェーン信号が多すぎると、 列車がチェーン信号を通過するときに非常に多くのブロックを予約してしまい、 他の列車を制限してしまう場合があります。
これは全体のスループットを低下させる典型的なアンチパターンで、 可能な限り通常の信号を使い、 チェーン信号は必要な箇所だけに絞る、 というのが推奨されます。
デッドロック
何が起きるか
信号を使うことで列車同士が互いに待ち合う状況が発生します。
列車の連鎖ができて、 それぞれが次の列車を待ち、 最後の列車が最初の列車を待つ、 という循環待機が起きることがあります。
これをデッドロックと呼びます。
デッドロックが起きると列車は永遠に (あるいは手動で解消されるまで) 待ち続けるので、 そのエリアを通る全列車が止まってしまうという致命的な状態に陥り、 工場全体の生産が連鎖的に止まる、 という大事故に直結します。
主な原因
デッドロックの最も頻繁な原因は、 以下の 2 つに集約されます。
- 交差点で列車が待っていること
- 列車の収容量に対して線路スペースが足りないネットワーク設計
通常のレール信号だけを使ったために交差点で待機が発生し、 デッドロックになるというのは典型例です。
修正された交差点では、 交差点の前後にある 8 つの信号をチェーン信号に置き換えて、 交差点から出る信号はそのまま通常の信号で構わない、 という設計に書き換えます。
「交差点の前と内部にはチェーン信号」 という前述の原則を、 そのまま当てはめる形になります。
円環ループのデッドロック
別パターンとして、 ネットワークに円環 (ループ) があり、 その円環を格納できる以上の列車が使ってしまった場合に発生するデッドロックもあります。
信号そのものは正しくても、 デッドロックを解消するには円環を撤去するか、 そのエリアを通る列車数を減らす必要があります。
このタイプのデッドロックは、 狭い円環に列車が多すぎたことでも発生します。
最小で 2 編成でもデッドロックが起こりうる、 というのが地味に恐ろしい点で、 「ついさっきまで動いていたのに気づいたら全部止まっている」 という、 きわめて再現が難しいタイプの事故が起きます。
駅単位での対策
この場合、 指定された信号をチェーン信号に置き換えれば、 問題の円環に入れる列車を 1 編成に制限できるため、 デッドロックを回避できることがあります。
ただしそうすると本線上で列車が待機して他の交通を妨げる可能性もある、 というトレードオフがあります。
駅は同時に受け入れられる到着列車が 1 編成だけで問題が起きないよう、 駅の編成数制限 (train limit) を 1 にするか、 そもそも 1 編成だけを割り当てるべきです。
別案として、 駅へ向かう列車のための待機エリア (後述) を作る、 という方法もあります。
列車長と信号間隔
短すぎる交差点間隔
2 つの T 字交差点間で起きるデッドロックを考えてみます。
交差点で列車が待機している間に、 その列車の後部が前の交差点に残っているために発生する、 というタイプです。
各交差点の信号配置自体は正しくても、 列車の長さを考えると交差点同士の間隔が狭すぎる、 という状況です。
これらを 1 つの大きな交差点と見なすべき、 とも言えるシチュエーションになります。
3 つの修正方法
修正方法は 3 つあります。
- 両交差点の間にある通常信号をチェーン信号に変える
- 交差点同士の距離を広げる
- 全列車を短くする
信号間隔の原則
交差点の出口信号の後、 次の信号は、 システムで最長の列車がその間に収まるだけの距離を確保する必要があります。
一般的に、 通常信号の後には最低でもそれだけの空間が必要、 と覚えておくとよいです。
鉄道システムを設計する前に最大列車長を決め、 それを守ることを推奨します。
そうすれば信号ブロックの間隔を最大長に合わせて設計できる、 ということです。
設計例
T 字交差点 (3 方向分岐)
T 字交差点は基本的な 3 方向分岐の例です。
交差点内部に信号を配置しておくことで、 場合によっては複数の列車が同時に交差点に入れるようにしています。
例えば左から右へ進む 1 編成と右から左へ進む 1 編成が同時に交差点を通る場合、 列車は異なるブロックを通ります。
前者は左側の黄色ブロック・青ブロック・右下の黄色ブロックを通り、 後者は上側の黄色と上側の赤ブロックを使う、 という具合に経路を分けて並走させられる、 という設計です。
異なるブロックを使うため、 同時通行が可能になります。
これは交差点の動作に必須ではありませんが、 低コストでスループットを向上させる、 という地味に効くテクニックです。
待機エリア (Stacker)
複数の列車が同じ駅を使う場合、 列車は本線上で待機しネットワークで渋滞やデッドロックを引き起こす、 という典型問題があります。
これを避ける方法の一つが、 各駅に列車の待機エリアを追加することです。
待機エリアへ入る信号は通常の信号にします (ここは列車が長時間待つことが期待されるため)。
待機エリアから駅へ向かう出口側の信号はチェーン信号にします (待機エリアから駅までの区間はブロックされていてはいけないため)。
駅自体は別々のブロックにしておくことで、 複数駅を同時に使用できるようにする、 というのが定番の組み方になります。
並列型と順序型
待機エリアの設計には、 並列型と順序型 (シーケンシャル) の 2 種類があります。
並列型は拡張が容易で、 スペース効率が良く、 複数駅で共有できる、 という特徴を持ちます。
順序型は設定が簡単ですが、 複数駅で共有することはできません。
待機エリアはしばしば「スタッカー (stacker)」 と呼ばれます。
Factorio 鉄道の用語として、 そのままの名前で広く使われています。