Commit Graph

158 Commits

Author SHA1 Message Date
Andrew Steinborn 27288685ff Register 1.13+ channels on legacy clients too.
Prior to this commit, Velocity registered 1.13 and "legacy" channels
differently. This commit unifies both for legacy clients to make
compatibility easier. It also fixes a related issue in the new LuckPerms
port to Velocity.
2018-08-26 14:39:31 -04:00
Andrew Steinborn f273c046ec Add javadoc and reorganize the player settings stuff. 2018-08-25 12:54:30 -04:00
Andrew Steinborn 86461c2b60 Merge branch 'master' into ping 2018-08-25 12:45:07 -04:00
Andrew Steinborn 78a2bd313a Merge pull request #57 from Leymooo/client-settings
Add PlayerSettings API
2018-08-25 12:44:35 -04:00
Andrew Steinborn 2b3503e2df Fix compile. 2018-08-25 11:02:20 -04:00
Leymooo 09153ae620 oops 2018-08-25 18:02:19 +03:00
Leymooo 1b4c537c81 Add PlayerSettings API 2018-08-25 15:52:05 +03:00
Leymooo bf2dff7693 add method to get player ping 2018-08-25 14:44:44 +03:00
Andrew Steinborn a37a0d6665 Merge branch 'master' into native-crypto
# Conflicts:
#	native/src/main/java/com/velocitypowered/natives/util/Natives.java
2018-08-25 01:12:26 -04:00
Andrew Steinborn 7ee56d9f5f Massively improved Javadoc coverage to prepare for Javadoc site. 2018-08-25 00:29:22 -04:00
Andrew Steinborn 6ccf16cee4 Merge pull request #52 from Leymooo/header-footer
Add Header and Footer. Resolves #50
2018-08-24 21:46:03 -04:00
Leymooo d65e4ed296 add method to clear header and footer 2018-08-25 04:45:10 +03:00
Leymooo 1f8c8dcd94 Add Header and Footer. Resolves #50 2018-08-25 04:37:07 +03:00
Andrew Steinborn bc2f3a7288 Clean up ConnectedPlayer initialization. 2018-08-24 21:30:58 -04:00
Andrew Steinborn afb6e69388 Improve Javadoc and the GameProfileRequestEvent. 2018-08-24 21:09:56 -04:00
Slava Maspanov a3c4522ca0 Allow to enable online mode for player connection (#51) 2018-08-24 20:55:15 -04:00
Andrew Steinborn e6e3ccaa95 Fix minor bug with shutdown messages. 2018-08-23 21:57:10 -04:00
Andrew Steinborn 91265b12a3 Fix repeat 2018-08-23 21:51:15 -04:00
Andrew Steinborn 8fd026e025 Totally removed all uses of jsr305. Fixes #38 2018-08-22 21:46:17 -04:00
Andrew Steinborn 27760f5a97 Limit scope of "attempted server connections" to just initial log ons. 2018-08-22 21:10:14 -04:00
Andrew Steinborn 2d21c01f8a Fix boss bar handling on Minecraft 1.13+. 2018-08-22 21:08:47 -04:00
Andrew Steinborn ccb904eeb1 Update for Minecraft 1.13.1 support 2018-08-22 20:53:53 -04:00
Andrew Steinborn d9c35a680a Plugins can get plugin messages now. 2018-08-22 18:59:10 -04:00
Andrew Steinborn c36f417b1e Add support for sending plugin messages over the wire 2018-08-22 00:53:02 -04:00
Andrew Steinborn 8352f7fa70 Add disconnect API call 2018-08-22 00:47:29 -04:00
Andrew Steinborn 55041aa1b1 Add basic implementation. 2018-08-21 23:03:09 -04:00
Andrew Steinborn 7b84da2fa7 Cleaning up some stuff in the proxy implementation. 2018-08-21 22:29:01 -04:00
Andrew Steinborn 2d0c826ec9 Introduce ServerConnection interface
This will become very useful for plugin messaging support.
2018-08-21 21:51:31 -04:00
Andrew Steinborn 9c4e43e1b0 Merge pull request #44 from Minecrell/meta-cleanup
Various improvements to plugin metadata
2018-08-21 17:34:41 -04:00
Minecrell c43c6cbea2 Add plugin description 2018-08-21 23:13:25 +02:00
Jadon Fowler 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
Minecrell 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
kashike c4fdac9591 allow more than one author 2018-08-21 09:09:48 -07:00
Andrew Steinborn 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
Leymooo 381b2033d5 Rename packetDecoding field to onlyEncode 2018-08-17 02:02:22 +03:00
Leymooo 9469065b3c Fix PacketMapping toString/equals/hashCode, do not handle Chat and TabCompleteResponse packets from backend 2018-08-15 20:52:50 +03:00
Andrew Steinborn 718f615d3f Simplify and improve the startup timer. 2018-08-13 07:23:49 -04:00
MatrixTunnel dbe207d0c2 Add startup time to log messages 2018-08-13 00:44:55 -07:00
Andrew Steinborn 671df77c1f Forward the keep-alive packet directly onto the client.
This improves anti-cheat compatibility.
2018-08-12 08:06:50 -04:00
Andrew Steinborn 5787709ed3 Merge pull request #32 from Leymooo/no-scoreboards
Don't handle scoreboards from backend server
2018-08-12 07:31:11 -04:00
Leymooo 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
kashike 6a3a5a0458 minor shuffle to log messages 2018-08-12 01:36:37 -07:00
Andrew Steinborn 21e72556c9 Correctly handle rapid disconnects. Fixes #31 2018-08-11 06:46:40 -04:00
Andrew Steinborn 8068f72729 Fix up player info forwarding. 2018-08-11 00:22:24 -04:00
Andrew Steinborn 95bd152fee More protocol sanity. 2018-08-10 23:44:52 -04:00
Andrew Steinborn 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
Andrew Steinborn 7130942032 Merge pull request #28 from MatrixTunnel/feature/ratelime-config
Add login ratelimit configuration
2018-08-10 21:57:58 -04:00
kashike e9959f81fb use fastutil's Object2IntOpenHashMap 2018-08-10 18:35:54 -07:00
Andrew Steinborn 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
MatrixTunnel 479592c009 Fix invalid compression values not stopping proxy 2018-08-10 11:13:53 -07:00