Pontuaçã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 pontuados usando uma fórmula de soma ponderada. Existem quatro partes nesta fórmula:

  • Atributos, que são dados que descrevem jogadores e servidores, como a idade do jogador ou a 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, que mede a compatibilidade do servidor com o jogador que está entrando.

O jogador que está entrando é combinado com o servidor com a maior pontuação de servidor.

Atributos

Atributos são dados que descrevem jogadores e servidores. O valor de um atributo pode ser um número ou uma string. Quando o valor de um atributo é uma string, chama-se atributo categórico. Quando o valor de um atributo é um número, chama-se atributo numérico.

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

Exemplo: Atributos categóricos e numéricos
Atributos categóricos
Tem Amigos é um atributo categórico 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 categórico porque seu valor é a configuração de idioma do jogador, como "Japonês".
Atributos numéricos
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

Sinais transformam os valores de 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 do Roblox existentes, veja Sinais existentes. Para mais informações sobre sinais personalizados, veja Sinais personalizados.

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

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

Jogadores no servidorPontuação de ocupação
Servidor A22/8 = 0.25
Servidor B66/8 = 0.75

O sinal de ocupação classifica o Servidor B de forma mais alta e considera-o uma melhor opção para o jogador que está entrando.

Pesos

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 uma pontuação de sinal por seu peso é chamado de sinal ponderado.

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

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

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

Jogadores no servidorPontuação de ocupaçãoPontuação de ocupação ponderada
Servidor A22/8 = 0.250.25 * 2 = 0.5
Servidor B66/8 = 0.750.75 * 2 = 1.5
Exemplo: Duas configurações com pesos diferentes

Pesos diferentes também podem fazer com que o sistema de matchmaking escolha servidores diferentes. A tabela a seguir calcula as pontuações dos servidores de dois servidores com diferentes configurações de matchmaking. A Configuração 2 tem um peso maior para seu sinal de Ocupação, e o Servidor A tem um amigo do jogador que está entrando nele.

AmigosOcupação
PesoPontuaçãoPesoPontuaçãoPontuação total
Config 1Servidor A1150.251 * 1 + 5 * 0.25 = 2.25
Servidor B1050.751 * 0 + 5 * 0.75 = 3.75
Config 2Servidor A3150.253 * 1 + 5 * 0.25 = 4.25
Servidor B3050.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 ponderadas de um servidor:

Pontuac¸a˜oServidor=Pontuac¸a˜oSinalPonderada1+Pontuac¸a˜oSinalPonderada2++Pontuac¸a˜oSinalPonderadan\text{PontuaçãoServidor} = \text{PontuaçãoSinalPonderada}_1 + \text{PontuaçãoSinalPonderada}_2 + \ldots + \text{PontuaçãoSinalPonderada}_n

Pontuac¸a˜oServidor=Peso1×Pontuac¸a˜oSinal1+Peso2×Pontuac¸a˜oSinal2++Peson×Pontuac¸a˜oSinaln\phantom{\text{PontuaçãoServidor}} = \text{Peso}_1 \times \text{PontuaçãoSinal}_1 + \text{Peso}_2 \times \text{PontuaçãoSinal}_2 + \ldots + \text{Peso}_n \times \text{PontuaçãoSinal}_n

Configurações de matchmaking

Uma configuração de matchmaking é o conjunto de sinais e pesos utilizados para pontuar servidores de um lugar. 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 ativar nenhuma configuração para usá-la.

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

SinalPeso
Amigos15
Latência3
Chat de texto3
Ocupação2
Histórico de jogos2
Idioma2
Idade1
Chat de voz1
Tipo de dispositivo0

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

O sinal Tipo de Dispositivo existe na configuração padrão, mas tem um peso de 0, então não afeta as decisões de matchmaking. Você pode ajustar esse peso quando personalizar o matchmaking.

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 dos 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 é limitado a 1.

Exemplo: Projetando o sinal de Idade

O sinal de Idade mede a diferença entre a idade média dos jogadores no servidor e a idade do jogador que está entrando.

diferenc¸aIdade=idadeMeˊdiaServidoridadeJogadorEntrando\text{diferençaIdade} = |\text{idadeMédiaServidor} - \text{idadeJogadorEntrando}|

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 a 0. Neste caso, 25 é considerado o fator de normalização.

normDiferenc¸aIdade=min(1,idadeMeˊdiaServidoridadeJogadorEntrando/25)\text{normDiferençaIdade} = \min(1, |\text{idadeMédiaServidor} - \text{idadeJogadorEntrando}| / 25)

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

pontuac¸a˜oSinalDiferenc¸aIdade=1normDiferenc¸aIdade\text{pontuaçãoSinalDiferençaIdade} = 1 - \text{normDiferençaIdade}

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

IdadeFator de normalização: 100Fator 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 como 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: Magnitude relativa vs absoluta

A tabela abaixo calcula as pontuações de servidor de dois servidores com duas diferentes configurações de matchmaking. A Configuração 5 e a Configuração 6 têm pesos de Ocupação superiores aos seus respectivos pesos de Amigos. O Servidor A tem um amigo do jogador que está entrando nele.

AmigosOcupação
PesoPontuaçãoPesoPontuaçãoPontuação total
Config 5Servidor A10.000115.0000.2510.000 * 1 + 15.000 * 0.25 = 13.750
Servidor B10.000015.0000.7510.000 * 0 + 15.000 * 0.75 = 11.250
Config 6Servidor A0.0110.050.250.01 * 1 + 0.05 * 0.25 = 0.0225
Servidor B0.0100.050.750.01 * 0 + 0.05 * 0.75 = 0.0375

O Servidor A vence na Configuração 5, enquanto o Servidor B vence na Configuração 6. Isso acontece 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 das diferenças nas magnitudes absolutas, a Configuração 6 prioriza Ocupação sobre Amigos mais do que a Configuração 5.

©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.