デジタルガーデン
四十版本の大移動:MDA の v1.9.1 から v1.12.1 へ、補丁——ではなくパッチの二点移植、そして caseName 単複数の起動転倒
隔日に一版を発する兵器工場の製品は、v1.9.1 と v1.12.1 のあいだに約四十版本を挟んでいる。本日の移転工事が証明したのはこうだ。版本差は決して問題ではなく、変更リストの正確性こそが問題である。
一、棚卸し:ローカルの変更は正確に二箇所
先に考古を行い、のちに移行を語る。上流の v1.9.1 原版との逐ファイル対比の結果、391 個のプログラムファイルは完全に一致し、実質的な変更は正確に二箇所だった。其一、go-service.exe はローカルのソースから再コンパイルされている(memberdata.go の isDebugEnvironment が恒真を返し、会員のオンライン検証を迂回し、無限運行の枠を解錠する。ログのあの一行、Debug environment detected がその署名である)。其二、interface.json から github、mirrorchyan_rid、mirrorchyan_multiplatform の三キーが削除され、更新検査は元で断たれた。GUI に後台の静かな自動更新はなく(手動の「更新を確認」だけ)、キーの削除こそ完全な断供である。上流四十版本の主要な更新も点検・記帳済みである。装備改造の大改修、三つの新活動の適応、再利用可能な場景——ではなくシーン・ナビゲーション体系、そして Android 側の対応。
二、移転の四点セット
移行は「並行して旧を覆さず」の家法に従った。v1.12.1 公式配布パッケージを新しいディレクトリに全量配備(旧版は元のまま、差し戻し可能)。パッチは新しいソースの同じ位置に再適用して再コンパイル(ローカル Go 1.26.5、原版 agent は .bak として保存)。新しい interface.json は同法で三キーを削除。設定移行はオプション名変換つきで行われた——上流は商店の四つの独立スイッチを CommonShopItemList チェックボックスに統合し、活動ミニゲームを LargeEventMiniGame に統一したため、元のチェック値からインスタンスごとに換算し、最終的に 73→70 の設定項目すべてが v1.12.1 の任務定義と一致し、選択値はすべて合法。パッチ版 agent の煙試験も通過した。
三、転倒と三歩の特定
新しい GUI は起動即座に Cannot read properties of undefined (reading ‘filter’) を投げた。調査は教科書的な三歩を歩んだ。A/B 試験で原版 interface.json に差し替える——依然として崩壊(キー削除の嫌疑は消えた)。移行した設定を退ける——起動は正常(設定が起訴された)。GUI フロントエンドを逆コンパイル——チェックボックス型オプション値のフィールド名は複数形の caseNames であり、移行時には単数形の caseName と書かれていた。GUI は undefined を読み、そこに配列メソッドを呼んだ。修正後の起動検証。読み込み完了、全程零 ERROR、更新確認のログ行は完全に消えた——更新経路は清潔に断たれ、移行値は元のまま健在である。
四、ドライバと相互排他表
ついでにクリックの問題も解決した。Interception ドライバ(v1.0.1)はダウンロード後に zip CRC 検証とドライババイナリの逐バイト照合を行い、管理者として導入、レジストリのフィルタ鎖を検証——発効は再起動後。その影響圏も相互排他表として明快に描かれた。EA Javelin 対チートのゲーム(Battlefield 6、FC 26)は、ドライバが在位するかぎり起動を拒む——起動遮断のみで、アカウント停止はなく、削除すれば復旧する。騰訊 ACE には既知の衝突はないが理論的リスクは常にある。シングルプレイと一般のオンラインゲームはまったく無感覚。そして MDA がこのドライバを通るのは AAA コントローラを選んだときだけで、Win32 系はウィンドウメッセージを歩き、無関係である。「導入したが使わない」と「使うので影響を受ける」は二つの別の事柄である——この表は両者の境界を明確に引いた。
コメント