debug minecraft-launcher.ts
This commit is contained in:
@ -522,6 +522,8 @@ export function initMinecraftHandlers() {
|
||||
message: 'Поиск Java...',
|
||||
});
|
||||
|
||||
console.log('Поиск Java...');
|
||||
|
||||
let javaPath;
|
||||
try {
|
||||
javaPath = await findJava();
|
||||
@ -543,11 +545,15 @@ export function initMinecraftHandlers() {
|
||||
message: 'Получение списка версий Minecraft...',
|
||||
});
|
||||
|
||||
console.log('Получение списка версий Minecraft...');
|
||||
|
||||
const versionList = await getVersionList();
|
||||
const minecraftVersion = versionList.versions.find(
|
||||
(v) => v.id === baseVersion,
|
||||
);
|
||||
|
||||
console.log('minecraftVersion:', minecraftVersion);
|
||||
|
||||
if (minecraftVersion) {
|
||||
// Устанавливаем базовую версию Minecraft
|
||||
event.sender.send('installation-status', {
|
||||
@ -555,11 +561,15 @@ export function initMinecraftHandlers() {
|
||||
message: `Установка Minecraft ${baseVersion}...`,
|
||||
});
|
||||
|
||||
console.log('Установка Minecraft...');
|
||||
|
||||
try {
|
||||
const installMcTask = installTask(minecraftVersion, minecraftDir, {
|
||||
skipRevalidate: true,
|
||||
});
|
||||
|
||||
console.log('installMcTask:', installMcTask);
|
||||
|
||||
await installMcTask.startAndWait({
|
||||
onStart(task) {
|
||||
event.sender.send('installation-status', {
|
||||
@ -580,6 +590,7 @@ export function initMinecraftHandlers() {
|
||||
});
|
||||
},
|
||||
onFailed(task, error) {
|
||||
console.log('onFailed:', task, error);
|
||||
console.warn(
|
||||
`Ошибка при установке ${task.path}, продолжаем:`,
|
||||
error,
|
||||
@ -597,7 +608,7 @@ export function initMinecraftHandlers() {
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
console.warn('Ошибка при установке Minecraft, продолжаем:', error);
|
||||
console.log('Ошибка при установке Minecraft, продолжаем:', error);
|
||||
}
|
||||
|
||||
// 2. Устанавливаем Fabric
|
||||
@ -618,6 +629,12 @@ export function initMinecraftHandlers() {
|
||||
message: `Установка Fabric ${fabricVersion}...`,
|
||||
});
|
||||
|
||||
console.log('installFabric:', {
|
||||
minecraftVersion: baseVersion,
|
||||
fabricVersion: fabricVersion,
|
||||
minecraftDir: minecraftDir,
|
||||
});
|
||||
|
||||
await installFabric({
|
||||
minecraftVersion: baseVersion,
|
||||
version: fabricVersion, // Используйте напрямую, без .version
|
||||
@ -625,7 +642,7 @@ export function initMinecraftHandlers() {
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn('Ошибка при установке Fabric, продолжаем:', error);
|
||||
console.log('Ошибка при установке Fabric, продолжаем:', error);
|
||||
}
|
||||
|
||||
// 3. Подготовка версии и установка зависимостей
|
||||
@ -633,11 +650,18 @@ export function initMinecraftHandlers() {
|
||||
// Используем идентификатор Fabric-версии
|
||||
const fabricVersionId = `${baseVersion}-fabric${fabricVersion}`;
|
||||
|
||||
console.log('version-parse:', fabricVersionId);
|
||||
|
||||
event.sender.send('installation-status', {
|
||||
step: 'version-parse',
|
||||
message: 'Подготовка версии...',
|
||||
});
|
||||
|
||||
console.log('version-parse:', {
|
||||
minecraftDir: minecraftDir,
|
||||
fabricVersionId: fabricVersionId,
|
||||
});
|
||||
|
||||
resolvedVersion = await Version.parse(
|
||||
minecraftDir,
|
||||
fabricVersionId,
|
||||
@ -678,6 +702,7 @@ export function initMinecraftHandlers() {
|
||||
});
|
||||
},
|
||||
onFailed(task, error) {
|
||||
console.log('onFailed:', task, error);
|
||||
console.warn(
|
||||
`Ошибка при установке ${task.path}, продолжаем:`,
|
||||
error,
|
||||
@ -695,32 +720,38 @@ export function initMinecraftHandlers() {
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
console.warn(
|
||||
console.log(
|
||||
'Ошибка при загрузке ресурсов, продолжаем запуск:',
|
||||
error,
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn('Ошибка при подготовке версии, продолжаем:', error);
|
||||
console.log('Ошибка при подготовке версии, продолжаем:', error);
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn('Произошла ошибка при подготовке Minecraft:', error);
|
||||
console.log('Произошла ошибка при подготовке Minecraft:', error);
|
||||
}
|
||||
|
||||
// Загрузка и проверка authlib-injector
|
||||
const authlibPath = await ensureAuthlibInjectorExists(appPath);
|
||||
console.log('authlibPath:', authlibPath);
|
||||
|
||||
event.sender.send('installation-status', {
|
||||
step: 'authlib-injector',
|
||||
message: 'authlib-injector готов',
|
||||
});
|
||||
|
||||
// Запускаем Minecraft с authlib-injector для Ely.by
|
||||
console.log('Запуск игры...');
|
||||
|
||||
event.sender.send('installation-status', {
|
||||
step: 'launch',
|
||||
message: 'Запуск игры...',
|
||||
});
|
||||
|
||||
console.log('Запуск игры...');
|
||||
|
||||
// При запуске используем переданные параметры
|
||||
const packDir = path.join(versionsDir, packName);
|
||||
|
||||
@ -732,13 +763,14 @@ export function initMinecraftHandlers() {
|
||||
serverConfig.port = serverPort;
|
||||
}
|
||||
|
||||
console.log('packDir:', packDir);
|
||||
|
||||
const proc = await launch({
|
||||
gamePath: packDir,
|
||||
resourcePath: minecraftDir,
|
||||
javaPath,
|
||||
version: versionToLaunch,
|
||||
launcherName: 'popa-popa',
|
||||
server: serverConfig, // Используем созданный объект конфигурации
|
||||
extraJVMArgs: [
|
||||
'-Dlog4j2.formatMsgNoLookups=true',
|
||||
`-javaagent:${authlibPath}=${API_BASE_URL}`,
|
||||
@ -749,6 +781,10 @@ export function initMinecraftHandlers() {
|
||||
'-Dauthlibinjector.mojangAntiFeatures=disabled',
|
||||
'-Dcom.mojang.authlib.disableSecureProfileEndpoints=true',
|
||||
],
|
||||
extraMCArgs: [
|
||||
'--quickPlayMultiplayer',
|
||||
`${serverIp}:${serverPort || 25565}`,
|
||||
],
|
||||
// Используем данные аутентификации Yggdrasil
|
||||
accessToken,
|
||||
gameProfile: {
|
||||
@ -765,6 +801,8 @@ export function initMinecraftHandlers() {
|
||||
console.error(`Minecraft stderr: ${data}`);
|
||||
});
|
||||
|
||||
console.log('Запуск игры...');
|
||||
|
||||
return { success: true, pid: proc.pid };
|
||||
} catch (error) {
|
||||
console.error('Ошибка при запуске Minecraft:', error);
|
||||
|
@ -34,6 +34,7 @@ export default function SkinViewer({
|
||||
width,
|
||||
height,
|
||||
skin: skinUrl || undefined,
|
||||
model: 'auto-detect',
|
||||
cape: capeUrl || undefined,
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user