From 1bdb413ab5a64958f2c14f410fa40fcd2db0c9da Mon Sep 17 00:00:00 2001 From: Daniel Scalzi Date: Tue, 9 Jun 2020 13:10:06 -0400 Subject: [PATCH] Fix autoconnect for 1.13, 1.14. Disabled on 1.15+. Autoconnect is causing a OpenGL stack overflow exception on 1.15+ for some reason. Disabled it for now. Finally changed .westeroscraft to .helioslauncher. --- app/assets/js/configmanager.js | 2 +- app/assets/js/processbuilder.js | 29 ++++++++++++++++++++--------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/app/assets/js/configmanager.js b/app/assets/js/configmanager.js index f34cc256..65a73061 100644 --- a/app/assets/js/configmanager.js +++ b/app/assets/js/configmanager.js @@ -6,7 +6,7 @@ const logger = require('./loggerutil')('%c[ConfigManager]', 'color: #a02d2a; fon const sysRoot = process.env.APPDATA || (process.platform == 'darwin' ? process.env.HOME + '/Library/Application Support' : process.env.HOME) // TODO change -const dataPath = path.join(sysRoot, '.westeroscraft') +const dataPath = path.join(sysRoot, '.helioslauncher') // Forked processes do not have access to electron, so we have this workaround. const launcherDir = process.env.CONFIG_DIRECT_PATH || require('electron').remote.app.getPath('userData') diff --git a/app/assets/js/processbuilder.js b/app/assets/js/processbuilder.js index 2d6780d0..7e708a4d 100644 --- a/app/assets/js/processbuilder.js +++ b/app/assets/js/processbuilder.js @@ -272,6 +272,18 @@ class ProcessBuilder { } + _processAutoConnectArg(args){ + if(ConfigManager.getAutoConnect() && this.server.isAutoConnect()){ + const serverURL = new URL('my://' + this.server.getAddress()) + args.push('--server') + args.push(serverURL.hostname) + if(serverURL.port){ + args.push('--port') + args.push(serverURL.port) + } + } + } + /** * Construct the argument array that will be passed to the JVM process. * @@ -461,6 +473,13 @@ class ProcessBuilder { } } + // Autoconnect + if(Util.mcVersionAtLeast('1.15', this.server.getMinecraftVersion())) { + logger.error('Server autoconnect disabled on 1.15+ due to OpenGL Stack Overflow issue.') + } else { + this._processAutoConnectArg(args) + } + // Forge Specific Arguments args = args.concat(this.forgeData.arguments.game) @@ -526,15 +545,7 @@ class ProcessBuilder { } // Autoconnect to the selected server. - if(ConfigManager.getAutoConnect() && this.server.isAutoConnect()){ - const serverURL = new URL('my://' + this.server.getAddress()) - mcArgs.push('--server') - mcArgs.push(serverURL.hostname) - if(serverURL.port){ - mcArgs.push('--port') - mcArgs.push(serverURL.port) - } - } + this._processAutoConnectArg(mcArgs) // Prepare game resolution if(ConfigManager.getFullscreen()){