These are chat archives for ProtoDef-io/node-protodef

12th
Apr 2017
mhsjlw
@mhsjlw
Apr 12 2017 00:14
I have no idea what to call the server either @hansihe
:)
mhsjlw
@mhsjlw
Apr 12 2017 01:25
@rom1504 can you tell me how reliability works?
I now have connection! / Handshake
So now I'm going to work on full reliability
Then I can add ipv6 support and make it a library and release it
Romain Beaumont
@rom1504
Apr 12 2017 16:10
ideas on a type thing that would just remove the ids from the protocol.json
Romain Beaumont
@rom1504
Apr 12 2017 16:40
"Boolean" wtf
oh we do have that
ok
ok so
I want a web editor
it could just auto suggest almost everything
or just that wiki extractor
Hans Elias J.
@hansihe
Apr 12 2017 16:45
what is it that annoys you about those changes? the fact that many of the ids have changed?
William Gaylord
@wgaylord
Apr 12 2017 17:20
I don't get what his problem is either. Packet Id change almost every update.
Also as soon as you remove the id from the MC protocol.josn
You make the user have to make the map themself.
As the id is a key part of a MC packet.
Hans Elias J.
@hansihe
Apr 12 2017 17:40
@rom1504 is it the fact that you need to spin a whole new file just to change the packet ids? i have a sort of solution planned for that
William Gaylord
@wgaylord
Apr 12 2017 18:31
well considering packets themself changed I don't see the point...
Hans Elias J.
@hansihe
Apr 12 2017 18:34
it would help solve that too
William Gaylord
@wgaylord
Apr 12 2017 18:36
?
your making something that does not care when the packet changes internaly?
Hans Elias J.
@hansihe
Apr 12 2017 18:37
what
William Gaylord
@wgaylord
Apr 12 2017 18:38
I said considering the packets themselves change when ever the IDs do whats the point in making it so the ids can change with out the packets changing?
and you said it will solve that too...
which makes no sense..
Hans Elias J.
@hansihe
Apr 12 2017 18:40
when did I ever say I wanted it so that just the ids could change? what i'm thinking is just a nice way to write between protocol versions
that would work on packet ids as well as general structure
that would make it really easy to eyeball changes between protocol versions, and would make it a lot easier to add new protocol versions
*what i'm thinking is just a nice way to write diffs between protocol versions
William Gaylord
@wgaylord
Apr 12 2017 18:41
Well the ids changing is implied when you say it fixes having to make a new file when they change.
so basiclly your making diff....
Hans Elias J.
@hansihe
Apr 12 2017 18:41
it fixes having to copy the previous protocol version and making changes
which is the tedious part
William Gaylord
@wgaylord
Apr 12 2017 18:42
only because you don't have a tool to extract them from a mapped jar. :P
Hans Elias J.
@hansihe
Apr 12 2017 18:42
and no, this is a semantic diff, not a byte by byte diff
we do, and that's what's used by the authors of wiki.vg to update to new versions
the problem with making the whole process automated is that the process needs some human intervention to give things proper names
William Gaylord
@wgaylord
Apr 12 2017 18:43
because its not running on named jars.
Hans Elias J.
@hansihe
Apr 12 2017 18:43
right
but deobfuscating jars need human intervention
William Gaylord
@wgaylord
Apr 12 2017 18:44
Do you plan on making protocol.json for snapshots?
Hans Elias J.
@hansihe
Apr 12 2017 18:44
there already are iirc
William Gaylord
@wgaylord
Apr 12 2017 18:45
Also I have been working on an automated system for obfuscating. And currently minecraft-data only has releases (last time I checked.)
Okay it has 3 old snapshots.
that's the newest if i'm not mistaken?
do you mean automated system for deobfuscation?
how are you solving that?
William Gaylord
@wgaylord
Apr 12 2017 18:50
I have been working on my own set of tools for 4 years fine tuning them. Currently it can map about 950 classes automatically with out any hard work. Plus I can also map all the entities automatically using byte code inspection. And enum field names are rebuilt from the constant pool data.
Hans Elias J.
@hansihe
Apr 12 2017 18:53
okey
is this open source? are you planning to share it?
William Gaylord
@wgaylord
Apr 12 2017 18:58
Not yet. It still has its flaws and the mappings are technically not 100% legal to distribute. Granted when I tried to talk to the MCP team about it they never responded so I assume its not exactly legal. (I am basically mapping MCP to the snapshots..)
:(
I have not started on method mapping... (Something that is very important)
Hans Elias J.
@hansihe
Apr 12 2017 19:11
do you mean it's not legal to distribute because it is derivative work from the MCP mappings?
or did I misunderstand you?
when I was asking if it was open source I was referring more to the toolset you use to generate the mappings
William Gaylord
@wgaylord
Apr 12 2017 19:12
I know.
My tool set is still highly flawed..
And also its currently a bit hands on. (I run it manually and some times get a bad mapping like matching 2 classes to MerchantList)
But the enum part and also the entity name collector is automatic. (Entity name collector is still being worked on. It is having problems with the messy byte code)
William Gaylord
@wgaylord
Apr 12 2017 19:17
EnumConnectionState is a nice class to start digging into mapping
Robin Lambertz
@roblabla
Apr 12 2017 21:24
chibill: packet ids used to not change. Life was nice back then :(
Woops, scrolled back way up
William Gaylord
@wgaylord
Apr 12 2017 21:31
When?
I never noticed them not changing.
Unless you mean back before 1.7?
or 1.6
Robin Lambertz
@roblabla
Apr 12 2017 21:31
before 1.7
TBH, it feels like mojang doesn't care about modders anymore :(
William Gaylord
@wgaylord
Apr 12 2017 21:33
really? SO far it seems like they love us.
Other then protocol modders
But thats Netty to blame. :P
more then mojang
Robin Lambertz
@roblabla
Apr 12 2017 21:33
Not netty's fault at all
Spigot used netty for a looong time with the old protocol.
In fact, the spigot dev is the guy who made the netty integration at mojang for the most part
It's really just mojang not caring.
That's not to say they hate us, they just don't care about making our lives easier.
why do you think jars are still obfuscated >_>'
William Gaylord
@wgaylord
Apr 12 2017 21:35
To stop people stealing / making hacked clients as easily.
At least that is the normal reasons for obfuscating anything.
Robin Lambertz
@roblabla
Apr 12 2017 22:19
doesn't really apply when we already have a shitbunch of those :P
Hans Elias J.
@hansihe
Apr 12 2017 22:20
yeah, that really isn't stopping anyone
security by obscurity really is a shit way to prevent hacking. the only real solution to that is good server-side checks
William Gaylord
@wgaylord
Apr 12 2017 22:58
I mean hacks like playing for free.
Hans Elias J.
@hansihe
Apr 12 2017 23:09
well, they don't even attempt to prevent that
the fact that online mode requires you to properly authenticate with Mojang is big enough of a barrier for most people, you would only be able to play on an offline server with a stolen game
mhsjlw
@mhsjlw
Apr 12 2017 23:13
or just use custom session servers
William Gaylord
@wgaylord
Apr 12 2017 23:27
so beds in the latest snap shot are a mess.,.. :(
The item has metadata for color but the block uses a tileentity.