Persamaan penilaian
Server diberi skor menggunakan formula total berat. Ada empat bagian untuk formula ini:
- Atribut , yang merupakan data yang menggambarkan pemain dan server, seperti usia pemain atau kapasitas server.
- Sinyal , yang mengubah atribut menjadi angka antara 0 dan 1.
- Berat , yang menggambarkan pentingan relatif dari sinyal.
- Skor server, yang mengukur kompatibilitas server dengan pemain yang bergabung.
Pemain bergabung dicocokkan dengan server dengan skor server tertinggi.
Atribut
Atribut adalah data yang menggambarkan pemain dan server.Nilai atribut bisa menjadi angka atau string.Ketika nilai atribut adalah string, itu disebut atribut kategorik.Ketika nilai atribut adalah angka, itu disebut atribut numerik.
Untuk daftar lengkap semua atribut Roblox yang tersedia, lihat atribut yang ada.Untuk informasi lebih lanjut tentang atribut khusus, lihat Atribut khusus.
Contoh: Atribut kategorik dan numerik
Atribut kategorikal |
---|
Memiliki Teman adalah atribut kategorik karena nilainya adalah string "true" ketika ada pemain yang diinginkan di server ini, dan "false" ketika tidak ada pemain yang diinginkan di server ini. |
Bahasa adalah atribut kategorik karena nilainya adalah pengaturan bahasa pemain, seperti "Jepang". |
Atribut bilangan |
Usia adalah atribut numerik karena nilainya adalah usia pemain. |
Pemenuhan adalah atribut numerik karena nilainya adalah jumlah pemain saat ini di server ini. |
Sinyal
Sinyal mengubah nilai atribut menjadi angka antara 0 dan 1, disebut skor sinyal.Skor sinyal 1 memprediksi kompatibilitas pemain tinggi, sementara skor sinyal 0 memprediksi kompatibilitas pemain rendah.Tergantung pada atribut, transformasi dapat mencakup agregasi, perbandingan, dan normalisasi yang berbeda.
Untuk daftar lengkap sinyal Roblox yang ada, lihat Sinyal yang ada. Untuk informasi lebih lanjut tentang sinyal khusus, lihat Sinyal khusus.
Contoh: Dua server dengan skor sinyal yang berbeda
Tabel berikut menghitung skor sinyal Occupancy untuk dua server berbeda dengan kapasitas untuk 8 pemain:
Pemain di server | Skor tempat parkir | |
---|---|---|
Server A | 2 | 2/8 = 0.25 |
Pelayan B | 6 | 6/8 = 0.75 |
Skor sinyal Occupancy menilai Server B lebih tinggi dan menganggapnya lebih cocok untuk pemain yang bergabung.
Berat
Berat sinyal menggambarkan pentingnya sinyal tersebut relatif terhadap sinyal lain.Berat yang lebih tinggi meningkatkan kontribusi sinyal ke skor server.Nilai setelah menggandakan skor sinyal dengan beratnya disebut sebagai sinyal berat .
Sinyal tidak dapat memiliki berat negatif. Jika berat sinyal adalah 0, sinyal tersebut tidak dianggap untuk skor.
Contoh: Menimbang skor Occupancy
Tabel berikut menghitung skor sinyal Occupancy berat untuk tempat dengan kapasitas untuk 8 pemain dan berat sinyal Occupancy 2:
Pemain di server | Skor tempat kosong | Skor tempat kosong berat | |
---|---|---|---|
Server A | 2 | 2/8 = 0.25 | 0.25 * 2 = 0.5 |
Pelayan B | 6 | 6/8 = 0.75 | 0.75 * 2 = 1.5 |
Contoh: Dua konfigurasi dengan berat yang berbeda
Berat yang berbeda juga dapat membuat matchmaking memilih server yang berbeda.Tabel berikut menghitung skor server dari dua server dengan konfigurasi matchmaking yang berbeda.Konfigurasi 2 memiliki berat lebih tinggi untuk sinyal Occupancy-nya, dan Server A memiliki teman pemain yang bergabung di dalamnya.
Teman | Pendudukan | |||||
---|---|---|---|---|---|---|
Berat | Skor | Berat > | Skor > | Skor total > | ||
Konfigurasi 1 | Server A | 1 | 1 | 5 | 0.25 | 1 * 1 + 5 * 0.25 = 2.25 |
Pelayan B | 1 | 0 | 5 | 0.75 | 1 * 0 + 5 * 0.75 = 3.75 | |
Konfigurasi 2 | Server A | 3 | 1 | 5 | 0.25 | 3 * 1 + 5 * 0.25 = 4.25 |
Pelayan B | 3 | 0 | 5 | 0.75 | 3 * 0 + 5 * 0.75 = 3.75 |
Peringkat server
Skor server dihitung dengan formula total skor berbobot berikut, yang menambahkan skor sinyal berbobot server:
ServerScore= WeightedSignalScore_1 + WeightedSignalScore_2 + ... + WeightedSignalScore_n= Weight_1 * SignalScore_1 + Weight_2 * SignalScore_2 + ... + Weight_n * SignalScore_n
Konfigurasi matchmaking
Konfigurasi matchmaking adalah kumpulan sinyal dan berat yang digunakan untuk mencetak server dari tempat.Secara default, semua server dari semua tempat diberi skor oleh konfigurasi default Roblox, artinya Anda tidak perlu menyesuaikan atau mengaktifkan pengaturan apa pun untuk menggunakannya.
Konfigurasi default Robox termasuk sinyal dan berat berikut:
Sinyal | Berat |
---|---|
Rakan | 10 |
Kelambatan | 3 |
Pendudukan | 2 |
Sejarah Bermain | 2 |
Usia | 1 |
Bahasa | 1 |
Obrolan chat | 1 |
Jenis Perangkat | 0 |
Dalam konfigurasi Roblox default, berat sinyal Teman lebih besar dari jumlah berat semua sinyal lainnya.Ini berarti bahwa, jika tersedia, pemain bergabung selalu cocok dengan server dengan teman (atau pemain di alamat IP yang sama) di dalamnya.
Sinyal Tipe Perangkat ada dalam konfigurasi default tetapi memiliki berat 0, sehingga tidak memengaruhi keputusan matchmaking.Anda dapat menyesuaikan berat ini saat Anda menyesuaikan pencocokan.
Untuk informasi lebih lanjut tentang setiap sinyal Roblox, lihat Sinyal yang ada.
Konsep canggah
Berikut adalah konsep yang lebih maju tentang proses matchmaking.
Normalisasi
Sinyal normalisasi nilai atribut menjadi angka antara 0 dan 1.Sinyal numerik dapat di normalisasi oleh angka positif, disebut faktor normalisasi >.Jika nilai normalisasi lebih besar dari 1, dikurangi menjadi 1.
Contoh: Merancang sinyal Umur
Sinyal Usia mengukur perbedaan antara usia rata-rata pemain di server dan usia pemain yang bergabung.
ageDifference = abs(avgServerAge - joiningPlayerAge)
Server dengan perbedaan usia di luar 25 semuanya dianggap sama tidak kompatibel dengan pemain.Sebagai contoh, perbedaan usia 25 tidak lebih buruk bagi pemain daripada perbedaan usia 26, jadi kedua nilai harus mengambil skor sinyal menjadi 0.Dalam hal ini, 25 dianggap sebagai faktor normalisasi.
normAgeDifference = min(1, abs(avgServerAge - joiningPlayerAge) / 25)
Skor sinyal terbalik terkait dengan perbedaan usia, artinya skor sinyal lebih tinggi ketika perbedaan usia lebih kecil.
ageDifferenceSignalScore = 1 - normAgeDifference
Tabel berikut menunjukkan skor sinyal Usia dengan dua faktor normalisasi yang berbeda:
Usia | Faktor normalisasi: 100 | Faktor normalisasi: 25 |
---|---|---|
50 | 0.5 | 0 |
25 | 0.75 | 0 |
12 | 0.88 | 0.52 |
5 | 0.95 | 0.8 |
0 | 1 | 1 |
Sinyal dengan faktor normalisasi 25 menganggap perbedaan usia 5 tahun dan 12 tahun lebih jauh.Faktor normalisasi yang lebih kecil memiliki efek memperluas peningkatan atau penurunan marginal dalam perbedaan usia.
Besaran berat
Berat menunjukkan pentingnya sinyal relatif terhadap sinyal lain dalam konfigurasi.Magnitudo relatif berat menentukan pentingnya sinyal, bukan magnitudo absolutnya.
Contoh: Relatif vs magnitude absolut
Tabel di bawah ini menghitung skor server dari dua server dengan dua konfigurasi matchmaking yang berbeda.Konfigurasi 5 dan Konfigurasi 6 memiliki berat Occupancy lebih tinggi dari berat Teman masing-masing.Server A memiliki teman pemain yang bergabung di dalamnya.
Teman | Pendudukan | |||||
---|---|---|---|---|---|---|
Berat | Skor | Berat > | Skor > | Skor total > | ||
Konfigurasi 5 | Server A | 10,000 | 1 | 15,000 | 0.25 | 10,000 * 1 + 15,000 * 0.25 = 13,750 |
Pelayan B | 10,000 | 0 | 15,000 | 0.75 | 10,000 * 0 + 15,000 * 0.75 = 11,250 | |
Konfigurasi 6 | Server A | 0.01 | 1 | 0.05 | 0.25 | 0.01 * 1 + 0.05 * 0.25 = 0.0225 |
Pelayan B | 0.01 | 0 | 0.05 | 0.75 | 0.01 * 0 + 0.05 * 0.75 = 0.0375 |
Server A menang dengan Konfigurasi 5 sementara Server B menang dengan Konfigurasi 6.Ini karena berat Ocupasi Konfigurasi 5 hanya 1,5x berat Teman-nya, sementara berat Ocupasi Konfigurasi 6 adalah 5x berat Teman-nya.
Meskipun ada perbedaan dalam magnitudo absolut, Konfigurasi 6 memprioritaskan Penggunaan atas Teman lebih dari Konfigurasi 5.