stable launch 100% (yeeees)

This commit is contained in:
2025-12-04 01:10:47 +05:00
parent 5deba6ca92
commit fcbc2352dc
3 changed files with 73 additions and 22 deletions

View File

@ -19,28 +19,28 @@ import { spawn } from 'child_process';
import { AuthService } from './auth-service';
import { API_BASE_URL } from '../renderer/api';
const CDN = 'https://cdn.minecraft.popa-popa.ru';
// const CDN = 'https://cdn.minecraft.popa-popa.ru';
const DOWNLOAD_OPTIONS = {
// assets (objects/)
assetsHost: `${CDN}/assets/objects`,
// const DOWNLOAD_OPTIONS = {
// // assets (objects/)
// assetsHost: `${CDN}/assets/objects`,
// библиотеки (jar'ы)
libraryHost(library: { path: any }) {
return `${CDN}/libraries/${library.path}`;
},
// // библиотеки (jar'ы)
// libraryHost(library: { path: any }) {
// return `${CDN}/libraries/${library.path}`;
// },
assetsIndexUrl: (version: any) =>
`${CDN}/assets/indexes/${version.assetIndex.id}.json`,
// assetsIndexUrl: (version: any) =>
// `${CDN}/assets/indexes/${version.assetIndex.id}.json`,
// версии
json(versionInfo: { id: any }) {
return `${CDN}/versions/${versionInfo.id}/${versionInfo.id}.json`;
},
client(resolved: { id: any }) {
return `${CDN}/versions/${resolved.id}/${resolved.id}.jar`;
},
};
// // версии
// json(versionInfo: { id: any }) {
// return `${CDN}/versions/${versionInfo.id}/${versionInfo.id}.json`;
// },
// client(resolved: { id: any }) {
// return `${CDN}/versions/${resolved.id}/${resolved.id}.jar`;
// },
// };
// Константы
const AUTHLIB_INJECTOR_FILENAME = 'authlib-injector-1.2.5.jar';
@ -617,7 +617,7 @@ export function initMinecraftHandlers() {
assetsDownloadConcurrency: 2,
librariesDownloadConcurrency: 2,
dispatcher: agent,
...DOWNLOAD_OPTIONS,
// ...DOWNLOAD_OPTIONS,
});
console.log('installMcTask started for', minecraftVersion.id);
@ -716,7 +716,7 @@ export function initMinecraftHandlers() {
// Игнорируем sha1, чтобы не падать из-за несоответствий
},
}),
...DOWNLOAD_OPTIONS,
// ...DOWNLOAD_OPTIONS,
});
await depsTask.startAndWait({
@ -785,11 +785,43 @@ export function initMinecraftHandlers() {
},
});
let stderrBuffer = '';
proc.stdout?.on('data', (data) => {
console.log(`Minecraft stdout: ${data}`);
});
proc.stderr?.on('data', (data) => {
console.error(`Minecraft stderr: ${data}`);
const text = data.toString();
console.error(`Minecraft stderr: ${text}`);
stderrBuffer += text;
// Пробрасываем сырой лог клиенту (если захочешь где-то выводить)
event.sender.send('minecraft-log', text);
// Если это ошибка — сразу уведомим пользователя
if (text.toLowerCase().includes('error')) {
event.sender.send('minecraft-error', {
message: text,
});
}
});
proc.on('exit', (code) => {
console.log('Minecraft exited with code', code);
if (code !== 0) {
event.sender.send('installation-status', {
step: 'error',
message: `Minecraft завершился с ошибкой (код ${code})`,
});
event.sender.send('minecraft-error', {
message: `Minecraft завершился с ошибкой (код ${code})`,
stderr: stderrBuffer,
code,
});
}
});
console.log('Запуск игры...');