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