Hello. I’m curious: do server-sided changes to objects in ReplicatedStorage replicate automatically to the client, or does they go through some remote? Thank you.
Pretty sure they update accordingly. ReplicatedStorage acts as a database for both clients and the server; therefore, unless you’re updating it locally, they should change server wise.
Example:
-- [ Local Script in Client or whatever ] --
local event = game.ReplicatedStorage.RemoteEvent
RemoteEvent:FireServer("hello")
-- [ Server Script in RepStorage] --
local event = game.ReplicatedStorage.RemoteEvent
local event2 = game.ReplicatedStorage.RemoteEvent2
local value = game.ReplicatedStorage.StringValue
value.Value = "hi"
print(value.Value)
RemoteEvent.OnServerEvent:Connect(function(str)
value.Value = str
end
-- [ Another Local Script, maybe in another client ]--
local event2 = game.ReplicatedStorage.Event2
event2.OnClientEvent:Connect(function()
print(game.ReplicatedStorage.Value.Value)
end)
If I made a syntax error then point it out, please.
Replicates automatically to client when done server-side. Not tested but I’m confident you can test it yourself.
I believe it replicates to the server and client if you change it in a server script. If you change it in a local script, it most likely only changes to the client that has the local script.
The first argument passed in a RemoteEvent Server Event is the Player who fired it.
Remote.OnServerEvent:Connect(function(Player, str)
end)
ReplicatedStorage replicates the same as all cross-boundary zones (ex. Workspace, Replicated First, Player.PlayerGui). If a change occurs on the server, it is replicated to all clients. Any change made by a client is not replicated to the server or any other clients.