Ağın Kullanımı

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

Oyuncular için güzel ve yanıtlayan bir deneyim için aynı anda kompleksi fiziksel mekanizmaları desteklemek için, Roblox fizikleri motoru, hesapların sunucu ve tüm bağlantılı müşteriler arasında dağıtılan bir ağ

Müşteriler, sahip oldukları parçalarla daha dinamik fiziksel etkileşimler yaşar, çünkü sunucuyla iletişim kurma gecikmez. Ağ sahipliği ayrıca sunucunun diğer görevleri üzerinde öncelik vermesine izin veren bir ağ üzerindeki birkaç tane olabilir, böylece sunucu diğer görevleri üzerinde öncelik verebilir.

BasePart Sahiplenmesi

Varsayılan olarak, sunucu herhangi bir BasePart 'in sahibi olacaktır. Ayrıca, sunucu her zaman ancorlı BaseParts ve sahipliğini manuel olarak değiştiremezsiniz.

Bir klijin donanım kapasitesine ve oyuncunun Player.Character yakınlığına dayanarak, motor otomatik olarak bu parçanın sahibi olması için klijin yakınındaki bir parçaya sahip olma hakkını otomatik olarak atar. Böylece, bir oyuncunun karakterine yakın olan parçalar daha olası bir oyuncu tarafından satın

Kurumsal Kimlik

Eğer fiziksel bir mekanizmanın bağlantılı parçaları yoksa, sahip olma bir Assembly içindeki bir meclis üzerinde sahip olma aynıdır.

Daha geniş bir mekanizmanın parçası değil olan yalnız bir montajı bağlarsanız, sahip olduğunuz sunucu, çünkü sunucu daima bağlı Class.BasePart|BaseParts . Aynı montajı bağladıktan sonra, eski sahip olduğunuz sahip olma durumu kaybolur ve motor tarafından otomatik olarak işlenmesine geçer.

Eğer bir montajyu genişletilmiş bir montaj mekanizması içine bağlarsanız, onun sahibi sunucuya geçer, ancak diğer montajların sahibi değiştirilmez olarak kalır. Aynı montajyı bağlamak daha önce belirlenen sahibiyetini geri alır.

Sahiplenmeyi Ayarlama

Komple fiziksel etkileşimlerinizde veya doğrudan kontrol atamanız gereken durumlarda, sahibi BasePart:SetNetworkOwner() olarak ayarlayabilirsiniz.

Bir araçta VehicleSeat bir sürücü için ve Seat bir yolcu için, her ikisi de aracın montajında dahil

Script ile ağ erişiminin sürücüye manuel olarak atanmasıyla bu sorunu düzeltir. Class.V


local Players = game:GetService("Players")
local vehicleSeat = script.Parent
vehicleSeat.Changed:Connect(function(prop)
if prop == "Occupant" then
local humanoid = vehicleSeat.Occupant
if humanoid then
-- Karakterden oyuncuyu al
local player = Players:GetPlayerFromCharacter(humanoid.Parent)
if player then
vehicleSeat:SetNetworkOwner(player)
end
else
-- Koltuk boş olduğunda sahibiği sıfırla
vehicleSeat:SetNetworkOwnershipAuto()
end
end
end)

Sahiplenmeyi Görüntüleme

Ağ özelliği değiştirmeye yardımcı olmak için Studio, oyun testindeki nesnelerin etrafında renkli hatlı hatlar oluşturabilir.

Hatlı RenkAçıklama
(yeşil)Client'ın parçayı sahip olduğu ve onu simüle ettiği.
(kırmızı)Parça, klieninizin simüle ettiği "缓冲区" içindedir, ancak başka bir şeyin. Klieniz budan sonra sahip olabilir veya reddedebilir.

(beyaz/ gri)Sunucu veya diğer bir istemci, parçayı otomatik ağ sahibi olupya da part:SetNetworkOwner() aracılığıyla açık atadığından alıyor.

Ağ sahipliği görüntüsünü etkinleştirmek için:

  1. 3D görüntüleyicisinin üst-sağ köşesindeki görüntüleme seçenekleri düğmesine tıklayın.

    A close up view of the 3D viewport with the Visualization Options button indicated in the upper-right corner.
  2. Aşağıdaki menüde, Ağ sahipleri üzerinde durumu değiştir.

Güvenlik Endişeleri

Roblox, bir BasePart üzerinde sahip olma durumunda fiziksel hesapları doğrulayamaz. Clients bu durumu kullanarak kötü verileri sunucuya gönderabilir, örneğin BasePart ın duvarlarını geçmesini sağlayarak etrafta uçmak gibi.

Ayrıca, BasePart.Touched etkinlikleri ağ sahibiğine bağlıdır, yani bir istemci bir Touched ağ üzerinde sahip olduğunu ve sunucuya gö

Roblox deneyimleri için ayrıntılı güvenlik taktikleri ve hile önleme taktikleri için görüntü Güvenlik Taktikleri ve Cheat Mitigation.