infra: incremental game client upload and non-destructive webui deployment - #834
Merged
Merged
Conversation
Muparadzi
force-pushed
the
claude/crpg-client-upload-process-8HDcI
branch
from
June 7, 2026 09:06
97bb05f to
8cf441e
Compare
Fetches the previously deployed hash.xml from the server and diffs it against the freshly computed one before packaging. Only tars, compresses, and uploads AssetPackage files, SceneObj maps, or the rest bundle when their hashes have actually changed, avoiding multi-gigabyte re-uploads on patches that only touch DLLs or a single map. https://claude.ai/code/session_01BDaHBxZ7f8qaJDrJNavDhN
Replaces the directory-level copy tasks with explicit per-file loops so each changed AssetPackage and SceneObj map is targeted by name. This makes it unambiguous that we are updating specific files into an already- populated server directory, leaving all unchanged packages intact. Also adds an explicit task to ensure the AssetPackages directory exists on the server (previously relied on the directory copy to create it implicitly). https://claude.ai/code/session_01BDaHBxZ7f8qaJDrJNavDhN
Before swapping the new UI directory into place, copy all non-UI assets from the current crpg_ui_path into the incoming directory so the atomic swap does not wipe them. Covers LauncherV3.exe, LauncherVersion.txt, hash.xml, rest.tar.gz, SceneObj/, AssetPackages/, cRPGServer.zip and SubModule.xml. The cp loop is a no-op on first deployment when none of these files exist yet. https://claude.ai/code/session_01BDaHBxZ7f8qaJDrJNavDhN
The previous approach used cp -a before the atomic swap, which duplicated multi-GB AssetPackages and SceneObj onto the same disk and could fill the volume, crashing the server. Replace with mv from crpg_ui_path_old after the swap: on the same filesystem mv is a free inode rename with no extra disk usage and no data duplication. https://claude.ai/code/session_01BDaHBxZ7f8qaJDrJNavDhN
Muparadzi
force-pushed
the
claude/crpg-client-upload-process-8HDcI
branch
from
June 12, 2026 15:53
8a62df9 to
24f99bf
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Claude has kindly updated the client deployment task to only replace updated files using the existing hash. Should greatly increase deployment speed.
WebUI deployment no longer destroys server/client/launcher files.