사용자 및 플레이어

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

Roblox 사용자가 게임에 참여하면, 그들은 PlayerDataModel에 나타납니다. 이 Player 객체는 사용자 이름, 친구 목록, 저장된 아바타 캐릭터와 같은 게임 전반에 걸쳐 보편적인 사용자에 대한 정보를 포함하며, 게임에 참여하고 떠나는 동안 사용자의 생애 주기에 영향을 미치는 속성, 메서드 및 이벤트를 포함합니다. 각 Player 객체는 사용자의 경험을 사용자 정의하는 데 사용할 수 있는 네 가지 중요한 컨테이너를 부모로 가집니다: Backpack, StarterGear, PlayerGui, 및 PlayerScripts.

Player는 또한 현재 게임 내에서 플레이어의 도메인 범위 식별을 나타내는 User 값인 Player.User 속성을 노출합니다. 사용자 식별이 어떻게 작동하는지에 대한 자세한 내용은 도메인 범위 사용자 ID 및 User 유형을 포함하여 사용자 및 도메인 범위 사용자 ID를 참조하십시오.

생애 주기

Players 서비스는 게임 내 모든 Player 인스턴스를 포함합니다. 클라이언트 및 서버 측 스크립트는 모두 Players.PlayerAddedPlayers.PlayerRemoved 이벤트에 연결하여 Player 객체의 생애 주기에 대한 응답으로 작업을 수행할 수 있습니다. 스크립트는 또한 Player.CharacterAddedPlayer.CharacterRemoving 이벤트에 연결하여 캐릭터가 생성되거나 사라질 때 게임 플레이 관련 작업을 수행할 수 있습니다.

사용자 참여

사용자 클라이언트가 게임에 연결되면 Players.PlayerAdded 이벤트가 발생하고 참여하는 사용자의 Player 객체가 전달됩니다. 이 객체는 데이터 저장소에서 사용자 데이터를 로드하거나 플레이어를 에 할당하는 등 여러 용도로 사용할 수 있습니다.

예를 들어, 사용자가 게임에 참여할 때 사용자의 데이터를 로드하려면 Script에서 PlayerAdded 이벤트를 사용하여 사용자 ID 아래의 데이터 저장소에 저장된 사용자의 데이터를 검색합니다:

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
-- 데이터 저장소 키 읽기
local getSuccess, currentData = pcall(function()
return playerDataStore:GetAsync(userId)
end)
if getSuccess then
print(currentData)
end
-- currentData로 추가 작업 수행
end)

캐릭터 생성

기본적으로 사용자의 Player.Character 모델은 그들의 플랫폼 아바타를 나타내며 Players.CharacterAutoLoadstrue로 설정되어 있어 사용자가 게임에 참여할 때 캐릭터 모델이 자동으로 생성됩니다.

사용자의 Player.Character가 생성되면, ScriptsLocalScriptsStarterCharacterScripts에서 캐릭터 모델로 복제되고 Player.CharacterAdded 이벤트가 발생합니다. 이 이벤트는 새로운 캐릭터 모델을 리스너에게 전달하며, 이를 사용하여 캐릭터의 Humanoid 객체를 찾아 그 행동을 수정할 수 있습니다. 예를 들어, Humanoid:ApplyDescription()을 사용하여 아바타의 의상을 변경할 수 있습니다.

캐릭터 사라짐

플레이어의 Humanoid가 죽으면, 서버는 Players.RespawnTime에 지정된 시간 후에 자동으로 캐릭터 모델을 제거합니다. 그런 다음 Player.CharacterRemoving 이벤트를 사용하여 다른 객체를 재설정하거나 캐릭터와 관련된 데이터를 업데이트할 수 있습니다.

사용자 퇴장

사용자 클라이언트가 게임에서 연결을 끊으면, 서버는 Players 서비스 내의 관련 Player 객체를 파괴합니다. 이 시점에서 Players.PlayerRemoving 이벤트가 발생하고 연결을 끊은 사용자의 Player 객체가 전달됩니다. 이를 사용하여 사용자 데이터를 저장하거나, 점수판에서 플레이어 통계를 제거하거나, 게임에서 플레이어가 생성한 모델을 파괴하는 등 여러 용도로 사용할 수 있습니다.

다음 예제 ScriptPlayerRemoving 이벤트를 수신하고 사용자의 데이터를 데이터 저장소에 사용자 ID 아래에 저장하려고 시도합니다:

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
-- 게임 내 플레이어의 데이터 상태 가져오기
local currentData = getCurrentData(player)
-- 데이터 저장소에 저장
local setSuccess, errorMessage = pcall(function()
playerDataStore:SetAsync(userId, currentData)
end)
if not setSuccess then
warn(errorMessage)
end
end)

컨테이너

