summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-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]))