Wenn ein Roblox-Benutzer ein Spiel betritt, 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. seinen Benutzernamen, die Freundesliste und den gespeicherten Avatar-Charakter sowie Eigenschaften, Methoden und Ereignisse, die den Lebenszyklus des Benutzers zwischen dem Betreten und Verlassen des Spiels beeinflussen. Jedes Player-Objekt hat außerdem vier wichtige Container als Eltern, die Sie nutzen können, um das Erlebnis eines Benutzers anzupassen: Backpack, StarterGear, PlayerGui und PlayerScripts.
Jedes Player-Objekt bietet auch die Player.User-Eigenschaft an, die einen User-Wert darstellt, der die domänenbasierte Identität des Spielers innerhalb des aktuellen Spiels repräsentiert. Weitere Informationen zur Benutzeridentifikation, einschließlich domänenbasierter Benutzer-IDs und dem User-Typ, finden Sie in Benutzer und domänenbasierte Benutzer-IDs.

Lebenszyklus
Der Players-Dienst enthält alle Player-Instanzen in einem Spiel. Client- und serverseitige Skripte können sowohl die Ereignisse Players.PlayerAdded als auch Players.PlayerRemoved verbinden, um Aktionen als Reaktion auf den Lebenszyklus eines Player-Objekts auszuführen. Skripte können auch die Ereignisse Player.CharacterAdded und Player.CharacterRemoving verbinden, um gameplaybezogene Aktionen auszuführen, wenn der Charakter erscheint oder verschwindet.
Benutzerbeitritt
Wenn ein Benutzer-Client sich mit einem Spiel verbindet, wird das Players.PlayerAdded-Ereignis ausgelöst und übergibt das Player-Objekt des Benutzers, der beigetreten ist; Sie können dieses Objekt für zahlreiche Zwecke verwenden, wie das Laden von Benutzerdaten aus einem Datenspeicher oder das Zuweisen des Spielers zu einem Team.
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:
Skript in ServerScriptService
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
Players.PlayerAdded:Connect(function(player)
local userId = player.UserId
-- Lese Datenspeicherschlüssel
local getSuccess, currentData = pcall(function()
return playerDataStore:GetAsync(userId)
end)
if getSuccess then
print(currentData)
end
-- Führen Sie weitere Aktionen mit currentData aus
end)
Charaktererscheinen
Standardmäßig repräsentiert das Player.Character-Modell eines Benutzers seinen Plattform-Avatar und Players.CharacterAutoLoads ist true, was bedeutet, dass das Charaktermodell automatisch erscheint, wenn der Benutzer einem Spiel beitritt.
Wenn der Player.Character eines Benutzers erscheint, werden Scripte und Lokale Skripte in StarterCharacterScripts in das Charaktermodell kopiert und das Ereignis Player.CharacterAdded wird ausgelöst. Dieses Ereignis übergibt das neue Charaktermodell an seine Zuhörer, das Sie verwenden können, um das Humanoid-Objekt des Charakters zu finden und dessen Verhalten zu ändern. Zum Beispiel können Sie Humanoid:ApplyDescription() verwenden, um das Outfit des Avatars zu ändern.
Charakterverschwinden
Wenn der Humanoid des Spielers stirbt, entfernt der Server das Charaktermodell automatisch nach der in Players.RespawnTime angegebenen Zeit. Sie können dann das Ereignis Player.CharacterRemoving verwenden, um andere Objekte zurückzusetzen oder Daten zu aktualisieren, die mit dem Charakter verknüpft sind.
Benutzerverlassen
Wenn ein Benutzer-Client sich von einem Spiel trennt, wird das zugehörige Player-Objekt im Players-Dienst vom Server zerstört. Zu diesem Zeitpunkt wird das Players.PlayerRemoving-Ereignis ausgelöst und übergibt das Player-Objekt des Benutzers, der sich getrennt hat. Sie können dies für zahlreiche Zwecke verwenden, wie das Speichern von Benutzerdaten, das Entfernen von Spielerstatistiken aus einem Punkteboard oder das Zerstören von vom Spieler erstellten Modellen im Spiel.
Das folgende Beispiel Script hört auf das PlayerRemoving-Ereignis und versucht, die Benutzerdaten in einem Datenspeicher unter ihrer Benutzer-ID zu speichern:
Skript in ServerScriptService
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
Players.PlayerRemoving:Connect(function(player)
local userId = player.UserId
-- Erhalten Sie den Datenstatus des Spielers im Spiel
local currentData = getCurrentData(player)
-- Speichern im Datenspeicher
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 in der Backpack bilden das Inventar des Spielers und werden als Symbolschaltflächen am unteren Bildschirmrand angezeigt. Siehe In-Game-Tools für weitere Informationen.
Wie oben dargestellt werden die Inhalte von StarterPack und das StarterGear des Spielers in die Backpack kopiert, wenn der Character eines Spielers erscheint. Wenn der Charakter stirbt, zerstört der Client die Backpack und ersetzt sie durch eine neue.
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 deaktivieren Sie die Standard-UIs beschrieben.
Benutzer bannen
Um Zivilität und Fair Play in Ihren Spielen zu gewährleisten, können Sie Benutzer bannen, die Regeln oder Community-Richtlinien verletzen. Sie können Bannzeiten, Bannnachrichten und sogar Banns auf potenzielle alternative Konten ausdehnen. Bei der Verwendung dieser Funktion müssen Sie die Richtlinien und Nachrichten für Banns befolgen.
Sie haben mehrere Optionen zur Verfügung, um mit Banns zu arbeiten:
- Jede Spielseite im Creator Hub hat ein Bans-Dashboard.
- Für programmgesteuerte Nutzung mit der Engine-API siehe Players:BanAsync().
- Für Open Cloud siehe Banns und Blockaden.
Geräteblockierung
Neben dem Bannen eines Kontos unterstützt Players:BanAsync() Geräteblockierung über das Feld ApplyDeviceBlock in seiner Konfigurationstabelle. Wenn Sie einen Benutzer bannen, der derzeit mit Ihrem Spiel verbunden ist, wobei ApplyDeviceBlock auf true gesetzt ist, wird das Gerät, das mit diesem Benutzer verknüpft ist, ebenfalls für 24 Stunden blockiert, um sich erneut zu verbinden. Diese Option erhöht den Aufwand gegen das Umgehen von Banns; gebannte Spieler können sich nicht sofort von einem neuen Konto auf demselben Gerät wieder 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 Bann auf andere Konten angewendet, die das Gerät verwendet haben.
- Der Aufruf der Unbann-API für den betroffenen Benutzer entfernt sofort alle aktiven Geräteblockierungen, die mit dem Gerät dieses Benutzers verbunden sind, sodass sie wieder in das Spiel einsteigen können.
Bannrichtlinien
Wenn Sie Banns in Ihrem Spiel implementieren, halten Sie sich an die folgenden Richtlinien:
- Die Spielregeln dürfen nicht im Widerspruch zu Robloxs Community Standards und Nutzungsbedingungen stehen. Beispielsweise können Sie keine Spielregel erstellen, die jemanden aufgrund seines Geschlechts ausschließt, da dies gegen Robloxs Richtlinie gegen Diskriminierung, Schimpfwörter und Hassrede verstößt.
- Schöpfer müssen ihre Spielregeln an einer für alle Benutzer zugänglichen Stelle klar angeben.
- Schöpfer müssen ihre Spielregeln fair anwenden und dürfen nicht willkürlich bestimmte Benutzer ins Visier nehmen.
- Benutzer können sich direkt an die Schöpfer wenden, wenn sie glauben, dass ihr Bann ungerechtfertigt war. Roblox wird diese Einsprüche nicht vermitteln, es sei denn, der Benutzer glaubt, dass die Spielregeln oder deren Durchsetzung durch den Schöpfer gegen die Community Standards verstoßen.
- Roblox kann ein Spiel moderieren, wenn es Grund zu der Annahme gibt, dass die Spielregeln eines Schöpfers oder deren Durchsetzung gegen die Community Standards verstoßen.
Nachrichtenrichtlinien
Wenn ein Benutzer gebannt wird, erhält er ein Fehlermeldungsmodal, das Informationen wie die Bannlänge und den Grund anzeigt. In der textgefilterten Nachricht dürfen Sie zusätzliche Informationen wie Einspruchs- oder Kontaktdaten einfügen, solange Sie die Community Standards von Roblox einhalten.
Zum Beispiel dürfen Sie in Ihren Bannnachrichten Markennamen und Plattformen erwähnen:
- "Besuchen Sie den Discord in meiner Gruppe/Spielseite"
- "Nachricht an mich 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.