feat: 跨实例同步移植 WIP 检查点(第1轮+2a+2b+synced_servers)
Sync source to CNB / Sync Git ref (push) Has been cancelled

从 Axolotl 移植跨实例同步子系统,当前进度:

- 第1轮:synced_options/files.rs + mod.rs 骨架,state 层补齐 SyncedOption/InstanceSyncedOptions/CanonicalValue/GameOptionKind 等

- 2a:game_options 的 api_types/options_file/catalog(10文件)

- 2b:game_options 除 resource_pack_options/local_settings_editor 外的全部(settings_editor/write_shared_settings/fullscreen/launch_overrides/instance_support/read_instance_changes/pack_updates/source_selection + locales/5文件);State 补 synced_options_lock/game_locale_indexer/lock_synced_options

- synced_servers:6 文件全部搬入

- 35+20 处 sqlx::query! 宏改写为非宏 query+bind

已知未完成:synced_servers::operations 依赖 synced_options::instance_option_supported(属 orchestration,第5轮),当前编译不通。
This commit is contained in:
AxTps committed 2026-10-03 22:18:37 +08:00
1 parent 5a289c3a15
commit ed61a5942c
43 files changed
+10607

No files matched your search

+15
View File
@@ -47,6 +47,21 @@ use tokio::io::AsyncReadExt;
use tokio::process::Command;
use tokio_util::sync::CancellationToken;
pub(crate) struct GameVersionMetadata {
pub world_version: Option<u32>,
}
/// Reads the embedded `version.json` DataVersion from a client jar.
///
/// Ported as a stub to match the upstream Axolotl implementation, which also
/// returns `None`; callers fall back to the legacy data-version table.
pub(crate) async fn read_game_version_metadata_from_jar(
_path: &Path,
) -> crate::Result<Option<GameVersionMetadata>> {
Ok(None)
}
#[cfg(target_os = "windows")]
use winreg::{RegKey, enums::HKEY_CURRENT_USER};