mirror of
https://git.sanhost.net/sanasol/hytale-f2p.git
synced 2026-02-28 07:41:47 -03:00
v2.4.5: Add multi-instance setting for mod developers
Allow running multiple game clients simultaneously via a new "Allow multiple game instances" toggle in Settings. When enabled, skips the Electron single-instance lock and the pre-launch process kill, so existing game instances stay alive. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
16
main.js
16
main.js
@@ -3,7 +3,7 @@ require('dotenv').config({ path: path.join(__dirname, '.env') });
|
||||
const { app, BrowserWindow, ipcMain, dialog, shell } = require('electron');
|
||||
const { autoUpdater } = require('electron-updater');
|
||||
const fs = require('fs');
|
||||
const { launchGame, launchGameWithVersionCheck, installGame, saveUsername, loadUsername, saveJavaPath, loadJavaPath, saveInstallPath, loadInstallPath, saveDiscordRPC, loadDiscordRPC, saveLanguage, loadLanguage, saveCloseLauncherOnStart, loadCloseLauncherOnStart, saveLauncherHardwareAcceleration, loadLauncherHardwareAcceleration, isGameInstalled, uninstallGame, repairGame, getHytaleNews, handleFirstLaunchCheck, proposeGameUpdate, markAsLaunched, loadConfig, saveConfig, checkLaunchReady } = require('./backend/launcher');
|
||||
const { launchGame, launchGameWithVersionCheck, installGame, saveUsername, loadUsername, saveJavaPath, loadJavaPath, saveInstallPath, loadInstallPath, saveDiscordRPC, loadDiscordRPC, saveLanguage, loadLanguage, saveCloseLauncherOnStart, loadCloseLauncherOnStart, saveLauncherHardwareAcceleration, loadLauncherHardwareAcceleration, saveAllowMultiInstance, loadAllowMultiInstance, isGameInstalled, uninstallGame, repairGame, getHytaleNews, handleFirstLaunchCheck, proposeGameUpdate, markAsLaunched, loadConfig, saveConfig, checkLaunchReady } = require('./backend/launcher');
|
||||
const { retryPWRDownload } = require('./backend/managers/gameManager');
|
||||
const { migrateUserDataToCentralized } = require('./backend/utils/userDataMigration');
|
||||
|
||||
@@ -23,8 +23,9 @@ const profileManager = require('./backend/managers/profileManager');
|
||||
|
||||
logger.interceptConsole();
|
||||
|
||||
// Single instance lock
|
||||
const gotTheLock = app.requestSingleInstanceLock();
|
||||
// Single instance lock (skip if multi-instance mode is enabled)
|
||||
const multiInstanceEnabled = loadAllowMultiInstance();
|
||||
const gotTheLock = multiInstanceEnabled || app.requestSingleInstanceLock();
|
||||
|
||||
if (!gotTheLock) {
|
||||
console.log('Another instance is already running. Quitting...');
|
||||
@@ -740,6 +741,15 @@ ipcMain.handle('load-close-launcher', () => {
|
||||
return loadCloseLauncherOnStart();
|
||||
});
|
||||
|
||||
ipcMain.handle('save-allow-multi-instance', (event, enabled) => {
|
||||
saveAllowMultiInstance(enabled);
|
||||
return { success: true };
|
||||
});
|
||||
|
||||
ipcMain.handle('load-allow-multi-instance', () => {
|
||||
return loadAllowMultiInstance();
|
||||
});
|
||||
|
||||
ipcMain.handle('save-launcher-hw-accel', (event, enabled) => {
|
||||
saveLauncherHardwareAcceleration(enabled);
|
||||
return { success: true };
|
||||
|
||||
Reference in New Issue
Block a user