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
Desetude
b4f1d64cb0
Add 1.8 support
2018-08-06 09:21:01 +01:00
Andrew Steinborn
48822fe55c
Better case-insensitivity.
2018-08-05 17:14:39 -04:00
Andrew Steinborn
a778825152
Add server registration API.
2018-08-05 17:10:18 -04:00
Andrew Steinborn
23a6488a39
Add default config again. Closes #12
2018-08-05 16:12:16 -04:00
Andrew Steinborn
4e64b04464
Avoid duplicate logins.
2018-08-05 01:30:40 -04:00
Andrew Steinborn
22d1398f73
Extend the API with a ProxyServer type.
2018-08-05 01:26:07 -04:00
Andrew Steinborn
06a6493605
Cleaned up connection code.
2018-08-04 03:18:57 -04:00
Andrew Steinborn
0ba85fe83f
Introduce a fluent connection request API.
2018-08-04 03:13:17 -04:00
Andrew Steinborn
fbdaae5ac7
Actually, this would be a better name...
2018-08-04 01:45:18 -04:00
Andrew Steinborn
9bcdc413d7
ProxiedPlayer interface
2018-08-04 01:40:37 -04:00
Andrew Steinborn
9438d087e2
Refactor cipher logic.
2018-08-04 00:09:25 -04:00
Andrew Steinborn
6f3397f76f
Adjustments.
2018-08-03 17:49:35 -04:00
Andrew Steinborn
68ded7ca7f
Allow tweaking compression.
2018-08-03 16:56:19 -04:00
Andrew Steinborn
0191b74840
Remove another memory copy with compression.
...
I considered using composite byte buffers but they would have added GC
overhead and would've been incompatible with any native code we added
unless special care was taken.
2018-08-03 05:21:35 -04:00
Andrew Steinborn
44932cfddb
Nuke some debug output.
2018-08-03 02:27:18 -04:00
Andrew Steinborn
7eea1a3ac6
Introduce a connection pool for Mojang's session servers.
...
This has the potential to cut the time that players spend at the
"logging in..." (or "encrypting..." for 1.13+) screen by a fair
amount (gains of 200+ ms were noted for my own home connection).
While this sounds minor, I really do like to aim for all the details
and this is one of them.
2018-08-03 02:25:57 -04:00
Andrew Steinborn
0c481d828d
Remove PluginMessage slicing for now.
...
This was causing leak issues and needs to be reimplemented. If anyone's
willing to undertake the work, I will gladly accept the PR!
2018-08-03 02:23:58 -04:00
Andrew Steinborn
d38c7467d9
Various Netty changes.
...
- Potentially fixed a reference count leak with plugin messages.
- Cleaned up plugin message handling.
- Optimized the pipeline for better throughput by eliminating copying
in the varint encoder and reduced object churn elsewhere.
2018-08-03 00:48:19 -04:00
Andrew Steinborn
68d315d1d3
Improvements for natives.
2018-08-02 23:52:21 -04:00
Andrew Steinborn
12ad629d4d
If the channel becomes inactive, the connection's closed, too.
2018-08-02 22:10:55 -04:00
Andrew Steinborn
b720b691de
Revert experimental change
2018-08-02 14:22:42 -04:00
Andrew Steinborn
4bc4a1ec6a
Use singular plurals, clean up some stuff.
2018-08-02 14:07:32 -04:00
Andrew Steinborn
2e59138428
Cleaned up native code.
2018-08-02 00:43:38 -04:00
Andrew Steinborn
850b2f7958
Add disposal checks.
2018-08-01 23:14:22 -04:00
Andrew Steinborn
9815837472
Fix directory structure
2018-08-01 22:27:40 -04:00
Andrew Steinborn
fb4e6fd8f1
JNI native zlib compression 🔥
2018-08-01 22:22:09 -04:00
Andrew Steinborn
22dd4bbb99
Split natives. Add proper disposal for natives.
2018-08-01 00:20:51 -04:00
Andrew Steinborn
284a2a67a2
Remove unused entity remapper.
2018-08-01 00:20:51 -04:00
Andrew Steinborn
de716578a2
Start archiving the API, too
2018-07-31 21:07:18 -04:00
Andrew Steinborn
c3e5784b64
This time, it needs to cache.
2018-07-31 16:23:22 -04:00
Andrew Steinborn
8b1e1f20cf
A little more documentation.
2018-07-31 16:22:21 -04:00
Andrew Steinborn
bbf861d3bc
Convert into a multi-module project.
...
For now, the API module only contains a few assorted utilities. More
will be added later.
2018-07-31 16:12:41 -04:00
Andrew Steinborn
f9fd58eea5
Update README.
2018-07-31 15:48:52 -04:00
Andrew Steinborn
25d13b2cc4
Bump to Gradle 4.9, fix deprecation warnings.
2018-07-31 15:25:34 -04:00
Andrew Steinborn
908aeb062d
Add fancy badge
2018-07-31 15:03:13 -04:00
Andrew Steinborn
4b3675b571
Clean this up a bit
2018-07-31 13:44:10 -04:00
Andrew Steinborn
d4ee9235e6
Merge pull request #8 from MatrixTunnel/master
...
Also update version string
2018-07-31 13:07:21 -04:00
MatrixTunnel
50c0426313
Also update version string
2018-07-31 06:13:31 -07:00
Andrew Steinborn
cfc67c97f8
Update for recent protocol support.
2018-07-31 02:51:27 -04:00
Andrew Steinborn
35f7488822
This should cache for real now
2018-07-31 02:06:43 -04:00
Andrew Steinborn
92a91b858f
try to fix gradle caching
2018-07-31 01:59:30 -04:00