
Players cannot enter TARDIS after `open_door_policy` set to true
Closed this issue ยท 12 comments
Describe the bug
When open_door_policy
is set after TARDISes have been created, their worldguard regions are not updated to remove the entry: deny
flag. Non-companions who attempt to enter the TARDIS receive a WorldGuard deny message when standing in the doorway and do not get teleported inside.
Suggested fix: we could retroactively change flags on tardis_
worldguard regions to set the entry
flag appropriately when the server starts up
To Reproduce
- Have a TARDIS created already
- Set
open_door_policy
totrue
in config - Restart server
- Have an owner or companion open the door of the aforementioned TARDIS
- Have a non-companion of the TARDIS attempt to walk through
- They receive a denied message from worldguard and are not teleported inside
Screenshots
Region of TARDIS created before open_door_policy
was set to true (note the entry flag):
Region of new TARDIS created after open_door_policy
was set to true:
Log files
No applicable log entries
'/tardis version' output
[01:34:41 INFO]: [TARDIS] Server version: 1.21.5-76-04ffca0 (MC: 1.21.5)
[01:34:41 INFO]: [TARDIS] TARDIS version: 6.1.0-b3106
[01:34:41 INFO]: [TARDIS] floodgate version: 2.2.4-SNAPSHOT (b116-0e3163c)
[01:34:41 INFO]: [TARDIS] Vault version: 1.7.3-b131
[01:34:41 INFO]: [TARDIS] PlaceholderAPI version: 2.11.6
[01:34:41 INFO]: [TARDIS] Essentials version: 2.21.1-dev+15-fe43017
[01:34:41 INFO]: [TARDIS] WorldGuard version: 7.0.14-SNAPSHOT+2337-fd9c0d6
[01:34:41 INFO]: [TARDIS] LibsDisguises version: 11.0.5
I should also note that enabling open_door_policy
makes it possible for people to enter other TARDIS interiors by flying across the time vortex. Bridging won't work since they still won't have build permissions in others' interiors, but they are not restricted from flying outside their TIPS slot using an elytra or similar.
Example of a non-companion gaining access to a TARDIS using the elytra. Once inside, they're able to fly the TARDIS and do anything else they'd normally be able to do when entering through the door
The rogue player is still counted as being inside their own TARDIS, however:
Maybe this should be promoted to its own issue?
Which is why I never set open door policy to true...
My reasoning is that players might want the ability to take people for rides in their TARDIS without giving them full companion access. Since leaving the door opening is risky anyways (mobs entering the TARDIS), I doubt uninvited guests would be a huge problem.
Yeah, except open door policy means anyone can open the door, not just enter an already opened door.
Yeah, except open door policy means anyone can open the door, not just enter an already opened door.
That's interesting. In my testing, it seems like it allows non-companions to use the door once opened, but they're not able to open it themselves. They are able to close it, but that seems reasonable to me.
Maybe this is unintended behavior? I think this behavior would be ideal though.
Okay, it works if the owner of the TARDIS has run the command /tardis add everyone|all
because that adds everyone as a companion, but otherwise you're right, so back to the original issue...
I should also note that enabling
open_door_policy
makes it possible for people to enter other TARDIS interiors by flying across the time vortex. Bridging won't work since they still won't have build permissions in others' interiors, but they are not restricted from flying outside their TIPS slot using an elytra or similar.
Surely if players don't leave big access holes in their TARDIS (like in the video example) then all rogue elytra flyers can do is land on outside/top the TARDIS - the build permissions will also prevent the breaking of blocks to gain entry?
I should also note that enabling
open_door_policy
makes it possible for people to enter other TARDIS interiors by flying across the time vortex. Bridging won't work since they still won't have build permissions in others' interiors, but they are not restricted from flying outside their TIPS slot using an elytra or similar.Surely if players don't leave big access holes in their TARDIS (like in the video example) then all rogue elytra flyers can do is land on outside/top the TARDIS - the build permissions will also prevent the breaking of blocks to gain entry?
That's a reasonable assumption. I wonder if we could prevent players from leaving their interior by adding a background task - on timer or something - that checks all the players in the time vortex and teleports them back into the console room if they've left their TIPS slot. That would also have the side effect of making sure players don't try to interact with the controls in a different TARDIS than the plugin thinks they're in, which results in all sorts of undefined behavior.
The task wouldn't have to run very often. Maybe every 100 ticks or something.
Or just listen for the EntityToggleGlideEvent
in the TimeVortex and cancel it/teleport them back to the interior
maybe should be configurable?