Showing SurfaceGui status for new players

Basically, I have several screens that use SurfaceGuis. These work like:

Person presses button on SurfaceGui (client) -> Server fires to all clients (server) -> Shows original person's screen to everyone else (client)

^ This works.
Also, it may be because from the client, it changes a StringValue’s value for the screen to the player’s name. But, I’m fairly sure this can’t be accessed from the server (as it’ll probably print nil, right?)

I had a similar problem (which may help solve this, idk): Changing SurfaceGui when player leaves

Back to the topic, when a player joins, the screen isn’t replicated to them- so they don’t see it. What would be the best way of showing them the screen?

Thanks in advance.

I think it would be best if you have a central screen on the server, and the players fire remote events that correspond to a button pressed, then the screen updates on the server and then replicates to everyone else.

So when a player initially joins, the server screen will be updated for them.