What is the right way to handle Cutscenes?

I am NOT accepting code snippets, I just need some advice on which choice is the best for stopping exploiters right in their tracks.

Hello everyone! I’m a solo developer and decent blender modeller, and I’ve been working on a piggy game recently. And I’ve been wondering;

What is the right way to handle Cutscenes?

Yes, I do know how to script the cutscenes, but the problem I’m having is the execution.

Basically, when a chapter is loaded and a player is ready to join the round or when they escape, a cutscene plays.

But as previously stated above, I’m having trouble with which way is the right way to handle client-sided cutscenes with different maps? I’ve considered the following:

  • Simply having a client script with all cutscenes loaded on the client by default (kind of bad because exploiters can simply just tell the script to load the cutscene, therefore not having to beat the chapter, or causing chaos on the client).

  • Modules with a client script that loads a function containing the map cutscene, again, same problem as 1.

  • By far the most secure, but still confused on which is the right way to do it. I have two options: A. There is a folder in ServerStorage, and in that is a module script containing cutscene functions which gets parented to each survivor. B. Same as A but instead they’re client scripts.

Thank you for reading this long topic, and I’ll see you in the next one!

I’m somewhat confused.

What’s the problem if an exploiter runs a cutscene for their own client? The server should be handling all the data relating to whether they have ‘escaped’ or not irrespective of what the client is doing, and if an exploiter causes chaos on their own client then that’s just messing up their own game?

I think you misread this post. But yes, the server handles everything regarding coins, escapes, and skins.

A big one. You see, an exploiter can join a game, sit in the lobby, and simply make the local script run the code for the end cutscene, and then watch it. Therefore illegitimately getting to see a cutscene without doing any work to be able to watch it.

I do know options like Youtube exist to watch cutscenes, but there’s a fine line between exploiting to watch it, and watching legitimately obtained footage.

The reason I made this post is because I have a few good options for server-secured cutscene scripts, the problem is I’m having trouble choosing which one is best.

You could have all the cutscene script(s) in a localscript that is hosted and not executed on the server. When a client can access a cutscene, the server sends them the localscript, executing the code. Or you could try using the module this person mentioned: