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

Placing blocks is insanely broken (found the issue) #3643

Open
4 tasks done
michaello01 opened this issue Jan 12, 2024 · 5 comments
Open
4 tasks done

Placing blocks is insanely broken (found the issue) #3643

michaello01 opened this issue Jan 12, 2024 · 5 comments

Comments

@michaello01
Copy link

/viaversion dump Output

https://dump.viaversion.com/f6140354455ea1f92a6e64ac2b1ef4a35eed5771445e2bebf5fc9c57853b9526

Console Error

No response

Bug Description

When you place a block, it gets reverted to air, then after 1 or 2 tick it is being shown as the proper block. It makes placing blocks, jumping on them really difficult and chaotic. Sing editing is still broken.
After a really long investigation I noticed what's going on. I increased this delay:

final long delay = serverProtocolVersion > ProtocolVersion.v1_8.getVersion() && serverProtocolVersion < ProtocolVersion.v1_14.getVersion() ? 2 : 1;

to 20, and sign editing works, after 20 ticks the sign disappear if the placement was blocked, but when during these 20 ticks you place a block, then you place a sign, you don't wait 20 ticks to sign to get refreshed, but less. That means ack tasks are not related directly to the action. I also felt that block placing is better with longer delay. With 20 ticks delay block placing feels great, with smaller delay like 2 or 3 ticks when you place blocks really fast, for example when you place the blocks that touches other blocks that you just placed, the placing gets blocked and it starts to get really chaotic. Can you check that please? I spent many, many hours investigating that.
Disabling the ack provider or making it run immediately doesn't help.
Increasing the delay makes the canceled placements stay for longer - for example you can levitate on blocks. Block change packet doesn't update the placement, the only thing that comes to my mind is to look into the ack system and handle it differently. This is a massive bug and it breaks the block placement completely.

Steps to Reproduce

  1. Login with 1.19+ client on 1.8 server.
  2. Place some blocks.
  3. You will notice that air appears right after the block is placed, then it goes back to the normal block.
  4. Sign editing doesn't work.

Expected Behavior

Smooth block placement like on Hypixel for example and like it was before. Working sign editing, but it is small issue compared to placing blocks.

Additional Server Info

BungeeCord, ViaVersion running on backend servers.

Checklist

  • Via plugins are only running on EITHER the backend servers (e.g. Paper) OR the proxy (e.g. BungeeCord), not on both.
  • I have included a ViaVersion dump.
  • If applicable, I have included a paste (not a screenshot) of the error.
  • I have tried the latest build(s) from https://ci.viaversion.com/ and the issue still persists.
@Barvalg
Copy link
Member

Barvalg commented Jan 12, 2024

Platform: git--Spigot--db6de12--18fbb24%20%28MC%3A%201.8.8%29
ViaVersion (4.9.3-SNAPSHOT): Even with master
ViaRewind(3.0.6-SNAPSHOT): Even with master

@christianjuth
Copy link

I think I'm seeing the same issue running a 1.12.2 Paper server (I also tested Spigot). I'm running ViaVersion 4.9.2 and BungeeChord 1.20. ViaVersion is running on BungeeCord not Paper. Let me know if I can provide more info. I'm gonna keep tweaking settings to see if I notice an improvement.

@christianjuth
Copy link

christianjuth commented Jan 22, 2024

Can confirm I'm seeing the issue on 1.19.0+ but not 1.18.x. This is when running a 1.12.2 server. I tried downgrading ViaVersion to 4.6.0, but I'm still seeing the issue on 1.19.4.

@michaello01
Copy link
Author

This is related by for my guess broken ACK system on ViaVersion. I don't know how exactly that works, so I can't help you with fixing it, it should probably be done in a different way, I think ack tasks shouldn't be mixed with different blocks and it is a huge issue, totally breaking normal block placement.

@michaello01
Copy link
Author

It's really sad playing with that, everything else is working perfectly, but placing blocks is really glitched.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants