Make max interaction range configurable (#11164)

The server validates incoming interaction packets by ensuring the player
sending them is inside their interaction range. For this, the server adds
a magic value, by default 1.0, to the original interaction range to
account for latency issues.

This value however may be too low in high latency environments.
The patch exposes a new configuration option to configure said value.
This commit is contained in:
Newwind
2024-07-27 13:18:16 +01:00
parent 7c88512287
commit fff73fa4c4
2 changed files with 30 additions and 0 deletions

View File

@@ -496,6 +496,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+import co.aikar.timings.MinecraftTimings;
+import com.mojang.logging.LogUtils;
+import io.papermc.paper.configuration.constraint.Constraints;
+import io.papermc.paper.configuration.type.number.DoubleOr;
+import io.papermc.paper.configuration.type.number.IntOr;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.format.NamedTextColor;
@@ -800,6 +801,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ public boolean useDimensionTypeForCustomSpawners = false;
+ public boolean strictAdvancementDimensionCheck = false;
+ public IntOr.Default compressionLevel = IntOr.Default.USE_DEFAULT;
+ @Comment("Defines the leniency distance added on the server to the interaction range of a player when validating interact packets.")
+ public DoubleOr.Default clientInteractionLeniencyDistance = DoubleOr.Default.USE_DEFAULT;
+ }
+
+ public BlockUpdates blockUpdates;
@@ -1050,6 +1053,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ .serializers(builder -> builder
+ .register(new PacketClassSerializer())
+ .register(IntOr.Default.SERIALIZER)
+ .register(DoubleOr.Default.SERIALIZER)
+ );
+ }
+