It works in studio but it doesn't work in the actual server, I have the RemoteEvent within ReplicatedStorage, the a,b,c,d,e arguments are based on the tween properties, the server-sided script is inside ServerScriptService while the local script is located within the button.
Server Script
game.ReplicatedStorage.open.OnServerEvent:connect(function(player, a,b,c,d,e)
player.PlayerGui:WaitForChild("main").sidebar:TweenPosition(a,b,c,d,e)
end)
Local Script
local button = script.Parent
local debounce = true
button.MouseButton1Click:connect(function()
if debounce == true then
game.ReplicatedStorage.open:FireServer(UDim2.new(0,-80,1,-190),"In","Back",1)
debounce = false
else
game.ReplicatedStorage.open:FireServer(UDim2.new(0,0,1,-190),"In","Back",1)
debounce = true
end
end)
Thanks in advance!

3 comments
its better to do Tweening locally, for your event you have not waited for the "open" object so it may not exist yet. Are there any errors?
The arguments are fired within the local script with the supposed positions, there are no errors as far as I'm concerned.
<3