Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Watchout about x86-64 branch server physics. It is somewhat broken. #60

Open
Grocel opened this issue Aug 6, 2024 · 3 comments
Open
Assignees
Labels

Comments

@Grocel
Copy link

Grocel commented Aug 6, 2024

Server running the x86-64 branch have been proven to have broken physics. I think this quite important for you and your TA Tool to know about. The physics issue especially affect trains and tracks in all sorts of variants. Even the best adjusted slider track combos will derail after a short ride, even at slow speeds. For more details please see my report in the GMod repository:

Facepunch/garrysmod-issues#5968 - Unstable collision detection in physics on x86-64 branch

At first the issue had been reported to SligWolf and me there:
SW Addons - Bug Reports | Problem with the trains on x64 Chromium Beta

Then we investigated it further more along with other experienced developers and confirmed the issue existing on all platforms (CPU/OS) of x86-64 branch servers (Dedicated server, single player or listen servers).

@dvdvideo1234
Copy link
Owner

dvdvideo1234 commented Aug 7, 2024

Yes I heard. xD Sadly I am in @SligWolf's shoes in this one 😉. He and you explain the problem quite accurately too. 😀

I wonder if this can be solved with bumping the physics iterations. 🤔🤔

@dvdvideo1234
Copy link
Owner

dvdvideo1234 commented Aug 7, 2024

I see this was not the case however 4 months ago:
https://m.youtube.com/watch?v=guW5F27dhLE

I never liked gmod physical collisions for trains so I did the dedicated Lua maglevs and E2 ones:
https://m.youtube.com/watch?v=G_xcm1OFVV0&list=PLtUiNPRuZQ2lH85uGrUN1aaYPSUymzpKv&index=16&pp=gAQBiAQB

@Grocel
Copy link
Author

Grocel commented Aug 7, 2024

Yes I heard. xD Sadly I am in @SligWolf's shoes in this one 😉. He and you explain the problem quite accurately too. 😀

I wonder if this can be solved with bumping the physics iterations. 🤔🤔

This has been ruled out. Changing iteration and tick settings does nothing on this issue.

I see this was not the case however 4 months ago: https://m.youtube.com/watch?v=guW5F27dhLE

I never liked gmod physical collision for trains so I did the dedicated Lua maglevs and E2 ones: https://m.youtube.com/watch?v=G_xcm1OFVV0&list=PLtUiNPRuZQ2lH85uGrUN1aaYPSUymzpKv&index=16&pp=gAQBiAQB

Remember the issue only happens if the server/listenserver runs on branch x86-64. On the main branch (dev and prerelease too) is still not affected, in case your have missed that detail. They are still fine, for now.

I don't think your videos were recorded on x86-64 neither. The x86-64 issue is at least a year old, or maybe even longer. The issue shows the physics being different between main and x86-64.

Lua Maglevs was also an idea that came up multiple times, but Lua tracers running from many trains/wagons are a way more expensive than the C++ physics code running. It is not feasible for every use case neither. For Sligwolf and me it would be a way to difficult to code properly too. Sligwolf and me never needed such workarounds. I am still impressed, though.

Everything you need to know about the physics problem is summarized in my linked GMod issue. It is very unlikely that it can be fixed just with changed models and "optimized" sliders/wheels alone, especially without heavy drawbacks.

It is a problem that affects everyone in the train building community or even other GMod players too. That's why I insist that people know about this, get the details straight and don't be confused about them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants