Connected Parts have a different position on the server than the client

I created this build tool and whenever I use it parts tend to change position on the client. At first I thought something was wrong with the tool. However, I tested this out using the tools roblox studios provides and the same thing happens. This is what I did step by step.

  1. open a new “Baseplate” place.
  2. hit test->start (local server. 1 player.)
  3. insert a truss and change each surface from “Smooth” to “Universal”
  4. toggle “Collisions” to on.
  5. select the truss you inserted and keep duplicating it (ctrl + D) until you have made about 200 duplicates or until your finger hurts.
  6. Check the position of the top truss for the client and the server.

This is what i got:

Position on server: -2, 627, 4
Position on client: 2.263, 626.952, -1.269

Client:

Server:

(For the pictures below, the block is not connected to anything)

Client:
pic4

Server:
pic3-Server

If anyone has any ideas on whats causing this, please reply. I would really like to know why this is happening.

1 Like

If the game has FilteringEnabled and you’re setting the position from the client, changes will not be replicated to the server and other clients.

2 Likes

All the parts were created and positioned on the server. This was also done when filtering enabled was turned off.

Did you try seeing if the issue is initially caused by FilteringEnabled? try disabling it and see if the issue still persists.

1 Like

I just tried it with FilteringEnabled on and then off. The same thing happened in both tests.

Sounds like something you should report as a bug:

https://devforum.roblox.com/c/bug-reports/client-bugs

However, I don’t think any sane person would duplicate hundreds of trusts (or any part) into one position and expect it to physically function and interact normally with anything else lol.

lol. Sadly I can’t create topics in that category. But basically I have this build tool and when I use it to clone a bunch of parts, it has the same positioning problem on the client.

1 Like

Does it behave normally when you don’t clone a bunch of parts?

And as for any issue, what is the distinct objective here?

Oh! I think I know whats happening (for my building tool at least). Am not sure if I can explain this well but ill try. Image FilteringEnabled is on and your trying to weld a block, block1, to another block, block2, and block1 has a different position on the client than on the server. When you weld them together, the position of block2 is based on block1’s position. That means block2 will have a different position on the server than the client because block1’s position differs. Because my tool uses the client to base where the position should be on the server, the slightest difference in position could cause the difference to grow more and more.

I’ve changed the tool so that it passes the cframe of where the part should be relative to the part the mouse is on. Somthing like,

partMouseIsOn.CFrame:toObjectSpace(newCFrame)

instead of just,

newCFrame

The tool seems to work much better now. But ill keep testing around with it to make sure. However, am still not sure why this same thing happens in studios for the example I posted.

1 Like

I thought the example I posted was related to the problem I was having with my building tool. But I was wrong.