Skorlama formülü
Sunucular, ağırlıklı toplam formülü kullanılarak puanlanır. Bu formülün dört bileşeni vardır:
- Nitelikler, oyuncuları ve sunucuları tanımlayan veriler, örneğin oyuncu yaşı veya sunucu yoğunluğu gibi.
- Sinyaller, nitelikleri 0 ile 1 arasında sayılara dönüştüren veriler.
- Ağırlıklar, sinyallerin göreceli önemini tanımlayan veriler.
- Sunucu puanı, sunucunun katılan oyuncuyla uyumunu ölçen bir değerdir.
Katılan oyuncu, en yüksek sunucu puanına sahip sunucuya eşleştirilir.
Nitelikler
Nitelikler, oyuncuları ve sunucuları tanımlayan verilerdir. Bir niteliğin değeri bir sayı veya bir dize olabilir. Bir niteliğin değeri bir dize olduğunda, buna kategorik nitelik denir. Eğer niteliğin değeri bir sayıysa, buna sayısal nitelik denir.
Mevcut tüm Roblox niteliklerinin tam listesi için Mevcut nitelikler sayfasına bakın. Özel nitelikler hakkında daha fazla bilgi için Özel nitelikler sayfasına gidin.
Örnek: Kategorik ve sayısal nitelikler
| Kategorik nitelikler |
|---|
| Arkadaş varlığı, sunucuda tercih edilen bir oyuncu olduğunda değeri "true" dizesidir, bu nedenle bu kategorik bir niteliktir; yoksa "false" olur. |
| Dil, oyuncunun dil ayarı olan bir kategorik niteliktir; örneğin "Japonca". |
| Sayısal nitelikler |
| Yaş, oyuncunun yaşı olan bir sayısal niteliktir. |
| Yoğunluk, bu sunucudaki mevcut oyuncu sayısı olan bir sayısal niteliktir. |
Sinyaller
Sinyaller, nitelik değerlerini 0 ile 1 arasında sayılara, yani sinyal puanlarına dönüştürür. Sinyal puanı 1, yüksek oyuncu uyumluluğunu öngörürken, sinyal puanı 0, düşük oyuncu uyumluluğunu öngörür. Niteliklere bağlı olarak, dönüşümler farklı toplama, karşılaştırma ve normalizasyonları içerebilir.
Mevcut tüm Roblox sinyallerinin tam listesi için Mevcut sinyaller sayfasına bakın. Özel sinyaller hakkında daha fazla bilgi için Özel sinyaller sayfasını ziyaret edin.
Örnek: Farklı sinyal puanlarına sahip iki sunucu
Aşağıdaki tablo, 8 oyuncu kapasiteli iki farklı sunucunun Yoğunluk sinyal puanlarını hesaplamaktadır:
| Sunucudaki oyuncular | Yoğunluk puanı | |
|---|---|---|
| Sunucu A | 2 | 2/8 = 0.25 |
| Sunucu B | 6 | 6/8 = 0.75 |
Yoğunluk sinyal puanı Sunucu B'yi daha yüksek değerlendirir ve katılan oyuncu için daha iyi bir uyum olarak kabul eder.
Ağırlıklar
Bir sinyalin ağırlığı, o sinyalin diğer sinyallere göre önemini tanımlar. Daha yüksek bir ağırlık, sinyalin sunucu puanına katkısını artırır. Bir sinyal puanı ile ağırlığının çarpılması sonucu elde edilen değere ağırlıklı sinyal denir.
Sinyaller negatif ağırlıklara sahip olamaz. Bir sinyalin ağırlığı 0 ise, o sinyal puanlama için dikkate alınmaz.
Örnek: Yoğunluk puanının ağırlıklandırılması
Aşağıdaki tablo, 8 oyuncu kapasiteli bir yerde, 2 ağırlığında bir Yoğunluk sinyal ağırlığı için ağırlıklı Yoğunluk sinyal puanlarını hesaplamaktadır:
| Sunucudaki oyuncular | Yoğunluk puanı | Ağırlıklı yoğunluk puanı | |
|---|---|---|---|
| Sunucu A | 2 | 2/8 = 0.25 | 0.25 * 2 = 0.5 |
| Sunucu B | 6 | 6/8 = 0.75 | 0.75 * 2 = 1.5 |
Örnek: Farklı ağırlıklara sahip iki konfigürasyon
Farklı ağırlıklar, eşleştirmenin farklı sunucuları seçmesine de neden olabilir. Aşağıdaki tablo, iki farklı eşleştirme konfigürasyonuna sahip iki sunucunun sunucu puanlarını hesaplamaktadır. Konfigürasyon 2, Yoğunluk sinyalinin ağırlığında daha yüksek bir değere sahiptir ve Sunucu A, katılan oyuncunun bir arkadaşına sahiptir.
| Arkadaşlar | Yoğunluk | |||||
|---|---|---|---|---|---|---|
| Ağırlık | Puan | Ağırlık | Puan | Toplam puan | ||
| Konfig 1 | Sunucu A | 1 | 1 | 5 | 0.25 | 1 * 1 + 5 * 0.25 = 2.25 |
| Sunucu B | 1 | 0 | 5 | 0.75 | 1 * 0 + 5 * 0.75 = 3.75 | |
| Konfig 2 | Sunucu A | 3 | 1 | 5 | 0.25 | 3 * 1 + 5 * 0.25 = 4.25 |
| Sunucu B | 3 | 0 | 5 | 0.75 | 3 * 0 + 5 * 0.75 = 3.75 | |
Sunucu puanı
Sunucu puanı, bir sunucunun ağırlıklı sinyal puanlarını toplamaya dayanan aşağıdaki ağırlıklı toplam formülü ile hesaplanır:
Eşleştirme konfigürasyonları
Eşleştirme konfigürasyonu, bir yerin sunucularını puanlamak için kullanılan sinyaller ve ağırlıkların setidir. Varsayılan olarak, tüm yerlerin tüm sunucuları Roblox'un varsayılan konfigürasyonu ile puanlanır, yani onu kullanmak için ayarları özelleştirmenize veya etkinleştirmenize gerek yoktur.
Roblox'un varsayılan konfigürasyonu aşağıdaki sinyalleri ve ağırlıkları içerir:
| Sinyal | Ağırlık |
|---|---|
| Arkadaşlar | 15 |
| Gecikme | 3 |
| Metin Sohbeti | 3 |
| Yoğunluk | 2 |
| Oynama Geçmişi | 2 |
| Dil | 2 |
| Yaş | 1 |
| Sesli Sohbet | 1 |
| Aygıt Türü | 0 |
Varsayılan Roblox konfigürasyonunda, Arkadaşlar sinyalinin ağırlığı diğer her sinyalin ağırlıklarının toplamından daha büyüktür. Bu, katılan oyuncunun, mevcutsa, her zaman arkadaşlara (veya aynı IP adresinde olan oyunculara) sahip sunucularla eşleştirileceği anlamına gelir.
Aygıt Türü sinyali varsayılan konfigürasyonda bulunmaktadır ama 0 ağırlığına sahiptir, bu nedenle eşleştirme kararlarını etkilemez. Bu ağırlığı eşleştirmeyi özelleştirirken ayarlayabilirsiniz.
Her Roblox sinyali hakkında daha fazla bilgi için Mevcut sinyaller sayfasına bakın.
İleri düzey kavramlar
Aşağıda, eşleştirme süreciyle ilgili daha ileri düzey kavramlar bulunmaktadır.
Normalizasyon
Sinyaller, nitelik değerlerini 0 ile 1 arasında sayılara normalleştirir. Sayısal sinyaller, normalizasyon faktörü adı verilen herhangi bir pozitif sayı ile normalleştirilebilir. Eğer normalleştirilmiş değer 1'den büyükse, 1'e kırpılır.
Örnek: Yaş sinyalinin tasarımı
Yaş sinyali, sunucudaki oyuncuların ortalama yaşı ile katılan oyuncunun yaşı arasındaki farkı ölçer.
Yaş farkı 25'in üzerinde olan sunucular, oyuncuyla eşit derecede uyumsuz kabul edilir. Örneğin, 25 yaş farkı, 26 yaş farkından daha kötü değildir, bu nedenle her iki değer de sinyal puanını 0 yapmalıdır. Bu durumda, 25 normalizasyon faktörü olarak kabul edilir.
Sinyal puanı, yaş farkı ile ters orantılıdır; yani, yaş farkı daha küçük olduğunda sinyal puanı daha yüksektir.
Aşağıdaki tablo, iki farklı normalizasyon faktörü ile Yaş sinyal puanlarını göstermektedir:
| Yaş | Normalizasyon faktörü: 100 | Normalizasyon faktörü: 25 |
|---|---|---|
| 50 | 0.5 | 0 |
| 25 | 0.75 | 0 |
| 12 | 0.88 | 0.52 |
| 5 | 0.95 | 0.8 |
| 0 | 1 | 1 |
25 normalizasyon faktörüne sahip sinyal, 5 yıl ve 12 yıl yaş farklarını daha uzak kabul etmektedir. Daha küçük normalizasyon faktörleri, yaş farkındaki marjinal artışları veya azalmaları artırma etkisine sahiptir.
Ağırlık büyüklükleri
Bir ağırlık, bir sinyalin bir konfigürasyondaki diğer sinyallere göre önemini gösterir. Ağırlıkların göreceli büyüklükleri sinyal önemini belirler; mutlak büyüklükleri değil.
Örnek: Göreceli ve mutlak büyüklük
Aşağıdaki tablo, iki farklı eşleştirme konfigürasyonuna sahip iki sunucunun sunucu puanlarını hesaplamaktadır. Konfigürasyon 5 ve Konfigürasyon 6, Yoğunluk ağırlıklarının, ilgili Arkadaşlar ağırlıklarından daha yüksek olmasıyla karakterize edilir. Sunucu A, katılan oyuncunun bir arkadaşıdır.
| Arkadaşlar | Yoğunluk | |||||
|---|---|---|---|---|---|---|
| Ağırlık | Puan | Ağırlık | Puan | Toplam puan | ||
| Konfig 5 | Sunucu A | 10.000 | 1 | 15.000 | 0.25 | 10.000 * 1 + 15.000 * 0.25 = 13.750 |
| Sunucu B | 10.000 | 0 | 15.000 | 0.75 | 10.000 * 0 + 15.000 * 0.75 = 11.250 | |
| Konfig 6 | Sunucu A | 0.01 | 1 | 0.05 | 0.25 | 0.01 * 1 + 0.05 * 0.25 = 0.0225 |
| Sunucu B | 0.01 | 0 | 0.05 | 0.75 | 0.01 * 0 + 0.05 * 0.75 = 0.0375 | |
Sunucu A, Konfig 5'te kazanırken, Sunucu B Konfig 6'da kazanır. Bunun nedeni, Konfig 5'in Yoğunluk ağırlığının yalnızca Arkadaşlar ağırlığının 1.5 katı olmasıdır, oysa Konfig 6'nın Yoğunluk ağırlığı, Arkadaşlar ağırlığının 5 katıdır.
Mutlak büyüklük farklarına rağmen, Konfig 6, Yoğunluğu Arkadaşlardan daha fazla önceliklendirir.