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
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
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
40c8343494
Help smoke out some internal concurrency issues
2019-07-08 21:28:18 -04:00
Andrew Steinborn
2671590ad2
Clean up LoginPluginResponse and use DeferredByteBufHolder too
2019-07-05 12:53:17 -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
Andrew Steinborn
fba3bfb0be
Forge is confirmed working
2019-07-03 22:45:25 -04:00
Andrew Steinborn
11a86e9bb9
Convert Velocity to use ByteBuf-derived plugin message packets
...
Only tested with 1.12.2, not 1.13 or Forge
2019-07-03 09:20:32 -04:00
Andrew Steinborn
39c505f6fd
Readd missing null check. Fixes #228
2019-07-02 13:25:17 -04:00
Andrew Steinborn
a63e905edf
Use custom ThreadFactory that does FastThreadLocal wrapping for us
...
This primarily has the benefit of not giving threads strange names
2019-07-02 09:10:00 -04:00
Andrew Steinborn
190f2fee75
Remove kqueue bug workaround since the issue is now fixed upstream
...
See https://github.com/netty/netty/pull/9149
2019-07-02 02:36:46 -04:00
Andrew Steinborn
dab9c9a382
Use Netty thread factory to take advantage of FastThreadLocal
...
This should reduce CPU usage slightly.
2019-07-02 02:19:52 -04:00
Andrew Steinborn
c0becce276
Remove debug code
2019-07-02 00:33:25 -04:00
Andrew Steinborn
7834acd67f
Reduce duplicated code used to support RawCommand. Fixes #227
2019-07-02 00:25:43 -04:00
Andrew Steinborn
f0ba7e1eea
Add method to check if an entry already exists in the tab list.
2019-07-01 00:07:20 -04:00
Andrew Steinborn
275685f45f
Merge branch 'master' into dev/1.1.0
...
# Conflicts:
# build.gradle
2019-06-30 23:52:22 -04:00
Andrew Steinborn
226074a0df
Add suggestion for reconnecting for "not online-mode" message
2019-06-29 14:35:28 -04:00
Andrew Steinborn
81840abc86
Enforce at least one parameter in CommandManager#register()
...
The old register method has been deprecated.
2019-06-22 21:13:20 -04:00
Andrew Steinborn
04a23e3622
Introduce raw String-based command API
2019-06-18 00:13:49 -04:00
Andrew Steinborn
1fd2bd9ee4
Avoid sending duplicate set latency/gamemode/display name packets
2019-06-15 17:08:05 -04:00
kashike
335c34a679
Explicity bind the main plugin class in the singleton scope
2019-06-14 01:06:08 -07:00
Andrew Steinborn
d7e4e20c76
This is Velocity 1.0.0
2019-06-12 18:10:33 -04:00
Andrew Steinborn
b19d36e939
Strictly enforce packet size limits for incoming compressed packets
2019-06-09 04:25:13 -04:00