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

Players get stuck in world border #9859

Closed
LaserSlime opened this issue Oct 22, 2023 · 16 comments · Fixed by #10053
Closed

Players get stuck in world border #9859

LaserSlime opened this issue Oct 22, 2023 · 16 comments · Fixed by #10053
Assignees
Labels
status: accepted Disputed bug is accepted as valid or Feature accepted as desired to be added. type: bug Something doesn't work as it was intended to.

Comments

@LaserSlime
Copy link

LaserSlime commented Oct 22, 2023

Expected behavior

https://youtu.be/H6BfOt7zBjo

Observed/Actual behavior

https://youtu.be/IMQO19HYNnU

Steps/models to reproduce

  1. Setup a fresh paper server
  2. Give yourself op so you can make the worldborder small
  3. Run against the world border
  4. You will get rubberbanded and get stuck

Plugin and Datapack List

Server Plugins (0):

Paper version

This server is running Paper version git-Paper-243 (MC: 1.20.2) (Implementing API version 1.20.2-R0.1-SNAPSHOT) (Git: 3a5c6f8)

Other

No response

@LaserSlime LaserSlime added status: needs triage type: bug Something doesn't work as it was intended to. labels Oct 22, 2023
@Lulu13022002 Lulu13022002 added status: accepted Disputed bug is accepted as valid or Feature accepted as desired to be added. and removed status: needs triage labels Oct 22, 2023
@Lulu13022002
Copy link
Contributor

Can reproduce, this is related to the other world border collision issue, the collision of the border is completely different on Paper. And this will trigger the following check: https://github.com/PaperMC/Paper/blob/master/patches/server/0728-Optimise-collision-checking-in-player-move-packet-ha.patch#L138 even for legit player

@karkkijokeri
Copy link

Has happened to me too, It really makes it hard for us to use worldborders in minigames.

@LaserSlime
Copy link
Author

Has happened to me too, It really makes it hard for us to use worldborders in minigames.

True, I might try to fix this myself as no one from the core dev team seems to care about this since it's only relevant for minigames.

@electronicboy
Copy link
Member

The hope was that the patch maintainer would look into this, given that he generally knows this stuff much more closely than the rest of the team, given my lack of eye sight, this is not a high priority for me, but it's false to say we don't care.

@karkkijokeri
Copy link

karkkijokeri commented Nov 24, 2023

Has happened to me too, It really makes it hard for us to use worldborders in minigames.

True, I might try to fix this myself as no one from the core dev team seems to care about this since it's only relevant for minigames.

If you're gonna try to fix it yourself, I can give you more info about the bug

@LaserSlime
Copy link
Author

Has happened to me too, It really makes it hard for us to use worldborders in minigames.

True, I might try to fix this myself as no one from the core dev team seems to care about this since it's only relevant for minigames.

If you're gonna try to fix it yourself, I can give you more info about the bug

That info being?

@Doc94
Copy link
Sponsor Contributor

Doc94 commented Dec 4, 2023

For add a related bug if in survival worlds the portal generate in the border of worldborder the player is stuck in the portal and the worldborder like the video.

@LaserSlime
Copy link
Author

LaserSlime commented Dec 8, 2023

Alright I've made a "fix" for this that simply ignores players when checking worldborder collision. I'm not sure if I should pr it since it's a rather suboptimal solution considering it allows people with cheats to just ignore the worldborder, but that is possible in vanilla/spigot too so idk.
If anyone wants the fix it's here: https://github.com/LaserSlime/Paper/tree/fix/world-border-collision Just make sure that your anticheat prevents people from bypassing the world border if it's important to you.

@Quared0
Copy link

Quared0 commented Dec 14, 2023

Happens to me as well, started occurring after I migrated from 1.20.1 to 1.20.4. It's a big issue for my minigames network. Considering reverting back to 1.20.1 just because of this one issue.

@Rubriq007
Copy link

Alright I've made a "fix" for this that simply ignores players when checking worldborder collision. I'm not sure if I should pr it since it's a rather suboptimal solution considering it allows people with cheats to just ignore the worldborder, but that is possible in vanilla/spigot too so idk. If anyone wants the fix it's here: https://github.com/LaserSlime/Paper/tree/fix/world-border-collision Just make sure that your anticheat prevents people from bypassing the world border if it's important to you.

Hey uhm how do you download this fix exactly?

b0ykoe pushed a commit to InfernalSuite/AdvancedSlimePaper that referenced this issue Dec 15, 2023
…33861b911a

Fix incorrect border collision detection

The epsilon used was in the opposite direction, which would cause
the getCollisions method to incorrectly return it for when players
were exactly on the border but not colliding. To bring it in-line
with the rest of the collision code, the collision must be into
the border by +EPSILON.

Fixes PaperMC/Paper#9859
@Quared0
Copy link

Quared0 commented Dec 18, 2023

Issue still occurs when border is changing in size

@Owen1212055
Copy link
Member

Issue still occurs when border is changing in size

Could you perhaps show a video?

@Quared0
Copy link

Quared0 commented Dec 18, 2023

Issue still occurs when border is changing in size

Could you perhaps show a video?

https://youtu.be/2BwdN58X_KQ

@CodeByCam
Copy link

Just noting that I can't replicate this in 1.20.4 Vanilla. Works fine: https://streamable.com/6jm35e

@CodeByCam CodeByCam reopened this Dec 19, 2023
@Spottedleaf
Copy link
Member

Please re-try with 0b95298

@Spottedleaf Spottedleaf self-assigned this Dec 19, 2023
@Quared0
Copy link

Quared0 commented Dec 19, 2023

Please re-try with 0b95298

Same issue. I figured out that the issue isn't just when the border is changing, it's also when it is partway through a block, instead of on the edge of one. e.g. on a non-even size.

Video: https://youtu.be/LwjgORKxYEY

lynxplay pushed a commit to lynxplay/paper that referenced this issue Feb 23, 2024
The epsilon used was in the opposite direction, which would cause
the getCollisions method to incorrectly return it for when players
were exactly on the border but not colliding. To bring it in-line
with the rest of the collision code, the collision must be into
the border by +EPSILON.

Fixes PaperMC#9859
shoker537 pushed a commit to MinigamesNetwork/AdvancedSlimePufferfish that referenced this issue May 18, 2024
…33861b911a

Fix incorrect border collision detection

The epsilon used was in the opposite direction, which would cause
the getCollisions method to incorrectly return it for when players
were exactly on the border but not colliding. To bring it in-line
with the rest of the collision code, the collision must be into
the border by +EPSILON.

Fixes PaperMC/Paper#9859
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: accepted Disputed bug is accepted as valid or Feature accepted as desired to be added. type: bug Something doesn't work as it was intended to.
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

10 participants