FSD_Cangjie:基于华为仓颉语言的飞行模拟通信服务器项目

可用于搭建模拟飞行通信服务,支持Swift等多种客户端接入。完整移植原FSD协议与功能,新增LDP FLY联飞客户端协议,提供多端口连接、管理命令及配置文件支持,结合仓颉高性能优势打造

分支1Tags0
文件最后提交记录最后更新时间
1 天前
20 小时前
1 天前
1 天前
1 天前
1 天前
1 天前
1 天前
1 天前
1 天前
1 天前

FSD_Cangjie

基于 华为仓颉(Cangjie) 语言的飞行模拟联机服务器(Flight Simulator Daemon)。 移植自 Marty Bochane 的 原版 FSD(公共领域),用仓颉重构并扩展,可运行于 Linux 与 HarmonyOS / OpenHarmony(aarch64)。

原版 FSD 为公共领域(public domain)。本项目的仓颉实现、并发模型与扩展功能归本仓库作者所有。

特性

  • FSD 协议兼容:#AA/#DP/$FP/@/%/$!! 等完整指令集,MOTD、位置广播、飞行计划、天气
  • 客户端接口 6809、服务器互联接口 3011、系统管理接口 3010、HTTP API 8080、语音 6808
  • 每连接独立的输出邮箱(OutBuf)+ 专属写线程,慢客户端不阻塞广播
  • 并发集合注册表、-O2 编译、可配置 maxclients
  • MySQL 认证(可选,失败自动回退 cert.txt)
  • HarmonyOS aarch64 原生可运行(仓颉 ohos 目标 + 代码签名)

目录结构

src/            仓颉源码
vendor/         MySQL 驱动(第三方)
unix/           Linux 部署:fsd_d.sh / killfsd.sh / deploy.sh / 示例配置
harmonyos/      HarmonyOS 构建脚本 + 3010 控制台客户端(admin)
cjpm.toml       构建配置

构建(Linux)

依赖:仓颉 SDK 1.2.0 + stdx。

source /opt/cangjie/envsetup.sh
export CANGJIE_STDX_PATH=/opt/cangjie/linux_x86_64_cjnative/static/stdx
cjpm build
# 产物: target/release/bin/main

构建(HarmonyOS / OpenHarmony aarch64)

需要:鸿蒙仓颉 SDK(cangjie-sdk-linux-x64-ohos-1.2.0)+ ohos-aarch64 stdx + OHOS sysroot(DevEco Studio 自带 sdk/default/openharmony/native/sysroot)。 详见 harmonyos/scripts/(_build_ohos.sh 等)。

产物需用 binary-sign-tool sign -selfSign 1 对可执行文件及所依赖的全部 .so 自签名,才能在鸿蒙 HiShell 中运行。

部署 / 运行

# Linux
cd unix && cp fsd.conf.example fsd.conf   # 编辑配置
./fsd_d.sh                                 # 启动/重启(优雅通知客户端后重启)
./killfsd.sh                               # 停止

# HarmonyOS:在家目录解压发布包后
./fsd_d.sh

系统管理接口(端口 3010)

telnet 127.0.0.1 3010        # 注意:host 与 port 用空格分隔
pwd <管理密码>               # 认证
help / clients / info / time
shutdown confirm             # 优雅关机

安全提示

  • 3010 管理接口只应绑定本机或内网,不要暴露公网(含默认密码时将极其危险)。
  • 务必修改默认管理密码,并保护好 fsd.conf / cert.txt(已在 .gitignore 中)。
  • 云服务器仅放行必要端口。

许可

本项目源码以 Apache-2.0 许可发布(见 LICENSE)。 原版 FSD 由 Marty Bochane 开发,列为公共领域,谨致谢意。

项目介绍

可用于搭建模拟飞行通信服务,支持Swift等多种客户端接入。完整移植原FSD协议与功能,新增LDP FLY联飞客户端协议,提供多端口连接、管理命令及配置文件支持,结合仓颉高性能优势打造

定制我的领域