Player 객체는 사용자의 클라이언트를 나타내며 여러 중요한 컨테이너를 저장합니다: Backpack, StarterGear, PlayerGui, 및 PlayerScripts. 게임 실행 중에 "편집" 데이터 모델의 여러 컨테이너가 이러한 Player 컨테이너로 내용을 복사합니다. 여기에는 StarterGui에서 PlayerGui, StarterPack에서 Backpack, 및 StarterPlayerScripts에서 PlayerScripts로의 복사가 포함됩니다.

편집 및 실행 데이터 모델 간의 객체를 매핑하는 다이어그램.

BackpackTool 객체는 플레이어의 인벤토리를 구성하며 화면 하단에 아이콘 버튼으로 표시됩니다. 자세한 내용은 게임 내 도구를 참조하십시오.

위에서 설명한 바와 같이, StarterPack의 내용과 플레이어의 StarterGear는 플레이어의 Character가 생성될 때 Backpack으로 복제됩니다. 캐릭터가 죽으면 클라이언트는 Backpack을 파괴하고 새 것으로 교체합니다.

기본 Roblox 인벤토리 GUI를 비활성화하고 자신의 것으로 교체하려면, 기본 UI 비활성화에서 설명한 대로 StarterGui:SetCoreGuiEnabled()LocalScript에서 호출하십시오.

사용자 차단

게임에서 예의와 공정한 플레이를 보장하기 위해, 규칙이나 커뮤니티 가이드라인을 위반하는 사용자를 차단할 수 있습니다. 차단 기간, 차단 메시지를 수정하고 잠재적인 대체 계정으로 차단을 연장할 수 있습니다. 이 기능을 사용할 때는 차단 가이드라인메시징을 따라야 합니다.

차단 작업을 수행할 수 있는 여러 옵션이 있습니다:

장치 차단

계정을 차단하는 것 외에도, Players:BanAsync()는 구성 테이블의 ApplyDeviceBlock 필드를 통해 장치 차단을 지원합니다. ApplyDeviceBlocktrue로 설정된 상태에서 현재 게임에 연결된 사용자를 차단하면, 해당 사용자와 연결된 장치도 24시간 동안 재접속이 차단됩니다. 이 옵션은 차단 회피에 대한 마찰을 추가합니다; 차단된 플레이어는 동일한 장치에서 새 계정으로 즉시 게임에 재접속할 수 없습니다.

  • 장치 차단은 현재 데스크톱(Windows 및 macOS)에서 플레이어에게만 적용됩니다. 모바일 장치나 콘솔에는 적용되지 않습니다.
  • 장치 차단은 해당 장치를 사용한 다른 계정에 대한 차단으로 전파되지 않습니다.
  • 영향을 받는 사용자에 대한 차단 해제 API를 호출하면 즉시 해당 사용자의 장치와 관련된 모든 활성 장치 차단이 제거되어 게임에 재접속할 수 있습니다.

차단 가이드라인

게임에서 차단을 구현할 때는 다음 가이드라인을 준수해야 합니다:

  • 게임 규칙은 Roblox의 커뮤니티 기준이용 약관과 모순되지 않아야 합니다. 예를 들어, 성별 때문에 누군가를 제외하는 게임 규칙을 만들 수 없습니다. 이는 Roblox의 차별, 비속어 및 증오 발언 정책을 위반합니다.
  • 제작자는 모든 사용자에게 접근 가능한 곳에 게임 규칙을 명확히 명시해야 합니다.
  • 제작자는 게임 규칙을 공정하게 적용하고 특정 사용자를 임의로 표적 삼지 않아야 합니다.
  • 사용자는 자신의 차단이 잘못되었다고 생각할 경우 제작자에게 직접 항소할 수 있습니다. Roblox는 이러한 항소를 중재하지 않으며, 사용자가 제작자의 게임 규칙이나 규칙 집행이 커뮤니티 기준을 위반한다고 생각하는 경우에만 중재합니다.
  • Roblox는 제작자의 게임 규칙이나 규칙 집행이 커뮤니티 기준을 위반할 이유가 있다고 판단되면 게임을 조정할 수 있습니다.

메시지 가이드라인

사용자가 차단되면, 차단 기간 및 이유와 같은 정보를 표시하는 오류 모달이 표시됩니다. 텍스트 필터링된 메시지에는 Roblox의 커뮤니티 기준을 준수하는 한, 항소 또는 연락처 정보와 같은 추가 정보를 포함할 수 있습니다.

예를 들어, 차단 메시지에서 브랜드 이름 및 플랫폼을 언급하는 것은 허용됩니다:

  • "내 그룹/게임 페이지의 Discord를 방문하세요"
  • "Twitter 또는 X에서 나에게 메시지를 보내세요"

개인 정보 언급이나 직접 링크는 이 메시지 필드에서 허용되지 않습니다. 여기에는 특정 사용자 이름이나 핸들을 게시하거나 Discord 서버 또는 X 계정에 대한 직접 링크를 제공하는 것이 포함됩니다.

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.