From c527efc42f5bf07e86b7ef760b9d3db3828c294a Mon Sep 17 00:00:00 2001 From: claude-bot Date: Mon, 18 May 2026 00:14:44 +0900 Subject: [PATCH] installer: address vanilla mods preservation, robust map rename, new app icon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewer follow-ups: 1) Preserve mods/ for vanilla packs. `downloadModsFolder` now checks `!pack.modsFolder` BEFORE wiping — vanilla packs (no modsFolder) no longer clobber a user's hand-curated mods directory. Wipe still runs for modded packs to keep different MC versions from colliding. 2) Always rename the extracted map to `saves/<퀴즈이름>/`, regardless of the zip's top-level layout. The zip is now extracted into a temp directory under saves/, and: - if the temp has a single subdirectory, that subdirectory's content becomes the world; - otherwise the temp dir itself (e.g. level.dat + region/ at root) is the world. In either case, it is renamed atomically to `saves/` (or `_2` etc. if a user world collides). Marker tracks the final folder name for participant cleanup. User request: replace both .exe icons. - Added build/icon.ico (multi-size 16/32/48/64/128/256) and build/icon.png generated from the new music-note artwork. - electron-builder.yml: set win.icon, nsis installer/uninstaller icons, buildResources=build, include build/icon.* in files for runtime use. - New electron-builder-rp.yml + dist:win:rp script so the resourcepack installer also packages with the same icon. - BrowserWindow({ icon }) wired in both installer and installer-rp main processes so the running window's titlebar/taskbar icon matches. Co-Authored-By: Claude Opus 4.7 --- build/icon.ico | Bin 0 -> 57669 bytes build/icon.png | Bin 0 -> 33358 bytes electron-builder-rp.yml | 31 +++++++++++++ electron-builder.yml | 5 +++ locales/installer/ko-kr.json | 3 +- package.json | 3 +- src/installer-rp/main.ts | 3 ++ src/installer/main.ts | 82 ++++++++++++++++++----------------- 8 files changed, 85 insertions(+), 42 deletions(-) create mode 100644 build/icon.ico create mode 100644 build/icon.png create mode 100644 electron-builder-rp.yml diff --git a/build/icon.ico b/build/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f48a12185cda6364314373cc2b7994bdff86eaeb GIT binary patch literal 57669 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
rE}05=pU}#oTo!}XFp3zkmSC?pIiTq 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 Q#sB~S07*qoM6N<$g8OJ1`2YX_ literal 0 HcmV?d00001 diff --git a/build/icon.png b/build/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7cf98b1c6e595909c9a47293fa179f7358a27002 GIT binary patch literal 33358 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 KMNUMnLSTaUI5}(p literal 0 HcmV?d00001 diff --git a/electron-builder-rp.yml b/electron-builder-rp.yml new file mode 100644 index 0000000..e9f79e9 --- /dev/null +++ b/electron-builder-rp.yml @@ -0,0 +1,31 @@ +appId: kr.tkrmagid.musicquiz.installer-rp +productName: MusicQuizResourcepackInstaller +directories: + output: release + buildResources: build +files: + - dist/installer-rp/** + - dist/shared/** + - installer-rp/** + - build/icon.* + - package.json +# 메인 설치기와 동일하게 .env, locales 를 함께 배포. +extraResources: + - from: . + to: . + filter: + - .env + - from: locales + to: locales + filter: + - "**/*" +win: + target: nsis + artifactName: ${productName}-${version}-Setup.${ext} + icon: build/icon.ico +nsis: + oneClick: false + allowToChangeInstallationDirectory: true + perMachine: false + installerIcon: build/icon.ico + uninstallerIcon: build/icon.ico diff --git a/electron-builder.yml b/electron-builder.yml index fab4245..4caa984 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -2,10 +2,12 @@ appId: kr.tkrmagid.musicquiz.installer productName: MusicQuizInstaller directories: output: release + buildResources: build files: - dist/installer/** - dist/shared/** - installer/** + - build/icon.* - package.json # 빌드 시점의 .env 를 설치기 옆에 함께 배포(없으면 조용히 패스). # 패키징 후 운영자가 resources/.env 만 교체해서 도메인을 바꿀 수도 있음. @@ -23,7 +25,10 @@ extraResources: win: target: nsis artifactName: ${productName}-${version}-Setup.${ext} + icon: build/icon.ico nsis: oneClick: false allowToChangeInstallationDirectory: true perMachine: false + installerIcon: build/icon.ico + uninstallerIcon: build/icon.ico diff --git a/locales/installer/ko-kr.json b/locales/installer/ko-kr.json index a395974..d8eaa7f 100644 --- a/locales/installer/ko-kr.json +++ b/locales/installer/ko-kr.json @@ -192,8 +192,7 @@ "skipServerZip": "서버 파일(serverPath)이 비어 있어 서버 zip 다운로드를 건너뜁니다.", "skipMapZip": "맵 다운로드를 건너뜁니다 (mapPath 비어 있음 또는 참가자 모드).", "cleanupInstallerMap": "이전 설치에서 풀어둔 맵 {{count}}개를 정리합니다.", - "mapRenamed": "맵 폴더 이름 변경: {{from}} → {{to}}", - "mapRenameFailed": "맵 폴더 이름 변경 실패 ({{from}} → {{to}}): {{message}}", + "mapInstalledAs": "맵을 saves/{{name}} 으로 설치했습니다.", "clearMods": "기존 mods 폴더({{dir}})를 비우고 새로 받습니다.", "skipModsFolder": "modsFolder가 비어 있어 모드 다운로드를 건너뜁니다.", "modsIndexFetch": "모드 목록 조회: {{url}}", diff --git a/package.json b/package.json index d6ad284..ea860cf 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "dev:server": "tsc -p tsconfig.server.json && node dist/server/app.js", "installer": "tsc -p tsconfig.installer.json && electron .", "installer:rp": "tsc -p tsconfig.installer-rp.json && electron dist/installer-rp/main.js", - "dist:win": "tsc -p tsconfig.installer.json && electron-builder --win" + "dist:win": "tsc -p tsconfig.installer.json && electron-builder --win --config electron-builder.yml", + "dist:win:rp": "tsc -p tsconfig.installer-rp.json && electron-builder --win --config electron-builder-rp.yml" }, "dependencies": { "@types/archiver": "^7.0.0", diff --git a/src/installer-rp/main.ts b/src/installer-rp/main.ts index 907d497..ad61cbd 100644 --- a/src/installer-rp/main.ts +++ b/src/installer-rp/main.ts @@ -98,9 +98,12 @@ function deriveBaseUrl(manifestUrl: string): string { } function createMainWindow(): void { + // 메인 설치기와 동일한 아이콘 사용. dev/prod, Windows/기타 분기까지 같은 규칙. + const iconPath = path.join(__dirname, '..', '..', 'build', process.platform === 'win32' ? 'icon.ico' : 'icon.png') mainWindow = new BrowserWindow({ width: 900, height: 680, + icon: iconPath, webPreferences: { preload: path.join(__dirname, 'preload.js'), contextIsolation: true, diff --git a/src/installer/main.ts b/src/installer/main.ts index dc0dd2a..6d71572 100644 --- a/src/installer/main.ts +++ b/src/installer/main.ts @@ -63,9 +63,13 @@ function deriveBaseUrl(manifestUrl: string): string { } function createMainWindow(): void { + // 패키징 시 build/icon.ico, dev 실행 시 build/icon.png 모두 동일 경로에서 발견되도록 + // 프로젝트 루트의 build/ 를 가리킨다. 파일이 없으면 Electron 이 기본 아이콘으로 fallback. + const iconPath = path.join(__dirname, '..', '..', 'build', process.platform === 'win32' ? 'icon.ico' : 'icon.png') mainWindow = new BrowserWindow({ width: 980, height: 720, + icon: iconPath, webPreferences: { preload: path.join(__dirname, 'preload.js'), contextIsolation: true, @@ -461,55 +465,55 @@ async function downloadMapZip(pack: PackDefinition, customRoot: string): Promise const url = resolveManifestRelative(pack.mapPath, 'maps') const savesDir = path.join(customRoot, 'saves') await fsp.mkdir(savesDir, { recursive: true }) - const before = new Set(await fsp.readdir(savesDir).catch(() => [] as string[])) - await downloadAndExtractZip(url, t('log.labelMap'), savesDir) - const after = await fsp.readdir(savesDir).catch(() => [] as string[]) - const added = after.filter((name) => !before.has(name) && name !== INSTALLER_MAP_MARKER) - // 맵 폴더 이름을 퀴즈 이름으로 통일. zip 안에서 단일 최상위 폴더로 추출된 - // 경우에만 안전하게 rename — 여러 항목이거나 파일이면 zip 구성을 존중해 그대로 둔다. - let markerEntries = added - if (added.length === 1) { - const original = added[0] - const sourcePath = path.join(savesDir, original) - const sourceStat = await fsp.stat(sourcePath).catch(() => null) - if (sourceStat?.isDirectory()) { - const desired = sanitizeMapFolderName(pack.name) - if (desired !== original) { - // 사용자 월드와 이름이 겹치면 덮어쓰지 않고 _2, _3 … 으로 회피. - let target = desired - let suffix = 2 - while (before.has(target) || fs.existsSync(path.join(savesDir, target))) { - target = `${desired}_${suffix}` - suffix++ - } - try { - await fsp.rename(sourcePath, path.join(savesDir, target)) - sendLog(t('log.mapRenamed', { from: original, to: target })) - markerEntries = [target] - } catch (err) { - // rename 실패해도 설치 자체는 성공한 상태이므로 원래 이름으로 마커만 유지. - sendLog(t('log.mapRenameFailed', { from: original, to: target, message: (err as Error).message })) - } - } + // zip 의 최상위 구조(단일 폴더 / 루트에 level.dat) 와 관계없이 최종 폴더 이름이 + // 항상 퀴즈 이름이 되도록, 우선 saves/ 안의 임시 폴더에 풀고 적절히 옮긴다. + // saves 와 같은 디렉터리에서 만들기 때문에 rename 이 cross-device 실패 없이 동작. + const tempExtractDir = await fsp.mkdtemp(path.join(savesDir, '.mq-map-extract-')) + try { + await downloadAndExtractZip(url, t('log.labelMap'), tempExtractDir) + + // zip 이 단일 최상위 폴더면 그 안을 월드 콘텐츠로, 아니면 임시 디렉터리 자체가 + // 월드 콘텐츠(level.dat 등이 루트). 어느 쪽이든 결과적으로 saves/<퀴즈이름>/ 로. + const entries = await fsp.readdir(tempExtractDir) + let sourceDir = tempExtractDir + if (entries.length === 1) { + const candidate = path.join(tempExtractDir, entries[0]) + const stat = await fsp.stat(candidate).catch(() => null) + if (stat?.isDirectory()) sourceDir = candidate } + + const desired = sanitizeMapFolderName(pack.name) + // 사용자가 직접 만든 동명 월드와 겹치면 덮어쓰지 않고 _2, _3 … 으로 회피. + let target = desired + let suffix = 2 + while (fs.existsSync(path.join(savesDir, target))) { + target = `${desired}_${suffix}` + suffix++ + } + const targetDir = path.join(savesDir, target) + await fsp.rename(sourceDir, targetDir) + sendLog(t('log.mapInstalledAs', { name: target })) + await writeInstallerMapMarker(customRoot, [target]) + } finally { + // sourceDir 가 tempExtractDir 자체였다면 rename 으로 사라졌고, 단일 하위 폴더였다면 + // 비어 있는 껍데기만 남아 있다. 어느 경우든 안전하게 정리. + await fsp.rm(tempExtractDir, { recursive: true, force: true }) } - await writeInstallerMapMarker(customRoot, markerEntries) } async function downloadModsFolder(pack: PackDefinition, customRoot: string): Promise { - const modsDir = path.join(customRoot, 'mods') - // 다른 마인크래프트 버전 / 이전 팩의 모드가 섞이면 게임이 실행되지 않으므로 - // 매번 mods 폴더 전체를 비우고 새로 받는다. modsFolder 가 비어 있어 모드 자체가 - // 필요 없는 경우(=바닐라)에도 잔존 jar 가 남지 않도록 동일하게 wipe. - sendLog(t('log.clearMods', { dir: modsDir })) - await fsp.rm(modsDir, { recursive: true, force: true }) - await fsp.mkdir(modsDir, { recursive: true }) - + // 바닐라 팩(modsFolder 비어 있음)은 모드 자체와 무관하므로 기존 mods/ 를 건드리지 + // 않는다 — 사용자가 다른 곳에서 받아 둔 모드까지 지워버리는 부작용 방지. if (!pack.modsFolder) { sendLog(t('log.skipModsFolder')) return } + const modsDir = path.join(customRoot, 'mods') + // 모드팩인 경우엔 이전 버전/이전 팩 모드가 섞이면 로딩이 실패하므로 매번 비우고 받는다. + sendLog(t('log.clearMods', { dir: modsDir })) + await fsp.rm(modsDir, { recursive: true, force: true }) + await fsp.mkdir(modsDir, { recursive: true }) const indexUrl = `${state.baseUrl}/file/mods/${encodeURIComponent(pack.modsFolder)}/index.json` sendLog(t('log.modsIndexFetch', { url: indexUrl })) const listing = await fetchJson<{ files?: unknown }>(indexUrl)