Skip to content

Commit

Permalink
Fix autoconnect for 1.13, 1.14. Disabled on 1.15+.
Browse files Browse the repository at this point in the history
Autoconnect is causing a OpenGL stack overflow exception on 1.15+ for some reason. Disabled it for now.
Finally changed .westeroscraft to .helioslauncher.
  • Loading branch information
dscalzi committed Jun 9, 2020
1 parent 71b25d3 commit 1bdb413
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 10 deletions.
2 changes: 1 addition & 1 deletion app/assets/js/configmanager.js
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand Down
29 changes: 20 additions & 9 deletions app/assets/js/processbuilder.js
Original file line number Diff line number Diff line change
Expand Up @@ -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.
*
Expand Down Expand Up @@ -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)

Expand Down Expand Up @@ -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()){
Expand Down

0 comments on commit 1bdb413

Please sign in to comment.