評分公式
伺服器的評分使用加權總和公式。這個公式有四個部分:
- 屬性,這些是描述玩家和伺服器的數據,例如玩家年齡或伺服器的佔用率。
- 信號,這些將屬性轉換為介於 0 和 1 之間的數字。
- 權重,這些描述信號的相對重要性。
- 伺服器分數,這測量伺服器與加入玩家的兼容性。
加入的玩家將匹配到擁有最高伺服器分數的伺服器。
屬性
屬性是描述玩家和伺服器的數據。屬性的值可以是數字或字符串。當屬性的值是字符串時,稱為類別屬性。當屬性的值是數字時,稱為數值屬性。
有關所有可用的 Roblox 屬性的完整列表,請參見現有屬性。有關自定義屬性的更多信息,請參見自定義屬性。
示例:類別屬性和數值屬性
| 類別屬性 |
|---|
| 擁有朋友 是一個類別屬性,因為當這個伺服器上有一個首選玩家時,其值為字符串 "true",當這個伺服器上沒有首選玩家時,其值為 "false"。 |
| 語言 是一個類別屬性,因為其值是玩家的語言設置,例如 "日語"。 |
| 數值屬性 |
| 年齡 是一個數值屬性,因為其值是玩家的年齡。 |
| 佔用率 是一個數值屬性,因為其值是當前在此伺服器上的玩家數量。 |
信號
信號將屬性值轉換為介於 0 和 1 之間的數字,稱為信號分數。信號分數為 1 代表高玩家兼容性,而信號分數為 0 則代表低玩家兼容性。根據屬性,轉換可以包括不同的聚合、比較和歸一化。
有關現有 Roblox 信號的完整列表,請參見現有信號。有關自定義信號的更多信息,請參見自定義信號。
示例:兩個具有不同信號分數的伺服器
下表計算兩個不同的伺服器的佔用信號分數,這兩個伺服器都能容納 8 個玩家:
| 伺服器中的玩家 | 佔用分數 | |
|---|---|---|
| 伺服器 A | 2 | 2/8 = 0.25 |
| 伺服器 B | 6 | 6/8 = 0.75 |
佔用信號分數給予伺服器 B 更高的評分,並認為它更適合加入的玩家。
權重
信號的權重描述該信號相對於其他信號的重要性。更高的權重會增加信號對伺服器分數的貢獻。信號分數乘以其權重後的值稱為 加權信號。
信號不能有負權重。如果信號的權重為 0,則該信號不會計入評分。
示例:對佔用分數加權
下表計算一個容量為 8 名玩家的地方的加權佔用信號分數,其佔用信號的權重為 2:
| 伺服器中的玩家 | 佔用分數 | 加權佔用分數 | |
|---|---|---|---|
| 伺服器 A | 2 | 2/8 = 0.25 | 0.25 * 2 = 0.5 |
| 伺服器 B | 6 | 6/8 = 0.75 | 0.75 * 2 = 1.5 |
示例:兩個具有不同權重的配置
不同的權重也可以使匹配系統選擇不同的伺服器。下表計算兩個具有不同匹配配置的伺服器的分數。配置 2 的佔用信號的權重較高,而伺服器 A 中有加入玩家的朋友。
| 朋友 | 佔用率 | |||||
|---|---|---|---|---|---|---|
| 權重 | 分數 | 權重 | 分數 | 總分數 | ||
| 配置 1 | 伺服器 A | 1 | 1 | 5 | 0.25 | 1 * 1 + 5 * 0.25 = 2.25 |
| 伺服器 B | 1 | 0 | 5 | 0.75 | 1 * 0 + 5 * 0.75 = 3.75 | |
| 配置 2 | 伺服器 A | 3 | 1 | 5 | 0.25 | 3 * 1 + 5 * 0.25 = 4.25 |
| 伺服器 B | 3 | 0 | 5 | 0.75 | 3 * 0 + 5 * 0.75 = 3.75 | |
伺服器分數
伺服器分數是通過以下加權總和公式計算的,該公式對伺服器的加權信號分數進行總和:
匹配配置
匹配配置是用來對一個地方的伺服器進行評分的信號和權重集。默認情況下,所有地方的所有伺服器都由 Roblox 默認配置進行評分,這意味著您不需要自定義或啟用任何設置即可使用它。
Roblox 默認配置包括以下信號和權重:
| 信號 | 權重 |
|---|---|
| 朋友 | 15 |
| 延遲 | 3 |
| 文字聊天 | 3 |
| 佔用率 | 2 |
| 遊玩歷史 | 2 |
| 語言 | 2 |
| 年齡 | 1 |
| 語音聊天 | 1 |
| 設備類型 | 0 |
在默認的 Roblox 配置中,朋友信號的權重大於所有其他信號的權重之和。這意味著,如果可用,加入的玩家總是會被匹配到有朋友(或在同一 IP 地址上的玩家)的伺服器。
設備類型信號在默認配置中存在,但權重為 0,因此不會影響匹配決策。您可以在自定義匹配時調整此權重。
有關每個 Roblox 信號的更多信息,請參見現有信號。
高級概念
以下是有關匹配過程的一些更高級的概念。
歸一化
信號將屬性值歸一化為介於 0 和 1 之間的數字。數值信號可以通過任何正數進行歸一化,稱為 歸一化因子。如果歸一化值大於 1,則將其限制為 1。
示例:設計年齡信號
年齡信號測量伺服器中玩家的平均年齡與加入玩家年齡之間的差異。
年齡差異超過 25 的伺服器都被認為與玩家不相容。例如,25 的年齡差異對於玩家而言並不比 26 更糟,因此這兩個值都應將信號分數設置為 0。在這種情況下,25 被視為歸一化因子。
信號分數與年齡差異呈反比,這意味著年齡差異越小,信號分數就越高。
下表顯示了兩個不同歸一化因子的年齡信號分數:
| 年齡 | 歸一化因子:100 | 歸一化因子:25 |
|---|---|---|
| 50 | 0.5 | 0 |
| 25 | 0.75 | 0 |
| 12 | 0.88 | 0.52 |
| 5 | 0.95 | 0.8 |
| 0 | 1 | 1 |
具有 25 的歸一化因子的信號認為 5 年和 12 年的年齡差異更遠。較小的歸一化因子會放大年齡差異的邊際增加或減少效果。
權重大小
權重表示信號在配置中相對於其他信號的重要性。權重的相對大小決定信號的重要性,而不是其絕對大小。
示例:相對大小與絕對大小
下表計算兩個伺服器在兩個不同匹配配置中的伺服器分數。配置 5 和配置 6 的佔用權重大於各自的朋友權重。伺服器 A 中有加入玩家的朋友。
| 朋友 | 佔用率 | |||||
|---|---|---|---|---|---|---|
| 權重 | 分數 | 權重 | 分數 | 總分數 | ||
| 配置 5 | 伺服器 A | 10,000 | 1 | 15,000 | 0.25 | 10,000 * 1 + 15,000 * 0.25 = 13,750 |
| 伺服器 B | 10,000 | 0 | 15,000 | 0.75 | 10,000 * 0 + 15,000 * 0.75 = 11,250 | |
| 配置 6 | 伺服器 A | 0.01 | 1 | 0.05 | 0.25 | 0.01 * 1 + 0.05 * 0.25 = 0.0225 |
| 伺服器 B | 0.01 | 0 | 0.05 | 0.75 | 0.01 * 0 + 0.05 * 0.75 = 0.0375 | |
伺服器 A 在配置 5 中獲勝,而伺服器 B 在配置 6 中獲勝。這是因為配置 5 的佔用權重僅為其朋友權重的 1.5 倍,而配置 6 的佔用權重為其朋友權重的 5 倍。
儘管絕對大小有所不同,配置 6 在佔用方面優先於朋友的程度超過了配置 5。