OneLauncher-Cracked/AGENTS.md

1.6 KiB

OneLauncher-Cracked Development & Release Guidelines

1. Release Versioning Policy

  • Suffix Progression: Every fix, rebuild, or update to an existing release MUST increment the cracked revision suffix monotonically:
    • Example: v2.8.0-c1 -> v2.8.0-c2 -> v2.8.0-c3
  • Tag Immutability: Never force-push or re-upload assets over an existing release tag. The in-launcher CrackedVersion SemVer parser relies on strictly increasing revisions to detect and download updates.
  • Cargo.toml Version: When bumping the suffix, update the workspace version = "2.8.0-c<N>" in the root Cargo.toml.

2. Remote Synchronization (Dual-Push)

  • Primary Forgejo remote: https://git.oiupoyt.space/oiupoyt/OneLauncher-Cracked.git (remote: forgejo)
  • GitHub remote: https://github.com/oiupoyt/OneLauncher-Cracked.git (remote: origin)
  • Always push to both remotes:
    git push origin <branch> --tags
    git push forgejo <branch> --tags
    

3. Build & Compiler Performance

  • ThinLTO: Use lto = "thin" with codegen-units = 16 and debug = false in [profile.release]. Do not use lto = "fat" (causes 10m+ single-threaded linking stalls).
  • Fast Linker: On Linux, use clang -fuse-ld=lld configured in .cargo/config.toml.
  • Offline Mode & Skin Pipeline:
    • Preserve account_for_launch bypass in oneclient_auth.
    • Always verify paths::all_skins_dirs() for multi-directory skin search.
    • Keep --userProperties argument injection in oneclient_core/src/game/launch.rs.
    • Ensure TCP socket flush() and shutdown() in skin_server.rs before connection termination.