#ProfileStore Issues (Operations blocked while running on a personal RCC)

1 messages · Page 1 of 1 (latest)

austere hemlock
#

So I've recently made a simple profile store, but it's giving errors. I used it yesterday and it worked fine, now that I've re-opened roblox studio it's not working anymore. I followed to tutorial that was put in the download page.

  12:27:43.367  DataStoreService: OperationNotAllowed: Data Store operations blocked while running on a Personal RCC to prevent possible data corruption. API: SetAsync, Data Store: ____PS  -  Studio
  12:27:43.367  [ProfileStore]: Roblox API services available - data will be saved  -  Server - ProfileStore:2098
  12:27:43.462  DataStoreService: OperationNotAllowed: Data Store operations blocked while running on a Personal RCC to prevent possible data corruption. API: UpdateAsync, Data Store: Test  -  Studio
  12:27:43.463  [ProfileStore]: DataStore API error (STORE:Test; KEY:Player_350685824) - 509: Data Store operations blocked while running on a Personal RCC to prevent possible data corruption  -  Server - ProfileStore:425
  12:27:44.482  DataStoreService: OperationNotAllowed: Data Store operations blocked while running on a Personal RCC to prevent possible data corruption. API: UpdateAsync, Data Store: Test  -  Studio
  12:27:44.483  [ProfileStore]: DataStore API error (STORE:Test; KEY:Player_350685824) - 509: Data Store operations blocked while running on a Personal RCC to prevent possible data corruption  -  Server - ProfileStore:425
  12:27:46.490  DataStoreService: OperationNotAllowed: Data Store operations blocked while running on a Personal RCC to prevent possible data corruption. API: UpdateAsync, Data Store: Test  -  Studio
  12:27:46.491  [ProfileStore]: DataStore API error (STORE:Test; KEY:Player_350685824) - 509: Data Store operations blocked while running on a Personal RCC to prevent possible data corruption```
crude nacelleBOT
#

studio** You are now Level 7! **studio

austere hemlock
#
-- Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local ServerScriptService = game:GetService("ServerScriptService")

-- ProfileStore
local ProfileStore = require(ServerScriptService.Libs.ProfileStore)

local function GetStoreName()
    return RunService:IsStudio() and "Test" or "Live"
end

local Template = require(ServerScriptService.Data.Template)
local DataManager = require(ServerScriptService.Data.DataManager)

-- Access Profile Store
local PlayerStore = ProfileStore.New(GetStoreName(), Template)

-- Add leaderstats and syncs player data
local function Initialize(player: Player, profile: typeof(PlayerStore:StartSessionAsync()))
    
    local plrValues = Instance.new("Folder", player)
    plrValues.Name = "plrValues"
    
    local Money = Instance.new("NumberValue", plrValues)
    Money.Name = "Money"
    Money.Value = profile.Data.Money
    
    Money:GetPropertyChangedSignal("Value"):Connect(function()
        profile.Data.Money = math.max(0, Money.Value)
    end)

    -- Inventory (tools/items)
    local inventoryFolder = Instance.new("Folder")
    inventoryFolder.Name = "Inventory"
    inventoryFolder.Parent = player

    for _, itemName in ipairs(profile.Data.Inventory) do
        local item = Instance.new("StringValue")
        item.Name = itemName
        item.Parent = inventoryFolder
    end

    -- OwnedVehicles
    local vehiclesFolder = Instance.new("Folder")
    vehiclesFolder.Name = "OwnedVehicles"
    vehiclesFolder.Parent = player

    for _, vehicleName in ipairs(profile.Data.ownedVehicles) do
        local vehicle = Instance.new("StringValue")
        vehicle.Name = vehicleName
        vehicle.Parent = vehiclesFolder
    end
    
end


-- Creates and stores a profile
local function PlayerAdded(player: Player)
    
    -- Start a new profile session
    local profile = PlayerStore:StartSessionAsync("Player_" .. player.UserId, {
        Cancel = function()
            return player.Parent ~= Players
        end,
    })
    
    -- Sanity Check to ensure profile exists
    if profile ~= nil then
        
        profile:AddUserId(player.UserId)    -- GDPR compliance
        profile:Reconcile()
        
        -- Handles session-locking
        profile.OnSessionEnd:Connect(function()
            DataManager.Profiles[player] = nil
            player:Kick("Data error occured. Please rejoin 1.")
        end)
        
        if player.Parent == Players then
            
            DataManager.Profiles[player] = profile
            Initialize(player, profile)
            
        else
            profile:EndSession()
        end
        
        
    else
        -- Server shuts down while player is joining
        player:Kick("Data error occured. Please rejoin 2.")
    end
    
end

-- Early Joiners
for _, player in Players:GetPlayers() do
    task.spawn(PlayerAdded, player)
end
Players.PlayerAdded:Connect(PlayerAdded)

Players.PlayerRemoving:Connect(function(player)
    local profile = DataManager.Profiles[player]
    if not profile then return end
    profile:EndSession()
    DataManager.Profiles[player] = nil
end)```
#

There's my DataInit (server) script

#

I'm using the ProfileStore system made my loleris.

#

it entered critical state 😭

#

Please give me a ping when somoene's responded. Thanks!

#

Alright I got it to work when I tested in a team create server...

#

updated roblox studio and now it works 😭