How are we able to use Heartbeat and RenderStepped on the server?

I’ve been using RunService.Heartbeat for my server side projectile scripts, and it’s useful, but I’m wondering how it makes any sense.
Does the server have it’s own fps, or is it just using the fps of one of the clients?

1 Like

The server does not have an FPS but rather a TPS (Ticks per Second).

TPS is similar to FPS except it does include rendering (since the server has nothing to render).
A tick is essentially a frame on the server.

Roblox targets 60tps but it can fall below.

3 Likes

Correct. the RunService.Heartbeat event fires every frame, after the physics simulation has completed. As Heartbeat fires every frame, it runs on a variable frequency meaning the rate will vary depending on the performance of the client.