Refactor launcher profiles and port automation
Some checks failed
Build / release (macos-latest) (push) Has been cancelled
Build / release (ubuntu-latest) (push) Has been cancelled
Build / release (windows-latest) (push) Has been cancelled
Windows Smoke Test / windows-smoke (push) Has been cancelled

This commit is contained in:
2026-05-05 21:52:17 +09:00
parent e266387784
commit 9786cfe031
22 changed files with 1558 additions and 798 deletions

View File

@@ -8,7 +8,8 @@ const { Type } = require('helios-distribution-types')
const os = require('os')
const path = require('path')
const ConfigManager = require('./configmanager')
const ConfigManager = require('./configmanager')
const ServerRuntime = require('./serverruntime')
const logger = LoggerUtil.getLogger('ProcessBuilder')
@@ -366,11 +367,14 @@ class ProcessBuilder {
_processAutoConnectArg(args){
const selectedProfileId = ConfigManager.getSelectedLibraryProfile()
const selectedProfile = selectedProfileId != null
? ConfigManager.getInstalledLibraryProfile(selectedProfileId)
: null
const quickPlayWorld = selectedProfileId != null
? ConfigManager.getLibraryQuickPlayWorld(selectedProfileId)
: null
if(quickPlayWorld){
if(quickPlayWorld && selectedProfile?.serverEnabled !== true){
if(mcVersionAtLeast('1.20', this.server.rawServer.minecraftVersion)){
args.push('--quickPlaySingleplayer')
args.push(quickPlayWorld)
@@ -379,14 +383,25 @@ class ProcessBuilder {
}
if(ConfigManager.getAutoConnect() && this.server.rawServer.autoconnect){
const serverAddressOverride = selectedProfileId != null
let serverAddressOverride = selectedProfileId != null
? resolveServerAddressOverride(
ConfigManager.getLibraryServerAddressOverride(selectedProfileId),
this.server.port
)
: null
if(serverAddressOverride == null && selectedProfile?.serverEnabled === true){
const hostState = ServerRuntime.getHostedProfileState(selectedProfileId)
if(hostState.running){
serverAddressOverride = {
hostname: '127.0.0.1',
port: selectedProfile.serverPort ?? this.server.port
}
}
}
const hostname = serverAddressOverride?.hostname ?? this.server.hostname
const port = serverAddressOverride?.port ?? this.server.port
const port = serverAddressOverride?.port ?? (selectedProfile?.serverEnabled === true ? (selectedProfile.serverPort ?? this.server.port) : this.server.port)
if(mcVersionAtLeast('1.20', this.server.rawServer.minecraftVersion)){
args.push('--quickPlayMultiplayer')
args.push(`${hostname}:${port}`)