Avaliação do servidor

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

A fórmula de pontuação

Os servidores são avaliados usando uma fórmula de soma pesada. Existem quatro partes nessa fórmula:

  • Atributos, que são dados que descrevem jogadores e servidores, como idade do jogador ou ocupação do servidor.
  • Sinais, que transformam atributos em números entre 0 e 1.
  • Pesos, que descrevem a importância relativa dos sinais.
  • A pontuação do servidor score, que mede a compatibilidade do servidor com o jogador que se junta.

O jogador de junção é correspondido ao servidor com a maior pontuação do servidor.

Atributos

Atributos são dados que descrevem jogadores e servidores.O valor de um atributo pode ser um número ou uma string / cadeia / texto.Quando o valor de um atributo é uma string / cadeia / texto, isso é chamado de atributo categorial.Quando o valor de um atributo é um número, ele é chamado de atributo numérico.

Para uma lista completa de todos os atributos Roblox disponíveis, veja Atributos existentes.Para mais informações sobre atributos personalizados, veja Atributos personalizados.

Exemplo: Atributos categoriais e numerais
Atributos categoricais
Tem Amigos é um atributo categorial porque seu valor é a string "true" quando há um jogador preferido neste servidor, e "false" quando não há jogadores preferidos neste servidor.
Idioma é um atributo categorial porque seu valor é a configuração de idioma do jogador, como "Japonês".
Atributos numerais
Idade é um atributo numérico porque seu valor é a idade do jogador.
Ocupação é um atributo numérico porque seu valor é o número de jogadores atualmente neste servidor.

Sinais

Os sinais transformam os valores dos atributos em números entre 0 e 1, chamados de pontuações de sinal.Uma pontuação de sinal de 1 prevê alta compatibilidade do jogador, enquanto uma pontuação de sinal de 0 prevê baixa compatibilidade do jogador.Dependendo do atributo, as transformações podem incluir diferentes agregações, comparações e normalizações.

Para uma lista completa de sinais existentes do Roblox, veja Sinais existentes. Para mais informações sobre sinais personalizados, veja Sinais personalizados.

Exemplo: Dois servidores com pontuações de sinal diferentes

A tabela a seguir calcula as pontuações do sinal de ocupação para dois servidores diferentes com capacidade para 8 jogadores:

Jogadores no servidor Pontuação de ocupação
Servidor A 22/8 = 0.25
Servidor B 66/8 = 0.75

O sinal de Ocupação pontua o Servidor B mais alto e o considera um ajuste melhor para o jogador que se junta.

Pesas

O peso de um sinal descreve a importância desse sinal em relação a outros sinais.Um peso maior aumenta a contribuição do sinal para a pontuação do servidor.O valor após multiplicar um score de sinal por seu peso é chamado de sinal ponderado .

Sinais não podem ter pesos negativos. Se o peso de um sinal for 0, esse sinal não é considerado para pontuação.

Exemplo: Ponderar a pontuação de ocupação

A tabela a seguir calcula pontuações de sinal de Ocupação pesadas para um local com capacidade para 8 jogadores e um peso de sinal de Ocupação de 2:

Jogadores no servidor Pontuação de ocupação Pontuação de ocupação pesada
Servidor A 22/8 = 0.250.25 * 2 = 0.5
Servidor B 66/8 = 0.750.75 * 2 = 1.5
Exemplo: Duas configurações com diferentes pesos

Pesos diferentes também podem fazer com que o matchmaking escolha diferentes servidores.A tabela a seguir calcula as pontuações do servidor de dois servidores com diferentes configurações de matchmaking.A configuração 2 tem um peso maior para o seu sinal de Ocupação, e o Servidor A tem um amigo do jogador que se junta a ele.

Amigos Ocupação
Peso Pontuação > Peso > Pontuação > Pontuação total >
Configuração 1 Servidor A 1150.251 * 1 + 5 * 0.25 = 2.25
Servidor B 1050.751 * 0 + 5 * 0.75 = 3.75
Configuração 2 Servidor A 3150.253 * 1 + 5 * 0.25 = 4.25
Servidor B 3050.753 * 0 + 5 * 0.75 = 3.75

Pontuação do servidor

A pontuação do servidor é calculada pela seguinte fórmula de soma ponderada, que soma as pontuações de sinal pesadas do servidor:


