Commit Graph

570 Commits

Author SHA1 Message Date
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
Vjatšeslav Maspanov f64b44ec21 Remove protocol linking (#212) 2019-06-02 19:44:23 -04:00
Andrew Steinborn 8d61e7ffd0 Removed redundant (non-)nullable annotations from boss bar. 2019-06-02 17:57:31 -04:00
kashike 0a53343547 Rename some bossbar-related fields and methods 2019-06-02 14:47:41 -07:00
MrIvanPlays 20b34447f8 Add BossBar API (#213) 2019-06-02 15:02:43 -04:00
Andrew Steinborn dfe210707f Replace uses of deprecated LegacyComponentSerializer.INSTANCE 2019-05-31 15:50:46 -04:00
Andrew Steinborn 4e71788aba Work around kqueue transport bug with fallback connections. 2019-05-27 14:00:20 -04:00
Leymooo 85c6238d68 1.14.2 support 2019-05-27 17:20:42 +03:00
Andrew Steinborn b5f099824d Remove debug. 2019-05-26 18:37:33 -04:00
Andrew Steinborn 4d6e836890 Fix Checkstyle 2019-05-26 18:14:54 -04:00
Andrew Steinborn deeb068825 Merge branch 'metrics' 2019-05-26 18:10:56 -04:00
Andrew Steinborn 9d14af5a8b Add Metrics to Velocity
Velocity will send metrics to bStats.org. These statistics are
publicly viewable at https://bstats.org/plugin/server-implementation/Velocity

You can always opt-out by disabling metrics in your velocity.toml.
There is no obligation to allow us to collect metrics, but you can
show your support by leaving metrics on.
2019-05-26 18:10:44 -04:00
Andrew Steinborn df9883cc6c Reduce unnecessary memory copies in StatusSessionHandler
Take advantage of the fact that Java has mutable strings when writing
out server ping responses, which Netty can work with when writing out
UTF-8 character sequences. This reduces the memory allocation impact of
server list ping responses by ~31%.
2019-05-24 06:55:19 -04:00
Andrew Steinborn 3cee15a9cb Move proxy shutdown to take place in a new thread. 2019-05-23 15:09:11 -04:00
Andrew Steinborn df7eb4ade0 Ensure the proxy doesn't shut down too early if stdin is EOF. 2019-05-23 14:50:58 -04:00
Andrew Steinborn b09331b79b Small optimization for writing packets to the client from the server
The layers of indirection to get to the MinecraftConnection causes a
small, but not insignificant hit to performance.
2019-05-21 00:33:35 -04:00
Andrew Steinborn a684aaa325 Make sure to complete the result too 2019-05-19 21:56:09 -04:00
Andrew Steinborn 321b42d225 Add some exception logging to the transition session handler. 2019-05-19 21:55:38 -04:00
Andrew Steinborn 5524f3b720 Ensure empty (un)register packets are never sent.
Bukkit 1.13+, in particular, doesn't seem to like it very much. This was
also a bug in ViaVersion.
2019-05-17 18:16:28 -04:00
Andrew Steinborn 40b2c9993b Clean up some connection checks 2019-05-17 06:27:19 -04:00
Luck 72c668c048 Only unregister event handlers/listeners if the correct matching plugin is given
Currently, unregister will succeed & unregister a handler/listener if any valid plugin is given, not necessarily the one the handler was registered with.
2019-05-17 10:59:35 +01:00
Luck 21a79d8142 Correctly register Event handlers in the registeredHandlersByPlugin map 2019-05-17 10:58:11 +01:00
Andrew Steinborn 3ec67a7d4d Optimize VelocityEventManager#fireAndForget()
There isn't a need to create a CompletableFuture when firing an event
and we do not want to know when it is completed.
2019-05-16 17:29:55 -04:00
Andrew Steinborn 9e6e1856e6 Add /glist command.
A much-needed base command, this is now available in Velocity directly.
It is partially inspired by the RedisBungee /glist command, which I also
created.

By default, /glist only provides the player count of the proxy. You can
view the player list for an individual server with /glist <server>, or
you can view the information for all players with /glist all.
2019-05-16 01:46:54 -04:00
Andrew Steinborn 4ab02cb636 Clean this up a bit 2019-05-15 19:02:31 -04:00
Andrew Steinborn a21eaa085a Do a better job of passing channel (un)registration to the client.
Also fixes a regression related to WDLCompanion.
2019-05-15 18:59:28 -04:00
Andrew Steinborn 552f02ed60 Fix Checkstyle 2019-05-15 17:10:07 -04:00
Andrew Steinborn 6d42a3c37c Explicitly rewrite legacy plugin message channels for 1.13+ clients. 2019-05-15 17:04:45 -04:00
Andrew Steinborn d805f79d9b Try to unbreak ViaVersion a little bit. 2019-05-15 15:52:07 -04:00
Andrew Steinborn 742865bf0a Merge pull request #204 from VelocityPowered/plugin-message-cleanups
Plugin message handling cleanup and fixes
2019-05-15 06:31:18 -04:00
Andrew Steinborn 6eabf82513 Fix inaccurate comment. 2019-05-14 04:26:16 -04:00
Andrew Steinborn d7136150fd Get rid of the Guava Subscribe annotation check
I think we can trust that if you're working with Velocity, you can find
the right Velocity subscribe annotation.
2019-05-14 04:18:18 -04:00
Andrew Steinborn 5bd9f0a96f CappedSet.newCappedSet() -> CappedSet.create() 2019-05-14 04:11:49 -04:00
Andrew Steinborn 57085feb42 Better document what plugin channels we need to forward onto clients. 2019-05-12 11:09:50 -04:00
Andrew Steinborn 3c9cc2c4a8 Remove unrelated change 2019-05-12 10:48:47 -04:00
Andrew Steinborn 16d557a109 Fix checkstyle 2019-05-12 10:46:11 -04:00
Andrew Steinborn b5fcf685be Kill debug 2019-05-12 10:06:01 -04:00
Andrew Steinborn adfb33ad21 Fix server-sent plugin message channels, fixing WDLCompanion and similar
Closes #203
2019-05-12 10:05:22 -04:00
Andrew Steinborn 5f0470fb0b Checkstyle, CappedCollection -> CappedSet 2019-05-10 07:42:47 -04:00
Andrew Steinborn 74afcee9ba Suspect this is the fix to #203, but I'm unsure 2019-05-10 04:53:57 -04:00
Andrew Steinborn c26dc75c44 More robust check 2019-05-10 04:44:01 -04:00
Andrew Steinborn 01be943c3f Initial work on cleaning up plugin message handling in Velocity 2019-05-10 04:32:29 -04:00
Andrew Steinborn 37999ed32e Support 1.14-pre2 2019-05-10 02:51:00 -04:00
kashike 3800610f66 Bump text to 3.0.0 2019-05-06 19:34:53 -07:00
Andrew Steinborn 472f45df08 Don't resolve IP addresses in the config except for the bind one. 2019-04-29 01:59:55 -04:00
Andrew Steinborn de51ea18cc Forward other client-known plugin messages during the transition as well
Fixes #197
2019-04-29 00:52:06 -04:00
Andrew Steinborn 8517d58673 Reduce erroneous DNS lookups for Velocity in Kubernetes. 2019-04-27 20:37:31 -04:00
Andrew Steinborn e9950da0c5 Enable multi-release flag to improve Java 9+ compatibility 2019-04-25 19:12:22 -04:00