Wenn ein Roblox-Benutzer einem Spiel beitritt, wird er als Player im DataModel dargestellt. Dieses Player-Objekt enthält Informationen über den Benutzer, die in allen Spielen universell sind, wie z. B. ihren Benutzernamen, Freundesliste und gespeicherten Avatar-Charakter sowie Eigenschaften, Methoden und Ereignisse, die den Lebenszyklus des Benutzers zwischen dem Beitritt und dem Verlassen des Spiels beeinflussen. Jedes Player-Objekt hat außerdem vier wichtige Container, die Sie verwenden können, um die Erfahrung eines Benutzers anzupassen: Backpack, StarterGear, PlayerGui und PlayerScripts.
Jedes Player-Objekt stellt auch eine Player.User-Eigenschaft zur Verfügung, die einen User-Wert darstellt, der die domänenspezifische Identität des Spielers im aktuellen Spiel repräsentiert. Weitere Informationen zur Benutzeridentifikation, einschließlich domänenspezifischer Benutzer-IDs und des User-Typs, finden Sie unter Benutzer und domänenspezifische Benutzer-IDs.

Lebenszyklus
Der Players-Dienst enthält alle Player-Instanzen in einem Spiel. Sowohl Client- als auch serverseitige Skripte können sich mit den Ereignissen Players.PlayerAdded und Players.PlayerRemoved verbinden, um Aktionen als Reaktion auf den Lebenszyklus eines Player-Objekts auszuführen. Skripte können sich auch mit den Ereignissen Player.CharacterAdded und Player.CharacterRemoving verbinden, um spielbezogene Aktionen auszuführen, wenn der Charakter erscheint oder verschwindet.
Benutzerbeitritt
Wenn ein Benutzer-Client sich mit einem Spiel verbindet, wird das Ereignis Players.PlayerAdded ausgelöst und übergibt das Player-Objekt des Benutzers, der beitritt; Sie können dieses Objekt für zahlreiche Zwecke verwenden, z. B. um Benutzerdaten aus einem Datenspeicher zu laden oder den Spieler einem Team zuzuweisen.
Um beispielsweise die Daten eines Benutzers zu laden, wenn er einem Spiel beitritt, verwenden Sie das Ereignis PlayerAdded in einem Script, um die im Datenspeicher unter der Benutzer-ID gespeicherten Daten abzurufen:
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
Players.PlayerAdded:Connect(function(player)
local userId = player.UserId
-- Daten aus dem Datenspeicher lesen
local getSuccess, currentData = pcall(function()
return playerDataStore:GetAsync(userId)
end)
if getSuccess then
print(currentData)
end
-- Weitere Aktionen mit currentData durchführen
end)Charakter erscheinen
Standardmäßig repräsentiert das Player.Character-Modell eines Benutzers seinen Plattform-Avatar, und Players.CharacterAutoLoads ist auf true gesetzt, was bedeutet, dass das Charaktermodell automatisch erscheint, wenn der Benutzer einem Spiel beitritt.
Wenn das Player.Character eines Benutzers erscheint, werden Scripts und LocalScripts in StarterCharacterScripts in das Charaktermodell kopiert und das Ereignis Player.CharacterAdded wird ausgelöst. Dieses Ereignis übergibt das neue Charaktermodell an seine Listener, die Sie verwenden können, um das Humanoid-Objekt des Charakters zu finden und sein Verhalten zu ändern. Zum Beispiel können Sie Humanoid:ApplyDescription() verwenden, um das Outfit des Avatars zu ändern.
Charakter verschwinden
Wenn das Humanoid des Spielers stirbt, entfernt der Server das Charaktermodell automatisch nach der Zeit, die durch Players.RespawnTime festgelegt ist. Sie können dann das Ereignis Player.CharacterRemoving verwenden, um andere Objekte zurückzusetzen oder Daten, die mit dem Charakter verbunden sind, zu aktualisieren.
Benutzerverlassen
Wenn ein Benutzer-Client sich von einem Spiel trennt, zerstört der Server das zugehörige Player-Objekt im Players-Dienst. Zu diesem Zeitpunkt wird das Ereignis Players.PlayerRemoving ausgelöst und übergibt das Player-Objekt des Benutzers, der sich getrennt hat. Sie können dies für zahlreiche Zwecke verwenden, z. B. um Benutzerdaten zu speichern, Spielerstatistiken von einem Punktestand zu entfernen oder von Spielern erstellte Modelle im Spiel zu zerstören.
Das folgende Beispiel Script hört auf das Ereignis PlayerRemoving und versucht, die Benutzerdaten in einem Datenspeicher unter der Benutzer-ID zu speichern:
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
Players.PlayerRemoving:Connect(function(player)
local userId = player.UserId
-- Den Datenstatus des Spielers im Spiel abrufen
local currentData = getCurrentData(player)
-- In den Datenspeicher speichern
local setSuccess, errorMessage = pcall(function()
playerDataStore:SetAsync(userId, currentData)
end)
if not setSuccess then
warn(errorMessage)
end
end)Container
Jedes Player-Objekt, das einen Benutzer-Client darstellt, speichert mehrere wichtige Container: Backpack, StarterGear, PlayerGui und PlayerScripts. Zur Laufzeit des Spiels kopieren mehrere Container im "Bearbeiten"-Datenmodell ihren Inhalt in diese Player-Container, einschließlich StarterGui in PlayerGui, StarterPack in Backpack und StarterPlayerScripts in PlayerScripts.

