03:39 < DemiPixel> Wasn't that a big help? 03:39 < DemiPixel> As well as the "after each" hook, same as ping 03:39 < roblabla> try using tail -f on the server.log 03:39 < roblabla> during the test 03:39 < roblabla> see if the server actually sees the player connecting 03:39 < roblabla> server.log should be under test/server/ IIRC 03:39 < DemiPixel> server.log? 03:40 < DemiPixel> where :S 03:40 < roblabla> under test/server 03:41 < roblabla> test/server/logs 03:41 < roblabla> urg, it's latest.log 03:41 < roblabla> why the hell change this >.> 03:41 < DemiPixel> I have no latest.log 03:41 < DemiPixel> only server.properties and eula.txt 03:41 < roblabla> it's under losg 03:41 < roblabla> *logs 03:42 < roblabla> test/server/logs/latest.log 03:42 < DemiPixel> There is no latest.log 03:42 < roblabla> you need to run the server for it to appear 03:42 < roblabla> aka during npm test 03:42 < DemiPixel> I ran the npm test...? 03:42 < roblabla> have two consoles 03:42 < roblabla> in one run npm test 03:42 < roblabla> in the second tail -f server.log 03:42 < roblabla> urg, i mean latest.log 03:43 < DemiPixel> Run at the same time or one after another? 03:44 < roblabla> first the test, then while the test that fails is running, do the second one 03:44 < roblabla> or something 03:44 < roblabla> I think I'll get some sleep 03:44 < DemiPixel> lol 03:44 < DemiPixel> What time is it there 03:44 < roblabla> 4AM 03:44 < DemiPixel> 6:43 PM 03:45 < DemiPixel> Well you get some sleep 03:45 < DemiPixel> We can deal with this another time xD 03:47 < DemiPixel> g2g 03:47 < DemiPixel> dinner 05:03 < morfin> hm i expected better behaviour from client 09:20 < morfin> what? under 25 lines? 11:19 < Not-1dca> [Glowstone] SpaceManiac pushed 1 commit [+6/-0/±14] http://git.io/DtZHKg 11:19 < Not-1dca> [Glowstone] Tonodus cf54f5b - Implemented basic block physics (see #40). 15:20 < morfin> guys am i right: when minecraft client set autoreading to false it's not trying to read data and sending 15:21 < morfin> not familiar with Netty 16:47 < Wuppie> Hey guys 16:47 < Wuppie> i got a question 16:48 < Wuppie> i receive a ping packet 16:48 < Wuppie> i send it back, 16:48 < Wuppie> however MineCraft will still tell me "Can't connect to server" 16:48 < Wuppie> anyone knows how this happends? 16:49 < Wuppie> (Code language: C#) 16:56 < morfin> hmm 16:56 < barneygale> code? 16:56 < morfin> i think you're doing something wrong 17:01 < Wuppie> ah, i found the problem, 1 of my packages was not getting send 17:04 < Wuppie> however, now for some reason minecraft thinks that the Response package i sent uses PacketID 15822... wtf. ill probably find the problem in a minute 17:15 < morfin> i remember how i tried to implement simple response->request->ping->pong scheme but i failed because called async_read after async_write 17:17 < Wuppie> hmm 17:17 < Wuppie> ill send a pastebin 17:18 < Wuppie> http://pastebin.com/dchfndZ4 17:19 < Wuppie> That should tecnically be right, right? 17:20 < morfin> seems like incorrect 17:20 < Wuppie> is it? 17:20 < Wuppie> Could you give me a sample ? 17:21 < morfin> your response should look like varint(packet length) varint(packet_id) varint(json length) UTF-8 string 17:21 < morfin> hmmm 17:21 < Wuppie> thats what i do 17:21 < Wuppie> hmm 17:22 < morfin> ok seems to be correct 17:22 < Wuppie> however minecraft thinks im sending packet id 15823 17:23 < morfin> oh 17:23 < morfin> (byte)Globals.tovarint((jason.Length + 2)); 17:23 < Wuppie> ? 17:23 < morfin> why you're casting to byte? 17:23 < Wuppie> because i have to have it in a byte array 17:24 < morfin> do you know one thing 17:24 < morfin> varint can have not just one byte 17:25 < Wuppie> ill check 17:25 < Wuppie> never worked with varint before 17:25 < Wuppie> haha 17:25 < morfin> i hate it 17:25 < Wuppie> haha xd 17:26 < morfin> i am trying to implement own code on C++ with boost::asio 17:27 < Wuppie> Cool, public project? 17:28 < morfin> i will have to learn so many things 17:29 < morfin> i am lazy ass so developing is going very slowly :( 17:29 < Wuppie> haha, i know the feeling xD 17:29 < Wuppie> i fixed it <3 17:30 < Wuppie> thnx for pointing the varint thing out 17:30 < morfin> btw i am doing same thing right now 17:31 < Wuppie> haha lol 17:31 < Wuppie> im getting: java.lang.IllegalArgumentException: Invalid UUID string: 17:31 < Wuppie> aaaaaaaaarg 17:31 < morfin> UUID? is not it being used later 17:32 < morfin> when logging in 17:32 < Wuppie> i know 17:32 < Wuppie> but, i get that error IN minecraft 17:32 < morfin> i know 17:32 < Wuppie> wtf 17:32 < Wuppie> java.lang.IllegalArgumentException: Invalid UUID string: 17:32 < Wuppie> seems to be empty 17:33 < Wuppie> ah, i think i know whats wrong 17:35 < morfin> Minecraft loves bytefucking so much 17:36 < Wuppie> LOL, i crashed minecraft xD 17:36 < morfin> i just checked out how UUID is being sent 17:36 < roblabla> Crashing minecraft client ain't that hard to do :P 17:36 < morfin> piece of cake 17:36 < roblabla> So many fun ways to do it 17:36 < Wuppie> haha roblabla, well, im new :P my first project with minecraft 17:36 < morfin> that'sw common shit: incorrect data and server/client crash 17:37 < roblabla> Everything related to the scoreboard used to crash the client when used in certain way 17:37 < roblabla> (probably still does) 17:37 < Wuppie> yeah, base64 error atm :P 17:37 < morfin> lol did you try to send bad base64? 17:37 < Wuppie> yeah xd 17:37 < Wuppie> i send 17:37 < Wuppie> xD 17:37 < Wuppie> didn't think about it 17:37 < morfin> i did not know client would crash because of that 17:37 < Wuppie> im just not gonna send favicon for now 17:37 < morfin> lol 17:38 < roblabla> yeah, minecraft client doesn't handle error too gracefully 17:38 < Wuppie> thats stupid 17:38 < Wuppie> oh well, Mojang hehe 17:38 < roblabla> Not really 17:38 < morfin> i think i should rewrite to use enum with connection states 17:38 < roblabla> I mean, crashing a web browser used to be equally easy, whereas crashing a web server is nigh impossible 17:39 < Wuppie> yaay, finally got it working :P 17:39 < roblabla> Things running on the client side always expect a certain amount of stuff from the server to work properly ^^ 17:39 < morfin> i remember how faggots was crashing srcds with bad packets 17:39 < roblabla> haha 17:40 < morfin> because somebody found out what you should send to make it segfault etc 17:40 < morfin> of course it was fixed but who knows what else you can find if try 17:40 < roblabla> Well, you know, as a dev (especially a game dev), you don't always think about stuff like that :P 17:41 < Wuppie> http://gyazo.com/c213ead25bcd33970b36ea35403b6b9b 17:41 < Wuppie> <3 17:41 < Wuppie> basic shit, but still, FINALLY got it working 17:41 < roblabla> GGWP 17:41 < Wuppie> those MC packets are strange 17:41 < roblabla> What's it written in ? 17:41 < Wuppie> c# 17:41 < roblabla> Nice 17:41 < morfin> how do you think does it work with mono :D:D 17:42 < Wuppie> not so sure 17:42 < Wuppie> ill test it tonight 17:42 < roblabla> It should work OK 17:42 < Wuppie> hopefully 17:42 < roblabla> So long as you don't use very recent c# features 17:42 < morfin> i remember Terraria server with Mono on FreeBSD :D:D 17:42 < roblabla> oh lord. 17:42 < morfin> *which used XNA 17:42 < Wuppie> im writing this shit in .net 2.0 Roblabla so xD 17:42 < roblabla> XNA is like a plague. 17:42 < roblabla> Wuppie:then it should probably work ^^. 17:43 < Wuppie> yeah xd 17:43 < roblabla> Gosh, trying to implement the packet compression right now 17:43 < morfin> and it was 4.0 or 4.5 17:43 < morfin> can't remember 17:43 < roblabla> I have to rewrite half my code. Me sad. 17:43 < morfin> i think i will use some libs to do stuff 17:43 < roblabla> XNA is dead nowadays, why do game devs still use it 17:44 < roblabla> It's beyond me. 17:44 < morfin> at least i am using boost for magic with async io etc 17:44 < roblabla> I don't like boost 17:44 < roblabla> Makes my compile times fly up in the sky 17:44 < morfin> :) 17:44 < roblabla> LibUV for Async IO 17:44 < morfin> it's C 17:45 < roblabla> so ? 17:45 < roblabla> Wait, boost in C ?_? 17:45 < morfin> being used by Node.js as i know btw 17:45 < morfin> no 17:45 < roblabla> oh, nvm 17:45 < roblabla> but libuv can be called from C++ 17:45 < morfin> i know 17:45 < Wuppie> i really need to implement better packet handling 17:45 < morfin> btw boost::asio is just hpp 17:45 < morfin> with stuff 17:45 < roblabla> Which is why it makes compile time huge 17:45 < morfin> yep 17:46 < roblabla> which makes my rasppi cry 17:46 < roblabla> :P 17:46 < morfin> :D:D 17:46 < morfin> i remember my old PC 17:46 < roblabla> The day I discovered cross-compiling, my soul was saved 17:46 < morfin> with Celeron 1.7 and 768 RAM and i tried to compile it 17:46 < roblabla> XD 17:46 < roblabla> we're going very far back right there 17:47 < morfin> but what about Microso~ 17:47 < morfin> don't know does libuv like it 17:47 < roblabla> libuv works everywhere 17:47 < roblabla> Windows, Mac, Linux 17:47 < roblabla> just like node.js :P 17:47 < roblabla> (Pretty much, if nodejs works on a platform, chances are libuv were ported to it as well) 17:48 < morfin> it implements all async methods? MacOSX/FreeBSD: kqueue, Windows IOCompletionPorts, Linux: epoll 17:48 < morfin> i guess Android is using epoll as well 17:48 < roblabla> Last I checked it did 17:48 < Wuppie> probably is Morfin 17:49 < morfin> since it mutant Linux 17:49 < Wuppie> yup 17:49 < roblabla> but you write android apps in jawa 17:49 < roblabla> and jawa has AIO already 17:49 < roblabla> doesn't it ? 17:49 < morfin> you can use NDK 17:49 < roblabla> eww no 17:49 < morfin> and use C\C++? 17:49 < roblabla> Well, I mean theorically speaking, yes 17:49 < morfin> why not 17:49 < roblabla> but it's nowhere near practical 17:49 < morfin> SDK is slow piece of crap 17:49 < Wuppie> Well guys, i'm gonna be offline for like 30 minutes, i think. i have to drive from my mom to my dad's house :P 17:49 < roblabla> so is NDK 17:49 < morfin> no 17:50 < morfin> NDK is much faster 17:50 < roblabla> No, it's really not. 17:50 < morfin> it can use C libs 17:50 < roblabla> I'm comparing ART 17:50 < roblabla> and to do most things, it's similar 17:50 < morfin> oO 17:50 < roblabla> Of course super-low-level maths are going to be faster 17:50 < roblabla> but the rest, which is 80% of the use-cases 17:50 < roblabla> the perf gains are negligeable 17:50 < morfin> strange: i saw comparsion of graphics rendering 17:51 < morfin> on SDK code and NDK code 17:51 < roblabla> Using GLES ? 17:51 < morfin> yep 17:51 < roblabla> Yeaaaaah, ok 17:51 < roblabla> that falls in the remaining 20% use case 17:51 < roblabla> xD 17:51 < morfin> rendering includes lots of math 17:52 < roblabla> That's not the main problem 17:52 < roblabla> I dunno why, but calling GLES from the java layer is ridiculously slow 17:52 < roblabla> looks like it goes through a bunch of abstraction layers or something, IDK 17:52 < roblabla> BUT! Using the NDK is still a pain. 17:53 < roblabla> It's mostly undocumented, and when you have a problem, you're on your own. 17:53 < morfin> anyway i am going to use boost because already started ) 17:54 < roblabla> Haha, yeah, use whatever works and suits you 17:55 < morfin> he-he i remember somebody wrote Minecraft server using Node.js 17:57 < morfin> and i need state machine 18:23 < Wuppie> back :D 18:31 < Wuppie> how dou you guys check if something is a login start/status request/disconnect packet? 18:31 < Wuppie> length of array or something? 18:31 < Wuppie> ah, never mind, handshake statwe 18:31 < Wuppie> ah, never mind, handshake state 18:31 < Wuppie> haha 18:34 < morfin> i am rewriting strange code i wrote yesterday) 18:41 < Wuppie> haha, what does it do? 18:41 < morfin> i don't know: i was too tired 18:42 < Wuppie> hahhahaha 18:51 < Wuppie> fucking varints 18:55 < Grum> Don't be mean to them 18:57 < Wuppie> Sorry Grum ;( 18:57 < Wuppie> a varint is 4 bytes right? 18:58 < morfin> it's from 1 to 5 bytes 18:59 < Wuppie> hmm, cause i need to get the Next state field. but when i try to convert it to a normal integer, i get -1 18:59 < Wuppie> :| 18:59 < morfin> :D:D 18:59 < Wuppie> not good xD 18:59 < morfin> there is special procedure to read it 18:59 < morfin> *varint i mean 18:59 < Wuppie> i need to find out how tho :P 19:00 < Wuppie> i don't understand them 19:02 < Wuppie> i have a library to convert them, but the problem is, i don't know how much bytes i need... 19:03 < morfin> i checked out Google protobufs code :) 19:03 < morfin> to look how that's being handled 19:04 < roblabla> Wuppie:depends on the first bit IIRC 19:04 < roblabla> if first bit of the byte is set, then you need to read the next byte as well 19:04 < morfin> i use that: do{...}while ((byte & 0x80) != 0); 19:04 < Wuppie> Ahhh 19:04 < Wuppie> ok 19:05 < Wuppie> thnx guys! 19:05 < roblabla> https://github.com/andrewrk/node-minecraft-protocol/blob/master/lib/protocol.js#L1075 19:05 < roblabla> Looking at that code makes my head spin... 19:05 < morfin> huh? 19:06 < morfin> that code mostly repeat code from protobufs 19:06 < morfin> ah yes - as i know they invented that "varint" 19:07 < Grum> i think the varint was available before that 19:07 < morfin> not sure 19:08 < Grum> it's quite a trivial technique anyhow 19:08 < Grum> store 7 bits per byte and one bit to say if there is more to come 19:09 < morfin> why Minecraft is using only 5 bytes? 19:09 < Grum> its not? 19:09 < Grum> oh 19:09 < morfin> i forgot: there is VarLong also 19:09 < Grum> because we only store upto 32bit :) 19:09 < Grum> i just didn't care to implement it more than we needed 19:10 < Grum> you can do varmanylots quite trivially 19:11 < Grum> we do not send longs so i decided that ints were enough :) 19:11 < Wuppie> wahhh, i get -1 when converting my varint to a normal int ;( 19:13 < morfin> interesting 1.7.x versions had protocol 4 and now boom we have 47 19:13 < Wuppie> haha, i know right 19:15 < Grum> we can easily do another +40 :p 19:15 < Wuppie> do it! :D 19:16 < roblabla> well, so long as we don't get protocol 2^32-1, we're safe 19:16 < roblabla> or whatever the maximum protocol version value is 19:16 < Wuppie> haha lol 19:16 < Grum> it's a varint .. which is trivially extendable to var128 ;) 19:17 < Wuppie> Grum <3 varint 19:17 < roblabla> But then it breaks all those client codes :< 19:17 < Wuppie> 'invalid uuid string' 19:17 < Grum> roblabla: but that is fine, crash also says: not working ;D 19:17 < roblabla> :P 19:18 < morfin> roblabla i forgot 19:18 < morfin> boost had some stuff before standard got it :D:D 19:18 < Wuppie> what is wrong with UUID 'd38d0d94032a40e3b6bffa3edd570d5c' 19:18 < morfin> hmm 19:19 < Wuppie> does it have to be like uppercase or something? 19:19 < morfin> something is wrong with it 19:19 < Grum> did you just pick a random number? 19:19 < morfin> should it be 33 bytes? 19:19 < Grum> because in the middle there is a 'type'-byte 19:19 < Grum> and you cannot 'fake' that one 19:19 < Wuppie> grum: i did not. i used a http://connorlinfoot.com/uuid/ 19:20 < morfin> ah uuid 2 uuid-3 etc 19:20 < Grum> yup 19:21 < morfin> i think packet itself should decide how it will serialize/deserialize data 19:21 < Wuppie> so i didn't fake it, minecraft receives it correctly, but tells me it is not correct 19:22 < Grum> dunno, look at how vanilla does it :) 19:22 < morfin> that tool says no such UUID 19:22 < morfin> :) 19:22 < Wuppie> it does? :O 19:23 < morfin> i guess you should have 32 bytes 19:23 < Grum> it should be, its 128bit == 32 hexadecimals 19:23 < Wuppie> i see, i'll check it out 19:25 < Wuppie> i'll use https://api.mojang.com/users/profiles/minecraft/?at= 19:37 < Wuppie> i retrieve the UUID from https://api.mojang.com/users/profiles/minecraft/ 19:37 < Wuppie> still the problem that MC does not accept it 19:48 < Wuppie> found the problem lol 19:53 < Wuppie> nvm :| 19:55 < roblabla> Aren't we supposed to put dashes inside the UUID ? 19:55 < Wuppie> i have no idea, i don't understand it 19:55 < roblabla> "As of 1.7.6 all UUIDs used in the protocol now contain '-'. The session server still returns them without" 19:55 < Wuppie> yeah i saw that 19:55 < Wuppie> but i don't understand WHERE 19:56 < roblabla> de305d54-75b4-431b-adb2-eb6b9e546013 19:56 < roblabla> the dashes are always between the same chars 19:56 < roblabla> c# probably has a method to put the dashes from a dash-less UUID 19:56 < Wuppie> idk xd 19:57 < Wuppie> i'll check 19:57 < Wuppie> thanks for pointing that out 19:57 < roblabla> Just hardcode the dashes 19:57 < roblabla> I think that's the easiest, and well, it Just Works :P 19:59 < Wuppie> Jup, i got it working now 19:59 < Wuppie> :) 19:59 < Wuppie> c# indeed has a method for it 19:59 < Wuppie> Guid :) 20:00 < roblabla> Yeah, that's it 20:05 < morfin> oh 20:05 < morfin> guys 20:05 < roblabla> hmm ? 20:07 < Wuppie> ? 20:28 < Affsd> Hi anyone home? 20:28 <+SpaceManiac> Hallo 20:28 < Affsd> Hi. 20:28 < Affsd> I'm trying to do client auth for my client 20:28 < roblabla> ohi 20:29 < Affsd> https://pastee.org/q7p3m 20:29 < Affsd> but I keep getting invalidsession 20:29 < Affsd> (InvalidCredentialsException) 20:29 < Grum> so you must have invalid credentials 20:29 < Affsd> i checked my username, uuid, and sessionid (token) and those are taken straight from the launcher. 20:30 < Affsd> my uuid looks like "token:somehexdigesthere:hexdigestoftoken" 20:30 < Affsd> and my token sessionid seems to be "hexdigestfodtoken" 20:31 < Affsd> oh you are shitting me 20:31 < Affsd> i just looked at the session.java 20:31 < Affsd> public String getSessionID() 20:31 < Affsd> { 20:31 < Affsd> return "token:" + this.token + ":" + this.playerID; 20:31 < Affsd> } 20:31 < Affsd> f--k it 20:33 < roblabla> well, I dunno what's wrong with your Impl, I don't use mojang's yggdrasil library, but if you need a bit of inspiration : 20:33 < roblabla> https://github.com/andrewrk/node-minecraft-protocol/blob/master/lib/yggdrasil.js 20:33 < roblabla> this is my own (potentially wrong) implementation of the login system, in javascript 20:34 < Affsd> oh im just using mojang's authlib 20:34 < Affsd> im just ripping sources from the 1.7.10 client lmao 20:34 < roblabla> I saw that :P but I have no idea how it works (nor do I want to look at it. I've had enough java for a lifetime) 20:38 < Wuppie> lol, my varint to int32 return the correct values on my computer, however if i try it on my server, i get extremely wrong values 20:39 < Affsd> fuuuuuuuuck I keep getting invalidcredentials 20:39 < Affsd> why do you do this to me 20:39 < Affsd> mojang PLS 20:39 < roblabla> Wuppie:care to share the code ? Maybe I can figure out what's wrong ^^ 20:39 < Affsd> its for beta 1.7.3 20:39 < Wuppie> sure, no problem, 1 sec 20:39 < roblabla> Affsd:problem is _probably_ on your end. 20:40 < Wuppie> Affsd: share code, ill look at it quickly 20:40 < Affsd> kk 20:41 < Affsd> https://pastee.org/sruh8 20:41 < roblabla> We all hate mojang, otherwise, why would we have a dev community centered around working on their main product ? :P 20:41 < Affsd> lmao 20:41 < Affsd> i know im doing something really stupid 20:41 < Wuppie> roblabla: http://pastebin.com/Udq84EQ2 20:42 < Affsd> argument for sessionString seems to be token:: without brackets ofc 20:42 < Affsd> im skipping encryption because i don't see a need for it and i don't want to have to port the entire beta protocol to netty 20:43 < Affsd> i just have the server generate the public private and secret key, make a hash and send it to the client 20:43 < Wuppie> Affsd: i would not know what is wrong ATM, never worked for the mojang authlib. i can take a look at it for you later on, if you would like 20:43 < Affsd> ok. 20:44 < Wuppie> working on my own project too haha 20:44 < Affsd> im just going to debug the 1.7.10 client and try to find discrepancies between mine and the 1.7.10 20:44 < Grum> you do realize the server has something to say in this as well right? 20:45 < Wuppie> roblabla: found anything? 20:45 < roblabla> Wuppie: you need to increment shift by 7 20:45 < roblabla> you increment it by one 20:45 < roblabla> erm, shift is j 20:45 < Grum> if it doesn't contact the auth-servers properly with the data things are expecting you are not going to get it right 20:45 < roblabla> https://github.com/andrewrk/node-minecraft-protocol/blob/master/lib/protocol.js#L1054 20:46 < roblabla> this is my code that reads varint 20:47 < Wuppie> roblabla: thnx :D ill check it out 20:50 < Affsd> ok i found an issue 20:50 < Affsd> im getting passed ${auth_session} instead of it broken down 20:50 < Affsd> ughughguhg fine then 20:51 < Grum> 'getting passed' where? 20:51 * roblabla would guess from the terminal 20:52 < Affsd> the launcher. 20:52 < Grum> which is correct? 20:53 < Affsd> yep. 20:54 * roblabla is confused. He thinks he's just going to get back to coding 20:55 < Affsd> yep. 20:55 < Affsd> AHA 20:55 < Affsd> IM ADDING token: ONTO IT WHEN I SHOULDN'T BE 20:56 < Wuppie> roblabla: not getting it to work correctly, i'm probably doing something wrong... got skype? easier communication 20:57 < Affsd> ok the fuck 20:57 < Affsd> im passing the exact same arguments 20:57 < Affsd> and im getting invalidcredentials 20:57 < Affsd> perhaps its the server hash? 21:07 < Wuppie> Affsd: i don't think so, probably still something on your side ;( 21:07 < Wuppie> having a stupid bug here to... irritating shit 21:14 < Affsd> yep 21:14 < roblabla> Wuppie:I have hangouts 21:14 < roblabla> Not skype 21:14 < roblabla> (I prefer google having my data than microsoft :P) 21:15 < Wuppie> lol xD 21:23 < Grum> best not play minecraft then, ms might take your private bits 21:23 < roblabla> yeahno, I don't consider minecraft my data :P 21:24 < roblabla> Besides, I'm on windows... so they can have my data if they really want to anyways 21:24 < Wuppie> roblabla, hangouts? 21:24 < Grum> they alraedy do, just say NSA 3 times and top it with some yellowcake 21:24 < Wuppie> nsa 21:24 < Wuppie> nsa 21:24 < Wuppie> nsa 21:24 < Wuppie> CAKE! 21:24 < Wuppie> :D 21:24 < Grum> FAIL! 21:24 < Wuppie> xD 21:25 < roblabla> The cake wasn't yellow ! 21:25 < Wuppie> it was redish 21:25 < roblabla> Wuppie:I didn't get any request 21:25 < Wuppie> Robin Lambertz? :P 21:25 < roblabla> yes, that's me 21:25 < Affsd> google still sucks at privacy 21:26 < Wuppie> I started a chat with you, i think 21:26 < roblabla> Affsd:at the very least, I can download most data they have about me, and inspect it 21:26 < roblabla> The same can't be said of... a great many deal of corps handling my data 21:43 < Affsd> I FUCKING GOTI TITIT 21:43 < Affsd> I FUCKING GOTI TI WORKIGN!@@!!!!!! 21:43 < Affsd> FFUCK YES 21:45 < Grum> so i guess you did something wrong ;) 21:47 < Bibl> got what working 21:47 < Bibl> also affsd 21:47 < Bibl> are you the guy who helped konloch? 22:28 < Affsd> ....yes 22:28 < Affsd> I was --- Day changed mer. déc. 24 2014 02:52 < Not-1dca> [Glowstone] SpaceManiac pushed 2 commits [+1/-0/±3] http://git.io/TorrTg 02:52 < Not-1dca> [Glowstone] SpaceManiac 5832722 - Added simple library downloading for database drivers (see #143). 02:52 < Not-1dca> [Glowstone] SpaceManiac a1e88c7 - Removed redundant BlockType#onBreak method. 02:53 < Wuppie> hehe, technically, now Mojang is bought by MicroSoft, MC should be written in C# or something :P as Java is a competitor 02:57 < vemacs> I found an issue with some documentation, but I'm not sure what the "correct" value is 02:57 < vemacs> http://wiki.vg/Entities#Living_Entity 02:57 < vemacs> index 7 doesn't seem to affect the color anymore, at least for me, in 1.8 02:58 < vemacs> it used to in 1.7.10 02:58 < vemacs> how would I try to find the current value? 03:06 <+SpaceManiac> I suppose either by investigating the client/server or just trying to send other things until something affects it 05:02 < Not-1dca> [Glowstone] SpaceManiac deleted branch libraries 06:32 < morfin> hey Wuppie 08:26 < morfin> do you separate protocol from logics somehow? 17:20 < morfin> Wuppie are you here? 17:24 < Wuppie> yeah 17:25 < morfin> if you saw Minecraft code you probably noticed that packets are being generated everywhere 17:25 < Wuppie> yeah? 17:26 < morfin> i am trying to get rid of that and avoid including packets information everywhere :) 17:26 < Wuppie> lol k 17:27 < Wuppie> currently working on my server 17:27 < Wuppie> c# b*tches <3 17:32 < morfin> oh shit 17:32 < morfin> there is packets with > 10 fields 17:38 < Wuppie> lool 17:38 < morfin> i was thinking about tuples to store packet data 17:38 < Wuppie> Tuples? 17:39 < morfin> yep 17:39 < Wuppie> what is that? :P 17:39 < morfin> pack of elements with different types 17:39 < Wuppie> ahhh okay :P 17:40 < morfin> as example i can use boost::tuple 17:40 < Wuppie> i would use a object array, i think 17:45 <+Amaranth> A tuple in this case is basically an anonymous struct 17:50 < morfin> what does mean Chat in protocol description? 17:50 < morfin> as example in 0x38 17:50 < morfin> does it mean i'll have to push full JSON text as specified on Chat page? 17:51 < Wuppie> 0x38 17:51 < Wuppie> let me see 17:51 < Wuppie> i think so yes 17:51 < Wuppie> just try 17:52 < morfin> some packets are variable length) 17:53 <+Amaranth> A lot of them are, yeah 17:53 <+Amaranth> Variable length or variable field count 17:53 < morfin> variable fields 17:53 < morfin> like 0x44 and 0x38 etc 17:54 <+Amaranth> Right I was saying they have both 17:56 < morfin> but Client->Server packets are much simplier 18:11 < roblabla> [Question] : The Data of the compressed packet doesn't contain the length field of "normal" packets, does it ? 18:15 < morfin> it do 18:15 < morfin> inside of compressed data.. 18:15 < roblabla> ;_; the wiki.vg is really unclear 18:15 < morfin> oh no 18:17 < morfin> Data Length VarInt Length of uncompressed Data or 0 18:18 < roblabla> So the Length of Data when uncompressed is Packet Length - sizeof(Data Length) 18:18 < roblabla> urg. 18:23 < morfin> i'll have to find that out later) 18:25 <+Amaranth> Since it apparently can be zero I wouldn't count on that field 18:25 <+Amaranth> Just ignore it entirely 18:25 <+Amaranth> Even using it as a size hint could be bad 18:26 <+Amaranth> Using it as a size hint could be used for a DoS attack on your client/server 18:28 < roblabla> The new packet structure is weak at best 18:28 < roblabla> shit at worse. 18:28 < roblabla> >.>' 18:29 < Grum> feel free to not use compression 18:29 < roblabla> Grum: but then I'm not compatible with the servers 18:29 < roblabla> Since I can't read their packets :| 18:30 < Grum> use another server? :D 18:30 < roblabla> Besides, won't servers boot me if I'm not compressing packets I should be ? 18:30 < Grum> yes they will 18:30 < roblabla> Yeah, so can't take shortcuts there. 18:30 * roblabla loved the way Encryption was added back in 1.3. Clients could disable them simply by short-circuitting the whole packet back-n-forth 18:31 < Grum> blanket compression for anything is better than individual compression for some small parts of the protocol 18:31 < roblabla> I agree with that 18:31 < Grum> which is how you end up with what you see now 18:31 < roblabla> But, like, pre-1.7, if I only cared about certain packets, I could just read the Packet ID and know if I need to read it or just skip it 18:32 < Grum> you can still do that? 18:32 < roblabla> *pre-1.8 18:32 < roblabla> Need to decompress first 18:32 < Grum> the first 5 bytes (and in reality just the first) 18:32 < roblabla> Since PacketID is compressed inside the data 18:33 < roblabla> OK, point taken. XD 18:35 < Grum> hmz you also have a point it might be convenient for the type to be on the outside, would be lot more horrible to do the compression though 18:36 < roblabla> TBH, the biggest problem I have with the packet is the fact the structure of the packet isn't always the same. 18:37 < roblabla> Like, it can either be VarInt x, Byte[x] or VarInt x, VarInt y, Byte[x - sizeof(y)] 18:37 < roblabla> (something like that) 18:43 < Grum> it's not unlike http honestly 18:44 < roblabla> Well, HTTP always has the same structure 18:44 < roblabla> GET 18:44 < roblabla> HEADERS 18:45 < roblabla> And apart from the upgrade header, the response will always be HEADER, response body 18:45 < roblabla> (Upgrade Header is a hack. It doesn't count :P) 18:45 < Grum> payload ends up being variable sized/packed 18:46 < roblabla> The fact that the very basic "structure" changes because Set Compression was received forces a weird kind of state being maintained 18:46 < Grum> agreed 18:47 < roblabla> OK, to put it simply : Why don't the packets pre-"Set Compression" follow the same structure as Post-Compression, with the second varint set to 0 ? 18:47 < roblabla> Then we would just have one structure to deal with, and no need to maintain this state ^^. 18:48 < Grum> I'm not 100% sure how its implemented right now, iirc you get told the 'size over which you should expect compressed data' right? 18:50 < roblabla> Well, after you received the "Set Compression" packet, instead of the usual "VarInt dataSize; Byte[dataSize]", you get "VarInt packetSize; VarInt dataSize; Byte[packetSize - sizeOf(dataSize)]". If dataSize == 0, then data is compressed, otherwise it should contain the result of the "packetSize - sizeOf(dataSize)" operation 18:51 < roblabla> Erm, fail 18:51 < roblabla> data is compressed if dataSize != 0 18:52 < Grum> mmm seems not too nice 18:56 < Grum> not sure how to make it nice and 'togglable' 19:02 < roblabla> dunno. Well release 1.8 isn't changing anyway, so I'll have to support what is there right now :P --- Day changed jeu. déc. 25 2014 00:18 < Wuppie> Hello peopleee :) 00:18 < Wuppie> iḿ back hehe 03:08 < Not-1dca> [Glowstone] SpaceManiac pushed 1 commit [+0/-0/±3] http://git.io/fWfy4g 03:08 < Not-1dca> [Glowstone] SpaceManiac 592b90c - Various world loading improvements and fixes (closes #466). 07:51 < Not-1dca> [Glowstone] SpaceManiac pushed 1 commit [+0/-0/±5] http://git.io/Uku1qA 07:51 < Not-1dca> [Glowstone] SpaceManiac 978b3e7 - Filter invalid item IDs (fixes #168). --- Day changed sam. déc. 27 2014 00:07 < Not-1dca> [fCraft] fragmer * r2359 8 files : Added a draft of PlayerInfo.SaveNBT, in anticipation of the transition to the new NBT-encoded PlayerDB file format. Switched from including fNbt amalgamation to a DLL. 20:03 < Wuppie> hello 20:04 < Wuppie> How can i be added to http://wiki.vg/Server_List 20:04 < Wuppie> ? 20:05 < Weloxux> edit the page, add it 20:09 < Wuppie> oh hehe, i see lol --- Day changed dim. déc. 28 2014 02:50 < M4GNV5> Hey. I saw that in 1.8 you are actually able to set the an url where the game gets a skin for a player skull from. So basically the client will send a request to the url... so my question is: would it be actually possible to create e.g. a highscore system for (singleplayer) adventure maps or a user stats system (like google analytics) using this technique or wont this work because... ? And as we are in mcdevs here can you tell me what 02:50 < M4GNV5> protocoll it uses to download those skins? I tried catching something with fiddler but (as always in minecraft) it didnt show anything 11:49 < morfin> i am interested: guys who develop client software are using own engine or something else? 13:19 < M4GNV5> morfin: http://wiki.vg/Client_List 13:33 < morfin> i asked about engines 13:33 < morfin> rendering etc 14:57 < rom1504> *graph engines 14:57 < rom1504> graphic 15:24 < morfin> only 3 projects said what they're using: LWLGL, XNA and some strange Debug 2.5 D 15:24 < morfin> yep because i think writing own engine is a bit complicated 15:24 < morfin> *LWJGL 16:57 < rom1504> morfin: I think most people here don't do any graphics at all 17:15 < Fenhl> morfin: hematite uses Piston https://github.com/PistonDevelopers/hematite 17:16 < morfin> i just checked out what rendering requires and it looked more complicated than server-side stuff 17:28 < Flemmard> yeah a graphic engine is not really easy :) 19:00 <+Amaranth> Flemmard, morfin: If you're using Rust you can use gfx and piston and hematite and then it's probably only a couple days of work to get to where it is 19:00 <+Amaranth> Unless you've never done it before, then prepare for pain :D 19:02 <+Amaranth> You don't have to write your own engine though, hematite uses gfx (not really an engine) and you could use unity or whatever too 19:02 < Flemmard> i once made a very basic and primary minecraft client (and got some kind of display), with opengl and shit, but that's a pain 19:03 <+Amaranth> Once you've got a chunk rendering with textures the rest is relatively minor additions and perhaps some optimization work later 19:03 < Flemmard> yeah 19:03 < Flemmard> texturing is a bitch 19:03 < Flemmard> and optimizing .. 19:04 < Flemmard> (went with opengl, no layer above it, direct opengl calls lol) 19:04 <+Amaranth> That's how hematite started 19:04 < Flemmard> but i'd say the most painful shit was the MC protocol implementation -_- 19:04 < Flemmard> this protocol just sucks 19:04 <+Amaranth> piston for the event loop and raw GL calls (well, using a tiny wrapper to make buffer passing simpler) 19:05 < Flemmard> sfml/sdl and opengl (C++) 19:05 <+Amaranth> Of course you have to write almost an entire server anyway to write a client so I'd suggest starting by trying to make a compatible server 19:06 <+Amaranth> Which is so much work no one has pulled it off yet, 3 years since 1.0 19:08 < Flemmard> ^^ 21:42 < Rumples> what are the odds of minecraft becoming open source in the next 5 years? 21:43 < dx> lol 21:44 < dx> in a scale from "lol" to "good joke", i'd give it a "lol" 21:44 < Rumples> microsoft pls 21:44 < Rumples> figured as much 21:50 <+AndrewPH> dx: I'd rate it more at a "nice meme" out of 10 21:54 < Flemmard> https://www.youtube.com/watch?v=_n5E7feJHw0 21:54 < Flemmard> :) 22:16 < Rumples> wow 22:16 < Rumples> I didn't think it was THAT far-fetched :P 22:20 <+Amaranth> Rumples: http://youtu.be/qLKhxjfG03A 22:41 < minecreatr> what is the plugin messaging channel that the client sends the server the version in? 22:44 <+Amaranth> minecreatr: afaik it doesn't, the client just sends the protocol version in the handshake 22:44 < minecreatr> in a spigot/bukkit plugin how can I listen for that? 22:44 <+Amaranth> No? 22:45 <+Amaranth> That is not relevant information for a plugin, either the client has the protocol version the server supports or the client isn't connecting 22:46 < minecreatr> well I want my plugin to be able to do different things for different clients 22:46 < minecreatr> so if the client is 1.8 it will get a title 22:46 < minecreatr> but if its 1.7 it will get it in chat instead 22:47 <+SpaceManiac> if it's a for a Spigot protocol hack server you should ask the Spigot people if they expose that 22:47 <+SpaceManiac> otherwise, check the server version and take the appropriate action --- Day changed lun. déc. 29 2014 07:38 < Scruff> There is a table on wiki.vg for how potions are made right? 07:39 < Scruff> Or is that Minecraft Wiki/ 08:09 < Fenhl> Scruff: http://minecraft.gamepedia.com/Brewing 08:09 < Scruff> I mean 08:09 < Scruff> Data values 09:48 < Fenhl> Scruff: http://minecraft.gamepedia.com/Potion#Data_value_table 16:03 < M4GNV5> can someone tell me how long the skins at .minecraft/assets/skins stay there? or what has to happen that they get deleted? 16:06 < SopaXorzTaker> apocalypse will hapen, this is what will happen......... borrrrrrrrrrrrrrrr 16:13 < Dinnerbone> They exist on disk for 7 days 16:17 < dx> apocalypse confirmed to happen in the next 7 days 16:19 < Dinnerbone> dx's skin lasts only 3 days 16:19 < dx> oh god 16:20 < dx> okay guys i think i never said this but i love you all, you're all wonderful people 16:20 < Dinnerbone> It has now been extended to 2 months 16:20 < dx> thank you Dinnerbone for that one free hug you gave me by email, i really appreciate it 16:20 < Dinnerbone> He's gonna be pretty lonely :( 16:20 < dx> ...oh 16:20 < dx> well that's cool 16:20 < dx> oh wait damn 16:20 < Dinnerbone> Haha did you do the freehugs thing? 16:21 < dx> yup! 16:21 < Dinnerbone> <3 16:21 < dx> <3 16:21 < Dinnerbone> Oh yes, there it is 16:21 < Dinnerbone> Hugs! 16:21 < Scruff> :O 16:21 < Scruff> Hugs?! 16:21 < Dinnerbone> That's right. Hugs over at dx's place. 16:21 < dx> ! 16:40 < M4GNV5> Dinnerbone: so 3 days, 7 days or 2 months? ^^ 16:40 < M4GNV5> and ty that you got the time answering my questions :) 16:43 < M4GNV5> hmmm wait 7 days i bet? 16:44 < Bibl> dong 16:45 < Bibl> test 16:50 <+Prf_Jakob> 123 16:52 < Weloxux> 4? 16:54 < M4GNV5> 5! 16:56 < Dinnerbone> M4GNV5, just remember that it's at least 7 days - we can't delete files if you don't play minecraft for a year, because minecraft isn't open to delete the files. 16:57 < SinZ> no hidden service in the background monitoring all IRC feeds and deleting skin files? 16:57 < SinZ> shame 16:58 < Dinnerbone> Oh, it only does the irc feeds 16:58 < Dinnerbone> I didn't think about also making it do useful stuff, sorry! :( 16:59 < M4GNV5> isnt there some mechanic resetting the timer if the skin is used again? ^^ 16:59 < Dinnerbone> Not at the moment sorry 16:59 < Dinnerbone> There should be, but there isn't. 16:59 < M4GNV5> well dont do it ^^ 17:00 < M4GNV5> this allows map creators to send get requests every 7 days :P 17:00 < Dinnerbone> It doesn't stop the http request to find out which skin is being used 17:00 < Dinnerbone> It just stops the http request to download that skin if it's not one it has locally 17:01 < M4GNV5> yes i know but the first request you cant modify ^^ for the second you can set the url yourself :D 17:01 < M4GNV5> hmm maybe i shouldnt tell you... you may fix it ^^ 17:02 < SinZ> remember, the irc feeds, he would have found out eventually 17:03 < M4GNV5> cuz of irc feeds? nah afaik it wasnt discussed here yet 17:03 < SinZ> it monitors your irc client directly, not just common channels 17:04 < M4GNV5> ahh yeah of course... sh*t :D 17:04 < M4GNV5> why doesnt it just monitor everything i do? instead of only irc feeds... i mean... mojang = Swedisch NSA pfff 17:07 < SinZ> because NSA does the rest for them 19:49 <+Amaranth> M4GNV5: If you're talking about the idea of sticking custom URLs on skulls as some sort of leaderboard/analytics I could have sworn the client would refuse to make the request if it wasn't to the right domain 19:49 < M4GNV5> well then you are wrong 19:50 < M4GNV5> it works fine ^^ 19:50 <+Amaranth> That sounds like a bug >:) 19:51 < M4GNV5> yeah https://bugs.mojang.com/browse/MC-51003 but pssssst dont tell D!nnerbone! 19:52 < SinZ> dinnerbro wouldn't break the glorious feature, g|^um might though 19:53 <+Amaranth> M4GNV5: That's not the same bug... 19:53 < M4GNV5> well then we should be glad that the upside down man doesnt has access to the irc feed stuff 19:53 <+Amaranth> SinZ: Are you trying to say Grum? :) 19:54 < M4GNV5> Amaranth: read Steven W.d.V. comment 19:54 < SinZ> no, tot's not.. *cough* 19:54 < M4GNV5> Aragas: srsly?... 19:54 < SinZ> you didn't totally just make the obfuscation of his name redundant 19:54 < Aragas> What? 19:54 < M4GNV5> ohh fu sry :D 19:54 < Aragas> :D 19:54 < M4GNV5> i ment Amaranth 19:54 < Aragas> happens 19:54 <+Amaranth> His comment shows that you can use other s3.amazonaws.com things at least 19:55 <+Amaranth> But that's not what the bug is about and not proof custom domains work although it's close enough 19:55 < M4GNV5> try it yourself... 19:55 <+Amaranth> Thank you for another reason to not play anything but stock single player 19:55 < M4GNV5> haha :D :P 19:56 <+Amaranth> I don't want you tracking me 19:56 < M4GNV5> its not dangerous though all you have is a standard get request 19:56 <+Amaranth> I don't want you tracking me 19:56 < SinZ> Amaranth: but mojang is already doing that 19:56 <+Amaranth> Mojang is Mojang 19:56 <+Amaranth> I've got issues but less worried 19:56 < SinZ> and is selling off the info to sethbling to know what silly commandblock machine to build next 19:57 < M4GNV5> i dont know why everybody in this channel hates commandblocks that much... 19:58 < M4GNV5> if you actually look close commandblocks are close to scripting... you have ifs, variables and "console" output 19:58 < SinZ> except it took away from some of the awesome redstone machines, as they just replaced it with a single block 19:59 < M4GNV5> and it allows to you build much cooler machines... 19:59 < SinZ> and a blackbox that does everything is less interesting than a 100x100x100 clusterfuck of redstone, pistons and other neat doodads 20:00 <+Amaranth> Back in my day we had games of tic tac toe without pistons :P 20:01 <+Amaranth> The display, input, and logic probably took about 100x100x100 too 20:01 < SinZ> back in my day we had games of tic tac toe written in lua running on a classic server 20:01 < M4GNV5> well in my days i wrote tic tac toe in javascript and converted it to commandblocks ^^ 20:01 <+Amaranth> I don't remember if we had repeaters yet 20:01 < SinZ> repeaters initially were just a block saver 20:02 <+Amaranth> Right, saved one block 20:02 < SinZ> two NOT gates are the way to go 20:02 <+Amaranth> Eh, just do one and fix it up at the end if you need to 20:02 <+Amaranth> I'm talking about long cable runs 20:02 < SinZ> thats still two 20:02 <+Amaranth> 100x100x100 you're going to have lots of long runs 20:03 < M4GNV5> chunks or blocks? ^^ 20:03 <+Amaranth> And it only saves one block because the repeater replaces the redstone torch and you don't need the block 20:03 < SinZ> M4GNV5: blocks, 100x100x100 chunks isn't a thing 20:03 < SinZ> as there are only 16 vertically 20:03 < SinZ> and you wont have the full 100x100 loaded anyway so most of it wont be usable 20:03 <+Amaranth> You could do 100x100x16 today but you'd crash the server loading/unloading chunks 20:03 <+Amaranth> Redstone forces chunk loads now 20:04 <+Amaranth> 100x100x16 chunks I mean 20:04 < M4GNV5> rly? 20:04 < M4GNV5> since when? 20:04 <+Amaranth> Since 1.5 20:04 <+Amaranth> iirc a simple wire won't but you can do it 20:05 < M4GNV5> hoppers load it afaik 20:05 < M4GNV5> and rails? or werent that "fixed" 20:05 <+Amaranth> People probably haven't noticed because I turned that shit off in CraftBukkit 20:05 <+Amaranth> None of it ever loaded chunks if I could help it 20:05 <+Amaranth> Only players 20:05 < SinZ> but muh chunk loader for the farms 20:05 < M4GNV5> you disabled it in craftbukkit? 20:05 <+Amaranth> (vanilla also leaks lots a lot) 20:06 <+Amaranth> Yeah 20:06 < M4GNV5> are some kinda person ppl know? ^^ 20:06 <+Amaranth> Maybe? 20:07 <+Amaranth> I actually removed most of my fixes for accidentally triggering chunk loads since the chunk GC we added would clean them up and checking for them to happen was actually more expensive most of the time 20:08 <+Amaranth> So CraftBukkit probably did at least some of the chunk loading at the time it was taken down 20:09 < M4GNV5> GC? 20:10 <+Amaranth> Garbage collector 20:10 <+Amaranth> Vanilla actually implemented the idea themselves in 1.7.3 (one of those versions no one used) too 20:11 < M4GNV5> well i always though craftbukkit does nothing more than implementing the bukkit api on top of vanilla mc ^^ 20:11 <+Amaranth> Nope, it also fixed bugs and made things bunches faster 20:11 <+Amaranth> Although it had bugs of its own and some compatibility issues 20:11 <+Amaranth> Although the main two compatability issues were on purpose 20:12 <+Amaranth> The chunk loading we've talked about was one and command block syntax was the other 20:17 < M4GNV5> there never was a use for commandblocks in bukkit though... 20:17 < M4GNV5> they were for sp 20:18 < M4GNV5> **are** for sp ^^ 20:18 < SinZ> they are useful for people that dont java 20:18 < SinZ> and for basic stuff that dont need extra server code to do 20:19 < M4GNV5> they are usefull for adventure maps... as i said singleplayer... 20:19 < dx> and for mapmaker youtubers that earn loadsamone abusing the hell out of the features they provide 20:19 < M4GNV5> like get requests and map analytic tools :D 20:21 < M4GNV5> actually since mojang brought json to commandblocks most flame should go to minecraft bugs 20:21 < M4GNV5> as cool features like holographic displays etc. actually are based on them ;) 21:59 < Wuppie> hey guys 21:59 < Wuppie> i have a question 21:59 < Wuppie> i'm changing some stuff in my code 21:59 < Wuppie> but, how can i get the username when i receive a LoginRequest? 21:59 < Wuppie> it doesn't get send in the packet does it? 22:17 < Aragas> handling chunks isn't so bad, rendering them is a living hell 22:18 < Aragas> Generating vertexes, optimising them, don't render parts that client won't see, do it and have 60fps+ 22:19 <+SpaceManiac> Wuppie: Login Start is sent with a username, yes 22:19 < Wuppie> hmm, that's strange, probably looked over it 22:36 < Wuppie> i never get a username, i receive 'localhost' 22:36 < Bibl_> hello b0ss 22:36 < Bibl_> i have found something of interest 22:36 < Bibl_> http://wiki.vg/Chat 22:37 < Bibl_> /The action to execute 22:37 < Bibl_> //Supported actions: 22:37 < Bibl_> // * open_url 22:37 < Bibl_> // * open_file 22:37 < Bibl_> // * run_command 22:37 < Bibl_> // * suggest_command 22:37 < Bibl_> "action":"run_command", 22:37 < Bibl_> open file, run command? 22:37 < Bibl_> are these os things? 22:37 < Wuppie> i hope they are not 22:37 < Wuppie> lol 22:37 < Aragas> Wuppie: u sure that this isn't handshake? localhost is normal there 22:38 < Bibl_> loginrequest is c -> s 22:38 < Wuppie> i know bibl 22:38 < Bibl_> username is the only data sent isnt it? 22:38 < Wuppie> im developing a server xd 22:38 < Bibl_> yeah 22:38 < Bibl_> you should receive the username 22:38 < Wuppie> Aragas: ill checkk 22:39 < Aragas> Wuppie: http://wiki.vg/Protocol#Login 22:39 < Wuppie> i know, i implemented that shit 22:40 < Wuppie> but for some reason i don't get correct info 22:40 < Bibl_> maybe a spoky ghost is hacking you 22:40 < Bibl_> using vanilla client to join? 22:40 < Wuppie> Yeah i am using Vanilla 22:40 < Bibl_> try join another server 22:40 < Bibl_> like shotbow 22:40 < Bibl_> in the same sesion 22:40 < Bibl_> session 22:40 < Bibl_> you guys know darkstorm? 22:42 < Bibl_> our lord? 22:42 < Bibl_> ( ͡۝ ͜ʖ ͡۝) ᴅᴀɴᴋsᴛᴏʀᴍ ( ͡۝ ͜ʖ ͡۝) 22:42 < Bibl_> god bless 22:42 < Wuppie> Re implementing someone ATM, that MAY fix it 23:45 < Wuppie> :roblabla hey --- Day changed mar. déc. 30 2014 00:58 < Bibl> http://hastebin.com/tepebinure.mel does anyone know where the 0.98.... number comes from 00:58 < Bibl> trying to emulate gravity for packet bot 01:08 <+SpaceManiac> Bibl: my guess is air resistance 01:08 < Bibl> http://minecraft.gamepedia.com/Gravity#Motion_of_entities 01:09 < Bibl> none of the air restistances are that 01:09 < Bibl> resistances 01:09 < Bibl> i googled the magic number 01:09 < Bibl> and found a story of a guy on a train in french 01:09 < Bibl> and an nuclear rotten flesh entity 01:10 <+SpaceManiac> 0.98 = 1 - 0.2 01:10 <+SpaceManiac> the rest of the number is probably just junk 01:10 <+SpaceManiac> artifact of a float->double conversion, probably 01:10 <+SpaceManiac> *0.02 01:11 < Bibl> ur a genius 01:11 < Bibl> we were multiplying and dividing by 32D and 8000D 01:11 < Bibl> and trying to find meaning 01:11 < Bibl> and you did a subtraction 04:45 < btilm305> http://wiki.vg/Protocol#Entity_Look had a boolean added in 1.8, and isn't mentioned at http://wiki.vg/Protocol_History 04:46 < btilm305> hm, as did http://wiki.vg/Protocol#Entity_Relative_Move too 04:57 <+SpaceManiac> IIRC it's just the onGround boolean again 05:23 < btilm305> Yeah it is 05:24 < btilm305> can someone add it to history? I can't edit 05:47 < btilm305> nvm, there's a really ambiguous change for that "Added boolean field to all entity movement packets" 05:48 < Fenhl> btilm305: you should be able to create an account to edit the page, no? 05:48 < btilm305> eh 08:27 < btilm305> how does outgoing packet compression work? 08:27 < btilm305> can't seem to get it right... 08:28 < btilm305> I've set the server compression to something insanely high, so I know my compression implementation isn't broken, but the server seems to hang when receiving my packets after it enables compression 08:29 <+SpaceManiac> are you sending the uncompressed-size prefix? 08:30 < btilm305> yup 08:31 < btilm305> so instead of packet size then packet (including ID) 08:31 < btilm305> I'm sending packet size + 1, varint of 0, then the packet w/ id 08:33 < btilm305> does compression reset between login and play? 08:33 <+SpaceManiac> no, it's carried over 08:34 < btilm305> that's what I thought 08:36 < btilm305> Hm, doesn't seem to be a write issue 08:36 < btilm305> its some kind of read issue 08:37 < btilm305> the included Inflater class should work right? 08:37 < btilm305> I'm getting a packet size of "0" for some reason -.- 08:38 <+SpaceManiac> uncompressed size of 0 indicates the packet isn't compressed 08:38 <+SpaceManiac> *packet* size of 0 shouldn't happen 08:39 < btilm305> getting packet size of 0 then uncompressed size of 1 08:39 < btilm305> ug 08:39 <+SpaceManiac> you're just parsing the thing before that incorrectly 08:40 < btilm305> a UUID type is two longs, no? 08:40 <+SpaceManiac> generally 08:41 <+SpaceManiac> in Login Success, it's a string 08:42 < btilm305> right 08:50 < btilm305> SpaceManiac: yup of course, I have an extra byte that doesn't appear in a string because it's not an ascii char 08:50 < btilm305> -.- 09:00 < btilm305> hm, can packet size be lesser than compression size?? o.O 09:01 <+SpaceManiac> yes, that's the whole point of compression? 09:01 < btilm305> oh, derp didn't read that part 09:01 < btilm305> thought it was the size of the compressed part lol 09:01 <+Amaranth> Compression has overhead too so you could actually have something bigger compressed than not. That's why the cutoff for when to compress exists 09:07 < btilm305> why wouldn't it just not compress then? 09:07 < btilm305> rather than compress... 09:08 <+SpaceManiac> it does - that's what the threshold is for 09:08 <+SpaceManiac> set it to a value high enough there's no overhead 09:08 < btilm305> oh, so there's no overhead for larger values? 09:09 <+SpaceManiac> there's not magically zero overhead, it's just outweighed by the compression 09:10 < btilm305> I'm confused why the protocol gives sizes for everything relating to arrays EXCEPT Plugin Messages 09:10 < btilm305> or unknown sizes 09:10 * btilm305 sighs 09:11 <+SpaceManiac> you can just take the size of the whole packet 09:11 < btilm305> yeah I know 09:11 < btilm305> but I'd like to know the reasoning behind doing it just on that one packet 09:11 < btilm305> when they could have done it to a few 19:45 < angal> Whats mean INTERACT_AT in 0x02 Play C->S? 19:47 < Weloxux> it means that the player is right-clicking on something 19:47 < Weloxux> an entity 19:50 < angal> And what differs from INERACT? 19:51 < angal> And what this coords for? 20:06 <+SpaceManiac> it's used for interacting at a specific position on an entity, I think for armor stands 20:18 < angal> Thanks. 21:50 < Xor_Boole> is it a known bug that the resource pack manager doesn't honor the jukebox blockstate variants? 21:51 < Xor_Boole> i.e. there is only one state and not one for has_record=boolean? --- Day changed mer. déc. 31 2014 03:27 < btilm305> does spawn named entity send the player's name? it looks like it only sends the uuid... so how does the client know what the player's name is 03:27 < btilm305> aka spawn player packet 04:26 <+Amaranth> btilm305: It's named poorly and they get the name from the player (tab) list packets 04:27 < btilm305> >.< 04:27 < btilm305> majoring why 04:27 < btilm305> mojang*** 04:27 <+Amaranth> Those now include the skin blob, name, and UUID 04:27 < btilm305> skin?? 04:27 < btilm305> so I can fake capes now? 04:27 < btilm305> via server 04:27 <+Amaranth> Err, welcome to 1.7? 04:27 < btilm305> whattt 04:27 < btilm305> that was added in 1.7?? 04:27 < btilm305> no way 04:28 <+Amaranth> 1.7.4 or whatever 04:28 <+Amaranth> It's a part of their support for changing your name and to reduce load on their skin server via improved caching 04:28 < btilm305> what packet sends the skin blobs?? 04:29 <+Amaranth> The skin blob is some json with a URL to the skin on s3 04:29 <+Amaranth> http://wiki.vg/Protocol#Player_List_Item 04:30 <+Amaranth> Apparently it's not JSON in the protocol anymore but instead some key/value array 04:31 <+Amaranth> Anyway, it's the properties 05:15 < morfin> but they're serialized like regular values 09:13 < Grum> <+Amaranth> SinZ: Are you trying to say Grum? :) <- tx ;) 09:13 * SinZ hides 09:16 < Grum> SinZ: it's known, it will go away 09:16 < SinZ> This is why we cant have nice things SinZ: no the reason it exists right now is the whole 1.7.5-1.7.9 debable 09:16 < Grum> *cle 09:17 < Grum> requiring a validly signed blob of data is something we'll demand again in the future 09:18 < Grum> that will directly exclude these custom urls as well 09:22 < Grum> So enjoy it while it lasts :) 10:26 < Xor_Boole> why are jukebox block states brokennnn 10:27 * Xor_Boole stabs his model code and tries to forget about it 10:27 < Scruff> Nuu Xor_Boole 10:27 * Xor_Boole purrs 10:29 < Xor_Boole> Scruff like really, why does it make sense for jukeboxes to have a has_record boolean state that you can't give separate models to? 10:29 < Xor_Boole> I have not been able to make it work 10:30 < Scruff> :O 10:30 < Scruff> How silly 10:30 < Xor_Boole> though tbh I wish the exposed the disk type in it too... 10:30 < Scruff> That would be cool 10:31 < Xor_Boole> yeah, but not as cool as getting the disk to rotate. 10:31 < Xor_Boole> I should really just use a normal animation, should be trivial to do 10:33 < Scruff> xD 10:33 < Xor_Boole> aaand it's not working 10:39 < Xor_Boole> meh, looks dinky, whatever 10:39 < Xor_Boole> it's Thinkofdeath's fault anyways 10:40 < Xor_Boole> Scruff you know what'd be really nice? the ability to force textures to be loaded as RGBA 10:40 < Scruff> Now that would be nice. 10:41 < Xor_Boole> it would make making complex models for solid blocks significantly easier 10:41 * Scruff nudges Grum 10:41 < Scruff> :P 10:42 < Xor_Boole> good job, now you're going to get murdered by either angry voices or an angry dutchman. 10:42 < Xor_Boole> s/voices/opers 10:43 < Scruff> Ahahaha 10:43 < Scruff> I'll risk it 10:43 < Xor_Boole> tbh that's more of a thing to poke searge or ryan about anyways 10:43 < Xor_Boole> except neither hang out in here 10:43 < Scruff> To Twitter! 10:44 * Xor_Boole smacks Scruff 10:44 < Scruff> Ahaha 10:44 < Xor_Boole> I'm annoyed there's no cloudbot in here 10:44 < Xor_Boole> bot command reflexes are tingling 10:45 < Xor_Boole> I should just write a list of things I feel the model format needs that would remove the amount of boilerplate in my pack 10:45 < Xor_Boole> like mixin inheritance! 10:46 < Xor_Boole> then again, I could just design a new format and compile to mojang's 10:46 < Xor_Boole> but that would mean porting my pack... 10:46 < Scruff> Ahaha 10:47 < Xor_Boole> but compile time metaprogrammign! 10:47 * Xor_Boole grabs Scruff by the collar 10:47 < Xor_Boole> this is the face of a man that looked scala.reflect.api in the eye and came back alive! 10:54 < Xor_Boole> never mind rotating disk sucks 10:58 < SopaXorzTaker> offtopic *grrrrrrrrr* 10:59 < Xor_Boole> well it's technically not offtopic 13:36 < morfin> compile time metaprogramming like templates inb C++ ) 13:39 < Flemmard> that's so hard to read/understand sometimes 13:40 < morfin> what do you mean? 13:47 < Flemmard> metaprogramming, over-abused templates and shit 13:47 < Flemmard> (c++) 14:02 < morfin> oh yes sometimes it is overabused 14:05 < morfin> but sometimes they're unavoidable 14:05 < Flemmard> yea 14:05 < Flemmard> at work we have a part of code that's only in templates, but really 'hard' ones 14:05 < Flemmard> )and unnecessary) 14:13 < morfin> anyway i will have to use them anyway, but i am going to do that wisely without overabusing 14:17 < Grum> Scruff you know what'd be really nice? the ability to force textures to be loaded as RGBA <-- that wont work until lots of other stuff has been changed/fixed! 14:17 < Scruff> Double kill! (Ping) 14:27 < morfin> why you need RGBA? 16:48 < nickelpro> Was there a reason someone reorganized the wiki by packet id and mixed the Clientbound and Serverbound packets toghether? I reverted because it was a pain, but if that's something everyone wanted I don't want a war... 18:09 < Grum> nickelpro: they should be separated 18:09 < Grum> you can refer to them when the contents + usage is the same ofc but otherwise do not 'assume' :) 18:11 < nickelpro> Grum: That's what I figured but the poor bastard seemed to put a lot of work into this edit http://wiki.vg/index.php?title=Protocol&oldid=6286 18:14 < Grum> hmmm looks like sane thing on that page?