ServerScore
= WeightedSignalScore_1 + WeightedSignalScore_2 + ... + WeightedSignalScore_n
= Weight_1 * SignalScore_1 + Weight_2 * SignalScore_2 + ... + Weight_n * SignalScore_n

Configurações de matchmaking

Uma configuração de matchmaking é o conjunto de sinais e pesos usados para pontuar servidores de um local.Por padrão, todos os servidores de todos os lugares são pontuados pela configuração padrão do Roblox, o que significa que você não precisa personalizar ou habilitar nenhuma configuração para usá-la.

A configuração padrão do Robox inclui os seguintes sinais e pesos:

Sinal Peso
Amigos10
Latência3
Ocupação2
Histórico de Jogo2
Idade1
Linguagem1
chat/conversade Voz1
Tipo de dispositivo0

Na configuração padrão do Roblox, o peso do sinal de Amigos é maior que a soma dos pesos de todos os outros sinais.Isso significa que, se disponível, o jogador de junção sempre é correspondido a servidores com amigos (ou jogadores com o mesmo endereço IP) neles.

O sinal do tipo de dispositivo existe na configuração padrão, mas tem um peso de 0, portanto, não afeta as decisões de matchmaking.Você pode ajustar esse peso quando você personalizar a busca de correspondência.

Para mais informações sobre cada sinal do Roblox, veja Sinais existentes.

Conceitos avançados

Os seguintes são conceitos mais avançados sobre o processo de matchmaking.

Normalização

Sinais normalizam os valores de atributos para serem números entre 0 e 1.Sinais numéricos podem ser normalizados por qualquer número positivo, chamado de fator de normalização .Se o valor normalizado for maior que 1, ele é reduzido para 1.

Exemplo: Projetar o sinal de Idade

O sinal Idade mede a diferença entre a idade média dos jogadores no servidor e a idade do jogador que se junta.

ageDifference = abs(avgServerAge - joiningPlayerAge)

Servidores com diferenças de idade além de 25 são todos considerados igualmente incompatíveis com o jogador.Por exemplo, uma diferença de idade de 25 não é pior para um jogador do que uma diferença de idade de 26, então ambos os valores devem levar a pontuação do sinal para 0.Neste caso, 25 é considerado o fator de normalização.

normAgeDifference = min(1, abs(avgServerAge - joiningPlayerAge) / 25)

A pontuação do sinal está inversamente relacionada à diferença de idade, o que significa que a pontuação do sinal é maior quando a diferença de idade é menor.

ageDifferenceSignalScore = 1 - normAgeDifference

A tabela a seguir mostra as pontuações do sinal de Idade com dois fatores de normalização diferentes:

Idade Fator de normalização: 100 Fator de normalização: 25
500.50
250.750
120.880.52
50.950.8
011

O sinal com um fator de normalização de 25 considera as diferenças de idade de 5 anos e 12 anos mais distantes.Fatores de normalização menores têm o efeito de amplificar aumentos ou diminuições marginais na diferença de idade.

Magnitudes de peso

Um peso indica a importância de um sinal em relação a outros sinais em uma configuração.As magnitudes relativas dos pesos determinam a importância do sinal, não suas magnitudes absolutas.

Exemplo: Relativo vs magnitude absoluta

A tabela abaixo calcula as pontuações do servidor de dois servidores com duas configurações diferentes de matchmaking.Configuração 5 e Configuração 6 têm pesos de ocupação maiores que seus respectivos pesos de amigos.O servidor A tem um amigo do jogador que se junta nele.

Amigos Ocupação
Peso Pontuação > Peso > Pontuação > Pontuação total >
Configuração 5 Servidor A 10,000115,0000.2510,000 * 1 + 15,000 * 0.25 = 13,750
Servidor B 10,000015,0000.7510,000 * 0 + 15,000 * 0.75 = 11,250
Configuração 6 Servidor A 0.0110.050.250.01 * 1 + 0.05 * 0.25 = 0.0225
Servidor B 0.0100.050.750.01 * 0 + 0.05 * 0.75 = 0.0375

O servidor A vence com a Configuração 5 enquanto o servidor B vence com a Configuração 6.Isso ocorre porque o peso de Ocupação da Configuração 5 é apenas 1,5x seu peso de Amigos, enquanto o peso de Ocupação da Configuração 6 é 5x seu peso de Amigos.

Apesar de diferenças em magnitudes absolutas, a Configuração 6 prioriza a Ocupação sobre os Amigos mais do que a Configuração 5 faz.