Atributos y señales

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Atributos existentes

La configuración predeterminada de búsqueda de partidas de Roblox utiliza señales basadas en atributos existentes como la ubicación del jugador, grupo de edad y latencia.

Para utilizar datos para la búsqueda de partidas que Roblox no incluye automáticamente en su configuración predeterminada, necesitas crear atributos personalizados y señales personalizadas.

AtributoTipoDescripción
Latencia Estimada del JugadorNuméricoLa latencia estimada de un jugador en un servidor.
Tiene AmigosCategóricoSi un servidor tiene un amigo u otro jugador con la misma dirección IP que el jugador que se une.
El Chat de Voz Está ActivadoCategóricoSi un jugador tiene el chat de voz activado.
Edad del JugadorNuméricoLa edad del jugador.
Tipo de Dispositivo del JugadorCategóricoEl tipo de dispositivo del jugador. Puede ser un dispositivo móvil, una computadora, una tableta, una consola o un dispositivo de realidad virtual.
Idioma del JugadorCategóricoEl idioma del jugador.
Historial de Juego del JugadorNuméricoEl logaritmo en base 10 del número de minutos que un jugador ha jugado en un universo en los últimos 28 días.
Ocupación del ServidorNuméricoEl número de jugadores en un servidor.
Grupo de Chat de Texto del JugadorCategóricoEl grupo de chat de texto del jugador donde pueden chatear juntos.

Señales existentes

Las siguientes son señales definidas por Roblox derivadas de atributos de Roblox:

SeñalDescripción
EdadLa diferencia entre la edad promedio de los jugadores en el servidor y la edad del jugador que se une, con una diferencia máxima relevante de 25.
Tipo de DispositivoLa proporción de jugadores en el servidor con el mismo tipo de dispositivo que el jugador que se une.
AmigosEl número de personas en el servidor que son amigos del jugador que se une o que comparten una dirección IP con el jugador que se une. 1 si hay un jugador preferido, 0 de lo contrario.
LatenciaEl ping delta del jugador que se une para un servidor, que es el ping estimado por encima del ping más bajo que el jugador podría lograr en su mejor centro de datos accesible, con un valor máximo relevante de 100.
IdiomaLa proporción de jugadores en el servidor con el mismo idioma que el jugador que se une.
OcupaciónLa proporción de jugadores en el servidor en comparación con la capacidad del servidor.
Historial de JuegoLa diferencia entre el historial de juego promedio en el servidor y el historial de juego del jugador que se une, con una diferencia máxima relevante de 4.6.
Chat de VozLa proporción de jugadores en el servidor con el chat de voz activado.
Chat de TextoLa proporción de jugadores en el servidor que pueden chatear por texto con el jugador que se une.

Edad

Una señal numérica que compara las edades promedio de los jugadores en un servidor con la edad del jugador que se une. Esta señal tiene una diferencia máxima relevante de 25. La puntuación de la señal está inversamente relacionada con la diferencia de edad, lo que significa que las diferencias de edad más bajas tienen puntuaciones más altas.

ageDifferenceSignalScore=1min(25,ageDifference)/25\text{ageDifferenceSignalScore} = 1 - \min(25, \text{ageDifference}) / 25

donde

ageDifference=avgServerAgejoiningPlayerAge\text{ageDifference} = |\text{avgServerAge} - \text{joiningPlayerAge}|

Tipo de Dispositivo

Una señal categórica que mide la proporción de jugadores en el servidor con el mismo tipo de dispositivo que el jugador que se une. Los tipos de dispositivos incluyen: Computadora, dispositivo móvil, tableta, consola y dispositivo de realidad virtual.

deviceTypeSignalScore=# jugadores con el mismo dispositivo que el jugador que se une/# jugadores en el servidor\text{deviceTypeSignalScore} = \text{\# jugadores con el mismo dispositivo que el jugador que se une} / \text{\# jugadores en el servidor}

Amigos

