How can we diagnose networking issues with no diagnostic data? Or why we need the latency meter from D1 back.
Without having any access to diagnostic data and with the Steam UDP relay system masking IPs, there is no way for certain to understand where a networking problem is. Destiny 1 had a latency meter that showed a bar on the right side of the roster. This needs to return, but instead, offer a numerical display. With latency information between me and other players, as well as to Bungie's activity host, we can further diagnose the problem to be either another player's connection, Bungie's ISP or resources with their server, or my own connection.
Since Bungie uses the Steam UDP relay service on all platforms, the Steamworks SDK makes it really simple to calculate this and display on the UI. Here is how Unreal gets the value:
[quote]int32 FSteamSocketsPing::GetPingFromHostData(const FString& HostPingStr) const
{
if (!SteamNetworkingUtils() || HostPingStr.IsEmpty() || !IsUsingP2PRelays())
{
UE_LOG(LogNet, Warning, TEXT("SteamSockets: Could not determine ping data as SteamNetworking is unavailable."));
return -1;
}
// Attempt to serialize the data that we've gotten already.
SteamNetworkPingLocation_t HostPingData;
if (SteamNetworkingUtils()->ParsePingLocationString(TCHAR_TO_ANSI(*HostPingStr), HostPingData))
{
// This should be an extremely quick function, as it compares regional data within the node network
// that we got from the host to our own node information. This ping data is mostly just math.
int32 PingValue = SteamNetworkingUtils()->EstimatePingTimeFromLocalHost(HostPingData);
if (PingValue == -1)
{
// A value of -1 occurs when there's a critical failure (We don't have our own ping data ready).
// However, it's not a fatal error, and we can always request for that data again later.
return -1;
}
return PingValue;
}
else
{
// This happens if the string has been tampered with, the protocol has upgraded or just something overall went wrong.
UE_LOG(LogNet, Log, TEXT("SteamSockets: Could not parse the host location in order to determine ping."));
return -1;
}
}[/quote]
Your role as a moderator enables you immediately ban this user from messaging (bypassing the report queue) if you select a punishment.
7 Day Ban
7 Day Ban
30 Day Ban
Permanent Ban
This site uses cookies to provide you with the best possible user experience. By clicking 'Accept', you agree to the policies documented at Cookie Policy and Privacy Policy.
Accept
This site uses cookies to provide you with the best possible user experience. By continuing to use this site, you agree to the policies documented at Cookie Policy and Privacy Policy.
close
Our policies have recently changed. By clicking 'Accept', you agree to the updated policies documented at Cookie Policy and Privacy Policy.
Accept
Our policies have recently changed. By continuing to use this site, you agree to the updated policies documented at Cookie Policy and Privacy Policy.