diff options
-rw-r--r-- | client/menu/play.gd | 2 | ||||
-rw-r--r-- | client/multiplayer.gd | 6 |
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])) |