Skip to content

infra: incremental game client upload and non-destructive webui deployment - #834

Merged
Muparadzi merged 5 commits into
masterfrom
claude/crpg-client-upload-process-8HDcI
Jun 16, 2026
Merged

infra: incremental game client upload and non-destructive webui deployment#834
Muparadzi merged 5 commits into
masterfrom
claude/crpg-client-upload-process-8HDcI

Conversation

@Muparadzi

Copy link
Copy Markdown
Collaborator

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.

@Muparadzi
Muparadzi force-pushed the claude/crpg-client-upload-process-8HDcI branch from 97bb05f to 8cf441e Compare June 7, 2026 09:06
claude added 4 commits June 12, 2026 16:52
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
Muparadzi force-pushed the claude/crpg-client-upload-process-8HDcI branch from 8a62df9 to 24f99bf Compare June 12, 2026 15:53
@Muparadzi
Muparadzi marked this pull request as ready for review June 16, 2026 16:54
@Muparadzi
Muparadzi merged commit 61af72d into master Jun 16, 2026
2 checks passed
@Muparadzi
Muparadzi deleted the claude/crpg-client-upload-process-8HDcI branch June 16, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants