XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
UTF-8

OpenEliteDangerous

English | 简体中文

面向 Elite Dangerous: Odyssey 的非官方互操作性实验项目,使用 C#、WinUI 和 XFE ServerInteractive,提供管理端、离线适配器,以及统一持有指挥官、存档和世界定义的服务器。

仅供非商业教学、学习和研究参考,禁止商业用途。 本项目与 Frontier Developments 无隶属、合作、背书或官方支持关系。Elite Dangerous 的商标和游戏内容属于各自权利人。使用者须自行合法取得兼容游戏副本;本仓库不提供官方程序、资源包、账号权益或官方服务访问资格。

项目自有源码采用教学研究非商业许可,另附中文参考译文。这是源码公开许可,并非 OSI 批准的开源许可。第三方材料继续适用各自条款,见第三方声明。软件按现状提供,不作担保;声明无法消除全部法律、合同或商业风险。

功能

  • 本机账号注册、登录、管理员/玩家角色,以及信用点、货舱、材料和舰船的独立编辑权限。
  • 搜索库存、修改数量与信用点,从本机 Player Journal 导入部分状态副本。
  • 根据已记录的船型和配装创建飞船、切换活动飞船、替换兼容模块,以及存入和取出仓库模块。
  • 原生档案导入/导出、版本冲突检查、备份、跨进程文件锁与原子提交。编辑前保存并返回主菜单,修改在下一次载入时生效。
  • 同一 ServerInteractive 进程提供回环管理 API 与 HTTPS 游戏入口,统一持有联机账号、存档、势力、商品定义和公共世界数据。
  • 启动器通过固定证书的 HTTPS 连接服务器,原生游戏通过本机 IPC 与适配器通信。
  • 管理界面、启动提示和应用业务报错支持中英文。在偏好设置 → 显示语言切换,选择会保存,当前登录会话会保留。

当前范围

当前适配 Windows x64 Odyssey 2026.09.03.332841。原生兼容检查固定游戏程序及已授权的 E:\Elite Dangerous\Products\elite-dangerous-odyssey-64 副本;更改界面目录不会自动改变底层钩子目标。其他版本或目录需要更新适配器并重新验证。

此前原生验收覆盖 SOLO 飞行、保存与重载,以及同一电脑的两个客户端互见、双向位置和姿态同步、中央保存与同进程重进。双客户端测试通过 81 项检查,最终位置误差小于 0.069 米。这不代表官方全部功能已还原:跨电脑、局域网或公网联机,断线恢复、战斗、NPC、跃迁和空间站交易覆盖仍未验证或尚不完整。详见原生联机测试和 SOLO 说明。

私有抓包、个人存档、报告和部署产物不进入仓库。原生验收需要自行准备兼容游戏和本机数据;克隆仓库不会获得可玩的指挥官或官方银河数据库。

编译与测试

需要 Windows x64、global.json 指定的 .NET 10 SDK、PowerShell 7,以及用于 NativeAOT 发布的 Visual Studio C++/Windows SDK 工具。WinUI 和 XFE 依赖通过 NuGet 还原。

./scripts/Build.ps1
./scripts/Test.ps1
dotnet run --project Client/XFEEliteDangerous.Tool -- --help --language en-US
dotnet run --project Client/XFEEliteDangerous.Bootstrapper -- --status --language zh-CN

语言值为 system、en-US、zh-CN。控制台使用 --language,启动脚本使用 -Language,也支持 XFE_LANGUAGE 环境变量。HTTP 客户端通过 Accept-Language 指定服务器报错语言。协议字段、账号/飞船编号、网络数值格式和用户数据不会被翻译。该设置控制项目工具,原版游戏的语言另行配置。

回归测试覆盖原生格式与加载器、存档冲突、协议和资源一致性。隐藏管理端检查会构造原生控件并验证语言切换,不激活窗口或发送桌面输入。独立的 HTTP/HTTPS 双语言检查:

./scripts/Test-Localization.ps1

本机部署

先准备自己有权使用的兼容原生工作区,再发布:

./scripts/Deploy-Local.ps1 -SourceWorkspace <你的原生工作区> -EnableOnline
./Start-Admin.cmd -Language zh-CN

部署保留已有工作区,并生成 runtime/deployment.json。默认数据目录为 %LOCALAPPDATA%\XFEEliteDangerous\Server,Workspace 保存存档,inventory-backups 保存备份,logs 保存日志。凭据、私有证书和会话须保持私有。

入口 功能
Start-Admin.cmd 启动本机服务器与管理端
Start-Server.cmd / Stop-Server.cmd 启动 / 正常停止服务器
Start-Game.cmd 启动默认本机指挥官
Start-Online.cmd 通过已配置服务器启动默认指挥官

管理 API 默认地址为 http://127.0.0.1:48080/api/,HTTPS 游戏端口为 48081。管理端的服务器联机页面可填写管理员提供的地址、证书指纹和账号。管理 API 应保持回环监听;跨电脑的网络可达性需单独验证。详情见本机部署与统一服务器联机。

项目布局

路径 内容
Client/XFEEliteDangerous.Desktop、Desktop/SharedUI WinUI 管理端与按角色显示的页面
Server/XFEEliteDangerous.Server ServerInteractive 控制台服务器
Client/XFEEliteDangerous.ManagementClient 回环管理客户端
Client/XFEEliteDangerous.OnlineClient HTTPS 客户端与原生 IPC 宿主
Local/XFEEliteDangerous.Core 账号、权限、库存、存档和公共世界
Client/XFEEliteDangerous.Client/Localization 中英文资源
Client/XFEEliteDangerous.Tool 本机命令行工具
Client/XFEEliteDangerous.Bootstrapper 兼容检查与原生启动器
Client/XFEEliteDangerous.OfflineRuntime、Local/XFEEliteDangerous.ReadBusiness NativeAOT 运行时与可重载业务模块
Client/XFEEliteDangerous.NativeFormat、Local/data 原生格式与互操作元数据
scripts 构建、部署、诊断和自动化检查

分段 JSONL 日志包含请求关联、原生函数位置与 C# 源码行号,敏感值会脱敏。可使用 scripts/Read-OfflineLog.ps1 -RunDirectory <运行目录> 检查。scripts/Publish-ReadBusiness.ps1 支持替换业务模块,修改固定原生钩子仍需重启游戏。

使用与公开边界

仅在有权使用的副本、数据和环境中开展研究。本仓库不授予游戏资产、官方服务、付费功能或他人账号的权利。禁止销售项目、使用项目自有代码提供收费服务,或冒充官方产品。再分发须保留许可和第三方声明。提交或公开问题中不得包含令牌、凭据、私有抓包、个人 Journal、游戏程序或资源包。

源码公开与 OSI 开源的区别见开源定义。免责声明不等于逆向、再分发或商业部署已获得法律授权。