Log in

View Full Version : Feature Request Pos Transportation


Necrolyte
Sep 17, 2022, 02:55 AM
In past patches of JJ2+ (4.xx and older), it was possible for a server to change the position of a client by sending the UDP packet 0x02 that is responsible for player status updates. This functionality no longer works in current versions (because of an attempt to fix 3hk's on 4.xx days as I heard?). The real fix of 3hk's was introduced in patch 5.7 acording to the JJ2+ readme. This transportation functionality opens lots of possibilities for custom servers that doesn't support mutators or servers that uses 3rd party programs and I don't see any reason/risk leads to disable this funtionality.

So, can we have this functionality restored when joining servers hosted on vanilla or versions older than 5.1?

If there is a concern that restoring trasportation will cause other problems, then can we have a custom UDP packet (a copy of packet 0x02 but with different ID) that whenever a client receives, it will trigger the trasportation, and keep the original 0x02 like how it is currently?

I don't know how much effort needed to acomplish this, but my guess it's just a simple "if condition" that checks wheather the player is local or not and according to that, the game will/will not change player position. I found this info while I was browsing plus.dll assembly at address "plus.dll+CB37F"

Thanks!

Violet CLM
Sep 17, 2022, 08:58 AM
There's already a TCP warp packet used for older clients by Race and No Movement, supported in every version of JJ2+.

The only reason I'm seeing to join vanilla servers is to let them know JJ2+ exists; if someone's running vanilla, they're not going to be using custom programs. Nobody should be hosting on older JJ2+ versions.

Seren
Sep 17, 2022, 02:45 PM
(because of an attempt to fix 3hk's on 4.xx days as I heard?)
You heard wrong. This change is unrelated to 3hks. It is listed in our changelog as
Fixed glitch of players getting "nudged" following a health change.
which is a very real bug that, as far as we know, it correctly fixed. We have no interest in even potentially reintroducing a bug affecting the entire online player base in favor of a very dubious benefit of compatibility with private closed source third party software.

If there is a concern that restoring trasportation will cause other problems, then can we have a custom UDP packet (a copy of packet 0x02 but with different ID) that whenever a client receives, it will trigger the trasportation, and keep the original 0x02 like how it is currently?
We are not, and in years to come, if ever, do not expect to be, at a stage of development where the JJ2+ network protocol is stable enough for external applications to rely on it. If we wanted that to be the case, said protocol would be documented. Any sort of a network interface for express use of third party applications is currently outside the scope of the mod.