Andrew Steinborn
feb7c2f893
Reject invalid tab complete command requests.
2020-05-08 18:22:21 -04:00
Andrew Steinborn and GitHub
2418cc271a
Merge pull request #307 from mikroskeem/feature/prevent-proxy-connections
...
Add prevent-proxy-connections option
2020-05-08 14:57:20 -04:00
Andrew Steinborn
3bc8323ed5
We're well into 2020, just saying.
2020-05-08 14:03:35 -04:00
Andrew Steinborn and GitHub
5424c55f09
Merge pull request #301 from Leymooo/command-event
...
fix build
2020-04-30 01:13:30 -04:00
Andrew Steinborn and GitHub
42ad7594ae
Merge pull request #300 from Leymooo/command-event
...
fix command forwarding to server
2020-04-29 15:26:29 -04:00
Andrew Steinborn and GitHub
e759668f53
Merge pull request #299 from Leymooo/command-event
...
Add event for commands
2020-04-29 12:51:47 -04:00
Andrew Steinborn
37a1a49fda
Allow disabling BungeeCord plugin message channel.
2020-04-28 14:10:54 -04:00
Andrew Steinborn
957c0dd307
Implement brigadier:long argument type, fixes #295
2020-04-23 16:21:22 -04:00
Andrew Steinborn
81a0cbe3b9
Fix rare race condition with transitioning
...
If the player unexpectedly disconnects after ServerConnectEvent is
fired, but before the connection transitions to the new player, Velocity
would throw an exception thinking the connection was not present. This
is the correct behavior, but the behavior is very surprising. Instead we
will double-check to ensure the connection has not been lost before we
continue with transitioning to the new server.
2020-04-22 10:31:05 -04:00
Andrew Steinborn
e6ea191c92
Bump Netty to 4.1.49.Final
...
This is intended to fix netty/netty#10165 directly, and supersede our current workaround.
2020-04-22 10:28:17 -04:00
Andrew Steinborn
2b84d35798
Fix bug in ConnectOther message
...
Credits to @Jay113355 for spotting this
2020-04-21 06:23:04 -04:00
Andrew Steinborn
24c9fc0ef1
Relax GameProfileRequestEvent#setGameProfile to allow faking even in online-mode
2020-04-19 09:20:03 -04:00
Andrew Steinborn
d0cbcf65e9
Fix some tab-complete regressions
2020-04-19 09:07:17 -04:00
Andrew Steinborn and GitHub
5c93fd3866
Merge pull request #294 from creeper123123321/backend-initializer
...
(Implementation) Allow injecting into backend connection
2020-04-14 01:43:24 -04:00
Andrew Steinborn
4ddc55a5b7
No need to register multiple times
2020-04-12 17:20:54 -04:00
Andrew Steinborn
49ab2764c4
Close one last "proxy crasher" loophole
2020-04-12 17:18:53 -04:00
Andrew Steinborn
6ed61848e9
Upon connection exception, discard all incoming packets instead
2020-04-11 21:19:54 -04:00
Andrew Steinborn and GitHub
98b03376e5
Merge pull request #281 from Gabik21/tablist-improvement
...
Don't send ping update twice (1.7)
2020-04-07 13:35:18 -04:00
Andrew Steinborn and GitHub
4374f1e4d6
Merge pull request #288 from Gabik21/fix-1.7-weirdness
...
Fix tablist behaving wrong with colors (1.7) (Fixes #282 )
2020-04-07 11:51:21 -04:00
Andrew Steinborn
ae7f0143de
Do not trim the args for string-based command APIs
2020-02-28 16:54:46 -05:00
Andrew Steinborn
65acb13dca
Checkstyle
2020-02-21 18:51:41 -05:00
Andrew Steinborn
3e053d63b4
Allow ping passthrough for descriptions too
2020-02-21 18:36:10 -05:00
Andrew Steinborn
c63bd4cd02
Fix checkstyle error
2020-02-17 20:35:28 -05:00
Andrew Steinborn
8ae7945b9f
Upon connection exception, discard all incoming packets instead
2020-02-17 19:34:22 -05:00
Andrew Steinborn
599adc6d2c
Merge remote-tracking branch 'origin/dev/1.1.0' into dev/1.1.0
...
# Conflicts:
# proxy/src/test/java/com/velocitypowered/proxy/plugin/util/PluginDependencyUtilsTest.java
2020-02-17 16:33:34 -05:00
Andrew Steinborn
37994449d7
Fix regressions with plugin dependency loading from #272
...
This is a quick and dirty fix because it's late. I'll need to
commit a better fix later.
2020-02-16 03:19:13 -05:00
Andrew Steinborn
3b6f8e2421
Use more obvious/broken-down test cases for topological sort tests
2020-02-16 00:29:35 -05:00
Andrew Steinborn
9444cfa70f
Use more obvious/broken-down test cases for topological sort tests
2020-02-13 19:21:40 -05:00
Andrew Steinborn
a5350c6822
Deal with potentially nullable player sample entries
2020-02-13 13:32:47 -05:00
Andrew Steinborn
e558b7ca1f
Update to new bStats revision
2020-02-13 12:58:24 -05:00
Andrew Steinborn and GitHub
77526d9bf4
Merge pull request #266 from alex11441/dev/1.1.0
...
Allow users to specify a reason in the shutdown command
2020-01-24 16:01:23 -05:00
Andrew Steinborn
c7bac69290
Don't attempt to retain the buffer if it goes to a closed connection
2020-01-24 01:22:32 -05:00
Andrew Steinborn
6e41ce7f15
Minecraft 1.15.2
2020-01-21 13:28:27 -05:00
Andrew Steinborn
fb0446f4fc
Add DisconnectEvent#disconnectedDuringLogin()
2019-12-24 23:56:39 -05:00
Andrew Steinborn
4c09024952
Minecraft 1.15.1
2019-12-17 13:57:23 -05:00
Andrew Steinborn
fa489f6014
Rename mystery field in JoinGame
2019-12-14 17:45:10 -05:00
Andrew Steinborn
07c2024307
Minecraft 1.15
2019-12-10 11:47:10 -05:00
Andrew Steinborn and GitHub
b5aeeab2a8
Minecraft 1.15-pre7
2019-12-09 18:00:08 -05:00
Andrew Steinborn
8c3f7e2ecc
Optimize DNS resolution logic for AsyncHttpClient
2019-12-01 15:17:17 -05:00
Andrew Steinborn
75359256b3
Introduce velocity.natives-tmpdir property for properly handling noexec /tmp
2019-11-29 14:27:27 -05:00
Andrew Steinborn
2f55912995
Graceful fallback when /tmp is amounted noexec on Linux
...
Fixes #260
2019-11-29 12:04:12 -05:00
Andrew Steinborn
667610c251
Fix command block tab complete on <=1.12.2
2019-11-28 15:28:02 -05:00
Andrew Steinborn
50b50f3cbb
Fix 1.13+ tab complete for server commands
2019-11-28 13:12:53 -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 and GitHub
94035366c2
Merge pull request #255 from VelocityPowered/bungeequack-integrate
...
Integrate BungeeQuack functionality into Velocity
2019-11-26 16:33:37 -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
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
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 and GitHub
09d33de03e
Merge pull request #256 from Gabik21/previous-server-in-event
...
Add previous server to ServerConnectedEvent
2019-10-31 19:51:32 -04: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
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 and GitHub
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
Andrew Steinborn and GitHub
8d4f8f0bfa
Merge pull request #253 from OKTW-Network/custom-redirect-message
...
Allow set redirect message
2019-10-16 21:56:27 -04: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 and GitHub
078db5ca65
Merge pull request #252 from Gabik21/dev/1.1.0
...
Fix typo in gitignore
2019-09-29 16:10:21 -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
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 and GitHub
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
Andrew Steinborn and GitHub
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
Andrew Steinborn and GitHub
e8d4db517d
Merge pull request #219 from Gabik21MC/master
...
1.7 Protocol Support
2019-09-01 17:36:34 -04:00
Andrew Steinborn
dbfbd1e2a9
Rename ConnectedPlayer#minecraftConnection -> ConnectedPlayer#connection
...
This is consistent with VelocityServerConnection
2019-08-17 20:17:12 -04:00
Andrew Steinborn
d68cbbd906
Remove inaccurate "Status" section
...
I'm just one person, I can't keep this stuff updated everywhere.
2019-08-17 20:12:09 -04:00
Andrew Steinborn
7f3e7a82c4
Update text 3.0.2
...
cc @lucko
2019-08-11 20:36:00 -04:00
Andrew Steinborn
b3ca066a17
Lower write water mark to 1MB
2019-08-10 14:08:45 -04:00
Andrew Steinborn
661ec3103a
Bump to Guice 4.2.2 for Java 11 plugin support
2019-08-09 15:39:46 -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