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 · 8 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.

@dvdvideo1234
Copy link
Owner

Just merged the control statements PR. It will help more or less with this. We will see...
#60

@Grocel
Copy link
Author

Grocel commented Jan 1, 2025

@dvdvideo1234 Are you sure the PR #59 is relevant to this? Also you linked to #60 which is this issue thread.

@dvdvideo1234
Copy link
Owner

dvdvideo1234 commented Jan 7, 2025

I doubt it will change anything about this issue as I did not change anything in the spawn function. I'll just pin it. As it is a Gmod issue we will just see as it is too early to tell. Maybe Gmod devs will fix it ;). I wonder if Jolt will have any effect on this.

@dvdvideo1234 dvdvideo1234 pinned this issue Jan 7, 2025
@dvdvideo1234 dvdvideo1234 reopened this Jan 7, 2025
@Grocel
Copy link
Author

Grocel commented Jan 8, 2025

It seems like that non x86-64 version is affected too if you test it on a dedicated server. It was reported to me just recently. The guy (@MartyX5555) who reported it believes that the issue could be related to changes that were made in PhysicsInitConvex some time ago.

@Grocel
Copy link
Author

Grocel commented Jan 11, 2025

It has been confirmed by @MartyX5555 that the issue does not exist on non x86-64 versions of the dedicated server. The new report had a mistake with the version tested. The report has been changed accordingly.

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