# Initial Setup

## Server Setup

Servers will run all the scripts in ServerScriptService once on the first frame before the initial snapshot replication is done to clients. You can use this system as a way of setting up your game on the first frame before the client will ever have access to seeing any of these changes.\
\
Examples: Removing dev/debug Instances, setting up models, moving contents to a different folder, adjusting the layout of workspace, initializing modules, etc...

{% hint style="warning" %}
Since Server Scripts do not have an order of operations, this will work best if there's a single script entry point, or you run the risk that your scripts have no guarantee which ones have already ran.
{% endhint %}

## ReplicatedFirst

ReplicatedFirst guarantees that all the content gets replicated before the Client runs. This can be very useful to store all Client specific data (scripts and resources) on startup without relying on WaitForChild.

This is only true for StreamingEnabled games, as under normal circumstances, the Client will load in the entire snapshop of the game on startup.
