Commit Graph

1587 Commits

Author SHA1 Message Date
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 c64d16326c Fix bug where connect() wouldn't reset in-flight connections 2019-08-08 17:22:55 -04:00
Andrew Steinborn 648c149872 Fix bug where connect() wouldn't reset in-flight connections 2019-08-08 17:22:38 -04:00
Andrew Steinborn e476ee815a Revert "Merge branch 'feature/flush-consolidation' into dev/1.1.0"
This reverts commit f72f50819d, reversing
changes made to 3b9db94ce9.
2019-08-08 08:22:37 -04:00
Andrew Steinborn f72f50819d Merge branch 'feature/flush-consolidation' into dev/1.1.0 2019-08-07 21:17:52 -04:00
Andrew Steinborn 3b9db94ce9 Explicitly parse IP addresses before using an unresolved address
This allows plugins to more correctly use InetSocketAddress#getAddress(),
however "gotchas" remain.
2019-08-07 16:22:07 -04:00
Andrew Steinborn 7c2cbdbf1f Explicitly parse IP addresses before using an unresolved address
This allows plugins to more correctly use InetSocketAddress#getAddress(),
however "gotchas" remain.
2019-08-07 16:21:15 -04:00
Andrew Steinborn 32ef77f954 Flush consolidation tweaks 2019-08-07 16:04:34 -04:00
Andrew Steinborn 195a506117 Flush consolidation 2019-08-07 15:02:48 -04:00
Andrew Steinborn 2c3b30fff2 Merge pull request #240 from VelocityPowered/feature/ping-passthrough
Ping passthrough
2019-08-07 12:21:50 -04:00
Andrew Steinborn e3c75a7fcc Silence TCP_FASTOPEN warnings when not using epoll and fast open enabled 2019-08-06 06:43:27 -04:00
Andrew Steinborn 62c6adb204 Consider forced hosts in ping passthrough 2019-08-06 03:26:55 -04:00
Andrew Steinborn d8fb7c11e7 Clean up slightly, don't use streams 2019-08-06 03:16:24 -04:00
Andrew Steinborn ca9a4492c4 Add support for ping pass-through
By default, ping pass-through is not enabled. However, you can use
ping passthrough to pass through just mods (great for modded servers)
or everything.
2019-08-06 02:06:53 -04:00
Andrew Steinborn 9f3d1a2390 Fix Checkstyle, again 2019-08-05 11:01:18 -04:00
Andrew Steinborn b4e62443c9 Add arbitrary chat tab complete event. Fixes #236 2019-08-05 10:30:55 -04:00
Andrew Steinborn 19cec571d0 Clean up some junk 2019-08-05 09:53:18 -04:00
Andrew Steinborn 4940f6b447 Allow certain mangled large packets to pass through 2019-07-30 17:11:26 -04:00
Andrew Steinborn 7db757cd04 Allow certain mangled large packets to pass through 2019-07-30 17:10:10 -04:00
Andrew Steinborn 121ab41d96 Introduce TCP_FASTOPEN support
For best results, use Linux 4.11+ and a server modified to set the
TCP_FASTOPEN flag.

This should in particular benefit users of legacy forwarding.
2019-07-29 17:32:56 -04:00
Andrew Steinborn 0acb1ed7d4 Send disconnect message on getting kicked from the server 2019-07-29 14:27:40 -04:00
Andrew Steinborn 03c9729e63 Don't disconnect the player if the connection unexpectedly closes 2019-07-29 14:19:21 -04:00
Andrew Steinborn 04efd16a83 Avoid a memory copy in creating modern-style forwarding data 2019-07-29 06:04:37 -04:00
Andrew Steinborn 1da51b8ffb Batch handshake and server login/ping packets 2019-07-29 05:25:29 -04:00
Andrew Steinborn d65e371038 Fix up the Travis build... 2019-07-29 00:24:57 -04:00
Andrew Steinborn ead8a21362 Most proper clean way of using a DnsAddressResolverGroup with AHC
Let us never speak of this again.
2019-07-29 00:19:15 -04:00
Andrew Steinborn bf035bce73 Properly use non-blocking DNS in AsyncHttpClient 2019-07-28 23:40:23 -04:00
Andrew Steinborn 454b3c9bee Add flag to disable native transports 2019-07-26 01:34:21 -04:00
Andrew Steinborn d1736bf94c Move from custom HTTP client to Async HTTP Client
The most significant advantage is that Velocity gets a well-tested
HTTP client implementation which also includes a connection pool,
allowing us to avoid the overhead of TCP and TLS handshakes upon each
login.

Unfortunately, Async HTTP Client does not work with the kqueue transport.
Since almost nobody runs a production Velocity server on macOS, we have
decided to remove kqueue support. The benefits that Async HTTP Client
provides outweigh the disadvantages of not having a macOS native transport.
macOS is adequately supported by the normal NIO transport.
2019-07-26 01:29:51 -04:00
Minecrell fde5ec36e7 Update TerminalConsoleAppender to 1.2.0
Add log4j.skipJansi to prevent Log4j from initializing a Jansi
terminal. It is redundant because this is handled by TCA and it
will be only active for a few seconds until TCA is loaded.
2019-07-21 16:51:08 +02:00
Andrew Steinborn 2b5b14e4ec Switch to new TCA version and jansi 2019-07-20 14:25:47 -04:00
Andrew Steinborn 6d5bacb262 Minor Netty cleanup 2019-07-20 00:30:44 -04:00
Andrew Steinborn 85e5fb4827 Allow existing players to be kicked from server if in online-mode
Fixes #226
2019-07-19 13:25:04 -04:00
Andrew Steinborn 58b52cce0c Add flag to disable native transports 2019-07-12 14:32:37 -04:00
Andrew Steinborn 40c8343494 Help smoke out some internal concurrency issues 2019-07-08 21:28:18 -04:00
Gabik21 3a1b5099c9 Merge branch 'dev/1.1.0' of github.com:VelocityPowered/Velocity 2019-07-06 01:08:21 +02:00
Andrew Steinborn 2671590ad2 Clean up LoginPluginResponse and use DeferredByteBufHolder too 2019-07-05 12:53:17 -04:00
Gabik21 d0ad0fac36 Merge branch 'dev/1.1.0' of github.com:VelocityPowered/Velocity 2019-07-05 10:59:29 +02:00
Seppe Volkaerts 145dfa8ac6 Wait for player disconnect events on shutdown. (#229) 2019-07-05 00:54:23 -04:00
Andrew Steinborn 8bf9e0e829 Improve backwards-compatibility with 1.0.x due to RawCommand changes 2019-07-04 23:53:04 -04:00
Seppe Volkaerts 6d2e1bf379 Wait for player disconnect events on shutdown. (#229) 2019-07-04 23:49:40 -04:00
Andrew Steinborn a053ab6c34 Remove resource leak detection level setting 2019-07-03 22:46:47 -04:00