3
0
Mirror von https://github.com/PaperMC/Velocity.git synchronisiert 2024-12-24 15:20:35 +01:00
Commit graph

942 Commits

Autor SHA1 Nachricht Datum
Andrew Steinborn
3eeea8e8f8 Add limited flush consolidation, if the remote server supports it. 2019-11-17 11:14:56 -05:00
Andrew Steinborn
ba8629ca0e Try to decode multiple packets at once 2019-11-15 00:39:11 -05:00
Andrew Steinborn
d333eb30b8 Always create the length buffer using the best possible native buffer 2019-11-09 22:07:54 -05:00
Andrew Steinborn
af0903050d Make sure in-place AES respects reader index 2019-11-09 21:30:46 -05:00
Andrew Steinborn
d73496e8df Introduce zero memory-copy compression for regular Java native
The compression itself is zero-copy in most cases. However, the overhead
needed to copy a direct buffer into a heap buffer (and back) is still
present. If possible, use Linux for best performance.
2019-11-09 17:39:47 -05:00
Andrew Steinborn
8c98f5a4a6 Simplify and harden Netty handlers 2019-11-05 20:07:47 -05:00
Andrew Steinborn
09d33de03e
Merge pull request #256 from Gabik21/previous-server-in-event
Add previous server to ServerConnectedEvent
2019-10-31 19:51:32 -04:00
Gabik21
bc8756f715
Readd old constructor 2019-10-31 19:31:47 +01:00
Gabik21
9498376bfa
Add missing info to constructor doc 2019-10-28 21:23:28 +01:00
Gabik21
ad291803ea
Add missing JavaDoc 2019-10-28 21:18:53 +01:00
Gabik21
802251d273
Add previous server to toString method 2019-10-28 20:49:11 +01:00
Gabik21
7c0a402cca
Add previous server to ServerConnectedEvent 2019-10-28 14:45:13 +01:00
Andrew Steinborn
3f321a5219 Indicate plugin loads 2019-10-26 21:10:38 -04:00
Andrew Steinborn
adcf7729db Update Netty to 4.1.43.Final 2019-10-26 01:24:44 -04:00
Andrew Steinborn
19e1e05bbc Bring back kqueue transport from the dead
My PR to AsyncHttpClient was accepted and 2.10.4 was released with it
included.
2019-10-20 00:27:31 -04:00
Andrew Steinborn
523cea529e
Merge pull request #254 from Ichbinjoe/aes-nocopy
Make AES crypto operations no-copy
2019-10-20 00:13:32 -04:00
Andrew Steinborn
6ff5cac4d3 Fix issues with decoding and Java fallback native 2019-10-19 23:56:44 -04:00
Joe Hirschfeld
a16684564b Make AES crypto operations use one buffer
All AES implementations being used are 'copy safe', where the source and
destination arrays may be the same. Lets save ourself a copy and reap
the performance wins!
2019-10-19 19:55:02 -07:00
Andrew Steinborn
8d4f8f0bfa
Merge pull request #253 from OKTW-Network/custom-redirect-message
Allow set redirect message
2019-10-16 21:56:27 -04:00
james58899
bd35c6835e
Allow set redirect message 2019-10-17 08:32:50 +08:00
Andrew Steinborn
20559e059d Properly rethrow DataFormatException in Java 11+ compressor 2019-10-05 14:44:05 -04:00
Andrew Steinborn
b18f65fe0a Allow building on Java 11 (and set Travis to build on OpenJDK 11) 2019-10-04 17:09:41 -04:00
Andrew Steinborn
7747679ee1 Implement optimized compression for Java 11+
Using the fact that the Java Deflater/Inflater API now supports
ByteBuffers as of Java 11, we can provide performance benefits equivalent
to the Velocity 1.0.x native compression on servers running Java 11+ on
non-macOS and non-Linux platforms (such as Windows).
2019-10-04 17:08:14 -04:00
Andrew Steinborn
078db5ca65
Merge pull request #252 from Gabik21/dev/1.1.0
Fix typo in gitignore
2019-09-29 16:10:21 -04:00
Gabik21
e191577afb
Fix typo in gitignore 2019-09-29 22:07:49 +02:00
Andrew Steinborn
39e48c9467 Implement #149 to send just one respawn packet 2019-09-28 00:29:51 -04:00
Andrew Steinborn
62cd2c661a Clean up HandshakeSessionHandler 2019-09-27 22:39:16 -04:00
Andrew Steinborn
546307b0d6 Suppress invalid protocol spam 2019-09-27 22:24:21 -04:00
Andrew Steinborn
9141ea112f Bump to Netty 4.1.42.Final 2019-09-26 22:30:24 -04:00
Andrew Steinborn
47ada83700 Add modified FastUUID 2019-09-26 22:27:08 -04:00
Andrew Steinborn
9b570ff599 Revert this entirely for now. 2019-09-17 09:38:12 -04:00
Andrew Steinborn
8dea7567d8 Correctly handle 0-length packet 2019-09-17 09:33:43 -04:00
Andrew Steinborn
009c9afe09 Decode multiple VarInt-prefixed packets
If the remote server does flush consolidation, Velocity will be able to
frame the packets all at once instead of having to constantly decode
packets. This should provide a modest performance boost for them whilst
not impacting un-optimized servers.
2019-09-16 20:01:38 -04:00
Andrew Steinborn
138a887d73 Fix "all" not appearing in the tab-complete for /server 2019-09-15 19:55:04 -04:00
Andrew Steinborn
9c9fa1c5ae Remove flush consolidation for now
This is still highly experimental
2019-09-09 00:47:42 -04:00
Andrew Steinborn
e21c33d435 Switch to zlib-ng
zlib-ng boasts higher throughput than regular zlib, by combining patches
from Cloudflare, zlib, and ARM's improvements to zlib along with a more
modern codebase.

