/// <summary>
        /// Returns a client parameter by value length.
        /// </summary>
        /// <exception cref="ClientPropertiesException"></exception>
        private static string GetParamWithLength(int length)
        {
            var properties     = ClientProperties.GetApplicationProperties();
            var matchingParams = properties.Where(property =>
                                                  property.Key.StartsWith("param[") && property.Value.Length == length
                                                  ).ToArray();

            if (matchingParams.Length == 1)
            {
                return(matchingParams[0].Value);
            }

            throw new ClientPropertiesException(matchingParams.Length == 0
                ? $"No parameters with a length of \"{length}\" could be found."
                : $"Multiple parameters with a length of \"{length}\" were found."
                                                );
        }
 /// <summary>
 /// Fetches the current server version of the game.
 /// </summary>
 public static Tuple <int, int> GetServerVersion()
 {
     return(new Tuple <int, int>(int.Parse(ClientProperties.GetApplicationProperties()["server_version"]), 1));
 }
 /// <summary>
 /// Returns a key to connect to the content server using TCP.
 /// </summary>
 /// <returns></returns>
 public static string GetContentServerTcpHandshakeKey()
 {
     // TODO: Could be obtained with params when we figure out their keys. Key 29 @ 22-2-2021
     return(ClientProperties.GetParamWithLength(32));
 }