mirror of
https://github.com/AtlasMediaGroup/Scissors.git
synced 2024-11-26 22:55:39 +00:00
Patch exploits (#79)
This commit is contained in:
parent
a58e246027
commit
3bf9c85578
31
patches/server/0042-Limit-map-decoration-text-length.patch
Normal file
31
patches/server/0042-Limit-map-decoration-text-length.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Luna <lunahatesgogle@gmail.com>
|
||||||
|
Date: Fri, 28 Apr 2023 16:29:23 -0300
|
||||||
|
Subject: [PATCH] Limit map decoration text length
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapDecoration.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapDecoration.java
|
||||||
|
index 347d2914f9560a3ee8cea59444bc0dfbb7cf3456..b225f770869832775c9a8a79ffaf89e98245cc2e 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapDecoration.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapDecoration.java
|
||||||
|
@@ -2,6 +2,7 @@ package net.minecraft.world.level.saveddata.maps;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
+import net.minecraft.ChatFormatting;
|
||||||
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.util.Mth;
|
||||||
|
|
||||||
|
@@ -14,6 +15,12 @@ public class MapDecoration {
|
||||||
|
private final Component name;
|
||||||
|
|
||||||
|
public MapDecoration(MapDecoration.Type type, byte x, byte z, byte rotation, @Nullable Component text) {
|
||||||
|
+ // Scissors start - Limit decoration text length
|
||||||
|
+ if (text != null && text.getString().length() > 32) {
|
||||||
|
+ text = null;
|
||||||
|
+ }
|
||||||
|
+ // Scissors end
|
||||||
|
+
|
||||||
|
this.type = type;
|
||||||
|
this.x = x;
|
||||||
|
this.y = z;
|
23
patches/server/0043-Limit-map-decoration-count.patch
Normal file
23
patches/server/0043-Limit-map-decoration-count.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Luna <lunahatesgogle@gmail.com>
|
||||||
|
Date: Fri, 28 Apr 2023 16:34:15 -0300
|
||||||
|
Subject: [PATCH] Limit map decoration count
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java
|
||||||
|
index 25a64250ce57fe4cd90f8b95d1e003d961662152..60e013d418b1aa8c154ca9474186191aa5c9041d 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java
|
||||||
|
@@ -356,6 +356,12 @@ public class MapItemSavedData extends SavedData {
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addDecoration(MapDecoration.Type type, @Nullable LevelAccessor world, String key, double x, double z, double rotation, @Nullable Component text) {
|
||||||
|
+ // Scissors start - Limit decoration count
|
||||||
|
+ if (this.decorations.size() > 32) {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ // Scissors end
|
||||||
|
+
|
||||||
|
int i = 1 << this.scale;
|
||||||
|
float f = (float) (x - (double) this.centerX) / (float) i;
|
||||||
|
float f1 = (float) (z - (double) this.centerZ) / (float) i;
|
@ -0,0 +1,26 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Luna <lunahatesgogle@gmail.com>
|
||||||
|
Date: Fri, 28 Apr 2023 16:44:50 -0300
|
||||||
|
Subject: [PATCH] Prevent player banning using duplicate UUIDs
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
|
index 3bb63a652aca3c23f5f1bbf9cb70fce6540f2e33..934c0d14bd4ac1ece0c0f6add0e3e996e85a9b93 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
|
@@ -1468,7 +1468,14 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
|
if (entity != null) {
|
||||||
|
ServerLevel.LOGGER.warn("Force-added player with duplicate UUID {}", player.getUUID().toString());
|
||||||
|
entity.unRide();
|
||||||
|
- this.removePlayerImmediately((ServerPlayer) entity, Entity.RemovalReason.DISCARDED);
|
||||||
|
+
|
||||||
|
+ // Scissors start - Prevent player banning using duplicate UUIDs
|
||||||
|
+ if (entity instanceof ServerPlayer serverPlayer) {
|
||||||
|
+ this.removePlayerImmediately(serverPlayer, Entity.RemovalReason.DISCARDED);
|
||||||
|
+ } else {
|
||||||
|
+ entity.discard();
|
||||||
|
+ }
|
||||||
|
+ // Scissors end
|
||||||
|
}
|
||||||
|
|
||||||
|
this.entityLookup.addNewEntity(player); // Paper - rewite chunk system
|
@ -0,0 +1,19 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Luna <lunahatesgogle@gmail.com>
|
||||||
|
Date: Fri, 28 Apr 2023 16:46:00 -0300
|
||||||
|
Subject: [PATCH] Don't warn on duplicate entity UUIDs
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/io/papermc/paper/chunk/system/entity/EntityLookup.java b/src/main/java/io/papermc/paper/chunk/system/entity/EntityLookup.java
|
||||||
|
index 61c170555c8854b102c640b0b6a615f9f732edbf..29f46a137584a5f52f3c30b4c352d58ca61488a3 100644
|
||||||
|
--- a/src/main/java/io/papermc/paper/chunk/system/entity/EntityLookup.java
|
||||||
|
+++ b/src/main/java/io/papermc/paper/chunk/system/entity/EntityLookup.java
|
||||||
|
@@ -366,7 +366,7 @@ public final class EntityLookup implements LevelEntityGetter<Entity> {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (this.entityByUUID.containsKey(entity.getUUID())) {
|
||||||
|
- LOGGER.warn("Entity uuid already exists: " + entity.getUUID() + ", mapped to " + this.entityByUUID.get(entity.getUUID()) + ", can't add " + entity);
|
||||||
|
+ // Scissors - Don't warn on duplicate entity UUIDs
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this.entityById.put(entity.getId(), entity);
|
Loading…
Reference in New Issue
Block a user