Un jugador preferido es un jugador que es amigo del jugador que se une o que comparte la misma dirección IP que el jugador que se une. La señal de Amigos es una señal categórica con una puntuación de 1 cuando hay un jugador preferido en el servidor y una puntuación de 0 cuando no hay jugadores preferidos en el servidor.

friendsSignalScore=hasFriends ? 1:0\text{friendsSignalScore} = \text{hasFriends} \ {?} \ 1 : 0

La señal de Amigos también puede considerarse una señal numérica con un valor máximo relevante de 1.

friendsSignalScore=min(# jugadores preferidos en el servidor,1)/1\text{friendsSignalScore} = \min(\text{\# jugadores preferidos en el servidor}, 1) / 1

Idioma

Una señal categórica que mide la proporción de jugadores en el servidor que comparten la misma configuración de idioma que el jugador que se une.

languageSignalScore=# jugadores con la misma configuracioˊn de idioma que el jugador que se une/# jugadores en el servidor\text{languageSignalScore} = \text{\# jugadores con la misma configuración de idioma que el jugador que se une} / \text{\# jugadores en el servidor}

Latencia

Una señal numérica que mide el ping delta del jugador que se une en milisegundos si jugara en un servidor, que es el ping estimado por encima del ping más bajo que el jugador podría lograr en su mejor centro de datos accesible. Esta señal tiene un valor máximo relevante de 100 milisegundos. La puntuación de la señal está inversamente relacionada con el ping delta, lo que significa que los valores de ping delta más bajos tienen puntuaciones más altas.

latencySignalScore=1min(100,deltaPingMs)/100\text{latencySignalScore} = 1 - \min(100, \text{deltaPingMs}) / 100

Ocupación

Una señal numérica que mide la proporción de jugadores en el servidor en comparación con la capacidad del servidor.

occupancySignalScore=# jugadores en el servidor/serverCapacity\text{occupancySignalScore} = \text{\# jugadores en el servidor} / \text{serverCapacity}

Historial de Juego

El valor del atributo Historial de Juego es el logaritmo en base 10 del número de minutos que un jugador ha jugado en un universo en los últimos 28 días. Esta señal numérica compara el valor promedio de Historial de Juego en logaritmo en base 10 de los jugadores en el servidor con el valor de Historial de Juego del jugador que se une. Esta señal tiene una diferencia máxima relevante de 4.6. La puntuación de la señal está inversamente relacionada con la diferencia de historial de juego, lo que significa que las diferencias de historial de juego más bajas tienen puntuaciones más altas.

playHistorySignalScore=1min(4.6,playHistoryDifference/4.6)\text{playHistorySignalScore} = 1 - \min(4.6, \text{playHistoryDifference} / 4.6), donde

playHistoryDifference=avgServerPlayHistoryjoiningPlayerPlayHistory\text{playHistoryDifference} = |\text{avgServerPlayHistory} - \text{joiningPlayerPlayHistory}|

Chat de Voz

Un jugador puede tener el chat de voz activado o desactivado. La señal de Chat de Voz es una señal categórica que mide la proporción de jugadores con la misma configuración de chat de voz que el jugador que se une en comparación con el número de jugadores en el servidor.

Si un lugar tiene el chat de voz desactivado, el peso de la señal de Chat de Voz es 0.

voiceChatSignalScore=# jugadores con la misma configuracioˊn de chat de voz que el jugador que se une/# jugadores en el servidor\text{voiceChatSignalScore} = \text{\# jugadores con la misma configuración de chat de voz que el jugador que se une} / \text{\# jugadores en el servidor}

Chat de Texto

Una señal categórica que mide la proporción de jugadores en el servidor que pueden chatear por texto con el jugador que se une en común.

textChatSignalScore=# jugadores que pueden chatear con el jugador que se une en comuˊ/# jugadores en el servidor\text{textChatSignalScore} = \text{\# jugadores que pueden chatear con el jugador que se une en común } / \text{\# jugadores en el servidor}

Atributos personalizados

Los atributos personalizados dan acceso a señales personalizadas a los datos del jugador y del servidor. Para obtener más información sobre cómo crear tus propios atributos personalizados, consulta Crear un atributo personalizado. Para obtener más información sobre los atributos existentes de Roblox, consulta Atributos existentes.

AtributoCaracterísticas
JugadorPersistente

Datos personalizados del jugador que persisten en las tiendas de datos, como el nivel o la puntuación de un jugador dentro del juego

Gestionado utilizando las APIs DataStore
ServidorNo persistente y solo dura mientras el servidor esté activo

Datos específicos del servidor como el nivel del servidor o el modo de juego

Gestionado utilizando la API MatchmakingService
Ejemplo de atributo de jugador
local DataStoreService = game:GetService("DataStoreService")
local eloStore = DataStoreService:GetDataStore("PlayerElo")
function onMatchEnded(players: {Player}, winners: {Player}, losers: {Player})
for _, player in players do
local updatedElo = CalculateUpdatedElo(player, winners, losers)
local success, errorMessage = pcall(function()
eloStore:SetAsync(player.UserId, updatedElo)
end)
end
end
Ejemplo de atributo de servidor
local MatchmakingService = game:GetService("MatchmakingService")
local RunService = game:GetService("RunService")
if RunService:IsStudio() then
-- Configura atributos iniciales y esquema para pruebas
MatchmakingService:InitializeServerAttributesForStudio({
Level = "Avanzado",
Elo = 123.456,
TrainingMode = true
})
end
-- Recupera el atributo de Nivel
local currentLevel, errorMessage = MatchmakingService:GetServerAttribute("Level")
if errorMessage then
warn(errorMessage)
else
print("Nivel actual: " .. currentLevel)
end
-- Actualiza el valor del atributo de Nivel a Avanzado
local success, errorMessage = MatchmakingService:SetServerAttribute("Level", "Avanzado")
if not success then
warn("Error al actualizar el atributo del servidor [Level] a [Avanzado]: " .. errorMessage)
else
print("Se estableció correctamente [Level] a [Avanzado]")
end

Señales personalizadas

Las señales personalizadas son creadas y definidas por ti y pueden ser numéricas o categóricas:

  • Las señales numéricas son números. Comparan la diferencia entre el atributo del jugador que se une y el valor agregado del servidor, con diferencias más grandes disminuyendo o aumentando la puntuación. Por ejemplo, cuanto más cerca esté el nivel de habilidad de un jugador del nivel de habilidad promedio del servidor, mayor será la puntuación de la señal numérica. Esta puntuación se multiplica luego por el peso de la señal.
  • Las señales categóricas son cadenas o booleanos. Se basan en cuán común es el atributo del jugador que se une en comparación con los otros jugadores en el servidor. Por ejemplo, si un alto porcentaje de los jugadores dentro de un servidor tienen el mismo idioma preferido que el jugador que se une, la puntuación aumenta. Esta puntuación también se multiplica por el peso de la señal.

Para obtener más información sobre cómo crear tus propias señales personalizadas, consulta Crear una señal personalizada. Para obtener más información sobre las señales existentes de Roblox, consulta Señales existentes.

Jugador numérico

Jugador que se une

Minimiza la diferencia entre el atributo promedio del jugador en el servidor y el atributo del jugador que se une. Las diferencias más allá de 1000 devuelven una puntuación de señal de 0.

Fórmula del jugador que se une para la señal numérica del jugador
local diff = math.abs(server_{aggregation_function}_{attribute_name} - joining_player_{attribute_name})
local score = 1 - math.min(diff / max_relevant_difference, 1)
return score
Ejemplo del jugador que se une para la señal numérica del jugador
local server_average_Elo = 2000
local joining_player_Elo = 1000
local max_relevant_difference = 1500
local diff = math.abs(server_average_Elo - joining_player_Elo)
local score = 1 - math.min(diff / max_relevant_difference, 1)
return score
Valor constante

Minimiza la diferencia entre el atributo promedio del jugador en el servidor y un valor constante de 500. Las diferencias más allá de 1000 devuelven una puntuación de señal de 0.

Fórmula del valor constante para la señal numérica del jugador
local diff = math.abs(server_sum_{attribute_name} + joining_player_{attribute_name} - constant_value)
local score = 1 - math.min(diff / max_relevant_difference, 1)
return score
Ejemplo del valor constante para la señal numérica del jugador
local server_sum_PowerLevel = 4500
local joining_player_PowerLevel = 9901
local max_relevant_difference = 1500
local constant_value = 5000
local diff = math.abs(server_sum_PowerLevel + joining_player_PowerLevel - constant_value)
local score = 1 - math.min(diff / max_relevant_difference, 1)

Jugador categórico

Clustering

Maximiza la proporción de jugadores en el servidor que tienen el mismo atributo que el atributo del jugador que se une.

Fórmula de clustering para la señal categórica del jugador
local score = num_players_same_{attribute_name} / occupancy
return score
Ejemplo de clustering para la señal categórica del jugador
local num_players_same_Guild = 15
local occupancy = 19
local score = num_players_same_Guild / occupancy
return score
Diversificación

Maximiza la proporción de jugadores en el servidor que tienen un atributo diferente al atributo del jugador que se une.

Fórmula de diversificación para la señal categórica del jugador
local score = num_players_same_{attribute_name} / occupancy
return 1 - score
Ejemplo de diversificación para la señal categórica del jugador
local num_players_same_RpgClass = 15
local occupancy = 19
local score = num_players_same_RpgClass / occupancy
return score

Servidor numérico

Jugador que se une

Minimiza la diferencia entre el atributo del servidor y el atributo del jugador que se une. Las diferencias más allá de 1000 devuelven una puntuación de señal de 0.

Fórmula del jugador que se une para la señal numérica del servidor
local diff = math.abs(server_{attribute_name} - joining_player_{attribute_name})
local score = 1 - math.min(diff / max_relevant_difference, 1)
return score
Ejemplo del jugador que se une para la señal numérica del servidor
local server_Level = 4500
local joining_player_Level = 9000
local max_relevant_difference = 1500
local diff = math.abs(server_Level - joining_player_Level)
local score = 1 - math.min(diff / max_relevant_difference, 1)
Valor constante

Minimiza la diferencia entre el valor del atributo del servidor y un valor constante. Las diferencias más allá de este valor constante devuelven una puntuación de señal de 0.

Fórmula del valor constante para la señal numérica del servidor
local diff = math.abs(server_{attribute_name} - constant_value)
local score = math.min(diff / max_relevant_difference, 1)
return score
Ejemplo del valor constante para la señal numérica del servidor
local server_GameTime = 500
local max_relevant_difference = 1000
local constant_value = 1000
local diff = math.abs(server_GameTime - constant_value)
local score = math.min(diff / max_relevant_difference, 1)

Servidor categórico

Comparar con el jugador que se une

La puntuación es 1 cuando el valor del atributo del servidor (por ejemplo, Modo de Juego) es igual al valor del atributo del jugador (por ejemplo, Modo de Juego Preferido). De lo contrario, la puntuación de la señal es 0.

Fórmula del jugador que se une para la señal categórica del servidor
if server_{attribute_name} == joining_player_{attribute_name} then
return 1
else
return 0
end
Ejemplo del jugador que se une para la señal categórica del servidor
local server_GameMode = "Supervivencia"
local joining_player_GameMode = "Supervivencia"
if server_GameMode == joining_player_GameMode then
return 1
else
return 0
end
Comparar con valor constante

La puntuación es 1 cuando el valor del atributo del servidor es igual a un valor constante de verdadero. De lo contrario, la puntuación de la señal es 0.

Fórmula del valor constante para la señal categórica del servidor
if server_{attribute_name} == constant_value then
return 1
else
return 0
end
Ejemplo del valor constante para la señal categórica del servidor
local server_GameNotStarted = true
if server_GameNotStarted == true then
return 1
else
return 0
end
©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.