LSProtocol is a free and open-source Minecraft protocol library that supports ViaVersion/ViaBackwards/ViaRewind
- Java 21
- Ensure your JDK Version is 21
- Run
mvn package - 2 Jars will be created in
/targetfolder, one fat-jar and one clean.
- Ability to create your own packets (for adding support for base 1.8.x(47) protocol)
- Enabling support for entire ViaVersion using ViaLoader
- Base support for the 1.20.4 protocol (Some packets are missing)
- Read unimplemented packets as RawPacket
- Readable and easy-to use examples.
- Check out the examples/tests provided here
- Official documentation is available here
- Check out wiki.vg for implemented base version 1.20.4
If you encounter any bugs or identify missing features, please inform us by opening an issue.
We welcome and appreciate contributions from the community. If you wish to support our project, you are encouraged to make changes to the LSProtocol source code and submit a pull request. Your contributions help us improve and grow the project.
This project is using VarInt and buffer optimizations used in Velocity/Paper/Krypton
Made by Andrew Steinborn
https://steinborn.me/posts/performance/how-fast-can-you-write-a-varint/
Also, this project is using a very fast packet registry system built on EnumMap.
Note: This packet registry might break in future protocol updates due to packetId being read as a byte instead of VarInt/Short
We're here to assist you! If you have any questions about using the library, encounter issues, or have suggestions for improvement, don't hesitate to reach out.
- Questions: Feel free to open an issue and ask how to achieve something specific with the library.
- Problems: If you encounter any difficulties, please open an issue to describe the problem and we'll be happy to assist.
- Improvements: We value your feedback! If you have suggestions on how to make the documentation clearer or more helpful, please open an issue and share your thoughts.
- No questions asked so far.
- Netty 4.1.107 (not all components are used)
- Kyori Adventure Serializer/NBT
- Steveice10 OpenNBT transferred to ViaNBT
- Velocity Native Cipher/Compression
- RaphiMC ViaLoader
- ViaVersion/ViaBackwards/ViaRewind
- EventAPI (unused right now)
LSProtocol is licensed under the GPLv3 license.
This project incorporates code from various third-party libraries and contributors. In recognition of their contributions, we include the following provision:
Third-Party Code Rights:
-
Right to Request Removal: The original author(s) of any code used in this project may request the removal of their code by contacting the project maintainers. Upon receiving such a request, the maintainers will make reasonable efforts to remove the specified code in a timely manner.
-
Right to Request Improved Attribution: The original author(s) may request enhanced attribution for their code, including more detailed description or documentation, by contacting the project maintainers. The maintainers will consider such requests and make reasonable efforts to comply.
-
Scope and Limitations: These rights apply solely to the portions of the code that were authored by the requesting party and incorporated into this project. The maintainers reserve the right to reject requests that cannot be reasonably accommodated or that would significantly disrupt the functionality of the project.