Dear readers, I'm making a cross-server serverlock, which I would like to control using a datastore and the updated event. My goal is that when a player says ";slock", that the Serverlock Database with Lock as key has been set to "True". I'm an experienced scripter, but I don't really see why I always get the message "Failed to lock servers". This is the script I currently have in ServerScriptService. It triggers when a player joins, then it triggers again when that player chats, and then it checks for his rank if the message is ;slock. To see if it worked, I use a pcall function. Useful to know: There is no output.

local DataStoreService = game:GetService("DataStoreService")
local LockStore = DataStoreService:GetDataStore("ServerLock")

game.Players.PlayerAdded:connect(function(player)
	player.Chatted:connect(function(msg)
		if player:GetRankInGroup(3809918) >= 14 then
			
			if msg == ";slock" then
				local success = pcall(function()
					return LockStore:UpdateAsync("Lock", true)					
				end)
				if success then
					local msg = Instance.new("Hint")
					msg.Text = "Servers locked"
					msg.Parent = workspace
				else
					local msg = Instance.new("Hint")
					msg.Text = "Failed to lock servers"
					msg.Parent = workspace
				end
			end
		end
	end)
end)

Thank you in advance, Jonas (marketmanager1 on roblox)