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

Send c:register packet for play phase instead of config #3544

Merged
merged 1 commit into from
Jan 22, 2024

Conversation

deirn
Copy link
Member

@deirn deirn commented Jan 21, 2024

Closes #3541

The graph on #3244 says that it sends c:register for the play phase but sends for the config phase instead.
The channel IDs for the config phase have already been sent with the minecraft:register payload.

@deirn deirn added bug Something isn't working fabric-networking Pull requests and issues related to the networking api priority:high High priority PRs that need review and work now. Review these first. labels Jan 21, 2024
@deirn deirn requested review from a team January 21, 2024 09:19
@modmuss50 modmuss50 added the merge me please Pull requests that are ready to merge label Jan 21, 2024
@Crystal0404
Copy link

Crystal0404 commented Jan 22, 2024

The issue of ServerPlayNetworking.canSend() not working properly when entering the server through velocity has also been fixed. Will it be ported to 1.19.4 or other versions?

@modmuss50
Copy link
Member

This fix only applies to 1.20.2 and upwards, before that this data was sent during the login phase and will not be proxied. You might be able to get around it by registering your packet handler during ServerPlayConnectionEvents.INIT, although I havent tried this.

@apple502j
Copy link
Contributor

You can make it work with Velocity I believe, you just need them to configure it to enable ping-passthrough I believe,

@Crystal0404
Copy link

我相信你可以让它与 Velocity 一起工作,你只需要他们配置它来启用我相信,ping-passthrough

ping-passthrough = "all",ping-passthrough = "mods",ping-passthrough = "description", ping-passthrough = "disabled" I tried these settings, but they still don't work properly

@Crystal0404
Copy link

This fix only applies to 1.20.2 and upwards, before that this data was sent during the login phase and will not be proxied. You might be able to get around it by registering your packet handler during ServerPlayConnectionEvents.INIT, although I havent tried this.

I tried it, but it didn't work.

@modmuss50 modmuss50 merged commit 2e5ac54 into FabricMC:1.20.4 Jan 22, 2024
modmuss50 pushed a commit that referenced this pull request Jan 22, 2024
modmuss50 pushed a commit to modmuss50/fabric that referenced this pull request Jan 22, 2024
@modmuss50
Copy link
Member

FYI for 1.20.5 this fix is included in: #3537

modmuss50 added a commit that referenced this pull request Jan 22, 2024
* Deprecate FabricBlockSettings

* Deprecate FabricItemSettings

* Start on 24w03a

* Main menu :)

* Update mappings

* PayloadTypeRegistry

* Networking part 2 of many

* Networking part 3 of many

* Networking part 4 of many

* Recipe api

* Port Item API to 1.20.5

* Is this even right?

* Port FabricParticleTypes to 1.20.5

* Remove redundant fuel caching logic

* Remove fabric-containers-v0, deprecated since 2020

* Regsync work

* Adapt screen handler to new networking

* Update yarn + more work

* More mapping updates

* Compile fixes

* Checkstyle + small fixes

* Single and multiplayer fixes

* Handle play packets on main thread.

* Update mappings

* Even more networking

* Networking tests

* Fix todo's

* Update javadocs

* Networking API improvements

* Some small regsync refactors

* Fix handling of null NBT in NbtIngredient

* Update fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/block/FabricBlockSettings.java

Co-authored-by: ErrorCraft <51973682+ErrorCraft@users.noreply.github.com>

* Update fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/block/FabricBlockSettings.java

Co-authored-by: ErrorCraft <51973682+ErrorCraft@users.noreply.github.com>

* Add context objects

* ChannelInfoHolder.getPendingChannelsNames -> fabric_getPendingChannelsNames

* Fix crash

* send `c:register` packet for play phase instead of config (#3544)

* Bump version

---------

Co-authored-by: ErrorCraft <51973682+ErrorCraft@users.noreply.github.com>
Co-authored-by: apple502j <33279053+apple502j@users.noreply.github.com>
Co-authored-by: Drex <nicknamedrex@gmail.com>
Co-authored-by: deirn <deirn@bai.lol>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working fabric-networking Pull requests and issues related to the networking api merge me please Pull requests that are ready to merge priority:high High priority PRs that need review and work now. Review these first.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

The ServerPlayNetworking. canSend() of the Fabric API may not work in some cases
4 participants