Tool-Objekte im Backpack bilden das Inventar des Spielers und werden als Symbolschaltflächen am unteren Bildschirmrand angezeigt. Weitere Informationen finden Sie unter In-Game-Tools.
Wie oben dargestellt, werden die Inhalte von StarterPack und das StarterGear des Spielers in den Backpack kopiert, wenn der Character eines Spielers erscheint. Wenn der Charakter stirbt, zerstört der Client den Backpack und ersetzt ihn durch einen neuen.
Um die standardmäßige Roblox-Inventar-GUI zu deaktivieren und durch Ihre eigene zu ersetzen, rufen Sie StarterGui:SetCoreGuiEnabled() in einem LocalScript auf, wie in Standard-UI deaktivieren beschrieben.
Benutzer sperren
Um Zivilität und Fairplay in Ihren Spielen sicherzustellen, können Sie Benutzer sperren, die gegen Regeln oder Gemeinschaftsrichtlinien verstoßen. Sie können die Sperrdauer, Sperrnachrichten und sogar Sperren auf potenzielle alternative Konten erweitern. Bei der Verwendung dieser Funktion müssen Sie die Richtlinien und Nachrichten für Sperren befolgen.
Sie haben mehrere Optionen zur Arbeit mit Sperren:
- Jede Spieleseite im Creator Hub hat ein Sperren-Dashboard.
- Für die programmgesteuerte Verwendung mit der Engine-API siehe Players:BanAsync().
- Für Open Cloud siehe Sperren und Blockieren.
Geräteblockierung
Neben der Sperrung eines Kontos unterstützt Players:BanAsync() die Geräteblockierung über das Feld ApplyDeviceBlock in seiner Konfigurationstabelle. Wenn Sie einen Benutzer sperren, der derzeit mit Ihrem Spiel verbunden ist und ApplyDeviceBlock auf true gesetzt ist, wird das mit diesem Benutzer verbundene Gerät auch für 24 Stunden vom erneuten Beitritt blockiert. Diese Option erhöht die Hürden gegen das Umgehen von Sperren; gesperrte Spieler können sich nicht sofort von einem neuen Konto auf demselben Gerät wieder mit dem Spiel verbinden.
- Die Geräteblockierung gilt derzeit nur für Spieler auf Desktop (Windows und macOS). Sie gilt nicht für mobile Geräte oder Konsolen.
- Die Geräteblockierung wird nicht als Sperre auf andere Konten übertragen, die das Gerät verwendet haben.
- Der Aufruf der Entsperr-API für den betroffenen Benutzer entfernt sofort alle aktiven Geräteblockierungen, die mit dem Gerät dieses Benutzers verbunden sind, sodass sie sich wieder mit dem Spiel verbinden können.
Sperrrichtlinien
Bei der Implementierung von Sperren in Ihrem Spiel müssen Sie die folgenden Richtlinien einhalten:
- Die Spielregeln dürfen nicht im Widerspruch zu Roblox' Gemeinschaftsstandards und Nutzungsbedingungen stehen. Zum Beispiel können Sie keine Spielregel erstellen, die jemanden aufgrund seines Geschlechts ausschließt, da dies gegen Roblox' Richtlinie zu Diskriminierung, Beleidigungen und Hassrede verstößt.
- Die Ersteller müssen ihre Spielregeln an einem für alle Benutzer zugänglichen Ort klar angeben.
- Die Ersteller müssen ihre Spielregeln fair anwenden und dürfen nicht willkürlich bestimmte Benutzer ins Visier nehmen.
- Benutzer können sich direkt an die Ersteller wenden, wenn sie glauben, dass ihre Sperre falsch war. Roblox wird diese Einsprüche nicht vermitteln, es sei denn, der Benutzer glaubt, dass die Spielregeln des Erstellers oder die Durchsetzung ihrer Regeln gegen die Gemeinschaftsstandards verstoßen.
- Roblox kann ein Spiel moderieren, wenn es Grund zu der Annahme gibt, dass die Spielregeln eines Erstellers oder die Durchsetzung ihrer Regeln gegen die Gemeinschaftsstandards verstoßen.
Nachrichtenrichtlinien
Wenn ein Benutzer gesperrt wird, erhält er ein Fehlermeldungsfenster, das Informationen wie die Sperrdauer und den Grund anzeigt. In der textgefilterten Nachricht können Sie zusätzliche Informationen wie Einspruchs- oder Kontaktdaten einfügen, solange Sie die Gemeinschaftsstandards von Roblox einhalten.
Zum Beispiel dürfen Sie in Ihren Sperrnachrichten Markennamen und Plattformen erwähnen:
- "Besuchen Sie den Discord in meiner Gruppe/Spieleseite"
- "Nachricht mir auf Twitter oder X"
Erwähnungen von persönlichen Informationen oder direkten Links sind in diesem Nachrichtenfeld nicht erlaubt. Dazu gehört das Posten eines bestimmten Benutzernamens oder Handles oder das Bereitstellen eines direkten Links zu einem Discord-Server oder X-Konto.