Where to use server and client scripts

To start off, I wanna move away the obvious, Interface, Input ecc, what I want is feedback on things that are usually done on the server but would benefit more being done on the client.
I was thinking about if I should Teleport the player on the client, make kill bricks on the client, jump pads, conveyors ecc.
I heard that you should do Tweens on the client, any feedback / suggestions?

The fundamental rule is: the client can’t be trusted. Teleporting, kill bricks, jump pads, and conveyors should absolutely be handled server-side because they affect game state and player positioning.

The decision framework is straightforward: anything that affects game state, player stats, or other players must run on the server. This includes movement mechanics, damage dealing, state changes, and any gameplay elements that could be exploited.

Use the client for responsiveness and visual feedback: animations, tweens, particles, camera effects, sounds, and UI updates. The client is ideal for anything that should feel instant to the player or is purely cosmetic.

An useful approach is client prediction with server validation. Let the client immediately show the expected result (like movement, effects, etc) while the server validates and corrects if needed. This gives you responsive gameplay without risking exploits.

For better performance, keep high frequency updates client-side. Per-frame effects, smoothing, and visual polish should run locally to reduce server load. However, the server always remains the source of truth for actual game state.

I hope this helps you!

1 Like

Thank you for the feedback I will take a look into this and see what I can improve and take into consideration your ideas.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.