17:28 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to 1.9 [+0/-0/±1] http://git.io/vCz5m 17:28 < Not-f7bb> [minecraft-data] rom1504 d804803 - update spockbot data usage 20:07 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to 1.8 [+0/-2/±1] http://git.io/vCg7F 20:07 < Not-f7bb> [minecraft-data] rom1504 35ec3a0 - move wiki.vg protocol extractor to https://github.com/PrismarineJS/mcdevs-wiki-extractor 20:08 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to 1.9 [+0/-2/±1] http://git.io/vCg5I 20:08 < Not-f7bb> [minecraft-data] rom1504 bd41a57 - move wiki.vg protocol extractor to https://github.com/PrismarineJS/mcdevs-wiki-extractor 21:41 < TkTech> I ls'd inside my log folder on a tethered connection 21:41 < TkTech> It's been going for awhile 21:41 < TkTech> ip-10-235-4-149% du -h . 21:41 < TkTech> 1.8G 21:50 < tehme> hello 21:51 -!- tehme was kicked from #mcdevs by TkTech [tehme] 21:58 < TkTech> (We don't tolerate pirates or people that want to "learn how to grief a server"...jesus...) 22:15 < rom1504> hmm really ? a 2 year ban is not enough ? 22:18 < TkTech> He's been in here and other channels many times. 22:18 < TkTech> Frequently he just joins to spam youtube videos and leaves. 22:18 < TkTech> I don't believe he's matured to the point where he can be a net contributor to the channel. 22:26 < rom1504> ok --- Day changed mer. oct. 14 2015 04:03 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to 1.8 [+0/-13/±1] http://git.io/vCaxp 04:03 < Not-f7bb> [minecraft-data] rom1504 a699803 - move minecraft wiki extractors to https://github.com/PrismarineJS/minecraft-wiki-extractor 04:04 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to 1.9 [+0/-13/±1] http://git.io/vCapU 04:04 < Not-f7bb> [minecraft-data] rom1504 ca4eea6 - move minecraft wiki extractors to https://github.com/PrismarineJS/minecraft-wiki-extractor 14:48 < Wuppie> Hi people! 14:49 < Wuppie> i decided to fully rewrite my MC server, but the new chunk sections for 1.9 confuse me... 14:50 < Wuppie> I set Bits Per Block to 0, and don't send the palette length and palette. I'm just confused what the format of the Data array should be like... 15:04 < Fenhl> Wuppie: which part do you need help with? How a single block is encoded or how they're ordered? 15:04 < Wuppie> how are they encoded? 15:05 < Fenhl> okay so the global palette is 13 bits per block, so the first 13 bits of Data Array is the first block in the section 15:06 < Fenhl> the global palette uses the block IDs from http://minecraft.gamepedia.com/Data_values#Block_IDs as the first 9 bits and the damage value as the last 4 15:07 < Wuppie> ahh okay :D 15:07 < Fenhl> so a block of stone would be 000000001 0000 because the block ID is 1 and the damage value is 0, but a block of diorite would be 000000001 0011 because the block ID is 1 and the damage value is 3 15:07 < Wuppie> yeah :) 15:10 < Wuppie> thanks Fenhl, i'll try it 15:10 < Wuppie> :) 15:11 < Fenhl> let me see how I can clarify that in the article 15:12 < Wuppie> i'm not very good with bitshifting... What would the bitshifting for this be? 15:12 < Wuppie> numbers make my head go weird xD 15:15 < Wuppie> oh, just like it says right there ofcc 15:15 < Wuppie> hehe 15:22 < Fenhl> there we go, this should be a bit clearer 15:22 < Wuppie> yup :D 15:26 < Fenhl> btw, how many bits is a BlockID in Entity Metadata? 15:27 < Fenhl> in 1.9, that is http://wiki.vg/Pre-release_protocol#Entity_Metadata 15:58 < rom1504> Fenhl: http://wiki.vg/index.php?title=Pre-release_protocol&diff=6925&oldid=6924 it's a varint 15:58 < Fenhl> thanks 17:25 < Wuppie> Fenhl, could you help me with the chunk stuff? I can't seem to get it to work.... 17:25 < Wuppie> :( 17:25 < Fenhl> sure 18:40 < Wuppie> in the snapshots, it seems Biomes aren't send in the chunk data anymore? if i send them it tells me there are to many bytes found. 18:40 < Wuppie> (even with ground-up continous) 19:03 < rom1504> it would seem so 19:04 < rom1504> hmm I don't know where that info went though 19:11 <+XorBoole> you know what'd be nice 19:11 <+XorBoole> if creative flight used the elytra animation 19:11 <+XorBoole> the elytra animation is pretty 19:11 <+XorBoole> also flying through 1x1 holes 19:38 < Wuppie> Latest snapshots add's a byte to Player Position And Look send to the client, idk what it is for yet 19:41 < rom1504> Wuppie: add it in the pre-release page ;) 19:41 < Wuppie> Yeah, the thing is i don't know what the byte does... 19:41 < Wuppie> xD 19:42 < rom1504> https://twitter.com/Dinnerbone/status/651361886957666304 19:43 < rom1504> idk what that means exactly though 19:43 < Wuppie> yeah me neither... 19:47 < Wuppie> You know what's anoyying? if u send a chunk to the client and client has this error http://hastebin.com/qijanoqego.txt 19:47 < Wuppie> and then chunk is an empty chunk 19:47 < Wuppie> :( 20:00 < rom1504> well that probably mean you send that chunk wrong 20:00 < Wuppie> well, it 20:00 < Wuppie> probably 20:00 < Wuppie> the info on chunks probably isn't correct on pre-release protocol 20:01 < rom1504> hmm I think it is 20:01 < rom1504> Grum provided that info 20:01 < Wuppie> weird... 20:02 < rom1504> are you sure you are doing what's in http://wiki.vg/Pre-release_protocol#Chunk_Section ? 20:02 < Wuppie> yup 20:02 < Wuppie> but sending biome data isn't accepted either 20:02 < Wuppie> so 20:02 < rom1504> well that page doesn't say anything about biome 20:02 < Wuppie> no, but Chunk Data does 20:02 < Wuppie> :P 20:03 < Wuppie> http://wiki.vg/Pre-release_protocol#Chunk_Data 20:03 < rom1504> err actually http://wiki.vg/Pre-release_protocol#Chunk_Data 20:03 < rom1504> yeah 20:03 < Wuppie> even with ground-up continous it does NOT accept biome data at the end 20:04 < Wuppie> it would just tell me that there are 256 bytes to much, which is the biome data rom1504 :P 20:05 < Wuppie> so it probably changed somewhere without being updated on the pre-release page 20:06 < rom1504> yeah that's possible 20:06 < Wuppie> :( no way for me to implement it right now then 20:06 < Wuppie> xD 20:06 < rom1504> well it means you have to figure out the correct thing 20:06 < Wuppie> yeah. wouldn't have a clue how really 20:08 < rom1504> read the decompiled source 20:09 < Wuppie> yeah... need to be able to deobfuscate it first. and MCP isn't really working 20:09 < Wuppie> xD 20:09 < rom1504> you don't necessarily need to deobfuscate it 20:09 < Wuppie> unreadable as f if i don't lol 20:09 < rom1504> it's just more annoying to read 20:10 < Wuppie> yeah i know, i did quite allot of cracking a long time ago 20:11 < rom1504> well, reading it I can confirm there's 2 int then a boolean 20:11 < rom1504> that's something ^^ 20:11 < rom1504> now the rest is a bit more complicated hmm 20:12 < rom1504> "☃2?256:0;" 20:13 < rom1504> sounds like it should read the biome 20:13 < Wuppie> hm 20:13 < Wuppie> what class is that? 20:13 < rom1504> gp 20:14 < Wuppie> int 20:14 < Wuppie> 2 ints, 1 boolean, a varint 20:15 < Wuppie> another varint 20:15 < Wuppie> correct so far 20:15 < Wuppie> lol 20:17 < Wuppie> but yes, what it does is this: 2 ints, 1 bool, 2 var ints, byte array based on last varint 20:17 < Wuppie> so, i'm correct that it is not sending biome data in there... i think 20:18 < rom1504> I think the biome data is in the byte array ;) 20:18 < Wuppie> could be. 20:18 < rom1504> look at the "protected static int a(int ☃, boolean ☃1, boolean ☃2)" method 20:19 < rom1504> must be the sizeOf 20:20 < Wuppie> i don't see a sizeOf 20:20 < rom1504> it's called a 20:20 < Wuppie> hm 20:20 < Wuppie> well, i still find it weird 20:21 < rom1504> well http://wiki.vg/Protocol#Chunk_Data 20:21 < rom1504> the biome thing was undocumented in 1.8 page 20:22 < rom1504> it's probably kind of put together with the rest in mc code 20:22 < Wuppie> http://wiki.vg/SMP_Map_Format#Data 20:22 < rom1504> yes 20:23 < rom1504> I mean the packet is one big buffer anyway, where you cut the field might not always be consistent 20:26 < rom1504> Wuppie: what snapshot are you trying this on ? the last one ? 20:26 < Wuppie> yeah, 15w42a. 20:26 < rom1504> (pre-release page is only up to date until 15w40b ) 20:26 < Wuppie> i know 21:35 <+Grum> Wuppie: chunkdata on the wire is quite drastically different in 1.9 snapshots 22:12 < umby24> for the position data type, what are each of the locations variables defines as once unpacked? floats, ints, doubles? 23:28 < gamingrobot> umby24|offline: ints I believe 23:55 < Pangea> anyone from prismarinejs here atm? have a question about protocol_extractor.js 23:55 < Pangea> not sure what https://github.com/PrismarineJS/minecraft-data/blob/1.8/tools/js/decompiled_extractor/protocol_extractor.js#L56 is supposed to do 23:56 < Pangea> is that supposed to regex lines like `a("HANDSHAKING", 0, -1, null) {` from el.java? 23:57 < Pangea> because if it is, why not just look for (HANDSHAKING|PLAY|STATUS|LOGIN) --- Day changed jeu. oct. 15 2015 00:09 < gamingrobot> rom1504: ^ 00:20 < Pangea> if it matters, I'm using fernflower 00:47 < rom1504> Pangea: there is no name in the java files 00:48 < Pangea> name? 00:48 < rom1504> any name 00:48 < rom1504> so for example there is no "HANDSHAKING" 00:48 < Pangea> there is for me o.o 00:48 < Pangea> what decompiler are you using 00:49 < rom1504> fernflower 00:49 < rom1504> https://github.com/PrismarineJS/minecraft-data/blob/1.8/tools/js/decompiled_extractor/protocol_extractor.js#L92 00:49 < rom1504> I have "a(-1) {" in el.java 00:49 < Pangea> can I pastebin a small part of my el.java for you 00:49 < rom1504> the regex get the -1 00:50 < rom1504> sure 00:50 < Pangea> this is what I see: http://hastebin.com/avujezujew.java 00:50 < rom1504> what snapshot ? 00:50 < Pangea> 15w41b 00:51 < rom1504> mine is http://hastebin.com/ohiduyiqaw.avrasm u_u 00:51 < rom1504> did you give any option to fernflower ? 00:51 < Pangea> nope 00:52 < Pangea> java -jar fernflower.jar 15w41b.jar decomp 00:52 < rom1504> when did you clone fernflower ? 00:52 < Pangea> uhm 00:52 < Pangea> didn't compile it myself 00:52 < rom1504> https://github.com/fesh0r/fernflower/commits/master seems there are 5 new commits since I did it 00:53 < Pangea> got it from https://the.bytecode.club/showthread.php?tid=5 00:53 < rom1504> ah well 00:53 < rom1504> that's probably the difference then 00:53 < Pangea> ok.. 00:53 < Pangea> anyways, I was porting protocol_extractor.js to python 00:54 < rom1504> ok 00:55 < Pangea> rom1504, do you have a protocol.json that the js extractor outputs so I know how it should looks 01:02 < rom1504> Pangea: https://gist.github.com/rom1504/f30d0cd18d4fb39d1515 01:03 < Pangea> thanks 01:03 < Pangea> good, looks just about same 01:03 < Pangea> but id came after fields 01:05 < Pangea> rom1504, should I pr my port once I'm done? 01:07 < rom1504> Pangea hmm, I'm actually in the process of getting the extractors out of minecraft-data and into their own repo, see https://github.com/PrismarineJS/mcdevs-wiki-extractor https://github.com/PrismarineJS/minecraft-wiki-extractor and soon https://github.com/PrismarineJS/minecraft-jar-extractor . I think you should just put your python extractor in a new repo, and then PR a link to it in the https://github.co 01:07 < rom1504> m/PrismarineJS/minecraft-data#data-and-extraction section 01:07 < rom1504> https://github.com/PrismarineJS/minecraft-data#data-and-extraction 01:07 < Pangea> ok 01:16 < Pangea> awesome rom1504: http://www.diff.so/a/35tm2yR5Li 01:16 < Pangea> going to clean it up now 01:17 < Pangea> left is js 03:25 < Fenhl> rom1504: in the 1.8 page the biome thing is still part of the Chunk type 03:27 < Fenhl> which I changed to an Array of Chunk Section for 1.9 because it just repeats the same format for every section anyway 10:24 < rom15041> Yeah 13:38 < Myvar> Hello 13:39 < Myvar> I need some help with, 15w41b Chunk format for chunk data packet 13:39 < Myvar> very specificaly this 13:39 < Myvar> http://wiki.vg/Pre-release_protocol#Chunk_Section 13:40 < Myvar> if i make Bits Per Block = 0 13:40 < Myvar> then Palette Length and Palettedoes not need to be given correct ? 13:40 < Myvar> And what is the fromat for Data Array 14:11 < rom1504> first question : yes 14:11 < rom1504> the format of data array is "List of 4096 indices pointing to state IDs in the Palette, followed by padding to round the length up to the next multiple of 8 bytes" 14:19 < Myvar> this part confuses me padding to round the length up to the next multiple of 8 bytes 14:25 < rom1504> add 0 --- Log closed jeu. oct. 15 15:29:03 2015 --- Log opened jeu. oct. 15 15:41:20 2015 15:41 -!- Irssi: #mcdevs: Total of 147 nicks [1 ops, 0 halfops, 16 voices, 130 normal] 15:44 -!- Irssi: Join to #mcdevs was synced in 217 secs --- Day changed ven. oct. 16 2015 18:22 < Aikar> Grum, identified a 2nd pain point. the individual .remove() calls are also hurting 18:23 < Aikar> but ive now optimized that out by marking instead of .remove() and running a 2nd compaction after tick 18:25 < Aikar> Grum, latest patch: https://bitbucket.org/starlis/empirecraft/src/02bc942c328f25ba5beed7e9fb8647ec70f73279/patches/craftbukkit/0118-Optimize-Entity-and-Tile-Entity-Removal.patch?at=master&fileviewer=file-view-default 18:26 < Aikar> left player removal as .remove() because i found out its kinda bad to go marking the player object for removal since CB changed it so the player object persists death heh 18:27 < Aikar> player couldnt respawn when dying >_> 18:27 < Aikar> overall the changes pretty simple and minor, hope vanilla can just get it in for 1.9 19:37 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to 1.8 [+0/-0/±1] http://git.io/vCQJd 19:37 < Not-f7bb> [minecraft-data] rom1504 f17a0f1 - depreciate branch, now use master 19:38 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to 1.9 [+0/-0/±1] http://git.io/vCQUT 19:38 < Not-f7bb> [minecraft-data] rom1504 3aad988 - depreciate branch, now use master 19:54 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vCQmG 19:54 < Not-f7bb> [minecraft-data] rom1504 26114c7 - update phasebot data usage 22:54 <+md_5> http://wiki.vg/MCDevs/rules --- Day changed sam. oct. 17 2015 01:39 < TheChatter2000> hey guys, can somebody help with my little npc lib? my problem is that i can spawn my npc without any problems (i create a new entitypalyer with a custom Playerconnection), but i need to make my NPC invisible but when i throw a invisible potion on it, or try to make it with my plugin invisible with .addPotionEffect nothing happends hope somebody can help ;) 14:22 < TheChatter2000> hey, i got a little problem with my little NPC lib, i only want to spawn a NPC, add him to a scoreboard team with seeFriendlyInvisibles, and make him Invisible, spawning and add him to scoreboard works well, but it ignores totaly the invisible potion, why?, i created a new EntityPlayer with a custom PlayerConnection, hope somebody can help ;) 14:31 < rom1504> TheChatter2000: what API is that ? 14:38 < TheChatter2000> my own ^^ 14:38 < angal> If you are a client, which interracts to vanilla server, you must send player movement packets to make your entity processed. 14:38 < TheChatter2000> just 2 classes 14:41 < angal> Yoa are a serer or a client? Where you can't see custom entity state change? On server, on client or on other vanilla client? 14:48 < rom1504> "my own" : that's the problem, we can't guess what your classes and methods do 15:23 < TheChatter2000> ok i'm back now, so i use spigot and i create a new EntityPlayer with the constructor, and i set the player conenction to a custom player connection, in the palyer connection is the send üacket method and isDisconnected method overridden, is Disconnected return always falsew and sned packet does nothing. 15:32 < angal> Yor fake connection should work like real client. And vanilla server requires movement packets from client, to client being proceed. So make your fake client send movement packets and all must work better. 15:36 < TheChatter2000> so i should send to all PacketPlayOutRelEntityMove ? 15:41 < angal> Em... 15:42 < angal> You should send to server one of Player/Player Position/Player Look/Player Postion Look packets from your fake connection. 15:43 < angal> In 47 version it's 0x03 - 0x06 packets. 15:44 < TheChatter2000> ah ok so with playerconnection.a(packet) or i'm fully retarded now xD? 15:45 < TheChatter2000> ah i knwo what i mean, and atm i have like a palyer who trys to log in, so i need to say the server he is here ^^ 15:45 < TheChatter2000> ok i will try ^^ 15:45 < angal> I never touch vanilla sources, so idk inner names. 16:24 < TheChatter2000> it still don't work >_> :c 16:27 < TheChatter2000> angal u know why :c? 16:33 < angal> Does the whole login sequiense happens? Does server send packets to your fake connection about potion effects? 0x1D for 47. Does ping-pong goes fine (if it needed)? 16:35 < TheChatter2000> ? its not a custom client, i'm just spawning an entity on the server via a plugin, and this entity (EntityPlayer) dont get any potion effects 16:36 < TheChatter2000> http://pastebin.com/fsHpkByG 16:37 < angal> I con't know inner vanilla behaviour. Maybe someone else can help you then. 16:38 < TheChatter2000> :'(( 16:49 < Pangea_> TheChatter2000, is that spigot? 16:49 < TheChatter2000> y 16:49 < Pangea_> you should try #spigot on the spigot irc network 18:13 < Not-f7bb> [minecraft-data] rom1504 deleted branch 1.9 18:13 < Not-f7bb> [minecraft-data] rom1504 deleted branch 1.8 21:32 < LisaParker> Relaxing: 21:32 < LisaParker> https://www.youtube.com/watch?v=msiPD8OlWDg --- Day changed dim. oct. 18 2015 00:58 < barneygale> Trying to figure out how to implement chest locking in a proxy o_o 01:03 < rom1504> barneygale: intercept the packet the client send to open the chest ? 01:04 < barneygale> I'd also need to stop them breaking the chest 01:04 < barneygale> through lava, explosions, etc 01:04 < barneygale> is there some metadata you can set on a block to make it invincible? 01:05 < barneygale> otherwise I'd need to swap it to/from bedrock I think 01:38 < Gjum> barneygale, server decides if chests get destroyed by lava/tnt/..., so the server has to see bedrock, chest would be proxy and client only 01:39 < barneygale> I could actually swap in a chest with /setblock. That means I wouldn't need to implement inventory interaction, and it might be quite cool that when you unlock your chests, someone can sneak up on you ;) 01:41 < barneygale> Gjum, ^ 01:41 < Gjum> make every chest enderchest-style (everyone sees a different chest inv), except you can have any number of them 01:41 < Gjum> well, that wont work with setblock tho 01:42 < barneygale> Bah, i swear i'm hitting a bug in the latest snapshot. Every time the client connects to the server, it takes progressively longer to exit the dirt screen. 01:45 < Gjum> barneygale, btw benbaptist has a similar project to yours: https://github.com/benbaptist/minecraft-wrapper 01:47 < barneygale> oh nicee 02:20 < barneygale> oh fun, 1.9 calculates what block/entity you're clicking on server-side. I guess that defeats reach hacks 02:34 < angal> Cool! 02:34 < angal> May be in 1.10 we get server side movements... 02:50 < Gjum> barneygale, how do you know that? Pre-release_protocol#Use_Entity is pretty much unchanged 02:50 < Gjum> :/ 02:50 < angal> :) 02:51 < Gjum> anyone? 04:14 < rom1504> barneygale_: still no issue with gamemode3 in your proxy ? 18:31 < barneygale> The pre-release protocol docs for "Use Item" says it's a varint enum, but I'm seeing a 13-byte payload: 00 00 1f c1 00 00 00 7c 01 00 07 0e 05 18:32 < rom1504> pre-release is 15w40b 18:33 < rom1504> last snapshot is 15w42a 18:33 < rom1504> there are protocol changes between the 2 that nobody updated in pre-release page yet 18:34 < barneygale> I figured - I'm wondering if anyone can tell me what they are 18:51 < barneygale> how do people figure out packet IDs nowadays? is there a replacement for burger? 19:06 < rom15041> I used https://github.com/PrismarineJS/minecraft-jar-extractor but it's not as complete as burger, it's enough to get the classname<->packetId though 19:07 < rom15041> sometimes I used nmp proxy to figure some stuff out too. 19:07 < rom15041> Idk what other people are using though 19:18 < barneygale> thanks rom15041 :) 19:43 < barneygale> Look like there's a new client -> server packet 0x0B, plus a couple of new ones at the end: 0x1C and 0x1D 19:54 < rom15041> Last time I checked, I think they inserted one one the middle actually (since they sort the packets by name now) 19:55 < rom15041> *in the middle 20:12 < barneygale> rom15041, that's what I'm getting at. 0x0B has been inserted and everything following shifted forward 20:13 < rom15041> Ah, yeah 20:14 < rom15041> You still got to figure out the fields and their meaning by reading the classes though (and experimenting to find their meaning) --- Day changed lun. oct. 19 2015 04:08 < mml> is encryption turned on prior to sending the login success packet? 04:08 < mml> or immediately after 04:09 < mml> and is the uuid sent in the login success packet encoded like other mc strings (len+data/utf16) 04:49 < nickelpro> mml: Encryption is turned on after sending clientbound Encryption Request 04:49 < nickelpro> During login 04:49 < nickelpro> The uuid is a normal string 04:50 < nickelpro> Not utf16 though, MC strings are varint prefixed utf8 05:08 < mml> nickelpro: ah, so the login success packet has to be sent encrypted 05:08 < mml> that would explain a thing or two 05:09 < mml> i.e. this: http://wiki.vg/Protocol#Login_Success needs to be encrypted 05:09 < nickelpro> Correct 05:09 < mml> sweet. thanks. 05:36 < mml> hm, so the iV is the server's private key? or the shared secret (symmetric key)? the proto docs are a bit fuzzy 05:39 < nickelpro> IV is the shared secret 05:40 < nickelpro> Public/private key is just for exchanging a shared secret so you can begin symmetric encryption 05:43 < mml> kk, tks 05:43 < mml> did seem a bit funny to be mucking around w/ the pkey for any reason 11:47 < barneygale_> Gjum, fyi my comment about use entity from a couple days ago was incorrect. I had my packets misnumbered 11:47 < barneygale_> rom1504, what's the gamemode3 issue? 11:50 < rom1504> we have don't have noclip in gm3 in nmp proxy/server 11:50 < rom1504> and I have no clue why 11:51 < rom1504> (so I'm wondering if we're the only server/proxy with that issue) 11:51 < barneygale_> I'll test it tonight 11:52 < barneygale_> You're expecting to be able to noclip in spectate mode, but you can't? Is that right? 11:52 < rom1504> yes 11:52 < barneygale_> I don't know much about spectating 11:52 < barneygale_> OK 11:52 < rom1504> me neither, I just know it doesn't work as expected ^^ 11:52 < barneygale_> haha :) 19:10 < mlooney> is it correct to assume the packet length isn't encrypted during an encrypted connection? 19:13 < angal> Nope. The whole stream are encrypted, after encryption starts. 21:31 < arrrjt> is the item id list on grahamedgecombe.com accurate? there is a difference between that list and the node minecraft-protocol source 21:32 < arrrjt> (some doors are off-by-one, eg Dark Oak Door) 21:38 < Gjum> arrrjt, for dark oak door the block IDs are the same, but the items are different. I guess nmp is wrong, as the mcwiki also says 431 21:39 < arrrjt> ah thanks! guess I'll try to fix that and submit a pr 21:40 < Gjum> arrrjt, well the data is now at https://github.com/PrismarineJS/minecraft-data 21:40 < Gjum> rom1504 ^ 21:41 < Gjum> arrrjt, also the data is getting extracted from the mcwiki, so I don't know why that's wrong 21:41 < Gjum> do you run an old version? 21:42 < rom1504> node-minecraft-protocol never stored the item id list 21:42 < arrrjt> looks to be incorrect in that repository too though 21:42 < rom1504> mineflayer did, some time ago now 21:42 < arrrjt> Dark Oak Door is 430 21:43 < rom1504> arrrjt: is it ? 21:43 < rom1504> in 1.8 ? 21:43 < Gjum> yup 21:44 < rom1504> in 1.8 it's 430 21:44 < Gjum> well it's 480 in mcdata, 481 in minecraft 21:44 < rom1504> (which is correct in mcdata) 21:44 < arrrjt> line 1231 of items.json 21:44 < rom1504> in 1.9 it seems to be 431 21:44 < rom1504> yes$ 21:44 < rom1504> hmm 21:45 < arrrjt> the most recent mineflayer was crashing for me on item 431, which is why I came here 21:46 < Gjum> oh no, does that mean we split items.json agin? :O 21:46 < rom1504> ah I know why 21:46 < Gjum> ah no nvm, it's all master now :P 21:46 < rom1504> Gjum: no 21:46 < rom1504> 426 doesn't exist 21:46 < rom1504> I guess my script choked on that 21:47 < rom1504> arrrjt: you can make a PR if you want but I'll rerun the extraction script and update the data files soon enough anyway 21:47 < arrrjt> if it's automated then no need for the PR I guess 21:48 < arrrjt> thanks for the help anyway :) 21:48 < rom1504> yeah, it's just that I need to fix a few things in these scripts before running them again but I will ;) 21:48 < arrrjt> in the meantime I've modified my mineflayer to ignore 431 21:48 < rom1504> ok 21:49 < rom1504> arrrjt: are you building any interesting bots ? 21:49 < arrrjt> started today, so not yet :) 21:49 < rom1504> okay :) --- Day changed mar. oct. 20 2015 19:13 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vWIXu 19:13 < Not-f7bb> [minecraft-data] rom1504 9348158 - fix some id in items.json, thanks arrrjt for finding that issue see https://github.com/PrismarineJS/minecraft-wiki-extractor/issues/3 19:15 < rom1504> arrrjt: ^ thanks, that fixed data will be in the next mineflayer release ;) 19:17 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vWIMZ 19:17 < Not-f7bb> [minecraft-data] rom1504 bebc612 - update items.json 1.9 data using minecraft-wiki-extractor (last wiki revisions before 2015/10/20) 19:18 < arrrjt> rom1504: nice :) 19:19 < rom1504> 1.9 has 4 new bots apparently ^^ 19:19 < rom1504> *boats 19:20 < rom1504> good thing I don't update that data manually or I would have written bots instead of boats everywhere :p 19:20 < rom1504> ( http://git.io/vWIMZ ) 19:23 < arrrjt> haha. and forever there will be no item 426 seems like 22:41 < Gjum> "Spruce Bot" "Jungle Bot" "Dark Oak Bot" 22:49 < Gjum> don't sound too bad for a bot name 22:56 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vWLpp 22:56 < Not-f7bb> [minecraft-data] rom1504 3b9756e - fix stackSize in items.json 1.9 --- Day changed mer. oct. 21 2015 01:12 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vWtrD 01:12 < Not-f7bb> [minecraft-data] rom1504 054f2ed - update 1.8 blocks.json based on a date-fixed revision 01:23 < Not-f7bb> [SpockBot] nickelpro pushed 1 commit to master [+0/-0/±1] http://git.io/vWt63 01:23 < Not-f7bb> [SpockBot] nickelpro d15a4d5 - Fix impossible to encounter "bug" 16:35 < Perseverance> Hi 16:36 < Perseverance> I'm looking for a book to teach me the fundamentals of running a Web Development/Web Design business. Does anybody know one? 18:08 < TkTech> Uh... 19:00 < gamingrobot> Uh what 19:00 < gamingrobot> Oh he's no longer here 20:08 < Not-2321> [mineflayer] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vW3qQ 20:08 < Not-2321> [mineflayer] rom1504 738d175 - make chatterbox say what it collected --- Day changed jeu. oct. 22 2015 15:01 < Digot> Hey! According to this http://wiki.vg/Protocol, a packet needs a length, packetid and data. So is are all these fields sent at once in a byte array or do I need to send them field per field? 15:06 < barneygale> Digot, either 15:06 < barneygale> TCP doesn't really care how many send() calls you make, as long as the data is the same 15:08 < Digot> So would it be fine to just send all 3 fields in one byte array? 15:12 < Digot> barneygale? 15:15 < barneygale> Digot, yes, that's an implementation detail and the client/server on the other end won't be able to tell whether you used a bytearray per part or one for the entire packet 15:16 < Digot> Alright, thanks barneygale and if i have the packetid 0, what would be the length of the packet id? 15:17 < barneygale> len(pack_varint(0)) 15:17 < barneygale> which will be 1 15:18 < barneygale> but you don't want to hardcode stuff like that 15:18 < Digot> and why 1? 15:18 < Digot> because it has one digit? 15:18 < barneygale> no, because that's how many bytes the varint representation of "1" is 15:19 < barneygale> https://developers.google.com/protocol-buffers/docs/encoding?hl=en#varints 15:19 < Digot> So how would this look like in java? 15:20 < barneygale> not sure, I don't really write java anymore 15:21 < barneygale> my python implementation looks like this: https://github.com/barneygale/quarry/blob/master/quarry/utils/buffer.py#L185-L198 15:21 < barneygale> You could look at bungeecord's or sponge's 15:22 < Digot> Oups I need it for C# ... So is it the amount of bytes needed to represent a number? 15:23 < barneygale> The minecraft protocol looks like this, generally speaking: packet length, packet data, packet length, packet data, packet length, packet data, etc etc 15:24 < barneygale> the packet data includes the packet ID 15:24 < barneygale> You need to pack the entire data (which at a minimum includes its ID), then take the length of the data, encode it as a varint, then stick that varint on the front 15:25 < barneygale> you don't know how long a packet will be until you pack it. 15:25 < barneygale> here's my send_packet method, if it's useful: https://github.com/barneygale/quarry/blob/master/quarry/net/protocol.py#L312-L346 15:26 < Digot> thanks, i'll look into it 15:28 < roblabla> encrypt(frame(compress(serialize(packet)))) :D 15:28 < roblabla> with every function returning a byte array and taking a byte array as argument. 15:29 < Digot> wut 15:29 < Digot> rly? 15:29 < roblabla> That's pretty much it 15:29 < Digot> do i need to do that all? 15:31 < rom1504> yes 15:31 < roblabla> Digot, well, if you want to send a packet to the minecraft client, that's the steps that are required. First you pack the packet (serialize(packet)) 15:31 < roblabla> then you (optionally) compress it : compress(serialize(packet)) 15:31 < roblabla> then you frame it (that is, you prepend the length) : frame(compress(serialize(packet))) 15:31 < roblabla> and finally, you (optionally) encrypt it 15:32 < rom1504> optionally ? 15:32 < roblabla> rom1504, well the first few packets aren't encrypted 15:32 < rom1504> yeah ok 15:32 < roblabla> it's not really optional, more like conditional 15:32 < roblabla> :P 15:32 < barneygale> roblabla: you only need to worry about encryption if you're implementing online mode, and you can ignore compression if you're implementing a server and don't care for it 15:32 < Fenhl> compression is completely optional though 15:33 < Fenhl> for servers, that is :P 15:33 < barneygale> not if you're writing a client 15:33 < barneygale> yeah.. 15:33 < roblabla> barneygale, I thought encryption was required for offline_mode too now ._. 15:33 < Digot> im writing a server though 15:33 < barneygale> roblabla, not in 1.8. I'm not sure about 1.9 15:33 < Digot> is compressing and encrypting optional? 15:33 < rom1504> barneygale: yeah, but if you don't compress packets, you're going to have big problems with the chunks packets (I did that mistake :D) 15:34 < Digot> if im writing a server? 15:34 < roblabla> Digot, as a server you can chose to completely ignore compression 15:34 < Digot> but encryption? 15:34 < barneygale> Digot, if you want to authenticate clients, you need to implement encryption 15:34 < roblabla> If you just want offline mode, then encryption is optional too apparently, didn't know that 15:34 < Digot> damn 15:34 < rom1504> (sending the chunk packet uncompressed is a few MB, that can take some time) 15:34 < roblabla> Digot, tbh encryption is really easy 15:34 < roblabla> C# takes care of most of it for you 15:34 < Digot> ok i'm waiting for the c# code xd 15:35 < Fenhl> roblabla: For unauthenticated and localhost connections (either of the two conditions is enough for an unencrypted connection) there is no encryption. In that case Login Start is directly followed by Login Success. 15:35 < Fenhl> from the stable protocol docs 15:37 < rom1504> we might want to implement that in nmp hmm hmm 15:38 < roblabla> rom1504, yeah probably 15:38 < rom1504> ah it's already there for clients https://github.com/PrismarineJS/node-minecraft-protocol/blob/c55865ef33bc6ba871364a5beddf1c6f091544f8/src/createClient.js#L50 15:38 < rom1504> if the server doesn't send the encryption begin packet, we don't start the encryption thing 15:39 < Digot> But for the server ping i dont need encryption right? :D 15:39 < roblabla> rom1504, nmp's createClient doesn't enforce encryption nor compression, contrary to the nmp client ^^ 15:39 < roblabla> (E.G. if we receive a packet bigger than compression threshold uncompressed, we're ok with it) 15:40 < barneygale> Digot, you don't need encryption for server ping, correct 15:40 < Digot> ah okay 15:40 < Digot> so i can start simple 15:40 < Digot> this packet stuff is all new to me^^ 15:40 < rom1504> "contrary to the nmp client" : why ? the nmp client(.js) just provide the functionnality, it does nothing about compression and encryption by itself 15:40 < roblabla> erm 15:41 < roblabla> I meant contray to the notchian client 15:41 < rom1504> ah yeah ok 15:41 < roblabla> and now letters be missing. 15:42 < rom1504> and it's actually implemented in createServer too https://github.com/PrismarineJS/node-minecraft-protocol/blob/a80765549c2cd23099319c450260ad8dffb3f954/src/createServer.js#L128 15:42 < rom1504> onlineMode == false => no encryption_begin sent => no encryption 15:42 < roblabla> rom1504, that's something else actually 15:42 < roblabla> oh yeah 15:42 < roblabla> but we don't have the localhost one 15:43 < rom1504> ah yes 15:43 < roblabla> And we really ought to remove isException. I don't think anyone uses it and it's an eyesore >.< 15:43 < Digot> is only the server sending encrypted packets when in online mode? 15:43 < roblabla> not to mention it's pretty broken since the UUID update 15:43 < Digot> or the clienttoo? 15:43 < roblabla> Digot, both 16:45 < Aikar> Grum, about the removeAll optimization - ran into some issues with pistons it seems. Does MC remove a tile entity instance then re-add it back ever? That was a logical flaw in the patch I sent you as it expects once removed to never re-add. So I redid my patch last night to handle that. Will resend once I'm comfortable that the changes are good, but so far no crash. 16:45 < Aikar> or more importantly, no "omg my TE's are all messed up" 16:45 <+Grum> the changes should be done against snapshots, its quite different now :( 16:46 < Aikar> i'm not using snapshots for my prod servers :P 16:46 < Aikar> but the latest revision is pretty simple unless youve gotten rid of the world list.... which would be a great idea! 16:47 < Aikar> https://bitbucket.org/starlis/empirecraft/src/370547af8682aeea56abb83094725468be671e72/patches/craftbukkit/0117-Optimize-Entity-and-Tile-Entity-Removal.patch?at=master&fileviewer=file-view-default 16:47 < Aikar> err 16:47 < Aikar> i didnt push last night 16:47 < Aikar> sec 16:49 < Aikar> https://bitbucket.org/starlis/empirecraft/src/75c5fcab741dc3221b92e1f5397d03b430534cd3/patches/craftbukkit/0116-Optimize-Entity-and-Tile-Entity-Removal.patch?at=master&fileviewer=file-view-default 16:49 < Aikar> so for vanilla theres less diff, many of them were to get rid of cb/spigot tick position manipulation 16:50 < Aikar> but extending arraylist to redefine .remove(Object), removeAll(), add(E), addAll(Collection) to change marker state. then add an extra .removeAll() after ticking to do post tick cleanup 16:51 <+Grum> Yeah not quite so keen on that honestly 16:51 <+Grum> i rather fracture the big array into smaller (per section) 16:51 < Aikar> well as i mentioned to you before, ticking based on chunks and using the chunk list is a better idea overall 16:51 < Aikar> as you then get better CPU cacheing 16:52 < AlphaBlend> hey Grum, i'm looking at the update notes for 15w37a, and you guys added a biome for The Void, does this mean biomes aren't strictly 32x256x32 blocks in size anymore? 16:53 <+Grum> AlphaBlend: i'm confused by that question, biomes have 'exact sizes' ? 16:53 < Aikar> http://timings.aikar.co/dev/?id=b7d76b79ee6c4d488134025b09a333f5&all=1&start=1445524676&end=1445525450#25_1 heres latest timings (and for the others - ive done some good work on v2 ui you can see) 16:53 < Aikar> you can see .removeAll pre and post are now super fast 16:54 < AlphaBlend> well Grum, it was my understanding that a wall of chunks from floor to ceiling all had the same biome, correct me please :D 16:54 < Aikar> post tile entity is still heavy, as many of the TE's are removed during the tick loop using that boolean on the tile entity 16:54 < Aikar> but way faster than before 16:54 <+Grum> a biome is a 2d map yes 16:54 <+Grum> so its 1x256x1 big 16:54 < AlphaBlend> oh i see 16:54 < AlphaBlend> this new The Void makes me think that it no longer has to be 256 blocks high 16:56 < AlphaBlend> or was it never strictly 256 blocks in height, just nothing demanded anything lower than 256 blocks? 17:30 < Fenhl> AlphaBlend: the void as in the space below the world and The Void as in the biome are entirely separate concepts 17:30 < AlphaBlend> i meant the biome The Void 17:30 < Fenhl> the void does not have a biome, and The Void only generates in Superflat 17:30 < AlphaBlend> oh 17:30 < AlphaBlend> then i did get confused 17:30 < AlphaBlend> that makes more sense 20:57 < realz> hey fellas 21:47 < realz> im looking for a library that can read mca or mcr files, for C or C++, that is not GPL'd 21:47 < realz> any pointers? 21:57 < Gjum> realz, what will you use it for? 21:57 < rom1504> why not GPL u_u 21:58 < realz> Gjum: for a project that i want to be BSD 21:59 < rom1504> cuberite has apache licence, so that's not gpl 21:59 < rom1504> look at that maybe 22:01 < realz> rom1504: thanks 22:01 < Gjum> realz, I made a 2d worldmap renderer in c++ in 2014, might still work https://github.com/Gjum/NBT-Cpp 22:01 < Gjum> it can read mca, no idea if its performant enough 22:02 < Gjum> has no license atm (o.O) but I can make it bsd if you wanna use it 22:04 < rom1504> Gjum: is nbt and mca the same format ? 22:04 < Gjum> mca is a collection of chunks, which are nbt 22:04 < Gjum> or do I confuse something 22:05 < Gjum> no, it's like I said http://minecraft.gamepedia.com/Region_file_format 22:06 < rom1504> ok 22:08 < realz> Gjum: well, thanks :D, I'll take a look 22:08 < realz> just got a bit busy atm, so i'll look in a few 22:09 < Gjum> yup, just ping me here or open an issue --- Day changed ven. oct. 23 2015 01:48 < realz> Gjum: hey 01:48 < realz> so how would one use it with mca 01:50 < Gjum> Havent used it for a while, look at the world renderer, it uses pretty much everything in that repp 01:50 < Gjum> repo 01:53 < Gjum> realz: NBT::Tag * chunk = (new NBT::Tag)->loadFromChunk(worldpath, chunkx, chunkz); 01:53 < realz> that just works? 01:53 < realz> hmm 01:53 < realz> nice 01:53 < realz> Gjum: is there any file that lists all the chunks 01:54 < realz> or do you need to do that yourself by listing the filenames 01:57 < Gjum> Look at the region filenames I remember writing some code that searches all region files for populated chunks 01:57 < realz> cool 01:59 < Gjum> Remember, that is old code thar needs testing and a rewrite, but probably helping a lot to get started 06:00 < Aikar> nudge nudge Grum - can you add a check for texture id to GameProfile.equals() on client >_> if you load 2 skulls for same player but with different texture ids, client uses the same cache for both :/ 06:01 < Aikar> pretty sure i reported that to bugs 06:04 < Aikar> https://bugs.mojang.com/browse/MC-91214 06:04 < Aikar> guess I didnt, but it is now 06:04 < Aikar> players bugging me about it :3 10:53 < rom15041> #vanillaSupport --- Log closed ven. oct. 23 12:03:11 2015 --- Log opened ven. oct. 23 12:03:19 2015 12:03 -!- Irssi: #mcdevs: Total of 150 nicks [1 ops, 0 halfops, 16 voices, 133 normal] 12:03 !holmes.freenode.net [freenode-info] please register your nickname...don't forget to auto-identify! http://freenode.net/faq.shtml#nicksetup 12:07 -!- Irssi: Join to #mcdevs was synced in 240 secs 17:04 < onelann> does anyone know what happened to the mc server implementation in golang called netherrack? 17:11 < rom1504_> https://github.com/skirmish/netherrack ? 17:16 < onelann> oh huh, couldn't find it. thanks. 17:43 < Fenhl> another Minecraft server named after a type of stone? 21:02 < roblabla> Fenhl, it's actually starting to get a bit hard to find a block name that doesn't have a corresponding minecraft project... 21:03 < roblabla> quick mojang, release new blocks :P 21:10 <+Grum> roblabla: fartblock! 21:10 <+Grum> contains all your hopes and dreams 21:14 < Fenhl> roblabla: just use minerals that aren't in Minecraft (yet) 21:15 < Fenhl> like Hematite 21:15 < Fenhl> problem solved 21:15 < Fenhl> (don't actually use hematite, it's already a thing) 22:12 < Gjum> no, it's the opposite: as there is a minecraft server impl called Hematite, there must also be a Hematite block in the game. 22:21 < Fenhl> well maybe they'll add a hematite block once we have something usable 22:24 < Gjum> they better not add it now, because it would make minecraft "not compile" :P --- Day changed sam. oct. 24 2015 17:17 < Not-f7bb> [SpockBot] nickelpro pushed 1 commit to master [+0/-0/±1] http://git.io/vWuhJ 17:17 < Not-f7bb> [SpockBot] nickelpro a6d54d0 - Update .gitignore 20:09 < BizarreCake> 'ello 20:09 < BizarreCake> I'm having trouble spawning other players, even though I'm sending a player list item packet. 20:09 < BizarreCake> Anyone have any idea what might be the cause? 20:10 < BizarreCake> the players aren't being spawned at all 20:36 <+XorBoole> does anyone know if hitting escape in the downloading-resource-pack screen kills the download? 20:45 < rom1504> BizarreCake: do you send the named_entity_spawn packet ? 20:46 < rom1504> "Spawn Player" in wiki.vg names 20:50 < BizarreCake> Yep, and it's the packet that appears to have no effect for some reason 20:50 < BizarreCake> Maybe I'm setting properties wrong or something in the player list packet? 20:51 < BizarreCake> In online mode, I'm sending the same properties I get form the authentication server, and in offline mode, I send no properties at all 20:51 < BizarreCake> In both cases, players aren't being spawned. 20:52 < BizarreCake> Although they appear in the player list itself, I noticed that the heads of the skins positioned to the left of the usernames isn't skinned (just a Steve head) even though I'm supposedly sending the skin data (in online mode). 20:58 < rom1504> BizarreCake: can you see anything in the list when pressing tab ? 20:58 < rom1504> ah 20:58 < rom1504> are you sending the positions correctly ? 21:00 < BizarreCake> rom1504: I'm pretty sure I am, I'm aware the coordinates are sent as fixed point numbers. 21:02 < BizarreCake> I've tried looking at other servers' code, to see how they're doing it, and so far I'm not finding any striking differences. 21:02 < BizarreCake> which is why I'm confused :S 21:04 < rom1504> BizarreCake: are you handling the teleport packet ? (that needs to be sent when the client sent position is more than 32*4 away from the position the server last sent) 21:08 < ScruffyRules> XorBoole, Can always test 21:08 < ScruffyRules> Run a packet sniffer etc etc 21:10 < BizarreCake> rom1504: The players I'm spawning are completely stationary, but I will try that. 21:12 < rom1504> might be stationnary, but is the client aware about that ? 21:15 < BizarreCake> Alright, just tried that, still nothing. --- Day changed dim. oct. 25 2015 07:00 < Egoscio> Hello there fellow mcdevs! Just out of curiosity, I wanted to know what are your opinions on when 1.9 will finally be released? 07:49 <+Grum> Egoscio: after we do pre-releases 07:53 < Egoscio> Oh, okay. And MCP Will be released shortly after? I'm kind of new to the developer community so I'm not quite familiar with the development cycle. 07:53 <+Grum> MCP will update after yes, unknown how long that will take 07:54 <+Grum> but it is mostly forge's tooling that will matter 23:11 < barneygale> Does anyone know what sort of nbt data can be sent via the Slot data type? So far I've seen enchantments and display name, anything else? 23:11 < ScruffyRules> Probably lore 23:12 * ScruffyRules knows nothing 23:12 < Gjum> pretty much anything custom of that item 23:12 < Gjum> attack modifiers for ex 23:13 < barneygale> OK, thanks 23:13 < barneygale> Another q: is for the format for plaintext data tags (e.g. as used in /give) documented anywhere? I guess it has a mapping with NBT 23:13 < Gjum> also chests with items in them 23:13 < Gjum> i.e. middle-click on a chest with chests 23:14 < barneygale> ahh right 23:15 < Gjum> barneygale, probably here http://minecraft.gamepedia.com/Chunk_format 23:44 < Not-f7bb> [GitHub] Responsive is better than fast. 23:44 < ScruffyRules> Sure? 23:45 < rom1504> barneygale: mojangson ? 23:59 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±3] http://git.io/vWVd5 23:59 < Not-f7bb> [flying-squid] rom1504 69819b8 - proper /changeworld overworld|nether command implemented --- Day changed lun. oct. 26 2015 01:15 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±21] http://git.io/vWwfk 01:15 < Not-f7bb> [flying-squid] rom1504 a506429 - use more es6 arrow function, and directly define the player.f functions instead of defining the function then assigning it 01:53 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±27] http://git.io/vWwLm 01:53 < Not-f7bb> [flying-squid] rom1504 1a58da9 - more es6 refactoring : use destructing and more arrow functions 02:04 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vWwqO 02:04 < Not-f7bb> [flying-squid] rom1504 53c2bc7 - use an es6 class for diamond_square generation 02:28 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±3] http://git.io/vWwOr 02:28 < Not-f7bb> [flying-squid] rom1504 accb742 - add back server.setBlock 02:40 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±6] http://git.io/vWwG0 02:40 < Not-f7bb> [flying-squid] rom1504 888fa21 - some more es6 arrows 02:55 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vWwn9 02:55 < Not-f7bb> [flying-squid] rom1504 733ca45 - use a class for MCServer 03:00 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±2] http://git.io/vWwcn 03:00 < Not-f7bb> [flying-squid] rom1504 73a18ef - use an es6 class for the player 03:10 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±2] http://git.io/vWwCR 03:10 < Not-f7bb> [flying-squid] rom1504 767a3bf - fix test 04:04 < nickelpro> barneygale: slots also hold page data for books, gamingrobot implemented that for SpockBot 04:35 < gamingrobot> Page data, author and title 18:31 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-1/±0] http://git.io/vW6Ov 18:31 < Not-f7bb> [flying-squid] rom1504 ae0faf7 - delete doc/README.md 18:34 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vW6OM 18:34 < Not-f7bb> [flying-squid] rom1504 f0808b3 - Some things got done in the roadmap I wouldn't say other dimensions or world generation are finished, but basic functionality is there. 19:38 < realz> Gjum: working so far 19:38 < realz> nothing visible, but i see the data on the console 20:48 < realz> Gjum: have some invalid types 20:55 < Gjum> realz, I just added the bsd license. what types? 21:02 < realz> eh i just got an assert 21:02 < realz> er rather 21:02 < realz> an invalid memory read i think 21:02 < realz> Gjum: these are the types: http://codepad.org/H4IRymPL 21:04 < realz> i just enabled your debug mode, so I'll see if it prints anything interesting before the invalid read 21:05 < Gjum> tbh I have no idea anymore what that code does :/ 21:08 < realz> heh i'll take a look 21:08 < realz> if i cant solve it 21:09 < realz> i'll keep googling or try cuberite recommended by rom1504 21:09 < Gjum> yea 21:12 < rom1504> https://github.com/cuberite/cuberite/blob/master/src/WorldStorage/FastNBT.cpp 21:12 < rom1504> but it's not independant as Gjum one so you'll probably have to copy it or something 21:14 < realz> thanks rom1504 21:14 < realz> also how to get the stream out of the region file 21:14 < realz> for each chunk? 21:14 < realz> ill figure that out 21:15 < realz> its spelled out in Gjum's code 21:16 < rom1504> idk, I haven't used any of that, never done any minecraft thing in c++ ;) 21:16 < rom1504> I'm using https://github.com/maxogden/minecraft-region/blob/master/index.js 21:17 < rom1504> look at http://minecraft.gamepedia.com/Region_file_format 21:21 < Gjum> it's really quite simple, just gotta get the indices right 21:30 < realz> rom1504: thanks 21:30 < realz> Gjum: yea im assuming that reference is what you have in the load function right here 21:30 < realz> rom1504: i saw you are an overviewer contributor 21:30 < realz> are you the author? 21:31 < realz> eh maybe i misread 21:32 < realz> yea nvm :D 21:33 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±7] http://git.io/vWiB9 21:33 < Not-f7bb> [flying-squid] rom1504 81d6cca - add metadata when placing a block, progress on #9 21:36 < rom1504> no I didn't write that minecraft-region thing, that's part of voxeljs, I'm using it in https://github.com/PrismarineJS/prismarine-provider-anvil to load the world in flying-squid though 21:40 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vWiuf 21:40 < Not-f7bb> [flying-squid] rom1504 07b8eaf - update setBlock doc 22:34 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±5] http://git.io/vWiH2 22:34 < Not-f7bb> [flying-squid] rom1504 20ff77b - listen on server 'connection' to listen to non-PLAY errors, try to fix #85 --- Day changed mar. oct. 27 2015 02:10 < realz> Gjum: unsigned char bufferCompressed[int(lengthCompressed*1.1)]; 02:11 < realz> any clue why the *1.1 is there? 02:12 < realz> also, for everyone in the channel's viewing pleasure, friend of mine found this GEM of a voxel rendering demo: 02:12 < realz> https://www.youtube.com/watch?v=R2bEpvyy28g 02:31 < oldmanmike> So, I'm working on a server and I'm currently writing the authentication step of the login phase. I have a question, what should my server send as a "verify token" in its Encryption Request packet? The Vanilla server seems to be using a 4 byte field for its verify token. 02:50 < rom1504> 4 random bytes 02:51 < oldmanmike> Got it, thanks! 02:52 < rom1504> what are you writing the server in ? 02:53 < oldmanmike> Haskell 02:53 < rom1504> fun :) 02:53 < oldmanmike> Hopefully :) 02:55 < rom1504> any repo yet ? 02:57 < oldmanmike> Yeah, I've got WIP repo for it on Github right now. 02:58 < oldmanmike> Given one can't even log onto the server yet, I'm not in a hurry to advertise its existance yet. I don't want to end up crying wolf for a project I can't carry through with. 02:59 < oldmanmike> But what exists right now is located at https://github.com/oldmanmike/opensandbox 03:03 < rom1504> okay, did you see https://github.com/nandor/hcraft btw ? It's the only other haskell+minecraft project there is afaik 03:04 < rom1504> it's a client 03:04 < rom1504> well I'm not even sure it does any network 03:05 < oldmanmike> Yeah, I saw that one back in the day. 03:05 < oldmanmike> I'm holding off on the clientside for now 03:22 < DemiPixel> I was wondering why there is "Effect"? 03:23 < DemiPixel> It looks like it has both sounds and particles but there's also packets "Particle" and "Sound Effect" 03:25 < DemiPixel> So when is "Effect" used for audio/particles? (e.g. wiki.vg/Protocol says random.anvil_land is used in Effect even though the same string can be used in Sound Effect?) 03:38 < rom1504> DemiPixel: what you could do is put a mineflayer bot on a vanilla server and have it display these packets in the console, and do stuff around the bot to see which packets he got 03:58 < DemiPixel> rom1504: I suppose, it's just weird that it can send the same sound through two different packets... 15:21 < mml> is there some trick to getting debug logging enabled on the client on osx? 15:23 < mml> ah, there it is, "profile" settings 19:30 < Fenhl> so someone changed the packed IDs for Spectate and Plugin Message on [[Pre-release protocol]], but didn't update them in the TOC. Can someone verify if the changes are correct? 19:49 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vWycU 19:49 < Not-f7bb> [minecraft-data] rom1504 7a52708 - update 1.9 blocks (based on wiki revision before the 28/10/2015) 21:57 < M4GNV5> http://mcdevs.org/ is down 21:59 < rom1504> M4GNV5: what was there ? 22:00 < M4GNV5> channel rules 22:01 < M4GNV5> https://web.archive.org/web/20140517214154/http://mcdevs.org/ 22:06 < dx> the topic has a new link 22:09 < M4GNV5> i see, just ChanServ has the old one 23:28 < barneygale_> Can data tags in slot data ever have a non-empty top-level name? --- Day changed mer. oct. 28 2015 00:14 < barneygale_> packets renumbered in 15w43, pretty sure 00:14 < barneygale_> anyone have an updated list? 00:15 < nickelpro> barneygale_: Regarding your slot question, you mean for the complex nbt? 00:16 < nickelpro> In which case I'm pretty sure they can and I'm also fairly sure nothing uses that name 00:16 < barneygale_> I think so. i'm not sure what you mean by /complex/ nbt 00:17 < nickelpro> s/complex/compound/g 00:17 < nickelpro> I forgot the type name 00:17 < barneygale_> ahh 00:17 < barneygale_> yes 00:18 < barneygale_> thanks for the info :) 01:27 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vW9LM 01:27 < Not-f7bb> [minecraft-data] rom1504 8ea2efc - update 1.9 recipes (based on wiki revision before the 28/10/2015) 11:51 < ScruffyRules> Hmm, there's no way to display saturation in vanilla is there? 11:54 < angal> in vanilla client you an only see, if saturation == 0 11:55 < ScruffyRules> And technically >0 11:55 < ScruffyRules> Scoreboard wise there isn't a way to show it? 11:57 < angal> It's requires some server side actions... You can send a scoreboard packet to player and update player entry on each his saturation change... 11:58 < ScruffyRules> Mkay, thanks. 11:59 < barneygale> So I wrote an nbt parser last night. The slot data docs say " the byte is 0, there is no NBT data, and no further data follows. Otherwise the byte is the start of the nbt blob". I think this is probably misleading - the 0 byte is probably TAG_End 12:01 < barneygale> NBT docs are a bit weird in that they insist tags always begin with a tag id (byte) and a tag name (string), but this is only true in two cases: the top-level tag, and tags inside a TAG_Compound 12:03 < barneygale> My parser is here if anyone's interested: https://github.com/barneygale/quarry/blob/snappy/quarry/utils/buffer.py#L172-L219 - it's lossy as it doesn't preserve the types of numerical tags, but it's also about 10% of the size of other python nbt parsers i've seen 16:00 < Fenhl> barneygale: I don't think a single TAG_End is valid NBT? 16:32 < barneygale> Fenhl, I'm not sure either, but the slot data format makes little sense otherwise. Either that byte is NBT data or not 16:33 < barneygale> would be interesting to see how it works in deobfuscated source 16:49 < rom1504> barneygale: hmm, in the end did you try to see if gamemode3 worked with your proxy ? 16:50 <+Thinkofdeath> barneygale: its just: if(nbt == null) writeByte(0); else NBTThing.write(nbt, this); 16:51 <+Thinkofdeath> http://hastebin.com/vegacuzefa.java 17:24 < barneygale> Thinkofdeath, ahh OK 17:24 < barneygale> that seems dodgy from a design standpoint but whatever 17:41 < Fenhl> it's basically an Optional NBT tag 18:10 < barneygale> I know --- Day changed jeu. oct. 29 2015 00:42 < Timelaw> I'm implementing a MC 1.8.8 server and I am working on the encryption. After the encryption is turned on, how do I encrypt the packets? Do I do it over the whole packet after compression? 00:42 < Timelaw> Might seem like a stupid question I guess. I assume yes, but I haven't done anything like this before so :) 00:44 <+Amaranth> After compression, if you can compress encrypted data you have a problem :) 00:46 < Timelaw> Amaranth: I was just thinking about if I encrypt the whole packet or fields of packets. So when I get the encryption response, which the client is supossed to encrypt. Do I decrypt the whole packet to get the shared secret, its length and the token with length? 00:47 < Timelaw> Also, can I have anything for the token? I am just supposed to use it to verify the encryption/decryption works, right? 01:11 <+ammar2> Timelaw: the client sends you back two encrypted byte arrays as the fields, you decrypt both the shared secret and the token 01:12 <+ammar2> veryify that the token is the same as the one you sent 01:12 <+ammar2> and then iniate the stream cipher using the shared secret 01:12 <+ammar2> wow I can't spell tonight 01:13 <+ammar2> so yeah, the structure of the packet itself is unencrypted, just the byte arrays representing the shared secret and token are encrypted using the provided public key 01:43 < Timelaw> ammar2: Okey :) 01:44 < Timelaw> ammar2: So I would parse those packets like any other packet but in the handling decrypt them and verify the token then 01:50 < Timelaw> ammar2: Can you elaborate on initiating the stream cipher? 02:01 < Timelaw> ammar2: Ah okey, so the Shared Secret is going to be the inital state in the stream cipher, right? 10:48 < DiaLight> Привет! 11:39 < barneygale> Timelaw, fyi, one encryption is turned on the /entire stream/ is encrypted, including packet lengths, ids and payloads 11:39 < barneygale> s/one/once/ 11:55 < Timelaw> barneygale: Yea so once the response from the client arrives and i verify it, all packets are ciphered, right? :) 12:03 < angal> Yup. 12:13 < barneygale> Timelaw, that's right 12:36 < Timelaw> barneygale, angal: Thanks! :) 13:07 < Not-f7bb> [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vWAyH 13:07 < Not-f7bb> [minecraft-data] rom1504 948577c - added minecraft-jar-extractor in python in the extractors 18:00 < TkTech> Database migration some time this week, expect 5 - 30 minutes of downtime at some point --- Day changed sam. oct. 31 2015 01:29 < barneygale_> mojang folks, any chance of an unobfuscated diff of the code that registers packets between 1.8 and 15w44? i'm guessing not but perhaps microsoft's focus on developer engagement might get the be rubbing off? :] 01:34 <+Thinkofdeath> barneygale_: trying to get the order changes? 01:34 < barneygale_> it looks like the order hasn't changed much from the last documented version on wiki.vg, only a few inserted and deleted 01:35 < barneygale_> possibly swapped, i haven't got to that yet 01:35 < barneygale_> but yes 01:36 <+Thinkofdeath> i've only looked up to 43b not 44, no clue if there any protocol changes between them 01:36 <+Thinkofdeath> not sure what the wiki is up to 01:36 < barneygale_> 40 01:36 < barneygale_> I think 01:37 <+Thinkofdeath> https://gist.github.com/thinkofdeath/7e62074cbbd68ef86e46 with bukkit style mappings if it helps 01:38 < barneygale_> very useful, thanks very much 01:38 <+Thinkofdeath> np :) 02:07 < barneygale_> Thinkofdeath, mine match up with yours so far (I've done most of server-> client only) - what protocol version is w43 do you know? 02:08 <+Thinkofdeath> 81 03:01 < barneygale_> looks like Handshake has gained 2 or 3 new fields, one of which is username 03:02 < barneygale_> Thinkofdeath, your packet names lined up perfectly for me, so I guess the protocol changes from 81->84 are in fields 03:04 < barneygale_> hm, nope 03:04 < barneygale_> i've forgotten how to use wireshark :] --- Day changed dim. nov. 01 2015 17:20 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vl82m 17:20 < Not-f7bb> [flying-squid] rom1504 cbf04f1 - update prismarine-world : now doesn't error when a region file doesn't exist 18:06 < nick____> 18:25 < redstonehelper> yes 18:29 < dx> i agree 18:30 < redstonehelper> you're wrong 18:31 < dx> :( 18:32 < rom1504> you need to learn the truth about this 18:58 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±3] http://git.io/vl4Jn 18:58 < Not-f7bb> [flying-squid] rom1504 8436901 - Release 0.2.0 18:59 < Not-f7bb> [flying-squid] rom1504 tagged 8436901 as 0.2.0 http://git.io/vl4JW 22:15 < MCorgano> Hey, does anyone here have documentation for launcher_profiles.json? 22:15 < MCorgano> I wantto be able to generate sub-items under authenticationDatabase from scratch 22:17 < MCorgano> namely, there is authenticationDatabase, each sub item is the player UUID with no dashes, and under that there is a "userid" 22:17 < MCorgano> What exactly is the "userid", are we given it by yggdricillium when we log in? 22:18 < rom1504> https://github.com/tomsik68/mclauncher-api/wiki/New-Login-Information-Saving 22:21 < MCorgano> oh well that works 22:22 < rom1504> userid might be http://wiki.vg/Authentication#Response "id" 22:22 < rom1504> check 22:22 < rom1504> (it's in client.session in nmp) 22:29 < kamcio96> hello, who can explain me what is signature in that packet: http://wiki.vg/Protocol#Player_List_Item 22:36 < rom1504> kamcio96: I don't know, but why do you need it ? 22:36 < kamcio96> wait a second, i will make a screenshot 22:38 < kamcio96> http://scr.hu/1s1h/jumg1 i want change that heads 22:38 < kamcio96> so i need change texture property 22:38 < kamcio96> and change sign data :/ 22:39 < angal> Create user, change skin for it, take it's uuid, etch data from mojang (it will include signature), send to players on your server that data. 22:41 < angal> Request signed data you can via http://wiki.vg/Mojang_API#UUID_-.3E_Profile_.2B_Skin.2FCape 22:46 < angal> And i'm not sure, if you can spawn 2 players with same uuid... Packet doesn't have any other idenifiers, then uuid :( 23:52 < redstonehelper> XorBoole: you consider this fixed? https://bugs.mojang.com/browse/MC-85027 --- Day changed lun. nov. 02 2015 00:05 < Fenhl> nice bug, lol 00:05 < Fenhl> I should start selling null 00:07 <+XorBoole> redstonehelper idk, if it causes save error's it's still an issue 00:07 <+XorBoole> > error's 00:07 <+XorBoole> too. much. math 00:08 < redstonehelper> I'm pretty sure that error is the same as the report I linked as related 00:09 <+XorBoole> redstonehelper I disagree 00:09 <+XorBoole> the stack is different 00:09 < redstonehelper> different obfuscation 00:09 <+XorBoole> meh, idk 00:10 < redstonehelper> good enough for me 00:10 < redstonehelper> I just wanted to know if you could still reproduce the crash in the current snapshot 00:10 <+XorBoole> I haven't tried 00:10 < redstonehelper> then it's fixed 00:10 <+XorBoole> k --- Log closed lun. nov. 02 17:08:41 2015 --- Log opened lun. nov. 02 17:08:51 2015 17:08 -!- Irssi: #mcdevs: Total of 140 nicks [1 ops, 0 halfops, 14 voices, 125 normal] 17:08 !hobana.freenode.net [freenode-info] if you're at a conference and other people are having trouble connecting, please mention it to staff: http://freenode.net/faq.shtml#gettinghelp 17:12 -!- Irssi: Join to #mcdevs was synced in 254 secs --- Day changed mar. nov. 03 2015 14:47 < Timelaw> Is there anybody that can shed some light on the login phase? After I have turned on encryption and need to generate a token to send to Mojang. Is the server supposed to generate the same hash as the client? Meaning an sha1 sum using (Server ID (""), Shared secret, Server's encoded public key) and then sending it to the Mojang server? 14:54 <+Thinkofdeath> Timelaw: yes 15:08 < Timelaw> Thinkofdeath: And then I will get as a response some information about the player. The skin etc? 15:08 <+Thinkofdeath> yep 15:18 < Timelaw> Thinkofdeath: Okey, will give it a try :) 16:43 < Timelaw> Thinkofdeath: What kind of request does it have to be? I assumed POST but got an error back saying it was an unallowed method. Is it supposed to be GET? 16:44 < rom1504> yes 16:45 < rom1504> http://wiki.vg/Mojang_API http://wiki.vg/Yggdrasil 16:45 < rom1504> there is probably already a package in your language for that though 16:49 < Timelaw> rom1504: A package for HTTP requests or dealing with the Mojang API? 16:50 < rom1504> dealing with the mojang api 16:51 < rom1504> (some of these request are POST indeed) 16:51 < Timelaw> rom1504: I couldn't find any information regarding this URI: https://sessionserver.mojang.com/session/minecraft/hasJoined?username=&serverId=, which is what I am trying to figure out. I am using Erlang, and if I try to do a get using an encoded url like that it seems to throw me an error 16:51 < rom1504> ah right okay I thought you were doing it in a more common language 16:52 < rom1504> so yeah you have to implement it hmm 16:52 < rom1504> Timelaw: hasJoined ? what are you trying to do ? 16:52 < Timelaw> rom1504: Guess I can do that but right now my main concern is just getting the server to authenticate the user so I can start working on the cool stuff 16:53 < Timelaw> rom1504: I am following the information on here: http://wiki.vg/Protocol_Encryption 16:53 < rom1504> if you want to auth, you should use request in http://wiki.vg/Yggdrasil 16:54 < rom1504> ah nevermind 16:54 < rom1504> you do need hasJoined 16:54 < rom1504> https://github.com/zekesonxx/node-yggdrasil/blob/master/lib/index.js#L211 some "doc" there 16:55 < rom1504> so 16:55 < rom1504> it's GET 16:55 < Timelaw> rom1504: I can see. Great.. 16:57 < Timelaw> rom1504: Only problem with that is the fact that Erlangs HTTP lib does not allow it. I assume it is because when you encode an url it is supposed to be a POST, or am I wrong? And I get a badarg or bad matching depending on which way I try to go about it. 16:59 < rom1504> hmm, it's a normal GET request ? just like "https://www.google.com/search?q=erlang" 16:59 < rom1504> POST allow you to pass parameters *not* in the url 16:59 < rom1504> but you don't do that in GET 17:02 < Timelaw> rom1504: Hmm... I'm trying to figure this out. Supposed to be straight forward you'd think. 17:03 < rom1504> is your code online somewhere yet ? 17:05 < rom1504> it should be {ok, {{Version, 200, ReasonPhrase}, Headers, Body}} = httpc:request(get, {"https://sessionserver.mojang.com/session/minecraft/hasJoined?username=&serverId=", []}, [], []). 17:05 < rom1504> if I understand http://erlang.org/doc/apps/inets/http_client.html right 17:18 < Timelaw> rom1504: Gives me a bad match, but I'll try again soon. Having a mind meltdown now ;) 21:24 < Timelaw> Is there a neat way to debug/get the hash the client sends during the auth phase? I have nothing to compare the real hash to right now 22:53 < rom1504> Timelaw: you could use a proxy that display all the packets 22:53 < rom1504> for example https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/examples/proxy/proxy.js 23:08 < Timelaw> rom1504: That's nice! I'll write it down as I have to go to bed now. Thanks :) 23:57 < barneygale_> heh, so I hit a problem in my proxy where I never enable compression on the downstream connection 23:57 < barneygale_> I remember someone in this channel having the same problem 23:57 < barneygale_> it'll getcha ;D --- Day changed mer. nov. 04 2015 00:27 < winny> anybody here use optifine on linux? 00:46 < nickelpro> Winny: I have in the past, why? 00:46 < nickelpro> s/Winny/winny/g 01:41 < winny> nickelpro: i fired up the installer for 1.8.8 and the installer window stays blank, not sure what's going on 01:43 < nickelpro> This isn't a mod support channel, best off just messaging sp614x or posting in the optifine thread 01:44 < nickelpro> They'll be able to help you with whatever your specific issue is better than us 02:38 < Pangea> barneygale_, that probably with the compression might have been me 02:39 < Pangea> yes, it was 02:40 < Pangea> s/probably/problem/ 20:16 < mml> is it normal for the 1.8.8 client to send lots of keepalive packets w/ a nonce of 0 while downloading terrain? 20:22 < angal> Aren't keepalives initiated by server? 20:23 < mml> according to the spec, yes, but the client seems to be sending them every second after login success 20:23 < mml> it responds normally to server initiated keepalives too 20:23 < mml> not really causing a problem, but it seems like strange behavior 20:24 < angal> Hm... Intersting... Never seen this behaviour... 20:25 < mml> probably something i'm doing, the server isn't anywhere near complete currently 20:25 < angal> Maybe mojang "fix" this way bug, when server disconects client, while last load world for too long. 20:25 < mml> could be 20:26 < mml> i just have the server accept the keepalives if the nonce is 0 20:26 < mml> well, and it doesn't actually keep track of how long it's been since the last check anyway, so it'd never disconnect someone regardless 20:44 < mml> is 0,0,0 a valid location for a spawn_location packet? seems to cause an NPE on the client 20:52 < rom1504> pretty sure it's valid 20:52 < rom1504> what's "NPE" ? 20:52 < redstonehelper> :[ 20:52 < redstonehelper> nullpointerexception 20:53 < mml> bleh, looks like my code for sending multiple packets is just hosed 20:53 < mml> works fine when i do it the right way :) 20:59 < mml> heh, the client totally spews set position & on ground update packets while it's waiting for the server to do something 21:00 < mml> like every 100ms 21:00 < mml> will have to figure out what it's waiting to see some day 21:00 < mml> presumably map data 21:40 < mml> https://bitbucket.org/mml/steved if anyone is interested in playing around w/ erlang 23:32 < nickelpro> mml: Client sends position update packets every tick, that's the client's way to request the server update their entity state 23:33 < nickelpro> Server should update health, hunger, perform position validation etc 23:33 < nickelpro> Or that's the way Notchian does it, its actually a really poor system to let the client dictate when things like that update --- Day changed jeu. nov. 05 2015 00:20 < mml> nickelpro: good to know :) 00:22 < mml> interestingly, upon login, it sends tons of position update packets with a decreasing value of footY 00:22 < mml> after it's done doing that, it sends a ton of on-ground updates forever 00:50 < nickelpro> It sends falling y because it believes its falling before you send chunks 00:50 < nickelpro> The on ground updates are what I just described, once per tick it sends a position update even if nothing has changed 01:37 < rom1504> "it believes its falling before you send chunks" that's why you must send chunks before you send the first position packet 12:58 < barneygale> rom1504, I played around with gamemode 3 and couldn't see any obvious issues. I could noclip pretty happily. You were seeing an issue where you couldn't noclip, right? 13:17 < rom1504> barneygale: yeah 13:18 < rom1504> are you proxying every packet ? (including other states than PLAY) 13:18 < rom1504> because we only proxy PLAY packets, and handle the other states ourselves 13:18 < rom1504> (and we got the very same issue in our server) 13:20 < rom1504> is that your proxy https://github.com/barneygale/quarry/blob/master/examples/proxy_hide_chat.py ? 13:22 < rom1504> we're probably doing something wrong in the server code, that shows only in gamemode 3 but I still have no clue what 13:25 < rom1504> (using nmp but proxying every packets (all states), that issue didn't appear iirc but that's not super useful) 13:30 < barneygale> I'm only passing packets between upstream and downsteam in PLAY, yes 13:31 < barneygale> I'm also not doing any special conversion of UUIDs 13:31 < barneygale> rom1504, does the problem manifest in both local and remote proxies? 13:33 < barneygale> are you translating offline <--> online UUIDs? I suppose that could cause issues like this. 13:36 < rom1504> yeah it's both in local and remote 13:37 < rom1504> hmm, we don't do much about uuid 13:38 < rom1504> well 13:38 < rom1504> we get the uuid the auth server is sending us and use that in Login Success packet 13:39 < rom1504> barneygale: did you test this in online mode ? 13:40 < barneygale> Yes 13:40 < barneygale> proxy in online mode; mojang server in offline 13:41 < barneygale> and yeah we send an online-mode UUID in Login Success 13:41 < barneygale> Perhaps I was testing this in offline mode, I'll check that tonight 13:42 < rom1504> okay, thanks for the help anyway, this issue is a bit annoying 15:19 < mml> is there some documentation on the order that things need to happen? i.e. "you must send chunk data before the first position packet"? 15:19 < mml> stuff like that 15:25 < rom1504> hmm not that I know of 15:26 < rom1504> https://github.com/mhsjlw/flying-squid/blob/master/src/lib/playerPlugins/login.js#L134 that's a working login sequence though, if you're confortable reading some js 15:29 < angal> There are http://wiki.vg/Protocol_FAQ and http://wiki.vg/Protocol_Encryption 15:38 < rom1504> ah indeed 15:42 < mml> yeah, I have everything up to and including login success 15:42 < mml> sounds like i need to tackle chunks now 15:43 < mml> once i have something working, i should probably write it up :) 16:39 < barneygale> mml, I find it useful to fire a proxy up between a vanilla client and server for that kind of thing 22:49 < TkTech> Think if I put a donate button the wiki anyone would ever hit it? 22:53 < TkTech> In a couple of years when the reserved instances its running on expire it'll probably get moved to something drastically cheaper 22:53 < TkTech> Just a weeee bit overprovisioned at the moment running on 2x c3.larges 23:13 < dx> TkTech: how much money was it to reserve two years of that? 23:15 <+ammar2> 2 23:16 < TkTech> Hm, it's $129-170/month USD (so $200 or so CAD) 23:16 < TkTech> I wonder if my billing records go back to the reserve period 23:16 < TkTech> Lets see 23:17 < dx> sounds like loadsamone £££££££ 23:22 < TkTech> I lied, one's an m1.medium (the wiki.vg frontend). The large is used for the database. 23:22 < TkTech> $194 for the medium, $384 for the large 23:23 < TkTech> Grand scheme of things it's a drop in the bucket, just wouldn't mind it being net-neutral. 23:23 < TkTech> I mean, literally a drop in the bucket. https://www.dropbox.com/s/16lcqyysp34cd63/lols.PNG?raw=1 23:27 < TkTech> dx, They're 36 month reserves, starting July 9th 2013. So, awhile left on them. 23:32 < rom1504> what kind of stuff do you do with all these amazon instances oO ? 23:33 <+ammar2> break sha1 hashes 23:50 < TkTech> rom1504, That particular group of reserved instances is a very large database cluster. 23:51 < rom1504> okay 23:58 < TkTech> ammar2, Muuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuch cheaper to generate rainbow tables with cheap GPUs at home 23:58 < TkTech> I mean, literally 2-3 orders of magnitude --- Day changed ven. nov. 06 2015 01:02 < nickelpro> TkTech: wtf do you do and how do I do it 03:04 < Not-f7bb> [flying-squid] rom1504 pushed 4 commits to master [+6/-0/±16] http://git.io/v8LuD 03:04 < Not-f7bb> [flying-squid] demipixel 2955c5b - Support sound basics 03:04 < Not-f7bb> [flying-squid] demipixel 446dfa6 - Lots of stuff. 03:04 < Not-f7bb> [flying-squid] demipixel 17ad68d - I love my docs 03:04 < Not-f7bb> [flying-squid] rom1504 6c5a392 - Merge pull request #89 from demipixel/sound Sound and Particles! 18:40 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/v83D7 18:40 < Not-f7bb> [flying-squid] rom1504 41811c7 - improve code of new commands : do the parsing in parse and use destructuring 19:07 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/v83py 19:07 < Not-f7bb> [flying-squid] rom1504 010cda5 - use destructuring in more commands 19:18 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/v8sJ0 19:18 < Not-f7bb> [flying-squid] rom1504 a647e34 - fix respawning : fix #91 20:37 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±2] http://git.io/v8sHz 20:37 < Not-f7bb> [flying-squid] rom1504 6b86cf5 - send rest of the map only when the player has logged, fix #88 20:51 < Not-f7bb> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/v8sbS