客户端接入协议
FSD_Cangjie 兼容原版 FSD 客户端协议。报文为文本行,以 \r\n(或 \n)结束。命令由首字节决定类型。
登录
机组(Pilot)
#AP<呼号>:SERVER:<CID>:<密码>:<等级>:<协议版本>:<模拟器类型>:<真实姓名>1
管制(ATC)
#AA<呼号>:SERVER:<真实姓名>:<CID>:<密码>:<等级>:<协议版本>1
登录成功后,服务端会回发欢迎语(motd.txt)并向其他在线用户广播该用户的加入。
位置报告
机组位置(@)
@<标识>:<呼号>:<应答机>:<等级>:<纬度>:<经度>:<高度>:<地速>:<PBH>:<标志>1
- 纬度/经度为十进制度数;高度为英尺;地速为节。
PBH为打包的俯仰/横滚/航向位域。- 范围过滤:位置只广播给
getrange()距离内的其他用户,且不回发给发送者本人。 机组的可视范围与高度相关(约10 + 1.414·√高度海里)。
管制位置(%)
%<呼号>:<频率>:<席位类型>:<可视范围>:<等级>:<纬度>:<经度>:<高度>1
断开
#DP 机组下线(通知自身离线)
#DA 管制下线1
2
2
文本与通话(#TM / #SB)
#TM<来源>:<目标>:<文本>1
目标是呼号、*(全部)、*A(全部管制)、*P(全部机组)或 @<频率>(同频率)。
#SB 用于原始字节透传(如 GBK 中文 / 语音),不按 UTF-8 解码。
飞行计划($FP)
$FP<呼号>:SERVER:<机型>:<起飞机场>:<...> (字段见原版协议)1
支持提交、锁定、查询与迁移。
心跳($PI / $PO)
$PI / $PO Ping / Pong,用于服务器互联与保活1
气象(#WX / #RW)
请求 / 接收 METAR 气象数据。
强制下线($!!)
$!!SERVER:<呼号>:<原因>1
服务端据此通知客户端离开(不发送 #DP/#DA,由客户端自行处理移除)。
登录字段说明(机组)
#AP 各字段:呼号、固定 SERVER、CID(证书号)、密码、请求等级、协议版本、模拟器类型、真实姓名。