Profiling consistently shows that compression is the largest CPU expense
by far, so even a minor speed-up here is significant.
2019-09-08 23:30:28 -04:00
Andrew Steinborn
63dcc56735 Also sort servers for /glist all 2019-09-07 17:09:36 -04:00
Andrew Steinborn
08173c50ef Refactor and improve ServerCommand
The code has been cleaned up and reorganized. As a small quality of life
change, the server names are now sorted in alphabetical order.
2019-09-07 17:06:10 -04:00
Andrew Steinborn
260f7f575a ServerInfo is now comparable 2019-09-07 17:06:06 -04:00
Andrew Steinborn
983f3012a6 Merge branch 'dev/1.1.0' into feature/flush-consolidation-v2 2019-09-07 00:34:08 -04:00
Andrew Steinborn
ecfb14411d Merge remote-tracking branch 'origin/dev/1.1.0' into dev/1.1.0 2019-09-07 00:15:34 -04:00
Andrew Steinborn
3a77068088 Slightly more accurate natives check 2019-09-07 00:15:10 -04:00
Andrew Steinborn
35856fec04 Merge branch 'dev/1.1.0' into natives-java-improvements
# Conflicts:
#	native/src/main/java/com/velocitypowered/natives/encryption/JavaVelocityCipher.java
2019-09-07 00:06:13 -04:00
Andrew Steinborn
71281111bf
Merge pull request #244 from Gabik21MC/dev/1.1.0
Completely clear legacy tablist on server switch
2019-09-05 08:02:38 -04:00
Gabik21
aef0f2ca8c
Fix name mapping not being cleared on switch
This fixes a bug where tablist would be messed up for 1.7 clients due to
an internal misconception.
2019-09-05 12:17:19 +02:00
Andrew Steinborn
09dc74ac9a
Merge pull request #243 from Leymooo/api-improvement
Add method to allow determine if player is in OnlineMode
2019-09-03 23:29:51 -04:00
Leymooo
fd367c6efd Add method to determine if player is in OnlineMode 2019-09-04 01:44:40 +03:00
Andrew Steinborn
e8d4db517d
Merge pull request #219 from Gabik21MC/master
1.7 Protocol Support
2019-09-01 17:36:34 -04:00
Gabik21
592517b9f3
Remove unnessecary diff 2019-08-29 19:58:00 +02:00
Gabik21
18a56d8b1d
Merge remote-tracking branch 'upstream/dev/1.1.0' 2019-08-29 19:47:04 +02:00