public Uri CreateUri()
{
UriBuilder ub = new UriBuilder( HeartbeatUri );
StringBuilder sb = new StringBuilder();
sb.AppendFormat( "public={0}&max={1}&users={2}&port={3}&version={4}&salt={5}&name={6}",
IsPublic,
MaxPlayers,
PlayerCount,
Port,
ProtocolVersion,
Uri.EscapeDataString( Salt ),
Uri.EscapeDataString( ServerName ) );
foreach ( var pair in CustomData ) {
sb.AppendFormat( "&{0}={1}",
Uri.EscapeDataString( pair.Key ),
Uri.EscapeDataString( pair.Value ) );
}
ub.Query = sb.ToString();
return ub.Uri;
}