diff --git a/garrysmod/html/js/menu/control.Servers.js b/garrysmod/html/js/menu/control.Servers.js index f715a33f51..4d4fd8ce33 100644 --- a/garrysmod/html/js/menu/control.Servers.js +++ b/garrysmod/html/js/menu/control.Servers.js @@ -389,21 +389,19 @@ function FormatVersion( ver ) } // Calculates the default server ranking +var pingCutoff = 150; function CalculateRank( server ) { - var recommended = server.ping; + // Ping cutoff at pingCutoff, anything under that is equally "good" + var recommended = 54; // Starts at 54 because 50 is rank5, so 5 people would need to be on at least for rank5 + if ( server.ping > pingCutoff ) recommended += ( server.ping - pingCutoff ); if ( server.players == 0 ) recommended += 75; // Server is empty //if ( server.players >= server.maxplayers ) recommended += 100; // Server is full, can't join it if ( server.pass || server.version_c < 0 ) recommended += 300; // Password protected or outdated, can't join it if ( server.isAnon ) recommended += 1000; // Anonymous server - // The first few bunches of players reduce the impact of the server's ping on the ranking a little - if ( server.players >= 4 ) recommended -= 10; - if ( server.players >= 8 ) recommended -= 15; - if ( server.players >= 16 ) recommended -= 15; - if ( server.players >= 32 ) recommended -= 10; - if ( server.players >= 64 ) recommended -= 10; + recommended -= server.players; // More players is better return recommended; } @@ -712,4 +710,4 @@ function ReceiveFoundServers( data ) Scope.FoundServers = data; UpdateDigest( RootScope, 60 ); -} \ No newline at end of file +}