Players with bad connection cause physics-based train to lag?

  1. What do you want to achieve?
    I want to make an automatic subway. I’m not very experienced with scripting. I’ve tried a lot of different methods.
    Tweening was difficult to realize with trains consisting of more than one cart as they would all move separately, and I’m not sure I could use Prismatic or Cylindrical constraints if the train has to turn in curves, so I tried powering trains with a BodyVelocity. A set speed multiplied by the LookVector property of the powered part to which the train is welded, makes the whole assembly move.

  2. What is the issue?
    The problem is that from the moment that there is more than one player in the game, depending on the performance of their device, the speed of the moving train is lowered drastically.

  3. What solutions have you thought of so far?
    I’ve tried a lot of things: messing with CustomPhysicalProperties of both players and the train, massively grouping parts of the train so that only a few assemblies need to be moved. Unfortunately I don’t have a lot of result and the overall performance just seems to be subject to the player with the poorest performance.

I’m not really sure what to do or how to approach this. Has this happened to anyone else? Is my assembly too big or too heavy after all? Are there some other approaches as to how I could make the trains move without all too much knowledge of CFrame and scripting?

Thank you