summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2024-09-22 15:20:08 +0200
committertpart <tpart120@proton.me>2024-09-22 15:20:08 +0200
commitd68f8d35f82e57f1e067aa9e13fd74cbbd0980c3 (patch)
tree0301d8c1b8049cd9c54e1a03a9ab6d332db3076d
parent7a1bd351b42e69b225e0938f232b36be2a23470c (diff)
downloadhurrycurry-d68f8d35f82e57f1e067aa9e13fd74cbbd0980c3.tar
hurrycurry-d68f8d35f82e57f1e067aa9e13fd74cbbd0980c3.tar.bz2
hurrycurry-d68f8d35f82e57f1e067aa9e13fd74cbbd0980c3.tar.zst
Disable outdated servers in server list
-rw-r--r--client/menu/play.gd2
-rw-r--r--client/multiplayer.gd6
2 files changed, 5 insertions, 3 deletions
diff --git a/client/menu/play.gd b/client/menu/play.gd
index 0bd13669..65da0372 100644
--- a/client/menu/play.gd
+++ b/client/menu/play.gd
@@ -60,6 +60,8 @@ func _on_request_completed(result: int, _response_code: int, _headers: PackedStr
b.text_overrun_behavior = TextServer.OVERRUN_TRIM_WORD_ELLIPSIS
b.text = "%s (%d players)" % [i.name, i.players_online]
# TODO: Implement fallback address correctly
+ if i.version[0] != Multiplayer.VERSION_MAJOR or i.version[1] > Multiplayer.VERSION_MINOR:
+ b.disabled = true
b.pressed.connect(connect_to.bind(i.address[0]))
server_list.add_child(b)
diff --git a/client/multiplayer.gd b/client/multiplayer.gd
index 38dc72f6..58b13ccf 100644
--- a/client/multiplayer.gd
+++ b/client/multiplayer.gd
@@ -21,8 +21,8 @@ extends Node
signal packet(packet: Dictionary)
signal connection_closed()
-const VERSION_MAJOR: int = 7
-const VERSION_MINOR: int = 1
+static var VERSION_MAJOR: int = 7
+static var VERSION_MINOR: int = 1
var connected := false
var socket := WebSocketPeer.new()
@@ -82,7 +82,7 @@ func handle_packet(coded):
"version":
var major = p["major"]
var minor = p["minor"]
- if major != VERSION_MAJOR and minor >= VERSION_MINOR:
+ if major != VERSION_MAJOR or minor > VERSION_MINOR:
socket.close()
connected = false
connection_closed.emit(tr("c.error.version_mismatch").format([major, minor, VERSION_MAJOR, VERSION_MINOR]))