Oops.
Dieser Commit ist enthalten in:
Ursprung
566e67a188
Commit
fc6f817452
@ -1,8 +1,35 @@
|
||||
From d2c3009e1ee527e5d6b990264190370ff50444b2 Mon Sep 17 00:00:00 2001
|
||||
From e2f25a41e80e4c9ece6059b2808f003a49556769 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Fri, 19 Apr 2013 17:44:39 +1000
|
||||
Subject: [PATCH] Netty
|
||||
|
||||
Implement an uber efficient network engine based on the
|
||||
Java NIO framework Netty. This is basically a complete rewrite of the
|
||||
Minecraft network engine with many distinct advantages. First and foremost,
|
||||
there will no longer be the horrid, and redundant case of 2, or even at
|
||||
times, 3 threads per a connection. Instead low level select/epoll based NIO
|
||||
is used. The number of threads used for network reading and writing will
|
||||
scale automatically to the number of cores for use on your server. In most
|
||||
cases this will be around 8 threads for a 4 core server, much better than the
|
||||
up to 1000 threads that could be in use at one time with the old engine. To
|
||||
facilitate asynchronous packet sending or receiving (currently only chat), a
|
||||
thread pool of 16 threads is kept handy. == Plugin incompatibilities As a
|
||||
side effect of this change, plugins which rely on very specific
|
||||
implementation level details within Minecraft are broken. At this point in
|
||||
time, TagAPI and ProtocolLib are affected. If you are a user of ProtocolLib
|
||||
you are advised to update to the latest build, where full support is enabled.
|
||||
If you are a user of TagAPI, support has not yet been added, so you will need
|
||||
to install the updated ProtocolLib so that TagAPI may use its functions. ==
|
||||
Stability The code within this commit has been very lightly tested in
|
||||
production (300 players for approximately 24 hours), however it is not
|
||||
guaranteed to be free from all bugs. If you experence weird connection
|
||||
behaviour, reporting the bug and steps to reproduce are advised. You are also
|
||||
free to downgrade to the latest recommend build, which is guaranteed to be
|
||||
stable. == Summary This commit provides a reduction in threads, which gives
|
||||
the CPU / operating system more time to allocate to the main server threads,
|
||||
as well as various other side benefits such as chat thread pooling and a
|
||||
slight reduction in latency. This commit is licensed under the Creative
|
||||
Commons Attribution-ShareAlike 3.0 Unported license.
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index da1a0eb..b8c24af 100644
|
||||
@ -134,7 +161,7 @@ index 9f8afe3..b1d3a17 100644
|
||||
};
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/PendingConnection.java b/src/main/java/net/minecraft/server/PendingConnection.java
|
||||
index eb474f5..71e4739 100644
|
||||
index eb474f5..836ad94 100644
|
||||
--- a/src/main/java/net/minecraft/server/PendingConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PendingConnection.java
|
||||
@@ -17,7 +17,7 @@ public class PendingConnection extends Connection {
|
||||
@ -180,7 +207,7 @@ index eb474f5..71e4739 100644
|
||||
- ((DedicatedServerConnection) this.server.ae()).a(inetaddress);
|
||||
+ // Spigot start
|
||||
+ if (inetaddress != null) {
|
||||
+ ((org.spigotmc.MultiplexingServerConnection) this.server.ae()).throttle(inetaddress);
|
||||
+ ((org.spigotmc.MultiplexingServerConnection) this.server.ae()).unThrottle(inetaddress);
|
||||
}
|
||||
+ // Spigot end
|
||||
|
||||
@ -258,7 +285,7 @@ index 84dcfcc..a30f217 100644
|
||||
private static final int RECENT_TICKS;
|
||||
diff --git a/src/main/java/org/spigotmc/MultiplexingServerConnection.java b/src/main/java/org/spigotmc/MultiplexingServerConnection.java
|
||||
new file mode 100644
|
||||
index 0000000..7dc2533
|
||||
index 0000000..6e5de56
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/spigotmc/MultiplexingServerConnection.java
|
||||
@@ -0,0 +1,126 @@
|
||||
@ -356,7 +383,7 @@ index 0000000..7dc2533
|
||||
+ *
|
||||
+ * @param address the address to remove
|
||||
+ */
|
||||
+ public void a(InetAddress address) {
|
||||
+ public void unThrottle(InetAddress address) {
|
||||
+ if (address != null) {
|
||||
+ synchronized (throttle) {
|
||||
+ throttle.remove(address);
|
||||
|
@ -1,4 +1,4 @@
|
||||
From bdb32d91ed3c63d9592aab483640c795828e8a6b Mon Sep 17 00:00:00 2001
|
||||
From 7c45fcce863877c76d52a4878aa9ccacc37b24b9 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin James Harrison-Sims <tehrainbowguy@gmail.com>
|
||||
Date: Sun, 14 Apr 2013 21:19:57 +0500
|
||||
Subject: [PATCH] Prevent handshake spam from invalid names.
|
||||
@ -25,7 +25,7 @@ index 343af93..aa6609b 100644
|
||||
|
||||
public void a(DataOutputStream dataoutputstream) throws IOException { // CraftBukkit - throws IOException
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Spigot.java b/src/main/java/org/bukkit/craftbukkit/Spigot.java
|
||||
index 504bd8b..ff28a99 100644
|
||||
index 504bd8b..2bb9664 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Spigot.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Spigot.java
|
||||
@@ -9,6 +9,8 @@ import org.bukkit.configuration.file.YamlConfiguration;
|
||||
@ -41,7 +41,7 @@ index 504bd8b..ff28a99 100644
|
||||
private static Metrics metrics;
|
||||
public static List<String> bungeeIPs;
|
||||
public static int textureResolution = 16;
|
||||
+ public static final Pattern validName = Pattern.compile("^[a-zA-Z0-9_]{2,16}$");
|
||||
+ public static final Pattern validName = Pattern.compile("^[a-zA-Z0-9_-]{2,16}$");
|
||||
|
||||
public static void initialize(CraftServer server, SimpleCommandMap commandMap, YamlConfiguration configuration) {
|
||||
commandMap.register("bukkit", new org.bukkit.craftbukkit.command.TicksPerSecondCommand("tps"));
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ee9246854da8fff0ec2a98c4e3263334325c0a52 Mon Sep 17 00:00:00 2001
|
||||
From 4499dfd50e9bf1272980f4ca537b4c507e55fe28 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Fri, 19 Apr 2013 19:13:42 +1000
|
||||
Subject: [PATCH] Snapshot Protocol
|
||||
@ -316,7 +316,7 @@ index 0000000..bbfbb88
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/PendingConnection.java b/src/main/java/net/minecraft/server/PendingConnection.java
|
||||
index 27cf4e3..adc3509 100644
|
||||
index 72fb172..9e5035a 100644
|
||||
--- a/src/main/java/net/minecraft/server/PendingConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PendingConnection.java
|
||||
@@ -77,8 +77,8 @@ public class PendingConnection extends Connection {
|
||||
@ -340,13 +340,13 @@ index 27cf4e3..adc3509 100644
|
||||
for (Object object : list) {
|
||||
if (s == null) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Spigot.java b/src/main/java/org/bukkit/craftbukkit/Spigot.java
|
||||
index ff28a99..99e8aa8 100644
|
||||
index 2bb9664..8a513a6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Spigot.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Spigot.java
|
||||
@@ -28,6 +28,9 @@ public class Spigot {
|
||||
public static List<String> bungeeIPs;
|
||||
public static int textureResolution = 16;
|
||||
public static final Pattern validName = Pattern.compile("^[a-zA-Z0-9_]{2,16}$");
|
||||
public static final Pattern validName = Pattern.compile("^[a-zA-Z0-9_-]{2,16}$");
|
||||
+ public static boolean snapshotSupport;
|
||||
+ public static int snapshotProtocolVersion = 62;
|
||||
+ public static String snapshotVersion = "13w16a";
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren