Running a project in Studio, where are the "ServerStorage" items physically hosted?

Running a project in Studio, where are the items physically hosted within ServerStorage?

Are they on my machine?
Or are they in the Roblox cloud?

I ask this because my game has a GUI where the user selects an item and then I bring this item to the workspace via ReplicatedStorage in a ServerScript, like this:

local part = game.ServerStorage.someFolder:FindFirstChild("somePart")
part:Clone() -- slow...
part.Parent = workspace

But when I try to clone a mesh that is inside ServerStorage for Workspace, it is taking almost 1 second for the item to appear…

Are they hosted in Roblox Servers? Why this slowness?

2 Likes

Because the mesh needs time to render? I guess

Since it’s in serverstorage. It’s not replicated onto the client, so when the server introduces it, the client have to render it, which takes time. This is just my assumption.

1 Like

It’s probably not just about rendering it, it’s about the entire process of replication. I’d agree that replication is likely the main cause of the slowdown, though, yeah.

3 Likes

The issue of replication - whatever you put in ServerStorage isn’t replicated for clients and this reduces network traffic but then needs to replicate separately.

Put your object in ReplicatedStorage and it’ll have replicated to the client by the time LocalScripts execute, and just set the parent to workspace or somewhere it’ll be visible.

1 Like

I know about the network traffic, but my original question was: why it’s slow if I’m running the project in studio with a local file? If it’s local, there might not have network traffic, right?

No, even though things are a bit different in Studio you are still the client, and you need things replicated to you to work with them, if you keep things in S.Storage they’ll be stored server-side and it’ll take time when you separately want them to replicate.

Whatever you put in S.Storage will be stored server-side as implied by its name, if that’s the answer you’re looking for.

1 Like

So the correct answer would be:

Yes, even using a local .rbxl file, everything you put inside the ServerStorage folder will be transferred silently to a remote Roblox server. And even if you run a local .rbxl in Studio, every time you replicate an item that is in the ServerStorage folder, that item will be transferred via network from this server located at Roblox and not from your local machine.

Is that correct?

No. The server runs on your own machine. That’s why disconnecting says something like “Disconnected from 127.0.0.1:12345” It still replicates it to the client though; it tries to simulate a client-server relationship as best it can.

3 Likes