Im back to roblox from huge break around 5-6 months (maybe more) and trying to start project.
For example i need to create “Class Manager” with tasks such as:
Loading class model and welding it to the player
Loading animations
Binding functions to the keys (local side)
Setting up remotes so i can run functions on server (dealing damage, physics and so on)
and more
Since roblox added new anticheat and there was so many updates, what should i do. Can i just create ModuleScript in ReplicatedStorage so client and server would access it but limit it using RunService:IsClient() / :IsServer() methods
I’m not sure what you want to know specifically, but it’s good practice to put a module in ReplicatedStorage that contains code that is used by both the server and the client. However, you want to hide all server code from the client if said code is not used by both endpoints. Everything on the client is accessible by the player, assuming they have basic exploit software. They can copy your client-side code, steal it, abuse it for exploits, etc. By hiding your server side code, you make it more difficult for exploiters to abuse it, steal it, or do whatever else with it that they might do.
I don’t know much about what Roblox has done to prevent exploits, but afaik you still should treat design and development as though Roblox exploiters have full access to the client.
Organization is a large topic, but I’d love to share my personal preferences and practices if you would like to know more about that. Let me know what specific questions you have, and I’ll do my best to address them if I can.
Im using Rojo and stuff to work. My workflow is just 1 server script and bunch of module scripts
but sometimes im having too much scripts opened because they depend on each other (im probably breaking some rules like SOLID or KIS)