本手册面向铺设铁路的建筑师,讲怎样把一段 TrainCarts 线路建成由 FTCA 调度的线路:放哪些牌子、怎么建调度图、怎样录入交路与时刻表,以及线路布局对信号与容量的影响。
文中的配置项与默认值以插件当前版本为准;服务器管理员可能修改过配置。带「建议」字样的条目是布局经验,不是插件强制的规则。
FTCA 的调度图只由节点和节点之间的区间组成,不按轨道方块建模。一片线网里如果一块 FTCA 节点牌子都没有,就不算 FTCA 接管的线路。
节点类型:车站(STATION)、车库(DEPOT)、区间点(WAYPOINT)、道岔(SWITCHER)、跨世界传送门(PORTAL,实验功能)等。
节点 ID 由冒号分段,第 1 段是运营商代码:
| 种类 | 格式 | 示例 |
|---|---|---|
| 车站 | 运营商:S:站码:股道 |
SURN:S:PTK:1 |
| 车库 | 运营商:D:库码:股道 |
SURN:D:LVT:1 |
| 区间点 | 运营商:起站:到站:股道:序号 |
SURN:PTK:GPT:1:00 |
| 站咽喉 | 运营商:S:站码:股道:序号 |
SURN:S:PTK:1:01 |
| 库咽喉 | 运营商:D:库码:股道:序号 |
SURN:D:LVT:1:01 |
S 或 D。SWITCHER:世界:x:y:z),不需要手写。公司 → 运营商 → 线路 → 交路 / 车站。
交路按用途分三种:CREATE(出库,首站是车库)、OPERATION(载客运营)、RETURN(回库)。
| 行 | 内容 |
|---|---|
| 第 1 行 | [train] 或 [cart] |
| 第 2 行 | 牌子类型:waypoint、autostation、depot、switcher、stopmark |
| 第 3 行 | 节点 ID(switcher 留空,stopmark 写适用节数) |
| 第 4 行 | 附加内容(车站的开门方向、车库的出车编组、停车位置标的开门车厢等) |
[cart] 牌子只在车头经过时触发一次;需要整列触发的场合用 [train]。[train]
waypoint
SURN:PTK:GPT:1:00
[train]。[train]
autostation
SURN:S:PTK:1
W
运营商:S:站码:股道。N、E、S、W、NE、NW、SE、SW、BOTH(两侧开门)或 NONE(不开门);NORTH、NORTH_EAST 等写法。doorL、doorR 两个门附件在该方向上的位置,开朝站台那一侧的门。第 4 行空着或写错,一律按不开门处理:列车照常停站、停够时间,但车门不开。已有车站出现“到站不开门”时,先检查这一行。
[train]
depot
SURN:D:LVT:1
4m
运营商:D:库码:股道。4m。[train]
stopmark
car:4
door:1-3
car:4(也可写 carriage:4),也可写 car:4,6、car:3-5 或 car:*(任意节数)。适用的列车停站时,车头停在这块标所在的位置。door:1、door:1,3、door:2-4,从车头(行进方向上的第一节)数起。不写或写 door:* 时全车开门。站台比列车短时,用它只开站台范围内的车厢。car:3-6 配 door:4-6 无效:3 节编组没有第 4–6 节。fetarute.sign.stopmark。[train]
switcher
[portal] 牌子只在配置 graph.cross-world: true(实验功能)时进入调度图,一般线路不需要。
/fta graph sign set waypoint|autostation|depot <节点ID> 可以直接把视线所指的牌子写成节点牌子(权限 fetarute.graph.sign)。
这条命令会清空第 4 行。用在车站牌上,开门方向就没了,写完要手动补上。
FTCA 的信号按资源占用工作:每个区间、每个节点都是一份资源;连到道岔的区间还要占用该道岔的冲突资源。列车只有拿到前方若干个区间的占用,才得到行车许可。原理详见信号与列车防护。
S:站码:1、S:站码:2)并配道岔。--all、refresh 或只建局部图时,联锁资料不完整,系统会保守地把相关进路串行,降低容量。/fta graph build --maxChunks 2048
玩家执行时,从附近沿轨道发现节点,并按需加载区块:起点优先取 TCC 选中的轨道(加 --tcc),其次 4 格内的节点牌子,再次脚下的轨道。只有这样构建才能覆盖整个连通分量,得到完整的联锁资料。
| 参数 | 作用 |
|---|---|
--maxChunks n |
本次最多加载多少区块,默认 256;达到上限会暂停 |
--tickBudgetMs ms |
每 tick 的耗时预算,默认 10 |
--tcc |
从 TCC 编辑器选中的轨道开始 |
--all |
只扫描已加载区块里的节点牌子,不沿轨道发现、不加载区块(控制台只能用这个)。结果是局部的,联锁资料不完整,适合诊断 |
maxChunks 暂停后,用 /fta graph continue 续跑;/fta graph status 查看进度,/fta graph cancel 取消。/fta graph refresh:节点牌子没变、只改了轨道时使用。按库里现有的节点重新探索区间,不加载区块,联锁资料按不完整发布;需要完整联锁时仍要 build。/fta graph extend:在线网边缘延伸新线时使用。只把新放的节点牌子补进图,从新节点往没探索过的方向走,不改动已有区间。受影响的旧区段、联锁区都空闲时,可以在运行中执行,不必全网停车。以下情况 extend 会拒绝,并提示改用 build:
/fta graph info 确认连通分量、孤立节点与联锁资料完整度。/train reroute,让在跑的列车按新图寻路。增删 waypoint、autostation、depot 牌子后,调度图与牌子不再一致:
/fta graph info 提示“调度仍在使用此图”,建议重建。期间列车经过新放的牌子时,不会按它推进。/fta graph info 提示“调度图快照已失效”,该世界的调度在重建前停摆。处理方法:
fetarute.graph.alert 权限(默认 OP)的玩家会收到告警,列出变化的节点与坐标,并附重建按钮;控制台同时记录警告。牌子按原样放回、或重建完成后,会通知已恢复;上线时也会提醒仍未修复的世界。用 WorldEdit 等工具批量改动时,尤其要留意这条告警。/fta graph extend 增补;其他情况用 /fta graph build 重建。/fta graph refresh。/fta graph query、path、component:查询节点、路径与连通分量(节点 ID 要加引号)。/fta graph edge speed|restrict|block|get|overrides:区间限速、限制与封锁。/fta graph conflict list|edge|path|interlocking:查看冲突与联锁。/fta speed section ...、/fta speed stick give <速度>:设置区间限速。/fta graph debugstick give(权限 fetarute.graph.query)。左键点两个节点看区间或路径,潜行左键看节点信息。/fta graph delete、delete here:删除调度图数据。/fta company create <代码> <名称> [第二名称]
/fta operator create <公司> <代码> <名称> [第二名称]
/fta line create <公司> <运营商> <代码> <名称> [第二名称] --freqBaseline <秒>
/fta line depot add <公司> <运营商> <线路> <车库节点ID> [权重]
line depot add 维护这条线可以出车的车库。
/fta station set <公司> <运营商> <站码> --name <名称> --secondary <第二名称>;/fta station list|info 查看。/fta station group ...。/fta route create <公司> <运营商> <线路> <代码> <名称> [第二名称] --operation OPERATION
/fta route editor give ...
/fta route define <公司> <运营商> <线路> <交路>
/fta route validate ...
停靠表写在编辑书里:手持编辑书右键节点牌子、对应的轨道或 switcher 牌子,可以把节点 ID 追加进书里。书写规则:
PASS(通过)、STOP(停车)、TERM(终点),不写时为 STOP;dwell=<秒> 设停站时间;CRET <节点ID> 只能写在首行(出库交路的起点车库),DSTY <节点ID> 只能写在末行(开去销毁的车库);STOP DYNAMIC:SURN:S:PTK:[1:3] 表示在 1–3 股道中动态选一股。常见报错:“第 N 个停靠点缺少图节点”“停靠点之间不可达”——先建图,或用 /fta station set ... --node 绑定节点,再检查连通分量。
spawn.enabled 默认为 false,需要打开。--freqBaseline。CRET。--pattern > 交路绑定的编组方案(见下节)> 交路的 --spawn > 车库牌子第 4 行。spawn.max-active-trains(默认 16)。/fta depot spawn <公司> <运营商> <线路> <交路> "<车库节点ID>"(权限 fetarute.depot.spawn)。/fta spawn plan|diagnose|queue|pending。一条交路要按比例混发几种车型(例如 6 节与 8 节编组)时,使用编组方案。
/fta consist create <公司> <运营商> <方案名>
/fta consist define
/fta route set <公司> <运营商> <线路> <交路> --consist-plan <方案名>
create 发一本空白方案书(edit <公司> <运营商> <方案名> 把已有方案载入书中)。权重 编组写法,| 之后可写覆盖项 键=值;# 开头的行不生效。define,校验通过后保存。/fta route set ... --consist-plan <方案名> 把方案绑定到交路(--consist-plan-clear 解除)。# 6 节为主,8 节补充
3 SH_A6
1 SH_A8 | name=8 节编组 | type=emu
上例表示两种编组按 3:1 的班次份额发车。
%(出车结果会随机)。name(显示名)、type(车种)、accel、decel、max-speed(最高速度,可写单位如 max-speed=80kmh、22bps;不写单位时按格/秒,旧写法 max-bps 照用)。/fta consist profile <编组写法> 可查看插件读到的档案。同一编组在本公司各方案中的覆盖项须一致。* 代表任意个字符,? 代表一个字符。例如 /fta route set <公司> <运营商> <线路> "*" --consist-plan <方案名> 一次绑定整条线路,"MT-*" 只绑定代码以 MT- 开头的;按 Tab 会补全 "*" 与常用的前缀通配。批量范围包括出库与回送运行图(结果里标出「出库」「回送」),批量关闭出车或改交路组时留意别把回库也停了。批量只能改出车相关的项(--spawn、--consist-plan、--spawn-enabled、--spawn-weight、--spawn-group 及对应的 -clear)。代码本身带 * 或 ? 的运行图按单条处理。/fta spawn consist 查看各交路的车型份额(重启后从零计)。/fta consist info|list|delete(删除要加 --confirm)。TERM 时,列车留在终点待命,等下一趟复用;TERM 之后还有 DSTY 时,开去车库销毁。timetable.enabled 与 timetable.spawn-enabled(默认都是 false)。/fta timetable build <公司> <运营商> <线路> <代码> [--headway ...],确认后 publish 发布;另有 config、info、list、delete。/fta timetable status 末尾显示编表进度(阶段、本阶段用时、已完整构建几次);/fta timetable cancel <任务号|线路/代码> 取消编表。同一条线的同一代码正在编时,不能重复 build。/fta train config set [列车] --type metro --accel 1.1 --decel 1.2 --power ptg5 --max-speed 80kmh
/train edit 选中的车。--max-speed 可写单位:80kmh、22bps、1.1bpt;不写单位时按格/秒。type、accel、decel;mode、mt、power、max-speed 只用于玩家驾驶。metro、emu、dmu、diesel_push_pull、electric_loco。没有打标签的车,按出车编组名推断(名字含 metro、tram、light_rail 的视为 metro)。--power:ptg5、ptg6(受电弓)、shoe(第三轨)、diesel、supercap(超级电容)。| 用途 | 名称 |
|---|---|
| 车门 | doorL、doorR(旧车兼容 doorL10、doorR10) |
| 开关门提示音 | sequencer 附件 doorOpenChime、doorCloseChime、doorChime |
| 受电弓 | ptg5、ptg6(第三轨没有动画) |
animate 牌子升弓,发车时插件自动降弓。driver、cab、驾驶、驾驶座 或 驾驶室。可以在 TrainCarts 附件编辑器里命名,也可以坐在座位上输入 /fta train attachment set driver_seat(取消用 unset),回复会说明这个座位算车头端、车尾端还是不算。命令只改眼前这列车,要让以后出库的车也带上标记,请用 /train save 保存回存车;座位在共用模型(model 附件)里时请改该模型。
/fta pids give <布局> 领取安装纸,手持安装纸右键其中一个展示框。布局有 platform-1x3、platform-1x4、platform-2x1、station-3x5、status-3x5。/fta pids stick 领配置棍,绑定车站与站台。status-3x5)可以不绑车站、只绑运营商,适合挂在大厅等不在车站的地方:在配置棍菜单的「运营商」一行选择,或输入 /fta pids set <屏幕> operator <运营商>。附近没有车站时装上的状况屏,会先绑安装者能管理的运营商。运营商可以在站台屏上轮播公告(施工、改线、活动等)。公告只上站台屏,不发聊天消息。
/fta pids bulletin new <公司> <运营商>
执行后打开对话框,填写以下内容:
| 项目 | 说明 |
|---|---|
| 等级 | 一般(钢蓝色)或重要(琥珀色) |
| 标题 | 中文必填(最多 24 字),英文选填 |
| 正文 | 中文最多 200 字,英文最多 400 字符 |
| 车站、线路 | 填代码,用逗号或空格分隔,须是本运营商已有的;留空表示不限 |
| 开始、结束 | 按服务器时区,可写 2026-10-05 22:00、10-05 22:00 或 22:00(今天);开始留空为立即,结束留空为长期 |
pids.yml 的 render.bulletin-seconds);一页放不下时先显示中文页、再显示英文页。/fta pids bulletin list [页] 列出公告,info <公告> 查看详情与各种屏幕上的页数,edit <公告> 修改,remove <公告> 撤下。公告编号可只写前 4 位以上。fetarute.pids.manage 可管理全部公告;公司的所有者、经理、职员可管理本公司的公告。带「AutoStation」字样的日志是调试日志:需要在 config.yml 设 debug.enabled: true 并执行 /fta reload,日志前缀为 [DEBUG]。
| 日志或提示 | 处理 |
|---|---|
AutoStation 跳过: 无法判定开门世界方向 (worldDoorDirection=NONE …) |
车站牌第 4 行空了或写错,补写开门方向;写了方向仍出现时,检查模型是否有 doorL、doorR 附件 |
AutoStation 跳过: 未匹配 RouteStop (… node=…) |
交路的停靠表里没有这个车站或节点 |
AutoStation 跳过: 无法解析节点 |
牌子格式不对 |
AutoStation 跳过: 缺少 FTA_ROUTE_ID |
这辆车不是 FTCA 出的车 |
| 节点 ID 冲突 | 同一个节点 ID 用在了两块牌子上。去旧坐标所在区块让它加载,再重放牌子 |
| 有 N 个探索方向超过上限仍未遇到节点 | 在提示坐标附近补节点牌子,或截断轨道后重建 |
| 调度图快照已失效 | 有交路在用的节点牌子被增删或移动。重新建图(新节点都在线网边缘时可用 extend),再执行 /train reroute |
| 节点牌子与调度图不一致……调度仍在使用此图 | 变化的节点没有交路在用,调度照常运行;找时间重建或 extend |
| 未在已加载区块中扫描到任何节点牌子 | 用了 --all 或 refresh 而线路区块未加载。站到线路旁重试,或去掉 --all 沿轨道构建 |
| 调度图未切换……仍有列车占用 | 先让列车停下、清空占用再重建 |
| 第 N 个停靠点缺少图节点 / 停靠点之间不可达 | 先建图,或用 station set --node 绑定节点;检查连通分量 |
| 自动发车失败:缺少 spawn pattern / 未找到 depot 牌子 | 补车库牌第 4 行或交路的 --spawn;检查车库牌的节点 ID |
PROGRESS_STUCK(进度停滞) |
列车 60 秒没有前进。在终点站出现时,检查:最后一站是否为 TERM;是否有首站同站的下一条交路;终点是否为不能会让的单股道 |
/fta company create、/fta operator create。/fta line create ... --freqBaseline <秒>。switcher(第 3、4 行留空);waypoint,站咽喉、库咽喉也放 waypoint;autostation,第 4 行务必写开门方向;需要时放 stopmark;depot,第 4 行写出车编组;/fta graph build --maxChunks <足够覆盖整个线网>,达到上限就 /fta graph continue;处理所有尽头线与重复节点 ID 的警告;用 /fta graph info 确认联锁资料完整;最后 /train reroute。/fta station list 确认车站已自动建好,用 /fta station set ... --name 改显示名。/fta route create,用编辑书写停靠表,/fta route define,再 /fta route validate。/fta line depot add、/fta route set --spawn <编组>。/fta depot spawn ... 手动出一辆车,打开调试日志观察停站与开门,用 /fta train debug 看控车状态。spawn.enabled 并 /fta reload;需要按表运行时再打开时刻表,/fta timetable build 后 publish。