What would the best way be to move gigantic amounts of bullets?

Woah chill 4000 bullets is a bit to much don’t you think?

First of all I think you need access to low level code. It just isn’t possible to have 4k bullets at once due to roblox being high level and not giving you enough control of what happens underneath.

Now what is reasonable. I’d say 1.5k bullets is possibe currently in my game I can handle 800 bullets.

And this is with client rendering implemented.

Actually mine do raycast but they are projectiles, the model moves to the next position and raycasts from it’s previous position. You basically need to raycast to the next position the bullet movies, Discrete collisions is not a good idea for this .Touched events, continous collisions are, if you wanna learn more about them see my reply here.

Nope don’t do that make the server just raycast to the next position from the previous position, don’t make this projectile have ANY physical representation all the local rendering should be done on the client.

What you should do is make a projectile on the client when fired, then the server to make this projectile WITHOUT a model which just raycasts to the next position. Then the server also tells all the other clients except you to make the projectile. The projectiles should be simulated on the clients by themselves no interpolation with the startinginfo given.

if you really need constant interploation because your projectiles don’t just depend on the startinfo and projectilebehavior (how the projectiles work), then you might need to do that. However you won’t be able to handle that many projectiles doing that (constant interploation).