Commit Graph

2349 Commits

Author SHA1 Message Date
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
Andrew Steinborn 69430c7c1f Merge pull request #33 from kashike/log
minor shuffle to log messages
2018-08-12 04:47:53 -04: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
MatrixTunnel 6e4f90dfae Add ratelimit tests 2018-08-10 18:57:10 -07:00
Andrew Steinborn 1cf19e9152 Merge pull request #30 from kashike/fu
use fastutil's Object2IntOpenHashMap
2018-08-10 21:39:50 -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
Andrew Steinborn 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
MatrixTunnel 479592c009 Fix invalid compression values not stopping proxy 2018-08-10 11:13:53 -07:00
MatrixTunnel d752edc92d Add login ratelimit configuration 2018-08-10 11:08:55 -07:00
Andrew Steinborn 9af6829688 Fix sending commands to remote server. 2018-08-10 03:05:59 -04:00
Andrew Steinborn 58e072ab94 Bumped to kyoripowered/text 1.12-1.6.2 2018-08-09 20:56:12 -04:00
Andrew Steinborn 0834bec997 Merge branch 'tab-complete' 2018-08-09 10:15:22 -04:00
Andrew Steinborn b78ddf7b85 Fix scoreboard teams on Minecraft 1.8. 2018-08-09 10:15:19 -04:00
Andrew Steinborn 2e1de306fb Complete tab-complete support back to Minecraft 1.8. 2018-08-09 10:14:44 -04:00
Andrew Steinborn 9a36bd6cae Merge branch 'master' into tab-complete 2018-08-09 09:47:30 -04:00
Andrew Steinborn 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
Andrew Steinborn 254508a5cf Add connection attempt rate-limiting. 2018-08-09 03:23:27 -04:00
Andrew Steinborn db8b7c807c Add kqueue transport support 2018-08-08 10:10:11 -04:00
Andrew Steinborn 512b1c2403 Remove erroneously added getter 2018-08-08 09:45:38 -04:00
Andrew Steinborn 84717a11da Update README.md 2018-08-08 09:22:47 -04:00
Andrew Steinborn 6bc5413038 Exclude all Gradle build folders 2018-08-08 05:59:26 -04:00
Andrew Steinborn a261823302 Add favicon support 2018-08-08 04:44:27 -04:00
Andrew Steinborn 54f9de04dc Add MC tab complete (incomplete, only 1.12.2 works) 2018-08-07 11:53:13 -04:00
Andrew Steinborn bb601dca4b Add console tab complete, shutdown command, gracefully kick players. 2018-08-07 11:02:35 -04:00
Andrew Steinborn beb947cc3e Merge pull request #26 from Minecrell/tca
Add TerminalConsoleAppender for console prompts
2018-08-07 10:38:00 -04:00
Andrew Steinborn a88d27af76 Ignore repeated shutdown requests. 2018-08-07 10:37:38 -04:00
Minecrell a044ed72de Add TerminalConsoleAppender for console prompts 2018-08-07 16:32:32 +02:00
Andrew Steinborn a7a227ed05 Add shutdown flag. 2018-08-07 10:14:34 -04:00
Andrew Steinborn 05693425bf Add a basic command handling framework inspired by Bukkit/BungeeCord.
This doesn't yet support tab complete, that will come later. Additionally,
a /server command (using your configuration) and /velocity (shows basic
copyright information about the proxy) have been added.
2018-08-07 09:34:31 -04:00
Andrew Steinborn 09eff5a2fb GS4 clients generally don't understand MC color codes (or JSON chat). 2018-08-07 07:56:28 -04:00
Andrew Steinborn b5fcc1b34a Fix GS4 issues. 2018-08-07 07:51:09 -04:00
Andrew Steinborn 3e0df79c98 Fix GS4 "can't bind to null" error. 2018-08-07 07:34:41 -04:00
Mark Vainomaa fe79c66171 GS4 Query handler (#20) 2018-08-07 07:32:22 -04:00
Andrew Steinborn b983cdb7b3 Fix some spirous "connection closed" errors. 2018-08-07 07:18:54 -04:00
Andrew Steinborn a2b4291b36 Use Guava immutable integer arrays. 2018-08-07 07:18:21 -04:00
Andrew Steinborn abbdf70d5e [Experimental] Remove PacketWrapper objects
In both Velocity and BungeeCord, the most commonly created object is an
object that encapsulates a Minecraft packet and a its associated byte
data.

At first, I considered trying to recycle these objects, but then I
discovered that this object has no reason to exist, and actually somewhat
complicates the implementation. Thus, this commit removes these objects,
making Velocity more more GC-friendly by not allocating frequently-created
objects.

This is still an experimental change, but it's a fairly safe one to make.
2018-08-07 04:28:07 -04:00
Andrew Steinborn fdf5f27da6 Improve server list ping, especially for legacy MC versions. 2018-08-07 01:02:39 -04:00
Andrew Steinborn df34c78b23 Merge pull request #23 from theminecoder/patch-1
Add discord status + link to readme
2018-08-07 00:12:39 -04:00
theminecoder a95f0a6690 Add discord status + link to readme 2018-08-07 14:11:51 +10:00
Andrew Steinborn c17b6c1680 Merge pull request #21 from MatrixTunnel/dev/version-strings
Update version strings + add constant
2018-08-06 19:13:19 -04:00
MatrixTunnel ac378a8efa Update version strings + add constant 2018-08-06 16:06:57 -07:00
Andrew Steinborn 6a5c40ecdf Merge pull request #16 from Desetude/feature/1.8
Add 1.8 support
2018-08-06 18:41:37 -04:00
Andrew Steinborn 219d03c050 Merge pull request #19 from mikroskeem/master
Fix unregisterConnection using non-lowercase username
2018-08-06 18:35:30 -04:00
Mark Vainomaa 9ca1707df3 Fix unregisterConnection using non-lowercase username
Fixes #18
2018-08-06 19:06:25 +03:00