Compact Machines

Compact Machines

65M Downloads

Griefing/Hijacking other peoples CMs with enderpearls

ZeMilkmann opened this issue ยท 5 comments

commented

Description of the problem including expected versus actual behavior:
The same (vanilla) bug that allows a player to teleport through the top bedrock layer in the nether allows players to leave their CM through the top layer and enter another CM through the bottom layer.

Mod and Forge Versions

Mod Version: 4.0.0 beta 2
Forge version: 1.16.5 - 36.1.13

Crash Information

Link to Crashlog: not applicable
Screenshot (if possible): here

Steps to reproduce:

  1. Enter your own CM
  2. Enderpearl the roof
  3. Fly to the location of another CM you don't own
  4. Build platform underneath the new CM
  5. Enderpearl the bottom
  6. [Take, Sabotage, Grief]
  7. Enderpearl the top
  8. Fly back to your own CM
  9. Build platform under your own CM
  10. Enderpearl the bottom

Kind of related to #457

commented

oh. ok. so this is looked at... cause got some stuff that phases through machines. so it's kinda salty to just up and leave the machine and build outside it. and of course, use said things to cheese into other machines.

Is there no way to check if the player has sky above them in the machine world and just port them out of their machine back to the normal world the first time they manage to exit in the first place? or just flat out a teleport BLOCKer for the world that picks up when a teleportation happens and bonks you over the head and ports you back to the center of the machine? surely people don't need to teleport around in such a small zone when they have super jumps and other mobility things in most modpacks. >_>'

Although the barriers sound like they'll probably solve it potentially, provided they're thick enough/take up a far enough area to stop stuff like cyclic rod of elevation or other phasing and blinking mechanics from just going ALL the way out and ignoring them.

(64 blocks in all directions should suffice... :V)

commented

Closed in 1.18/1.19 with the reintroduction of void air and its configuration.

commented

I believe the code I have in place for the new teleport handling should help to address this, according to Shrimp. So, I'll leave this with the following:

  • I'll add allowEnderPearl as a new config option for when the teleport handling gets merged in fully.
  • Re-add barriers around the machines when generated to make the walls multiple blocks thick. (return to CM3 generation)
  • Point out that the server config does currently have an option to control y-level for generation, if it's a current problem

With these three bullets, this issue should be solved. I'll leave this open until it's completely proven solved in the next release.

commented

I'm not sure how I can really solve this one. I don't think there's anything for when a player starts flying, and I'd rather avoid doing the same tick-based checks that CM3 was doing, as it'd be more intensive on servers.

I also want to allow ender pearls inside machines; if you're in a max machine, it's perfectly valid to want to pearl around in there. I suppose a compromise might be to add an allowEnderPearls config option on the server?

commented

In my opinion there are 2 major ways to fix it without impacting the legitimate user at all:

  1. Move the machines down so the lowest block ist at y=1. This wouldn't prevent leaving ones machine but would make it hard or near impossible to enter another machine. The drawback is having to modify existing machines and possibly breaking things in the process
  2. Additional walls: As far as I can tell the ender pearl glitch only works with 1 block so if you made the walls 3 blocks thick on each side that should fix the glitch completely. I don't know if this would affect server performance but I don't think it would.