-
Notifications
You must be signed in to change notification settings - Fork 2.3k
feat(net/rdr3): extended object id manager #3280
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
base: master
Are you sure you want to change the base?
Conversation
9172f52
to
df4eb9e
Compare
Really great job! Nice one.
i think you should remove the ifdef entirely here |
that will be removed when the second pull request to enable length hack is done, once we get all the tests done. |
Good job! I've pushed it to UPD: Deployed |
thanks we will be testing this. another pr will come after to enable the length hack |
df4eb9e
to
5a09244
Compare
6e36bb8
to
a26e9f2
Compare
a26e9f2
to
e92a26b
Compare
e92a26b
to
0fa8829
Compare
0fa8829
to
c261094
Compare
Goal of this PR
Introduces the "length hack" that was previously introduced in FiveM with e1b1d58
This expands the amount of Object ID from 8000 in RedM to 65535. This gives servers more then enough object IDs especially with larger servers where having population enabled can exhaust all available Object IDs.
Something that should be noted. The change to citizen-server-impl will be removed and done as a second PR before this is merged. Currently its required in order to test the length hack on RedM servers. But cannot be pushed to server artifacts until after this changeset has been pushed to all redm client channels. Otherwise it introduces the potential for crashes and other weird behaviour.
Initial functionality based on Disquse's object id patch in engineering
How is this PR achieving the goal
Making use of the existing length hack logic in rlNetBuffer and citizen-server-state. This PR hooks several functions to do with serializing object ID's in order to remove the 8000 limit tied to object ID Mapping. This PR also adjusts several net events in order to remove object ID Mapping in onesync as its not needed and can cause problems with ids greater then 8000, while retaining non-onesync compatibility.
This PR applies to the following area(s)
RedM
Successfully tested on
Game builds: 1491
Platforms: Windows
Checklist
Fixes issues