Puanlama formülü
Sunucular ağırlıklı bir toplama formülü kullanılarak puanlanır. Bu formüle dört parça vardır:
- Öznitelikler, oyuncuları ve sunucuları tanımlayan veriler, oyuncu yaşı veya sunucu kapasitesi gibi.
- Sinyaller, öznitelikleri 0 ile 1 arasında sayılara dönüştüren,
- Ağırlıklar, sinyallerin mutlak önemini tanımlar.
- Sunucunun katılan oyuncu ile uyumluluğunu ölçen sunucu puanı, sunucunun katılan oyuncu ile uyumluluğunu ölçen
Katılan oyuncu, en yüksek sunucu puanıyla sunucuya eşleştirilir.
Öznitelikler
Öznitelikler, oyuncuları ve sunucuları tanımlayan verilerdir.Bir özniteliğin değeri bir sayı veya bir diziolabilir.Bir öznitenin değeri bir diziolduğunda, kategorik bir öznite denir.Bir öznitenin değeri bir sayı olduğunda, sayısal bir öznite denir.
Mevcut tüm Roblox özniteliklerinin tam bir listesi için, Mevcut öznitelikler bakın.Özel öznitelikler hakkında daha fazla bilgi için, Özel öznitelikler bakın.
Örnek: Kategorik ve sayısal özellikler
Kategorik özellikler |
---|
Arkadaşları Var kategorik bir özelliktir, çünkü değeri bu sunucuda tercih edilen bir oyuncu olduğunda "true" ve bu sunucuda tercih edilen oyuncu yoksa "false" dır. |
Dil kategorik bir özelliktir, çünkü değeri oyuncunun dil ayarıdır, örneğin "Japonca". |
Sayısal özellikler |
Yaş sayısal bir özelliktir çünkü değeri oyuncunun yaşıdır. |
Doluluk sayısal bir özelliktir çünkü değeri şu anda bu sunucudaki oyuncu sayısıdır. |
İşaretler
Sinyaller, 0 ile 1 arasındaki sayılara dönüşen sinyal değerlerini dönüştürür, sinyal puanları olarak adlandırılır.1 sinyal puanı yüksek oyuncu uyumluluğunu öngörürken, 0 sinyal puanı düşük oyuncu uyumluluğunu öngörür.Özelliklere bağlı olarak, dönüşümler farklı agregasyonlar, karşılaştırmalar ve normalizasyonlar içerebilir.
Mevcut Roblox sinyallerinin tam bir listesi için, bakın Mevcut sinyaller. Özel sinyaller hakkında daha fazla bilgi için, bakın Özel sinyaller.
Örnek: Farklı sinyal puanlarına sahip iki sunucu
Aşağıdaki tablo, 8 oyuncu kapasitesine sahip iki farklı sunucu için Doluluk sinyali puanlarını hesaplar:
Sunucudaki oyuncular | Doluluk puanı | |
---|---|---|
Sunucu A | 2 | 2/8 = 0.25 |
Sunucu B | 6 | 6/8 = 0.75 |
Doluluk sinyali, Sunucu B'yi daha yüksek puan verir ve birleşen oyuncuya daha iyi bir uyum olduğunu düşünür.
Varlı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ını ağırlığıyla çarptıktan sonra değeri bir ağırlıklı sinyal olarak adlandırılır.
Sinyallerin negatif ağırlıkları olmamalıdır. Bir sinyalin ağırlığı 0 ise, bu sinyal puan verilmesi için dikkate alınmaz.
Örnek: Doluluk puanı ağırlığı
Aşağıdaki tablo, 8 oyuncu kapasiteli bir yer için ağırlıklı Doluluk sinyali puanlarını ve 2 Doluluk sinyali ağırlığını hesaplar:
Sunucudaki oyuncular | Doluluk puanı > | Ağırlıklı doluluk 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 yapılandırma
Farklı ağırlıklar ayrıca eşleşmeyi farklı sunucular seçmeye de yol açabilir.Aşağıdaki tablo, farklı eşleştirme yapılandırmalarına sahip iki sunucunun sunucu puanlarını hesaplar.Yapılandırma 2, Doluluk sinyali için daha yüksek bir ağırlığa sahiptir ve Sunucu A'nın içinde katılan oyuncunun arkadaşı vardır.
Arkadaşlar | Doluluk | |||||
---|---|---|---|---|---|---|
Ağırlık | Skor > | Ağırlık > | Skor > | Toplam skor > | ||
Konfigürasyon 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ürasyon 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ı toplayan aşağıdaki ağırlıklı toplama formülüyle hesaplanır:
ServerScore= WeightedSignalScore_1 + WeightedSignalScore_2 + ... + WeightedSignalScore_n= Weight_1 * SignalScore_1 + Weight_2 * SignalScore_2 + ... + Weight_n * SignalScore_n
Buluşma yapılandırmaları
Bir eşleştirme yapılandırması, bir dünyasunucularını değerlendirmek için kullanılan sinyaller ve ağırlıkların bir setidir.Varsayılan olarak, tüm yerlerin tüm sunucuları Roblox varsayılan yapılandırması tarafından puanlanır, yani kullanmak için herhangi bir ayarı özelleştirmeniz veya etkinleştirmeniz gerekmez.
Robox varsayılan yapılandırması aşağıdaki sinyalleri ve ağırlıkları içerir:
İşaret | Ağırlık |
---|---|
Arkadaşlar | 10 |
Gecikme | 3 |
Doluluk | 2 |
Oynama Geçmişi | 2 |
Yaş | 1 |
Dil | 1 |
Sesli Sohbet | 1 |
Cihaz Türü | 0 |
Varsayılan Roblox yapılandırmasında, Arkadaş sinyalinin ağırlığı, diğer tüm sinyallerin ağırlıklarının toplamından daha büyüktür.Bu, mevcutsa, katılan oyuncu daima arkadaşları olan sunuculara (veya aynı IP adresindeki oyunculara) eşleştirilir.
Cihaz Türü sinyali varsayılan yapılandırmada mevcut, ancak ağırlığı 0 olduğundan maç yapma kararlarını etkilemiyor.Bu ağırlığı ayarlayabilirsiniz eşleştirmeyi özelleştirdiğinizde.
Her Roblox sinyali hakkında daha fazla bilgi için, Mevcut sinyaller bakın.
Gelişmiş konseptler
Aşağıdakiler, eşleştirme süreciyle ilgili daha gelişmiş konseptlerdir.
Normalizasyon
Sinyaller, normalleştirilmiş öznitelik değerlerinin 0 ile 1 arasında sayı olmasını sağlar.Sayısal sinyaller, normalleştirme faktörü olarak adlandırılan herhangi bir pozitif sayı ile normalleştirilebilir.Normalleştirilmiş değer 1'den büyükse, 1'e sabitlenir.
Örnek: Yaş sinyali tasarlama
Yaş sinyali, sunucudaki oyuncuların ortalama yaşı ve katılan oyuncunun yaşı arasındaki farkı ölçer.
ageDifference = abs(avgServerAge - joiningPlayerAge)
25'in ötesinde yaş farkı olan sunucuların tümü oyuncu ile eşit olarak uyumsuz kabul edilir.Örneğin, 25 yaş farkı bir oyuncu için 26 yaş farkından daha kötü değildir, bu nedenle her iki değer de sinyal puanını 0'a almalıdır.Bu durumda, 25 normalleştirme faktörü olarak kabul edilir.
normAgeDifference = min(1, abs(avgServerAge - joiningPlayerAge) / 25)
Sinyal puanı yaş farkıyla ters orantılıdır, yani sinyal puanı yaş farkı daha küçük olduğunda daha yüksektir.
ageDifferenceSignalScore = 1 - normAgeDifference
Aşağıdaki tablo, iki farklı normalleştirme faktörü ile Yaş sinyali puanlarını gösterir:
Yaş | Normalizasyon faktörü: 100 | Normalleştirme faktörü: 25 |
---|---|---|
50 | 0.5 | 0 |
25 | 0.75 | 0 |
12 | 0.88 | 0.52 |
5 | 0.95 | 0.8 |
0 | 1 | 1 |
Normalleştirici faktörü 25 olan sinyal, 5 yıllık ve 12 yıllık yaş farklarının daha uzak olması gerektiğini düşünür.Daha küçük normalleştirme faktörleri, yaş farkındaki küçük artışları veya azalmaları genişletme etkisine sahiptir.
Ağırlık boyutları
Bir ağırlık, bir yapılandırmadaki diğer sinyallere göre bir sinyalin önemini gösterir.Ağırlıkların mutlak büyüklükleri değil, sinyal önemini belirleyen nispi büyüklükleridir.
Örnek: Nispi vs mutlak büyüklük
Aşağıdaki tablo, iki farklı eşleştirme yapılandırmasına sahip iki sunucunun sunucu puanlarını hesaplar.Yapılandırma 5 ve Yapılandırma 6, ilgili Arkadaş ağırlıklarından daha yüksek doluluk ağırlıklarına sahiptir.Sunucu A, katılan oyuncunun arkadaşına sahiptir.
Arkadaşlar | Doluluk | |||||
---|---|---|---|---|---|---|
Ağırlık | Skor > | Ağırlık > | Skor > | Toplam skor > | ||
Yapılandır 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ürasyon 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, Yapılandırma 5 ile kazanırken, Sunucu B Yapılandırma 6 ile kazanır.Bunun nedeni, Yapılandırma 5'in Doluluk ağırlığının sadece arkadaşlarının ağırlığının 1.5 katı olması, Yapılandırma 6'nın Doluluk ağırlığının arkadaşlarının ağırlığının 5 katı olmasıdır.
Mutlak büyüklükteki farklılıklara rağmen, Yapılandırma 6, Yapılandırma 5'ten daha fazla Yerleştirmeyi arkadaşlara öncelik verir.