mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2025-12-16 09:12:35 +00:00
Added functional support for developer multi join
This commit is contained in:
@@ -235,11 +235,11 @@ class W3DHub
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def join_server(app_id, channel, server, password = nil)
|
def join_server(app_id, channel, server, username = Store.settings[:server_list_username], password = nil, multi = false)
|
||||||
if installed?(app_id, channel) && Store.settings[:server_list_username].to_s.length.positive?
|
if installed?(app_id, channel) && username.to_s.length.positive?
|
||||||
run(
|
run(
|
||||||
app_id, channel,
|
app_id, channel,
|
||||||
"+connect #{server.address}:#{server.port} +netplayername #{Store.settings[:server_list_username]}#{password ? " +password \"#{password}\"" : ""}"
|
"+connect #{server.address}:#{server.port} +netplayername #{username}#{password ? " +password \"#{password}\"" : ""}#{multi ? " +multi" : ""}"
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -81,15 +81,19 @@ class W3DHub
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.join_server(server, password)
|
def self.join_server(server:, username: Store.settings[:server_list_username], password: nil, multi: false)
|
||||||
if (
|
if (
|
||||||
(server.status.password && password.length.positive?) ||
|
(server.status.password && password.length.positive?) ||
|
||||||
!server.status.password) &&
|
!server.status.password) &&
|
||||||
Store.settings[:server_list_username].to_s.length.positive?
|
username.to_s.length.positive?
|
||||||
|
|
||||||
Store.application_manager.join_server(
|
Store.application_manager.join_server(
|
||||||
server.game,
|
server.game,
|
||||||
server.channel, server, password
|
server.channel,
|
||||||
|
server,
|
||||||
|
username,
|
||||||
|
password,
|
||||||
|
multi
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
CyberarmEngine::Window.instance.push_state(W3DHub::States::MessageDialog, type: "?", title: "?", message: "?")
|
CyberarmEngine::Window.instance.push_state(W3DHub::States::MessageDialog, type: "?", title: "?", message: "?")
|
||||||
|
|||||||
@@ -410,11 +410,11 @@ class W3DHub
|
|||||||
if server.status.password
|
if server.status.password
|
||||||
W3DHub.prompt_for_password(
|
W3DHub.prompt_for_password(
|
||||||
accept_callback: proc do |password|
|
accept_callback: proc do |password|
|
||||||
W3DHub.join_server(server, password)
|
W3DHub.join_server(server: server, password: password)
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
W3DHub.join_server(server, nil)
|
W3DHub.join_server(server: server)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
@@ -422,18 +422,24 @@ class W3DHub
|
|||||||
if server.status.password
|
if server.status.password
|
||||||
W3DHub.prompt_for_password(
|
W3DHub.prompt_for_password(
|
||||||
accept_callback: proc do |password|
|
accept_callback: proc do |password|
|
||||||
W3DHub.join_server(server, password)
|
W3DHub.join_server(server: server, password: password)
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
W3DHub.join_server(server, nil)
|
W3DHub.join_server(server: server)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if W3DHUB_DEVELOPER
|
if W3DHUB_DEVELOPER
|
||||||
list_box(items: (1..12).to_a.map(&:to_s), margin_left: 16, width: 72, tip: "Number of game clients", enabled: (game_installed && !game_updatable), **TESTING_BUTTON)
|
client_instances = list_box(items: (1..12).to_a.map(&:to_s), margin_left: 16, width: 72, tip: "Number of game clients", enabled: (game_installed && !game_updatable), **TESTING_BUTTON)
|
||||||
button "Multijoin", tip: "Launch multiple clients with configured username_\#{number}", enabled: (game_installed && !game_updatable), **TESTING_BUTTON
|
button("Multijoin", tip: "Launch multiple clients with configured username_\#{number}", enabled: (game_installed && !game_updatable), **TESTING_BUTTON) do
|
||||||
|
username = Store.settings[:server_list_username]
|
||||||
|
|
||||||
|
client_instances.value.to_i.times do |i|
|
||||||
|
W3DHub.join_server(server: server, username: format("%s_%d", username, i), multi: true)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
flow(fill: true)
|
flow(fill: true)
|
||||||
|
|||||||
Reference in New Issue
Block a user