3
0
Mirror von https://github.com/PaperMC/Velocity.git synchronisiert 2024-12-26 08:10:14 +01:00
Commit graph

20 Commits

Autor SHA1 Nachricht Datum
Andrew Steinborn
1bb84f81df Rewrite native crypto to use OpenSSL
OpenSSL is much more portable and optimized (important for aarch64) and most systems already have a version.

Unfortunately, OpenSSL likes to break their ABI. Thankfully, Velocity's natives system is very flexible largely, so we can provide multiple versions of this crypto.

Versions of the dynamically-linked crypto were compiled on CentOS 7 (still supported until 2024, uses OpenSSL 1.0.x) and Debian 9 (the oldest distro including OpenSSL 1.1.0, whose LTS supports ends in 2022). The choice of distros was intended to cover most modern distributions (2014 and afterwards).

An ARM compilation (using Debian 9) will be published soon.
2020-06-22 20:14:46 -04:00
Andrew Steinborn
b3bd773fea Switch out Cloudflare zlib for libdeflate.
libdeflate is significantly faster than vanilla zlib, zlib-ng, and Cloudflare zlib. It is also MIT-licensed (so no licensing concerns). In addition, it simplifies a lot of the native code (something that's been tricky to get right).

While we're at it, I have also taken the time to fine-time compression in Velocity in general. Thanks to this work, native compression only requires one JNI call, an improvement from the more than 2 (sometimes up to 5) that were possible before. This optimization also extends to the existing Java compressors, though they require potentially two JNI calls.
2020-05-24 10:56:26 -04:00
Andrew Steinborn
b3ac73a51e Use Cloudflare zlib for more aggressive optimizations 2020-02-18 01:34:39 -05:00
Gabik21
e191577afb
Fix typo in gitignore 2019-09-29 22:07:49 +02:00
Andrew Steinborn
e21c33d435 Switch to zlib-ng
zlib-ng boasts higher throughput than regular zlib, by combining patches
from Cloudflare, zlib, and ARM's improvements to zlib along with a more
modern codebase.

Profiling consistently shows that compression is the largest CPU expense
by far, so even a minor speed-up here is significant.
2019-09-08 23:30:28 -04:00
Andrew Steinborn
72283af867 Ignore all out/ directories from IntelliJ. 2018-10-26 16:11:03 -04:00
Luck
86c1d42fa5
Fix/improve gitignore file to fully cover all IntelliJ IDEA files
Although the gitignore.io template does a decent job, it isn't broad enough to cover all of the files generated by IDEA. :(
2018-09-20 15:05:24 +01:00
Andrew Steinborn
508ba35697 Exclude plugins from Git. 2018-09-18 16:48:52 -04:00
Slava Maspanov
a3c4522ca0 Allow to enable online mode for player connection (#51) 2018-08-24 20:55:15 -04: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
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
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
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
23a6488a39 Add default config again. Closes #12 2018-08-05 16:12:16 -04:00
Andrew Steinborn
f34e9b19c9 Add configuration stuff (this is not done yet) 2018-07-27 13:32:15 -04:00
Andrew Steinborn
c9af231c7e Switch to log4j2 logging 2018-07-27 01:54:40 -04:00
Andrew Steinborn
ab965108d6 Another file to exclude. 2018-07-26 00:00:59 -04:00
Andrew Steinborn
446f9acc45 Removed .idea folder 2018-07-25 23:58:18 -04:00
Andrew Steinborn
666d07e2a8 Initial commit. Very broken and only does Server List Ping! 2018-07-24 14:08:55 -04:00