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
Client-server desync for weapon Kind
value when Kind
is set in TTT2Initialize
#1433
Comments
this is probably definitely the cause for at least part of what's wrong with Weapon Slot Reassignment mentioned on #1360 (but probably not the whole story, since it existed prior to the reassignment being an option, and none of these weapons seem reassigned) |
Could you try |
Performing the changes in My guess is that something in the game's netcode is instantiating the weapons before any of these hooks. I don't think that operating before hooks is a good idea though; I worry that it will very consistently miss some weapons. |
This lines up with the issues in #1360 pretty concisely, a lot of data fails to make it to the client.
It's becoming more and more apparent that we ought to be utilizing some of the data from ClientSignOnStateChanged utilizing SIGNONSTATE so that we can actually properly process letting the server hit the client with data AFTER they're fully apart of the game -- and more specifically EXCLUDING them from receiving roles or any information until they're fully joined-in. |
I think one of the next minor releases (not v.0.13.1) will put a focus on syncing for late joiners |
Your version of TTT2 (mandatory)
v0.13.0b (both workshop and git)
Describe the bug (mandatory)
Client:
Server:
This desync causes the desync'd weapons to appear in the incorrect slot.
To reproduce
This one is difficult... The easiest is probably to do something like:
My own setup is more indirect and extensible, but this is effectively what it does.
(A lot of the weapons we use are incorrectly classified, so I have to touch a lot of them to make sure that they have the correct kind. This used to work perfectly ~2 weeks ago, something changed. I'm not sure if it was a change in G-Mod or in TTT2. The especially strange thing is that some weapons don't get the desync, while others do, even though they go through exactly the same process.)
My own investigations suggest that the
Weapon
objects are somehow being instantiated on the client before the weapon tables are modified. I cannot for the life of me figure out why this is happening, however.Expected behaviour
The client and server remain in-sync, and all weapons are displayed in the correct slots.
Context (please provide as much as you can)
Same details as #1411 and #1432.
The text was updated successfully, but these errors were encountered: