aridevelopment-de / fabric-packet-logger

Client-side packet logger with web-ui
https://modrinth.com/mod/packetlogger
GNU Affero General Public License v3.0
20 stars 6 forks source link
fabric minecraft utility

⚠️ Project no longer maintained (and what happens with the frontend)

Since I don't have the time to work on the frontend and the backend, I will discontinue this PacketLogger project. But don't worry, the frontend won't be for nothing.
Developing on both sides takes up a lot of time, especially if you want to implement cool new features on the frontend while the backend contains bugs that must be fixed as to aid users. It's been tough doing that at the same time and I do not wan't to do that anymore. I am mainly a web-developer and I want to continue this passion.
That's why I will stop developing the mod.
But: The frontend will be moved to wisp-forest/gadget. At least that is the current idea. It might take up some weeks before everything is set in place, so I highly encourage you to switch over to gadget if you need an alternative atm.

It has been a pleasent journey working on packetlogger. I learned much about minecraft modding in itself, minecraft packet structure and met wonderful people on the way. If you have some questions, hmu on Twitter or Discord

Fabric Packet Logger

I use this for development at thejocraft.net. Yes, the code may not be the best. If you want to improve it, do it and open a pull request.

Features

Supported Minecraft Versions

Minecraft Version Status Notes
1.19.3 ⚠️ A rather scuffed version, since 1.19.4 support existed before 1.19.3, so 1.19.3 was created out of 1.19.4
1.19.4 ✔️

⚠️ = Packets implemented but not validated
✔️ = Supported

Linked repositories

Commands

Supported packets

Clientbound
100%
100%
100%

Serverbound
100%
100%
100%
100%

As developing serializers for each packet takes a lot of time, not every packet is supported. I will add more packets over time. If you want to help out, feel free to open a pull request.

Why do you not use Reflection to convert the packet data?

There are some reasons why I didn't use Reflection. Here are the main reasons:

If you still prefer a reflection-based approach, check out wisp-forest/gadget

Websocket

By default, the web-ui connects to the websocket and receives the packet information via json data. You can also connect to this websocket as well and receive the same data as the web-ui. I'd recommend using insomnia or weasel on firefox.
A protocol has been defined for the websocket. It uses data chunking and lazy loading of packet information to reduce traffic. See protocol.md for more information.

Previews

Video:

MapUpdateAdapter: https://cdn.discordapp.com/attachments/598256161212596235/1093635306244280431/image.png https://cdn.discordapp.com/attachments/598256161212596235/1093668040752762920/image.png