Andrew Steinborn
ae82bb21af
Merge branch 'dev/1.1.0' into decode-multiple
2019-11-27 01:09:21 -05:00
Andrew Steinborn
68e5372b2e
QuietException should be a RuntimeException
2019-11-27 01:04:48 -05:00
Andrew Steinborn
467fe34da3
Provide useful information for "unexpectedly disconnected from server"
...
Fixes #233
2019-11-27 01:01:50 -05:00
Andrew Steinborn
0c14eabe6b
Fix Checkstyle issues
2019-11-26 16:32:50 -05:00
Andrew Steinborn
87ad188f92
Finalize integrated BungeeQuack
2019-11-26 16:27:30 -05:00
Andrew Steinborn
b08f27b5c4
Merge branch 'dev/1.1.0' into bungeequack-integrate
2019-11-26 15:52:53 -05:00
Andrew Steinborn
0b6fc06e67
Initial 1.15-pre2 support
2019-11-26 15:10:22 -05:00
Andrew Steinborn
bfeca40b17
Make sure we only tab-complete commands for which we have access to
2019-11-26 14:08:16 -05:00
Andrew Steinborn
e29e20b1e8
Fix 1.13+ tab-complete with command but no arguments
...
As a nice side-effect, this simplifies the tab complete code
a bit.
2019-11-26 13:44:21 -05:00
Andrew Steinborn
ae14eb8ccb
Fix potential UDP speculative reflection attack
2019-11-23 01:07:29 -05:00
Andrew Steinborn
8725178d6d
Flush queued packets to the client in case we can't write
2019-11-17 14:52:12 -05:00
Andrew Steinborn
3eeea8e8f8
Add limited flush consolidation, if the remote server supports it.
2019-11-17 11:14:56 -05:00
Andrew Steinborn
d2b8271eb4
Allow running Velocity without any servers.
...
This is a niche setup, however if your network is 100% dynamically configured, this is a handy feature to have available.
To support this functionality, a new PlayerChooseInitialServerEvent event was added to allow the initial server to connect to be changed as desired.
2019-11-16 23:17:09 -05:00
Andrew Steinborn
e12f970684
Fix fresh 1.1.0 velocity.toml generation.
2019-11-16 22:34:30 -05:00
Andrew Steinborn
010a10f50f
Do not try to prevent people from running Velocity behind Velocity.
...
This commit absolutely does not change our support policy on this: this
is a completely unsupported setup. In any event, there is an existing
forwarding check in Velocity that covers this case quite well.
I am making this change to make the login process less "chatty" for
higher-latency links and 1.13+ servers.
2019-11-15 01:35:44 -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
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
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
9d5930d96b
Integrate BungeeQuack functionality into Velocity
2019-10-20 00:58:55 -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
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
james58899
bd35c6835e
Allow set redirect message
2019-10-17 08:32:50 +08: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
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
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
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
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
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
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
Leymooo
fd367c6efd
Add method to determine if player is in OnlineMode
2019-09-04 01:44:40 +03: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
Andrew Steinborn
dbfbd1e2a9
Rename ConnectedPlayer#minecraftConnection -> ConnectedPlayer#connection
...
This is consistent with VelocityServerConnection
2019-08-17 20:17:12 -04:00
Gabik21
ca81b05551
Remove no longer used imports
2019-08-16 11:50:49 +02:00
Andrew Steinborn
b3ca066a17
Lower write water mark to 1MB
2019-08-10 14:08:45 -04:00
Andrew Steinborn
7cb86067bc
Lower the explicit flush count
...
Initial testing suggests this makes flush consolidation stable, although
the CPU usage will be increased as we are more aggressive in flushing
messages to the channels.
2019-08-08 18:39:22 -04:00
Andrew Steinborn
ca3426033f
Revert "Revert "Merge branch 'feature/flush-consolidation' into dev/1.1.0""
...
This reverts commit e476ee815a
.
2019-08-08 18:00:52 -04:00
Andrew Steinborn
648c149872
Fix bug where connect() wouldn't reset in-flight connections
2019-08-08 17:22:38 -04:00