Commit Graph

2271 Commits

Author SHA1 Message Date
3ed499c7c0 Note that these classes are immutable. 2018-08-21 22:45:55 -04:00
2b6786e1fa Started work on plugin messaging API. 2018-08-21 22:41:30 -04:00
7b84da2fa7 Cleaning up some stuff in the proxy implementation. 2018-08-21 22:29:01 -04:00
2d0c826ec9 Introduce ServerConnection interface
This will become very useful for plugin messaging support.
2018-08-21 21:51:31 -04:00
9c4e43e1b0 Merge pull request #44 from Minecrell/meta-cleanup
Various improvements to plugin metadata
2018-08-21 17:34:41 -04:00
16f9514972 Merge pull request #45 from phase/feature/fallback-server
Fallback to next server on connection error
2018-08-21 17:33:20 -04:00
c43c6cbea2 Add plugin description 2018-08-21 23:13:25 +02:00
65de126934 Fallback to next server on connection error
Closes #11

Co-authored-by: Dylan Keir <jinjaproductionz@gmail.com>
Signed-off-by: Jadon Fowler <jadonflower@gmail.com>
2018-08-21 11:45:07 -07:00
830b1d4798 Various improvements to plugin metadata
- Add plugin (display) name and plugin URL
 - Make everything except plugin ID optional (instead of empty string)
 - Exclude empty properties from generated velocity-plugin.json
 - Make plugin author list immutable
 - Other (minor) cleanup and refactoring
2018-08-21 20:37:10 +02:00
fcf5ad157f Merge pull request #43 from kashike/authors
allow more than one author
2018-08-21 13:41:09 -04:00
c4fdac9591 allow more than one author 2018-08-21 09:09:48 -07:00
a028467e66 Plugin API (#34)
The Velocity API has had a lot of community input (special thanks to @hugmanrique who started the work, @lucko who contributed permissions support, and @Minecrell for providing initial feedback and an initial version of ServerListPlus).

While the API is far from complete, there is enough available for people to start doing useful stuff with Velocity.
2018-08-20 19:30:32 -04:00
8e836a5066 Merge pull request #39 from Leymooo/packet-handle
Fix PacketMapping toString/equals/hashCode, do not handle Chat and Ta…
2018-08-19 09:13:01 -04:00
381b2033d5 Rename packetDecoding field to onlyEncode 2018-08-17 02:02:22 +03:00
9469065b3c Fix PacketMapping toString/equals/hashCode, do not handle Chat and TabCompleteResponse packets from backend 2018-08-15 20:52:50 +03:00
718f615d3f Simplify and improve the startup timer. 2018-08-13 07:23:49 -04:00
ebdf5854dd Merge pull request #36 from MatrixTunnel/feature/start-time
Add startup time to log messages
2018-08-13 06:05:17 -04:00
dbe207d0c2 Add startup time to log messages 2018-08-13 00:44:55 -07:00
bb489c5574 Merge pull request #35 from kashike/patch-1
bump text to 1.12-1.6.4
2018-08-13 01:09:27 -04:00
37093d7385 bump text to 1.12-1.6.4 2018-08-12 14:19:02 -07:00
671df77c1f Forward the keep-alive packet directly onto the client.
This improves anti-cheat compatibility.
2018-08-12 08:06:50 -04:00
5787709ed3 Merge pull request #32 from Leymooo/no-scoreboards
Don't handle scoreboards from backend server
2018-08-12 07:31:11 -04:00
6a2b945ed6 Do not handle scoreboards from backend
Changes in StateRegistry will allow to us skip packets decode which we don't want handle in BackendPlaySessionHandler for a specific versions
Also do not handle respawn packet
2018-08-12 13:35:13 +03:00
69430c7c1f Merge pull request #33 from kashike/log
minor shuffle to log messages
2018-08-12 04:47:53 -04:00
6a3a5a0458 minor shuffle to log messages 2018-08-12 01:36:37 -07:00
21e72556c9 Correctly handle rapid disconnects. Fixes #31 2018-08-11 06:46:40 -04:00
8068f72729 Fix up player info forwarding. 2018-08-11 00:22:24 -04:00
95bd152fee More protocol sanity. 2018-08-10 23:44:52 -04:00
8bf3b99b10 Make sure the client has time to respond to the player info packet.
Apparently, Minecraft 1.13 can take a little too long to respond to
Velocity's player info forwarding packet. This especially noticeable in
offline mode: by the time the client does respond, Velocity has already
completed the login process and tried connecting to the server (it is
very quick under offline mode).

Noticed by Leymooo.
2018-08-10 23:40:51 -04:00
7130942032 Merge pull request #28 from MatrixTunnel/feature/ratelime-config
Add login ratelimit configuration
2018-08-10 21:57:58 -04:00
6e4f90dfae Add ratelimit tests 2018-08-10 18:57:10 -07:00
1cf19e9152 Merge pull request #30 from kashike/fu
use fastutil's Object2IntOpenHashMap
2018-08-10 21:39:50 -04:00
e9959f81fb use fastutil's Object2IntOpenHashMap 2018-08-10 18:35:54 -07:00
8998bc7c8f Presize the maps.
TODO: Replace that ugly autoboxed primitive without excessively blowing
up the size of the JAR
2018-08-10 20:56:22 -04:00
738be8d535 Merge pull request #29 from MatrixTunnel/fix/compression-config
Fix invalid compression values not stopping proxy
2018-08-10 20:32:58 -04:00
479592c009 Fix invalid compression values not stopping proxy 2018-08-10 11:13:53 -07:00
d752edc92d Add login ratelimit configuration 2018-08-10 11:08:55 -07:00
9af6829688 Fix sending commands to remote server. 2018-08-10 03:05:59 -04:00
58e072ab94 Bumped to kyoripowered/text 1.12-1.6.2 2018-08-09 20:56:12 -04:00
0834bec997 Merge branch 'tab-complete' 2018-08-09 10:15:22 -04:00
b78ddf7b85 Fix scoreboard teams on Minecraft 1.8. 2018-08-09 10:15:19 -04:00
2e1de306fb Complete tab-complete support back to Minecraft 1.8. 2018-08-09 10:14:44 -04:00
9a36bd6cae Merge branch 'master' into tab-complete 2018-08-09 09:47:30 -04:00
1f0a4a8228 Add support for HMACed player forwarding data.
This provides a small degree of security but also makes Velocity "secure
by default", especially on shared hosts.
2018-08-09 05:24:47 -04:00
254508a5cf Add connection attempt rate-limiting. 2018-08-09 03:23:27 -04:00
db8b7c807c Add kqueue transport support 2018-08-08 10:10:11 -04:00
512b1c2403 Remove erroneously added getter 2018-08-08 09:45:38 -04:00
84717a11da Update README.md 2018-08-08 09:22:47 -04:00
6bc5413038 Exclude all Gradle build folders 2018-08-08 05:59:26 -04:00
a261823302 Add favicon support 2018-08-08 04:44:27 -04:00