summaryrefslogtreecommitdiff
path: root/src/network/core
diff options
context:
space:
mode:
authorPatric Stout <truebrain@openttd.org>2021-08-17 13:35:29 +0200
committerGitHub <noreply@github.com>2021-08-17 13:35:29 +0200
commit6acf204d14343e67fdc01ae8c52044d0de20bbd2 (patch)
tree6fc2fec3880e18963033f1a2ea6adea30d996ef6 /src/network/core
parentb531a0c1cfa454a7e019b7b679d46585bd75839b (diff)
downloadopenttd-6acf204d14343e67fdc01ae8c52044d0de20bbd2.tar.xz
Fix: report reuse of invite-code and switch to local game-type (#9487)
This prevents two servers battling for the same invite-code. Now the last one wins.
Diffstat (limited to 'src/network/core')
-rw-r--r--src/network/core/config.h2
-rw-r--r--src/network/core/tcp_coordinator.h7
2 files changed, 5 insertions, 4 deletions
diff --git a/src/network/core/config.h b/src/network/core/config.h
index 0a6eaa4f7..a7493e817 100644
--- a/src/network/core/config.h
+++ b/src/network/core/config.h
@@ -50,7 +50,7 @@ static const uint16 COMPAT_MTU = 1460; ///< Numbe
static const byte NETWORK_GAME_ADMIN_VERSION = 1; ///< What version of the admin network do we use?
static const byte NETWORK_GAME_INFO_VERSION = 6; ///< What version of game-info do we use?
static const byte NETWORK_COMPANY_INFO_VERSION = 6; ///< What version of company info is this?
-static const byte NETWORK_COORDINATOR_VERSION = 5; ///< What version of game-coordinator-protocol do we use?
+static const byte NETWORK_COORDINATOR_VERSION = 6; ///< What version of game-coordinator-protocol do we use?
static const uint NETWORK_NAME_LENGTH = 80; ///< The maximum length of the server name and map name, in bytes including '\0'
static const uint NETWORK_COMPANY_NAME_LENGTH = 128; ///< The maximum length of the company name, in bytes including '\0'
diff --git a/src/network/core/tcp_coordinator.h b/src/network/core/tcp_coordinator.h
index dea61cdec..9f2731b7c 100644
--- a/src/network/core/tcp_coordinator.h
+++ b/src/network/core/tcp_coordinator.h
@@ -61,9 +61,10 @@ enum ConnectionType {
* The type of error from the Game Coordinator.
*/
enum NetworkCoordinatorErrorType {
- NETWORK_COORDINATOR_ERROR_UNKNOWN, ///< There was an unknown error.
- NETWORK_COORDINATOR_ERROR_REGISTRATION_FAILED, ///< Your request for registration failed.
- NETWORK_COORDINATOR_ERROR_INVALID_INVITE_CODE, ///< The invite code given is invalid.
+ NETWORK_COORDINATOR_ERROR_UNKNOWN, ///< There was an unknown error.
+ NETWORK_COORDINATOR_ERROR_REGISTRATION_FAILED, ///< Your request for registration failed.
+ NETWORK_COORDINATOR_ERROR_INVALID_INVITE_CODE, ///< The invite code given is invalid.
+ NETWORK_COORDINATOR_ERROR_REUSE_OF_INVITE_CODE, ///< The invite code is used by another (newer) server.
};
/** Base socket handler for all Game Coordinator TCP sockets. */