İstemci-sunucu çalışma zamanı

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Sunucu

Roblox deneyimleri varsayılan olarak çok oyunculu ve bir istemci-sunucu modelinde çalışır.Roblox sunucusu deneyimin durumunu korumak için nihai yetkilidir ve tüm bağlı müşterileri sunucu ile uyumlu tutmaktan sorumludur.

A server grouping with connections to three client devices.
Üç müşteri cihazına bağlantılı sunucu

Müşteri

Bir deneyim çalıştığında, Roblox Studio'dan oluşturduğunuz ve yayınladığınız "düzenle" veri modelinin bir sürümünü kopyalar ve Roblox sunucularında "çalıştırma" veri modeli olarak çalıştırır.

Bağlı müşteriler ayrıca çalışma süresi veri modelinin bir kopyasını alır ve oyuncunun sırt çantasının (envanter) veya yerel kullanıcı arayüzünün başlatılması gibi herhangi bir başlatma gerçekleşir.Bir deneyimin Workspace.StreamingEnabled doğru olarak ayarlanması durumunda, sunucu başlangıçta yalnızca müşteriye en yakın Workspace altındaki içeriğin bir kısmını gönderir.Ardından istemci 3B dünyayı renderlar ve uygulanabilir herhangi bir kodu çalıştırmaya başlar.

A diagram that maps objects between 'edit' and 'runtime' data models.

Replikasyon

Sunucu sürekli olarak bağlı müşterileri günceller, veri modelini, fizik simülasyonunu ve sohbet mesajlarını senkronize eden bir süreç olan yeniden yazma süreciyle tüm sunucu ve müşteriler arasında her şeyi senkronize eder.Replikasyon mantığı, senkronizasyonu sağlamak için istemci ve sunucuda mevcuttur.

Veri

Veri modeli değişiklikleri, 3B dünyadaki bir şey yaratıldığında veya 3B dünyanın bir özelliğinin değiştiğinde çeşitli durumlarda meydana gelebilir.Bu genellikle, sunucudaki veya istemcideki bir senaryo, müşteri-sunucu sınırının diğer tarafına yansıtılması gereken bir değişiklik yaptığında meydana gelir.Aşağıdaki diyagramlar, veri yeniden yazma için yaygın senaryoları gösterir.

İstemciSunucu >

A diagram of one client communicating with the server.

Herhangi bir istemciden sunucuya iletişim.Örneğin, bir istemci görünmezlik iksiri içmek için P tuşuna basar ve sunucuya o oyuncunun karakterini diğer tüm oyunculara görünmez yapmasını söyler.

Sunucu → İstemci > Sunucudan belirli bir istemciye iletişim.Örneğin, bir oyuncu deneyime katılır ve sunucu bu oyuncunun envanterini bir dizi öğe ile doldurur.

SunucuTüm Klientler >

>

A diagram of the server communicating with all connected clients.

Sunucu ve tüm bağlı klientler arasındaki iletişim.Örneğin, bir yarıştaki tüm katılımcılara geri sayım zamanlayıcısı görüntülemek.

Fizik

Roblox, 3B dünyadaki parçaların hareket ve etkileşimlerini hesaplamak için katı bir vücut fiziği motoru kullanır, ki bu sorumludur.Varsayılan olarak, Roblox'taki tüm parçalar sert vücutlardır ve aksi belirtilmediği sürece, simüle edilen fiziğe katılırlar.Ayrıca birden fazla parçayı bir araya getirerek montajlara gruplandırabilirsiniz, ki bu da fizik motoru tarafından tek bir sert vücut olarak ele alınır.


A single block part in the shape of a cube that represents a single assembly.
1 birleşim; 1 parça
A player character that represents a single assembly of 18 individual parts.
1 kurulum; 18 parça
A pirate ship mesh that represents a single assembly of 179 individual parts.
1 birleşim; 179 parça

Gerektiğinde Roblox, sunucu ve istemciler arasındaki fizik simülasyonu verilerini yeniden yapar.Simülasyon sözleşme imzalamayardımcı olmak için, Roblox, montajların sahipliğini belirli bir müşteriye veya sunucuya atayabilir.Bu, istemcinin veya sunucunun bu montajın fiziğini simüle etmekten sorumlu olabileceği anlamına gelir.Diğer istemciler, montajın konumu ve hareketiyle ilgili güncellemeleri sahibi istemci veya sunucudan alır.Sahiplik genellikle otomatik olarak gerçekleşir, ancak hassas tepki için doğrudan atayabilirsiniz.

Renkli çizgilerle gösterilen parça sahipliği

Sohbet

Roblox, sunucu ve istemci arasındaki sohbet mesajlarını yeniden yazar.Sunucu, sohbet mesajlarını filtrelemeye ve hangi mesajların diğer müşterilere kopyalanacağına karar vermeye sorumludur.Örneğin, sunucu argüman içeren veya çok uzun olan mesajları filtreleyebilir.