Jump to content

Recommended Posts

Posted

I am aware that using the vanilla packets is not a good way to do something but I only need that for debugging purposes. A specific server sends some data in an unintended way and because of that I need to know in what packet the information is send so I can make my own parser for it. For that purpose I need ALL the contents of the packets as a string, so that I can filter for known information using .contains(). I tried using Gson.toJson() to convert a packet object to text, but many of the packets contain self references or other thing, which causes fails using that method. Sadly the information that I need is not stored in the packets. It would be nice if it would work in 1.18 but it does not matter, as I just need the data once for debugging purposes. 
Thanks for every help

Posted

The data is some kind of playerdata but I have no idea in what packet it is. With unintended i meant that a vanilla server.jar would not send data of this kind in that packet. This was confirmed to me by a ex-developer for that server. It cant be accessed by the standard ways of obtaining playerdata in forge and because I dont know in what packet the data is sent, I cant reverse engineer where I could access it. I know that this is strange, but like I said, this is for debugging purposes only and I will find a better and more stable solution for any productions builds, when I know where the data is sent. I know how it looks, so I could just look thought any packets with .contains(), if I had them as a string.

Posted

I dont knwo about eclipse but Intellij has nothing to automate that and searching manually would take ages, as these packets are giant.

Posted

The end goal is finding the packet within the data is send. I know when I found the packet, because it always contains a specific non existing uuid. Because of that, I came up with the idea to just convert the packets to text and search for the uuid.

I have the packet Object, but I dont know how to get the raw text. If the debugger can help me with getting this text, please explain to me how. I dont care how to achieve that goal so every idea is important. 

 

Posted
3 minutes ago, Janxr said:

The end goal is finding the packet within the data is send. I know when I found the packet, because it always contains a specific non existing uuid

Use debugger, put a breakpoint in the PacketDecoder where there Packets are created then skip them until the Packet contains the desired UUID.

Posted (edited)
8 minutes ago, Luis_ST said:

Use debugger, put a breakpoint in the PacketDecoder where there Packets are created then skip them until the Packet contains the desired UUID.

Could you tell me where the packet decoder class is located and how its exactly called? I used an completely other way to get the packets. I dont care about the minecraft version

Edited by Janxr
Posted (edited)

Then this could a bit more problematic, but you still read the Packet somewhere from the Network.
Put there the Breakpoint and your IDE should show the name of the Packet class and the variable values of it.
Then do this:

Quote

then skip them until the Packet contains the desired UUID

Edited by Luis_ST
Posted

Ok I got the the point where I can seed the packet object in the debugger, but I dont see how to see if it contains the uuid. The packets are huge and there are way to many to look for them manually. I dont see any option to run code from the debugger and if I could, where would be the difference to just running that code where I get the packet (I cant get them in to a state where I can search them for text)?

Posted
4 minutes ago, diesieben07 said:

That is not what I mean. I mean why do you need this data? What are you trying to do with it?

The server used that fake player as a way to dump debug data and forgot about it. It is the only way for me to get information like the real playerEntities (with is faked by the server when retrieved the normal way) and some other things that are important.

Posted (edited)

It seems like we have a communication issue here. I can not explain better why I want that. Maybe that is because my English is bad or whatever.

To save time: could you explain to me how I can
search trough every incoming minecraft packet automatically with .contains()
or
that I need to seek help at another place.

thank you.

Edited by Janxr

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I've been using this modpack for a few days now with no issues, it was working properly just an hour or two ago and now all of a sudden when I try to load it I get this error: 'The game crashed: exception in server tick loop Error: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $' debug log: https://pastebin.com/1htBuhsP crash report: https://pastebin.com/QggHKYDg
    • Everything worked fine until I decided to install supplementaries squared, amendments and a couple other mods like artifacts, and compats for it. I'm having a hard time fixing this, and I get this crash whenever I try to enter a world. Not even a new world is feasible. Any help would be highly appreciated!! https://pastebin.com/7KXYZ6fM
    • Internal Exception: com.google.gson.JsonParseException: Error loading registry data: Unknown element: ResourceKey[minecraft:worldgen/configured_feature / minecraft:crimson_forest_vegetation]   This error is there when i try to join my friends server. We had some mods and it was okay but after 3 days i cant join.
    • It just says the mod i had but i dont have now.. and i didnt even use these mods and it still was crashing with the mods  
    • Hello,   I've been back and forth in emails with some CurseForge support staff on the issue but there's been no progress. In the CurseForge app, I have custom profiles and some public modpacks that will not load no matter what. I've goen through every link sent to me, I've reinstalled Minecraft, reinstalled the launcher, repaired the installations individually, uninstalled and reinstalled the public modpacks, downloaded the latest Java--all of it. But each time, I'm always met with either "java runtime exception", "exit code 1" on the rare occasions Minecraft does launch, or "java is out of date" (which literally cannot be possible since I reinstalled the latest version a few different times.) Making a new profile works, but I want to be able to play the ones I had before.  I had gotten one of the old public Minecraft modpacks to work, the prehistoric one about dinosaurs being featured right now, but then it only worked once. I've tried to retrace my steps and it just would not work. I have genuinely no clue what's going on.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.