22:54 < TkTech> TRocket: What project? 22:54 < TkTech> sadimusi: <3 22:54 < TRocket> benchmark standards for mc serves 22:54 < TRocket> *servers 22:56 < TkTech> TRocket: Existing repo? New repo? Project name? 22:58 < TRocket> i had got this working a couple of years ago with a java client spawning players, breaking blocks, etc. The code was on sourceforge...somewhere, i seem to remember it and another project of mine's svn repo got lost in the transition to allura. I'm planning to rewrite it anyway 22:59 < TkTech> Sooooo…project name? 22:59 < TRocket> BenchCraft 23:00 < TkTech> TRocket: https://github.com/mcdevs/BenchCraft 23:00 < TRocket> thanks 23:00 < TkTech> TRocket: You have push, pull, admin 23:01 < TRocket> thanks 23:01 < TRocket> i will try and work on it tomorrow 23:02 < TRocket> as my network switch seems to have died 23:02 < TRocket> and win8 is now using the wifi which it says i have not installed drivers for 23:02 -!- TRocket [~TRocket@82-69-14-167.dsl.in-addr.zen.co.uk] has quit [Remote host closed the connection] 23:09 < Drainedsoul> I missed SirCmpwn talking down on people again, damn 23:15 -!- shoghicp_ [~shoghicp@77.225.6.14] has joined #mcdevs 23:19 -!- shoghicp [~shoghicp@77.225.6.14] has quit [Ping timeout: 268 seconds] 23:19 -!- shoghicp_ is now known as shoghicp 23:20 -!- shoghicp [~shoghicp@77.225.6.14] has quit [Quit: Leaving] 23:21 -!- shoghicp [~shoghicp@137.Red-79-159-12.staticIP.rima-tde.net] has joined #mcdevs 23:22 -!- Zartec [~Thunderbi@95-89-157-17-dynip.superkabel.de] has quit [Quit: Zartec] 23:35 -!- act4 [~alex@host86-140-59-228.range86-140.btcentralplus.com] has quit [Quit: act4] --- Day changed mer. juin 26 2013 00:08 -!- edlothiol [~edlothiol@2a02:810b:80c0:27:f2de:f1ff:fe78:51cf] has quit [Ping timeout: 264 seconds] 00:16 -!- InfinitePulsing [~Coon@pool-98-113-216-78.nycmny.fios.verizon.net] has joined #mcdevs 00:16 < InfinitePulsing> Hey, 'tis InfinitelyOscill(ating) 00:19 * InfinitePulsing sai hai 00:19 < InfinitePulsing> Anyone.. 00:20 <+sadimusi> o/ 00:20 < InfinitePulsing> Haylo. 00:20 -!- Xaardas [~tach@p5B252639.dip0.t-ipconnect.de] has quit [Quit: Tschuess und bis Bald] 00:20 -!- Yoshi2 [~chatzilla@xdsl-87-79-217-145.netcologne.de] has quit [Quit: ChatZilla 0.9.90 [Firefox 21.0/20130511120803]] 00:21 -!- Yoshi2 [~Yoshi2@xdsl-87-79-217-145.netcologne.de] has joined #mcdevs 00:21 < InfinitePulsing> Basically, I'm going to start with my own little pack of Minecraft protocol goodies. 00:21 <+sadimusi> in what language? 00:22 < InfinitePulsing> An encryption, decryption class, and a way to format it. 00:22 < InfinitePulsing> Java. 00:22 < InfinitePulsing> I'll simply make a little encryption suite, no networking at all. 00:22 < InfinitePulsing> Just little things till I get up big, I don't expect myself to make a server for a while. 00:23 < dexter0> why not use BouncyCastle for crypto since you're doing it in Java. 00:23 < InfinitePulsing> I like reinventing the wheel. 00:23 <+sadimusi> your wheel will be slow ;) 00:23 < InfinitePulsing> Sadi, you'll be surprised. 00:23 < InfinitePulsing> I'm only making an encryption class. 00:23 < InfinitePulsing> Like, writeXXX() 00:24 < InfinitePulsing> With other goodies. 00:24 < InfinitePulsing> Anybody like IntelliJ idea? 00:24 < dexter0> best of luck rolling your own crypto... 00:25 < InfinitePulsing> yup.. 00:25 < Yoshi2> there is reinventing the wheel, and then there is reinventing the material that wheel is made of ;) 00:26 < InfinitePulsing> It is easy, the cryptography is simple in terms of encode decode. 00:26 <+sadimusi> well, I sure hope you're not going to reimplement AES itself 00:26 < InfinitePulsing> No 00:26 < InfinitePulsing> LOL 00:26 < InfinitePulsing> NOT AES 00:26 < InfinitePulsing> I mean like 00:26 < InfinitePulsing> the writeShort() 00:26 < InfinitePulsing> writeBool() 00:26 < InfinitePulsing> That 'encryption' not 'crypto' 00:26 < InfinitePulsing> At least it was called encoding* 00:27 <+sadimusi> so you're just writing your own CipherStream using the ciphers from the std library? 00:27 < InfinitePulsing> =,= 00:27 < InfinitePulsing> no 00:27 < InfinitePulsing> Ex. 00:27 < InfinitePulsing> Packet1.writebool(true); 00:27 < InfinitePulsing> Packet1.writeInt(1); 00:27 < InfinitePulsing> etc. 00:28 <+sadimusi> how is that any different from what I just said? 00:28 < InfinitePulsing> Sounds like C++ 00:28 < InfinitePulsing> Don't know C++ 00:28 < InfinitePulsing> Tried learning it and gave up 00:30 <+sadimusi> I was talking about java 00:30 < InfinitePulsing> afaik java has no std library 00:30 < InfinitePulsing> lol 00:30 <+sadimusi> d API you describe sounds about the same as combining a ObjectOutputStream with a CipherOutputStream 00:30 <+sadimusi> lol? 00:30 < InfinitePulsing> lolno 00:30 <+sadimusi> s/^d/the/ 00:31 < InfinitePulsing> LOL.. 00:32 <+sadimusi> well, just write it and I'll figure out what it is when you're done :) 00:32 < InfinitePulsing> Essentially.. 00:32 < InfinitePulsing> hmm 00:32 < InfinitePulsing> A servermessage 00:35 < Yoshi2> well, if you do it right, you can tack on a bit of networking and you'll have a working wrapper for sending encrypted data to a server 00:48 < InfinitePulsing> Curious. 00:48 < InfinitePulsing> Would a bool be stored as a 0 and 1 or (char) 0 / (char) 1 00:49 < InfinitePulsing> Or else there would be no distinction.. 00:49 < InfinitePulsing> In the mc protocol (data types) 00:50 <+sadimusi> it's 0x0 and 0x1, no strings 00:52 <+SirCmpwn> InfinitePulsing: your wheel will not only be slow but also be terrible 00:52 <+SirCmpwn> don't do your own crypto, man 00:52 < Yoshi2> in the protocol bools are bytes with the value 0 or 1 00:52 <+SirCmpwn> heh, you gave up learning C++ 00:52 <+SirCmpwn> please, do your work in a private manner, InfinitePulsing 00:53 <+SirCmpwn> people might find your repository and learn from you 00:53 <+sadimusi> SirCmpwn: remember how you denied being hostile towards new people in here? :P 00:54 -!- r04r is now known as r04r|away 00:55 <+SirCmpwn> sadimusi: most new people don't say they're going to implement their own crypto and then turn around and ask "Would a bool be stored as a 0 and 1 or (char) 0 / (char) 1" 00:55 <+SirCmpwn> there's a lower limit to my tolerance of ignorance 00:55 <+sadimusi> SirCmpwn: fair enough :) 01:00 < Yoshi2> to be fair, he did say that he only wanted to write his own (what seems like a) cryptostream, which is not as bad as reimplementing AES or something like that 01:00 < InfinitePulsing> Dude 01:01 < InfinitePulsing> It's not a crypto like rs 01:01 < InfinitePulsing> a 01:01 < InfinitePulsing> http://forum.ragezone.com/f353/servermessage-new-crypto-874485/ 01:01 < InfinitePulsing> That type of thing. 01:01 <+sadimusi> so more of a reimplementation of ObjectOutputStream 01:01 * InfinitePulsing sigh 01:02 < InfinitePulsing> Is this a class in the official library 01:02 <+SirCmpwn> isn't objectoutputstream binary serialization 01:02 < InfinitePulsing> or a class in the mc server 01:02 <+sadimusi> http://docs.oracle.com/javase/6/docs/api/java/io/ObjectOutputStream.html 01:02 < InfinitePulsing> Sir 01:02 < InfinitePulsing> It is. 01:02 < InfinitePulsing> Packet serializing. 01:02 <+SirCmpwn> that's not a good idea. 01:03 < InfinitePulsing> It's a simple class xD. 01:03 < InfinitePulsing> Dude. 01:03 <+sadimusi> that's not really what I understand under packet serializing 01:03 < InfinitePulsing> It's not aes and stuff 01:03 < InfinitePulsing> I mean like 01:03 < InfinitePulsing> packet structures.. 01:03 <+SirCmpwn> serializing packets is not a good idea, I mean 01:03 < InfinitePulsing> Sir 01:03 <+SirCmpwn> are you going to use reflection every single time you read or write a packet? 01:03 <+sadimusi> sure it is 01:03 < InfinitePulsing> Just shut your ignorant mouth. 01:03 <+SirCmpwn> serializing in a way similar to objectoutputstream* 01:04 < InfinitePulsing> It's not a good idea as you want me to not contribute. 01:04 < InfinitePulsing> Fix your attitude. I don't like people like you. 01:04 < InfinitePulsing> You're acting "oh-holier-than-thou" 01:04 < InfinitePulsing> It's not funny, so fix it. 01:04 < InfinitePulsing> Rant = over. 01:05 <+SirCmpwn> if you're going to release code that's badly written and badly designed, it poisons the community as a whole 01:05 <+SirCmpwn> new users see it and learn from it 01:05 < InfinitePulsing> Sir. 01:05 <+SirCmpwn> and I am holier than thou, I've written a hell of a lot of Minecraft-related code 01:05 < InfinitePulsing> I am not incompetent. 01:05 < InfinitePulsing> I don't intend to release pieces of shit code. 01:05 <+sadimusi> SirCmpwn: don't act like you've never released bad code 01:05 < InfinitePulsing> SirCmpwn, fix your attitude. 01:05 < InfinitePulsing> You sound like a narcissistic piece of shit. 01:05 < InfinitePulsing> I never curse unless I mean it. 01:06 <+SirCmpwn> sadimusi: I have, but I usually mark it as unsupported or delete it, or make it clear in some other means that it shouldn't be used 01:06 < InfinitePulsing> Fix yourself, you are not the god of the community. 01:06 <+SirCmpwn> that doesn't take into account code that I don't realize is bad, but I'd appriciate it when that code is pointed out so I can fix it or apply such a marking 01:07 < InfinitePulsing> Just because you write code doesn't mean anything, you want to have things "perfect". 01:07 < InfinitePulsing> Sadi, can you see where my frustration is coming from? 01:07 <+SirCmpwn> InfinitePulsing: you haven't listened to a single word I've said to you this whole time. Maybe you should consider it. 01:08 < InfinitePulsing> At least Sadi explained h(is/er)'s link, and helped me. 01:08 < InfinitePulsing> Sir, that's because you're ignorant. 01:08 <+SirCmpwn> of what? 01:08 < InfinitePulsing> I refuse to listen to you, so frankly dear, I don't give a fuck. 01:08 < InfinitePulsing> You act like you're holier than everyone, stop it. Stop this subtle ego of yours. 01:09 < dexter0> I thought you were finished ranting? 01:09 < InfinitePulsing> I deduce this from only 3/4 dialogues with you. 01:09 < InfinitePulsing> Dexter, "SirCmpwn" is a bit.. pissing me off in short. 01:09 <+SirCmpwn> enough, InfinitePulsing 01:09 <+SirCmpwn> this conversation is no longer productive and it detracts from the content of this channel 01:09 <+SirCmpwn> continue arguing with me privately if you insist 01:24 -!- shoghicp [~shoghicp@137.Red-79-159-12.staticIP.rima-tde.net] has quit [Quit: Leaving] 01:37 < dav1d> lol 01:39 < dav1d> #mcdevs the place for dumb discussions 01:42 <+ammar2> better than no discussions I suppose 01:43 <+sadimusi> "There is no item named 'java/lang/Object.class' in the archive" m( 01:43 <+sadimusi> it's always the smallest things breaking burger :/ 01:52 -!- Yoshi2 [~Yoshi2@xdsl-87-79-217-145.netcologne.de] has quit [Ping timeout: 252 seconds] 01:56 -!- dexter0 [~dexter0@c-24-23-138-192.hsd1.ca.comcast.net] has quit [Quit: exit(0);] 02:04 -!- shoghicp [~shoghicp@77.225.6.14] has joined #mcdevs 02:07 <+SirCmpwn> sadimusi: so it's fixed? 02:07 <+sadimusi> looks like mob textures and most of the more complex packets are still broken 02:10 <+sadimusi> funny, on my machine it worked fine 02:18 <+sadimusi> I'll try to figure that out another time, for now I just uploaded the output I get locally 02:18 <+sadimusi> the entity textures are still missing, but other than that it looks fine http://b.wiki.vg/1.5.2...1.6 02:18 <+SirCmpwn> sadimusi: 1.6 doesn't actually exist :| 02:18 <+SirCmpwn> oh, shit, yes it does 02:19 <+sadimusi> I was surprised as well 02:19 <+SirCmpwn> looks like I have a busy night ahead of me 02:19 <+SirCmpwn> sadimusi: you mentioned that complex packets are broken, is this packet diff accurate? 02:19 <+sadimusi> yes, this one is from my computer 02:19 <+SirCmpwn> sadimusi: <3 02:26 -!- TomyLobo [~TomyLobo@91-65-210-133-dynip.superkabel.de] has quit [Quit: Standby mode...] 02:34 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has quit [Ping timeout: 240 seconds] 02:38 -!- shoghicp [~shoghicp@77.225.6.14] has quit [Quit: Leaving] 02:39 -!- fragmer_ [~fragmer@c-75-70-55-0.hsd1.co.comcast.net] has quit [Quit: Leaving] 02:47 -!- dexter0 [~dexter0@c-24-23-138-192.hsd1.ca.comcast.net] has joined #mcdevs 03:04 < ryan-c> Is the Server ID consistent across restarts in the vanilla server? 03:06 -!- InfinitePulsing [~Coon@pool-98-113-216-78.nycmny.fios.verizon.net] has quit [Read error: Connection reset by peer] 03:07 -!- Yoshi2 [~Yoshi2@xdsl-87-78-87-192.netcologne.de] has joined #mcdevs 03:12 < ryan-c> oh, now I get it. The serverId field is sent to session.minecraft.net and it's derived in part from the server's public key, so you can't use it on a different server 03:18 < ryan-c> Actually, I'm confused, what's the sessionId and what's serverId? I see serverId as 'hash' here: http://wiki.vg/Protocol_Encryption 03:22 < ryan-c> I guess serverId there is different form the Server ID string. 03:32 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has joined #mcdevs 03:34 -!- ranie [~rramiso@124.6.182.55] has joined #mcdevs 03:34 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has quit [Read error: Connection reset by peer] 03:39 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has joined #mcdevs 03:51 -!- fragmer_ [~fragmer@c-75-70-55-0.hsd1.co.comcast.net] has joined #mcdevs 03:52 < fragmer_> hm gotta get back to the znc 03:53 -!- fragmer_ [~fragmer@c-75-70-55-0.hsd1.co.comcast.net] has quit [Client Quit] 04:13 -!- Yoshi2 [~Yoshi2@xdsl-87-78-87-192.netcologne.de] has quit [Ping timeout: 276 seconds] 04:16 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has quit [Read error: Connection reset by peer] 04:20 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has joined #mcdevs 04:24 -!- Eloston [~Eloston@c-76-121-64-112.hsd1.wa.comcast.net] has joined #mcdevs 04:30 < Eloston> Do you guys know how Minecraft checks if it is running in an applet or not? 04:32 <+SirCmpwn> I don't know that it checks at all, Eloston 04:32 <+SirCmpwn> what effect does it have? 04:39 < Eloston> I don't know of any known effect, just wondering 04:40 < Eloston> And it somehow does check, because when I use my shell script to launch 1.5.2, it says false for applet 04:44 <+SirCmpwn> I see 04:45 <+SirCmpwn> well, I don't know how it checks, sounds like something you'd need to go to the decompiled source for 05:15 <+SirCmpwn> the new chat is even worse than I expected 05:16 <+SirCmpwn> is it not possible to just give the client chat? It has to be formatted into one of the chat "types"? 05:16 <+SirCmpwn> I know there's the `text` json field, but I thought that was being depreciated soon 05:22 < Eloston> meh, I honestly don't know why they want fancy formatting 05:22 < Eloston> chat is fine the way it is now 05:24 <+SirCmpwn> I argued with Gr.m and D.nnerbone at length about how stupid the change is 05:24 <+SirCmpwn> they didn't really listen. 05:37 < Drainedsoul> you'd think with all the things wrong with Minecraft they'd be interested in fixing those 05:38 -!- Not-001 [~notifico@198.199.82.216] has joined #mcdevs 05:38 < Not-001> [fCraft] fragmer * r2048 3 files : Started working on /SetGen command. 05:51 -!- Yoshi2 [~Yoshi2@xdsl-87-78-26-55.netcologne.de] has joined #mcdevs 06:08 <+SirCmpwn> somehow, I'm not surprised that they started sending an extra ~128 byte packet with useless information for every single entity spawned 06:09 <+SirCmpwn> actually, that information might be useful for cheating 06:09 <+SirCmpwn> https://gist.github.com/SirCmpwn/a82ce86db20b86a177ae 06:11 <+SirCmpwn> why was this necessary considering the (admittedly shitty) entity metadata system already exists (and was not removed)? 06:12 < Drainedsoul> wow sending strings, they couldn't give them corresponding integer values eh 06:15 <+SirCmpwn> fun fact, the 0xCA "Player Abilities" packet is still sent, but the walking/flying speed given there is discarded in favor of an 0x2C "Entity Properties" packet, though both are sent 06:16 < Drainedsoul> who even programs this shit 06:17 < Drainedsoul> I often find myself wondering how someone could sit there and think "ahh yes, this is a sensible design" 06:17 <+SirCmpwn> Dinnerbone. 06:17 <+SirCmpwn> Grum. 06:17 <+SirCmpwn> maybe jens 06:17 <+SirCmpwn> but I'd bet Dinnerbone was behind these changes 06:17 < Drainedsoul> oh? why's that? 06:17 <+SirCmpwn> he seems to have a thing for appeasing the map makers with features like these 06:18 < Eloston> We should try to promote a whole protocol rewrite to make things cleaner, easier to understand, and nicer on the network (if possible) 06:18 < Drainedsoul> "the map makers"? How does this appease them? 06:18 <+SirCmpwn> mojang as a whole seems to be behind json chat, fyi. It's only the entity property stuff I'm blaming on Dinnerbone 06:18 <+SirCmpwn> Drainedsoul: custom max health and movement speed for entities, among other things 06:18 < Drainedsoul> ohh okay 06:19 <+SirCmpwn> Eloston: we've tried, many times, going back long before you arrived 06:19 <+SirCmpwn> long before I arrived, even 06:20 < Grum> json chat while being 'a bit large' was just a needed change 06:20 < Grum> we can use something other than json later if 'size is a problem' which i doubt 06:20 < Grum> the 128byte thing per entity however, wtf? 06:20 <+SirCmpwn> Grum: don't get rid of {"text":"..."} please 06:20 < Grum> SirCmpwn: we wont' we'll just stop supporting the \ua7's in it 06:20 <+SirCmpwn> Grum: and if you do, have a way for us to give text without specifying a translation thing to use 06:20 < Drainedsoul> I don't really understand how json chat was needed. I mean the client is basically a retarded minion to the server in every regard, but echoing formatting chat messages without semantic meaning, that was the breaking point? 06:21 < Grum> Drainedsoul: being able to send nestable translatable strings 06:21 < Grum> without having the translations on the server 06:21 < barneygale> Yeah it's a good idea 06:21 <+SirCmpwn> Grum: the 128 bytes per entity thing is packet 44. It does a few others stupid things, if you're interested in hearing about them 06:21 < Grum> (because they update slow, do not allow for 'custom' ones) 06:21 < barneygale> I just think the colour code removal will make things harder in a few places 06:21 < Grum> SirCmpwn: i didnt knwo about it 06:22 <+SirCmpwn> and I am informing you now :P 06:22 < Grum> barneygale: you can nest/chain the {text:}... 06:22 <+SirCmpwn> barneygale: I'll write up some code to translate legacy chat format into json stuff 06:22 < ShaRose> Grum is it acceptable to open this sort of issue on the jira out of curiousity? 06:22 < Grum> what sort of? 06:22 < barneygale> Will the API for it be nice? In CH you just do a string concatination with `color(red)` or wharever 06:22 < Grum> the 128byte packet44? 06:23 < Grum> yes, imho that might be highly overkill; have someone justify it 06:23 < ShaRose> like, code issues in general 06:23 < Grum> ShaRose: depends 06:23 < Grum> easier to do it here 06:23 < Drainedsoul> if internationalization is such a concern, does that mean strings will be UTF-16 soon? 06:23 <+SirCmpwn> ooh, we can do technical details in the bug tracker? 06:23 <+SirCmpwn> I'm going to have a field day 06:23 < Grum> Drainedsoul: not sure what that has to do with anything 06:23 <+SirCmpwn> well, a restrained and responsible field day 06:23 < ShaRose> SirCmpwn that's what I just thought of yeah 06:23 < Drainedsoul> well you're worried about translatable strings, but you don't support the whole Unicode code space? 06:23 < Grum> i dont think the bugtracker is a good place for that 06:23 < barneygale> Additionally, do you know if colour codes / text markup will be available in MOTD, signs, player names? 06:24 <+SirCmpwn> Drainedsoul: does anyone actually use the rest of unicode 06:24 < Drainedsoul> CJK does 06:24 < ShaRose> can we get a ~special~ bugtracker just for that purpose, like the MC-API one sort of? 06:24 <+SirCmpwn> CJK? 06:24 < Drainedsoul> Chinese, Japanese, Korean 06:24 < Grum> ShaRose: not sure 06:24 <+SirCmpwn> ShaRose: I suspect it wouldn't take long for them to ignore it like they usually ignore this channel 06:24 <+SirCmpwn> Drainedsoul: I see 06:25 <+SirCmpwn> Drainedsoul: I suppose kanji fits in there, but most japanese use hirigana, and korean is a similar story 06:25 <+SirCmpwn> Grum: I think a mailing list regarding technical information would be a good idea 06:26 <+ammar2> mailing list? 06:26 <+ammar2> 2013? 06:26 < ShaRose> ^ 06:26 <+SirCmpwn> they're still pretty active, and would reduce the number of non-technical users that would try to get involved 06:26 < ShaRose> maybe even a usenet board! lol! 06:27 < Grum> afk for ~40 mins making breakfast etc 06:27 < barneygale> Grum: MOTD, signs, player names? Sorry to be a bother but a few of us were a bit concerned, especially about signs 06:27 <+SirCmpwn> I second the concern regarding signs, barneygale Grum 06:27 <+SirCmpwn> ShaRose: I'm going to make a packet 44 bug report 06:27 < ShaRose> do it 06:28 < Eloston> I like the mailing list idea 06:28 < ShaRose> forum 06:28 < ShaRose> :( 06:29 <+ammar2> forums definetly tend to attract a lot of non technically orientated users 06:29 < ShaRose> yeah add a question about the code before they can register 06:30 <+SirCmpwn> bad idea 06:30 <+SirCmpwn> not everyone knows anything about the decompiled code (and they probably shouldn't be officially condoning that sort of thing) 06:31 < ShaRose> about code in general 06:31 < Drainedsoul> what kind of code? What's an example of a question that's going to have the universality not to give false positives, but still keep non-technical people out? 06:32 <+SirCmpwn> mailing list makes this problem disappear, which is why I suggested it 06:32 <+SirCmpwn> it also keeps mojang from adopting a public stance that appears hostile to non-technical users 06:33 < dexter0> +1 for mailing list 06:36 <+SirCmpwn> https://mojang.atlassian.net/browse/MC-19208 06:37 <+SirCmpwn> ShaRose: 06:37 * SirCmpwn goes back to documenting 1.6 06:38 < ShaRose> I was on newegg and this guy was talking about how he was amazed he got something in less than 24 hoursw 06:38 < ShaRose> I ordered a 60 pound chair from the US with amazon. it shipped thursday, I got it monday 06:38 <+SirCmpwn> there's a new field on the open window packet that is only sent when the window type is 11 06:39 <+SirCmpwn> we currently are only aware of window types 0-9 06:39 < ShaRose> this was with standard international shipping 06:39 <+SirCmpwn> these windows are probably related to mules, but I'm interested to learn what the new field is used for with them 06:50 -!- Paprikachu [~Paprikach@178.112.112.157.wireless.dyn.drei.com] has quit [Ping timeout: 264 seconds] 06:51 -!- Paprikachu [~Paprikach@77.116.131.244.wireless.dyn.drei.com] has joined #mcdevs 06:53 <+SirCmpwn> 11 is for horse inventories 06:55 <+SirCmpwn> I'm seeing a weird value for that int when it's sent with a horse inventory 06:56 <+SirCmpwn> will research more 06:57 <+SirCmpwn> 11 is also sent for donkey inventories 06:58 <+SirCmpwn> oooh, interesting: donkeys only have one inventory slot, but the packet says two 07:02 -!- Zartec [~Thunderbi@95-89-157-17-dynip.superkabel.de] has joined #mcdevs 07:08 < Not-001> [Craft.Net] SirCmpwn pushed 34 commits to snapshot [+8/-0/±105] http://git.io/Gz3bbg 07:08 < Not-001> [Craft.Net] ggrote cd32db8 - - added cleaned chat message to Events/ChatMessageEventArgs.cs - fixed player position (y/stance) - added UpdateSign Handler - fixed MapChunkBulk and ChunkData Handlers - moved reading chunk from stream into single method - added LookAt and "basic" Move to MinecraftClient.Actions - fixed finding blocks by position 07:08 < Not-001> [Craft.Net] ggrote 7c5b15f - - changed ChatHandler to use indexof and remove instead of regex - reverted EntityHandlers.cs - removed braces and changed formatting - changed Move to start an async thread for movement - removed ProtocolVersion and FriendlyVersion as they are not used anymore 07:08 < Not-001> [Craft.Net] ggrote 617af5e - name refactoring 07:08 < Not-001> [Craft.Net] ggrote 903079b - added userid to session 07:08 < Not-001> [Craft.Net] SirCmpwn dc43e73 - Upped protocol version 07:08 < Not-001> [Craft.Net] SirCmpwn 4132736 - Added MinecraftClient.MoveTo 07:08 < Not-001> [Craft.Net] SirCmpwn 38f03b7 - Cancel current client move operation before starting another 07:08 < Not-001> [Craft.Net] SirCmpwn 2ab8fa6 - Reponse to cancellation request 07:08 < Not-001> [Craft.Net] aholmes 12c2633 - Fix server crash when sending packets to disconnected clients #155 07:08 < Not-001> [Craft.Net] SirCmpwn ebaa56f - Merge pull request #156 from aholmes/master Fix issue #155 07:08 < Not-001> [Craft.Net] aholmes 778c19a - Fix issue with players respawning under the map. This is done by adding the PlayerEntity.Height to Level.SpawnPoint. This change also changes storing the PlayerEntity.Height with the position when the user exits. Instead, I opted to add the height wherever needed. This has the effect of not dropping the user twice as high during respawn than during login. Issue #154 07:08 < Not-001> [Craft.Net] aholmes be3e34c - Correct whitespace 07:08 < Not-001> [Craft.Net] SirCmpwn a6468df - Fix #158 07:08 < Not-001> [Craft.Net] SirCmpwn 10d2208 - Merge branch 'master' of github.com:SirCmpwn/Craft.Net 07:08 < Not-001> [Craft.Net] SirCmpwn 05f5b3a - Drop inventory on player death 07:08 < Not-001> [Craft.Net] SirCmpwn 6e4ea7e - Fix death spamming when falling into the void 07:08 < Not-001> [Craft.Net] SirCmpwn 330e914 - Slowed down death by void 07:08 < Not-001> [Craft.Net] SirCmpwn 3303737 - Merge remote-tracking branch 'aholmes/master' 07:08 < Not-001> [Craft.Net] SirCmpwn b30f227 - Fix formatting issue with pull request 07:08 < Not-001> [Craft.Net] SirCmpwn 8277e52 - Removed test code from flatland generator 07:08 < Not-001> [Craft.Net] SirCmpwn 5ddf97a - Added tab complete event, closes #151 07:08 < Not-001> [Craft.Net] SirCmpwn 464e36d - Added TabCompleteEventArgs.Handled to avoid sending responses unless needed 07:08 < Not-001> [Craft.Net] SirCmpwn a424a9f - Added TabCompleteEventArgs.Client 07:08 < Not-001> [Craft.Net] SirCmpwn 3be8aef - Fix client bug related to connecting to online mode servers in offline mode 07:08 < Not-001> [Craft.Net] SirCmpwn f478f03 - Added overloads to do DNS lookups and such for the user 07:08 < Not-001> [Craft.Net] SirCmpwn f480ba5 - Added support for dropping item stacks in creative mode 07:08 < Not-001> [Craft.Net] SirCmpwn a271f8f - Update fNbt 07:08 < Not-001> [Craft.Net] pdelvo 4cb24c7 - Does now support IpV6! 07:09 < Not-001> [Craft.Net] SirCmpwn a1dd676 - Merge pull request #169 from pdelvo/ipv6 Does now support IpV6! 07:09 < Not-001> [Craft.Net] SirCmpwn 78cff86 - Add new packets 07:09 < Not-001> [Craft.Net] SirCmpwn ff1eac9 - Merge master into snapshot 07:09 < Not-001> [Craft.Net] SirCmpwn 5580ab9 - Basic 1.6 support 07:09 < Not-001> [Craft.Net] SirCmpwn 6eab3ef - Fixed walking/flying speed for 1.6, fixed another changed packet 07:09 < Not-001> [Craft.Net] SirCmpwn 3a3ac91 - Update README 07:09 <+SirCmpwn> viola, 1.6 support in C.N 07:09 < Grum> feel free to make a mailing list; it will mean i will *NEVER* respond to it 07:09 < Grum> if there is anything annoying its a mailinglist 07:10 < ShaRose> Grum what say you about a forum 07:10 < ShaRose> invite only, even 07:10 <+SirCmpwn> Grum: an alternative would be a welcome relief after lots of stress here about technical problems going unsolved 07:10 < Grum> ShaRose: also not good 07:10 < ShaRose> bugtracker area for it it is 07:11 <+SirCmpwn> you could just give me jeb's phone number 07:11 < Grum> name one big technical problem that is unsolved? 07:11 <+SirCmpwn> Grum: define 'big' 07:11 < ShaRose> anyways I need to go to sleep, 2:40 am 07:11 < Grum> one that would stress-you-out-big 07:11 < Drainedsoul> I thought the whole server and protocol were just one big technical problem 07:11 <+SirCmpwn> ^ 07:11 <+SirCmpwn> I suppose one of the more important items is server list ping breaking multi-version support 07:11 < ShaRose> I lold there, I admit 07:12 <+SirCmpwn> there is also a ton of extraneous data going over the network, Grum, browse through an SMProxy log when you have some time 07:12 <+SirCmpwn> maybe 10% of what goes over the wire doesn't need to 07:12 < Grum> only 10% 07:12 < Grum> seems minimal 07:13 <+SirCmpwn> expand that over the lifetime of a game session 07:13 < Eloston> heh 07:13 <+SirCmpwn> that's probably a few dozen megabytes 07:13 <+SirCmpwn> in about a half hour 07:14 < Grum> o m g 07:14 <+SirCmpwn> Grum: another problem: there are at least a dozen ways to encode 3D coordinates 07:14 < Grum> my tears contain more information than that 07:14 < Grum> SirCmpwn: yeah also not going to be fixed 07:14 <+SirCmpwn> your tears contain more information than your hard drive, Grum 07:14 < Grum> you guys are only talking about protocol shit 07:14 < Grum> i can tell you now, we will not fix that any time soon 07:14 <+SirCmpwn> ...that's what we do here 07:14 < Grum> it really is the last priority 07:14 < Grum> SirCmpwn: i have excessively big harddrives ;) 07:15 <+SirCmpwn> unfortunately for us, your last priority is our first priority and takes up most of our time 07:15 < Eloston> Also if you don't clean up protocol shit now, it takes more effort to clean it out later 07:15 <+SirCmpwn> it's not that straightforward to reverse engineer a network protocol, especially a stupid one 07:16 < Grum> Eloston: bullshit 07:16 < Grum> SirCmpwn: luckily you have the source 07:16 < Eloston> well increased entropy 07:16 < Grum> Eloston: there has been barely any change to the protocol (major change) 07:16 < Grum> since 1.3 orso 07:16 <+SirCmpwn> Grum: figuring out what each field does is half the battle 07:16 <+SirCmpwn> Grum: if you'd like to provide us with unobsfucated source, though, I'm down ;) 07:16 < Grum> mcp. 07:17 <+SirCmpwn> they have to unobsfucate it, too 07:17 <+SirCmpwn> we're the first ones to see that stuff, Grum 07:18 <+SirCmpwn> anyway, reverse engineering the protocol is just one problem we face, it's core to our projects and the bonkers protocol makes our projects worse 07:19 < Eloston> Also has the client choosing not to do encryption problem been resolved yet? 07:19 < Eloston> I think that's a security risk 07:19 <+SirCmpwn> only works on offline mode servers, they'll never fix it 07:19 < Eloston> oh 07:20 <+SirCmpwn> Mojang is great about not fixing a lot of things 07:20 <+SirCmpwn> anything having to do with offline mode is one of them 07:20 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has quit [Ping timeout: 276 seconds] 07:20 <+SirCmpwn> anything we ask for, really 07:22 < Grum> you play offline? you have no protection 07:22 < Grum> your risk. 07:22 <+SirCmpwn> and a bug becomes a feature 07:22 < Grum> we can remove offline mode if you want 07:22 < Grum> what bug become a feature? 07:23 <+SirCmpwn> haha, that won't just piss *us* off 07:23 < Grum> i know 07:23 < Grum> that is why offline mode still exists 07:23 < Grum> if it were up to me it would have been removed already 07:23 <+SirCmpwn> I'm sure all of us here would love to buy another two or three accounts to test with 07:24 < Eloston> Well if offline mode is removed someone out there will create a mod to re-enable it 07:24 < Grum> oh so i can remove it 07:24 < Grum> thanks Eloston 07:25 -!- Zartec [~Thunderbi@95-89-157-17-dynip.superkabel.de] has quit [Quit: Zartec] 07:25 < Grum> SirCmpwn: not really sure what the problem is with offlinemode and not having encryption 07:26 <+SirCmpwn> Grum: it's not really a problem, but I'm sure it wans't intentional 07:26 < Grum> it is 07:26 <+SirCmpwn> alright, alright 07:27 <+SirCmpwn> that's a pretty stupid stance to take: you want to play on a LAN, or maybe on a plane, or (any other place where offline mode is acceptable)? We'll just throw out your privacy 07:27 < Grum> there is nothing to protect? 07:27 <+SirCmpwn> I should write up a PoC of taking over the connection of someone else on the network 07:27 < Grum> you can pick any name you want? 07:28 <+SirCmpwn> it protects you from snoopers 07:28 < Grum> yeah you can just join the server as that person without ANY 'major changes' 07:28 < Grum> erm 07:28 < Grum> snoopers of what information? 07:28 < Grum> you moving around in the world? 07:28 < Grum> seriously? 07:28 <+SirCmpwn> your chat, for one thing 07:28 < Grum> no-one has ever cared for that 07:28 < Eloston> Then why even have encryption in the first place? 07:28 < Grum> and now all of the sudden that is a problem? 07:28 < Drainedsoul> so why is encryption involved in the first place 07:29 < Grum> sigh 07:29 < Grum> MITM 07:29 <+SirCmpwn> ^ 07:29 < Grum> the uninformed wake up 07:29 < Grum> good morning uninformed. 07:29 < Eloston> but the MITM must care about chat or something then 07:29 <+SirCmpwn> forgive Drainedsoul and Eloston, they haven't been here long 07:29 < Grum> yeah but its the same story over and over and over :/ 07:29 < Grum> Eloston: no, the MITM cares about not having a MITM 07:30 < Drainedsoul> but we just established that we weren't concerned about that 07:30 < Grum> and just to make sure; Man In The Middle 07:30 < Grum> yes you are concerned about that 07:30 <+SirCmpwn> I've had that same thought for the past half hour, Grum, though I'm probably thinking it for a different reason 07:30 < Grum> someone can 'lure' you to a server and then take over the server you admin 07:30 <+SirCmpwn> Drainedsoul: MITM affects online mode when encryption is turned off 07:30 < Grum> while appearting to be you on an online server 07:30 < Grum> rather harmful 07:30 < Grum> and it was actively exploited 07:31 < Grum> for offline servers? we just do not give a fuck 07:31 < Grum> because if you want to play offline? you go play offline 07:31 < Drainedsoul> so it's not that man in the middle, snooping, etc. aren't actually a problem w/offline mode, it's that you don't care about the problem 07:31 <+SirCmpwn> mitm is irrelevant in offline mode 07:31 < Grum> erm, no, mitm only applies to online mode 07:31 < Grum> in offline mode you can take ANY nick 07:31 <+SirCmpwn> well, except for servers which ask you to enter a password or whatever, which I'm *definitely* sure mojang doesn't support 07:32 < Grum> so why even bother with encryption to ensure you are the only person using the nick you authed for 07:32 <+SirCmpwn> in any case, there are significantly bigger fish to fry on Mojang's part, and they aren't being fried 07:32 < Drainedsoul> so why is the whole protocol encrypted, and not just the handshake? 07:32 < Grum> .... 07:33 < Grum> because that wouldnt defeat MITM 07:33 < Grum> the person playing MITM could jsut wait until the handshake is over 07:33 < Grum> and then inject its packets 07:33 < Eloston> Hold on, so when you're in online mode, you cannot have a client that doesn't send an encryption response? 07:33 < Grum> Eloston: indeed 07:33 <+SirCmpwn> correct, Eloston 07:33 < Eloston> oh ok 07:33 < Grum> you will get booted 07:33 < Eloston> k 07:33 < Grum> SirCmpwn: we're not just doing these mini incremental changes to the protocol 07:33 < Grum> we rather overhaul it properly 07:34 < Grum> for that almost all other things have to change first 07:34 <+SirCmpwn> Grum: you guys have said you'd overhaul the protocol since bukkit team was hired 07:34 < Grum> so that is what we'll be doing and that is why the 'protocol' is really near the tail of my todolist 07:34 <+SirCmpwn> I seriously doubt it'll ever happen, other things take priority 07:34 < Grum> yakshaving SirCmpwn 07:34 <+SirCmpwn> yakshaving? 07:34 < Drainedsoul> yeah the problem with technical debt is it's too tempting and easy to defer 07:35 <+ammar2> something something thicker fur needs to be cut first then get to the tail 07:35 < Grum> SirCmpwn: the common term for 'having to do shit to be able to do shit' 07:35 < Grum> lets just say that we have a lot of that 'shit' 07:36 < Eloston> more accurately as: http://en.wiktionary.org/wiki/yak_shaving 07:36 <+SirCmpwn> Grum: the problem, in your case, with 'having to do A to be able to do B' is that A regenerates 07:36 < Drainedsoul> ^ 07:36 <+SirCmpwn> by the time you get to B, I imagine everyone will have moved on to Minecraft 2 07:37 < Grum> ok so name one 'major' inefficiency that needs to be fixed in the protocol? 07:37 < Grum> beyond just 'making in sane in general' 07:37 <+SirCmpwn> inefficiency or problem 07:37 < Grum> a thing that makes you 'stress out really badly' 07:37 <+SirCmpwn> the only thing that makes me "stress out really badly" is the whole protocol and everything you guys keep doing to it each update ;) 07:38 <+SirCmpwn> but the biggest isolated problem I can think of is the bloody server list ping 07:38 < Drainedsoul> what's wrong with that? 07:38 <+ammar2> uhh, it has this weird form of backward compatibility 07:38 <+SirCmpwn> breaks multi-version servers/proxies, and there are a couple of things that would make it a lot nicer 07:38 <+ammar2> Schrödinger's byte 07:38 <+SirCmpwn> it's also terrible in general since they had a stupid way of doing it originally and are stuck with maintaining it forever 07:38 < Drainedsoul> oh I just ignore the backwards compatibility 07:39 < Grum> Drainedsoul: we cant do that 'so easily' 07:39 < Grum> SirCmpwn: that is the big problem in general; lack of design from 'ye olden days' 07:39 <+SirCmpwn> Grum: easy solution: use a new packet ID and design a new server list ping 07:39 <+SirCmpwn> Grum: and ask us for help when you do so it's not mucked up again 07:40 <+SirCmpwn> why that wasn't done when it was changed a few versions ago is beyond me 07:40 < Grum> so now the real question is 07:41 < Grum> why do you guys not have written a wrapper for the 'broken protocol' sanifying it? 07:41 <+SirCmpwn> most of us do write wrappers 07:41 < Grum> SirCmpwn: this has to so with the horrible weird dns magic? 07:41 <+SirCmpwn> but you can wrap up shit all you want, all you're holding is a pile of shitty wrapping 07:41 < Grum> that someone implemented only halfway? 07:41 < Grum> and made it based on sun.* classes? 07:41 <+SirCmpwn> Grum: what 07:42 <+SirCmpwn> what horrible weird DNS magic, SRV records? 07:42 < Grum> yes 07:42 < Grum> in the code that is horribly weird dns magic 07:42 <+SirCmpwn> that's one thing that could be made better by a new server list ping 07:42 <+SirCmpwn> I don't read vanilla code, Grum 07:42 < Grum> you do 07:42 <+SirCmpwn> but the primary thing it'd solve is multi-version servers (which do exist) 07:42 <+SirCmpwn> well, did exist 07:43 < Grum> not sure why you would want multi-version servers :/ 07:43 <+SirCmpwn> pdelvo has a proxy that supports back to 1.3.x 07:43 <+SirCmpwn> I used to write a bunch of software to hold people over between bukkit updates 07:43 <+SirCmpwn> etc, etc, etc 07:44 < Drainedsoul> honestly though, backwards compatibility is the bane of sane code and interfaces 07:44 < Drainedsoul> see: The Windows API 07:44 < Grum> SirCmpwn: i really do not see any benefit in having a multi-version-server 07:45 < Grum> it only justifies 'not updating', prolongs existence of weirdass bugs 07:45 <+SirCmpwn> they're not your bugs 07:45 <+SirCmpwn> you don't support multiversion, so it's obviously some third party software, why would your bugs exist in third party software? 07:46 < Grum> there is no good reason *ever* to play with an old version of mc 07:46 <+SirCmpwn> Grum: my solutions for laggy bukkit as described before were usually to allow new clients to play on old servers while bukkit/plugins updated 07:47 < Grum> which is stupid? 07:47 < Grum> if the server doesnt update, why would the client? 07:47 <+SirCmpwn> because the bloody launcher asks them to in 40 point font 07:48 <+SirCmpwn> and most players don't play on just one server 07:48 < Grum> used to. 07:48 < Grum> boom all validity killed. 07:48 < Grum> so we dont need it anymore 07:48 < Grum> perfect :D 07:48 <+SirCmpwn> you frustrate me, Grum. 07:49 < Eloston> I don't see evidence that people don't play on multiple servers 07:49 <+SirCmpwn> why don't we look back at that SRV stuff you brought up 07:50 < Grum> SirCmpwn: you made something because people are stupid; no we have something so taht stupid people can revert their stupidness 07:50 < Grum> i mean, problem solved? 07:50 <+SirCmpwn> why don't we look back at that SRV stuff you brought up 07:51 <+SirCmpwn> the changes we're talking about would also ideally allow for proper virtual hosting again 07:51 -!- Eloston [~Eloston@c-76-121-64-112.hsd1.wa.comcast.net] has quit [Quit: Leaving.] 07:51 < Grum> now the real question is; why would you *need* virtualhosting? 07:51 <+SirCmpwn> that's a terrible question and you should feel bad for asking it 07:52 < Grum> not really 07:52 <+SirCmpwn> okay, I'll describe a scenario 07:52 <+SirCmpwn> I don't really know how those hunger games servers work, but I think they'd apply to something like this 07:52 < Grum> its a good question, go explain why it is 'needed' 07:52 < Grum> SirCmpwn: vanilla usecase only. 07:52 <+SirCmpwn> a virtual hosting solution that directs players to a different "hunger games" server for games with random people, but at the same URL (and thus server list entry) every time 07:53 <+SirCmpwn> Grum: vanilla will support plugins soon (haha, soon), don't be silly 07:53 < Grum> i'm waiting :P 07:53 <+SirCmpwn> and this channel isn't about vanilla, anyway, we all design our own things here, so our desires are aligned with that idea 07:53 <+SirCmpwn> Grum: see also: bungeecord 07:54 < Grum> ? 07:54 <+SirCmpwn> Grum: it's a proxy that md_5 made, tens of thousands of users 07:54 <+SirCmpwn> could make good use of these changes 07:54 < Grum> vanilla usecase please 07:55 * dx walks in 07:55 < Grum> i mean, it cannot be THAT hard to come up with one 07:55 <+SirCmpwn> you frustrate me, Grum. 07:55 <+SirCmpwn> virtual hosting wasn't even added for vanilla when it was done the first time 07:55 < dx> oh look, it's this discussion again, where grum can't consider anything that developers or server admins need 07:55 < Grum> dx: i can? just give justification? 07:55 < dx> i'm not in the mood to join in though, sorry 07:55 <+SirCmpwn> dx: maybe if we have this discussion enough times, mojang will care about technical users 07:56 <+SirCmpwn> which I thought would happen when bukkit came on, actually 07:56 <+md_5> what did I do now? 07:56 <+SirCmpwn> md_5: wrote bungeecord 07:56 <+md_5> what are we using it as an argument for? 07:56 <+SirCmpwn> md_5: which hostname/protocol version in server list ping would be useful for 07:56 <+md_5> oh 07:56 <+md_5> yeah 07:57 <+md_5> thats a massive complaint I get 07:57 <+ammar2> vanilla use case pls SirCmpwn 07:57 <+md_5> and I have to reply "use multiple listeners + SRV record" 07:57 <+SirCmpwn> I still have no clue how to actually set up a SRV record 07:57 <+SirCmpwn> I googled for something like 20 minutes and it didn't work when I was done 07:57 <+ammar2> cloudflare makes it ez pz last I checked 07:57 <+md_5> its stupid shit 07:57 <+ammar2> from the nameserver side anyway 07:57 <+md_5> that and lack of protocol version 07:58 < dx> the syntax to add SRV records is very awkward but once you get it right once, just copypaste everywhere 07:58 <+md_5> I have all the code in bungee to support multiple versions 07:58 <+md_5> except for the ping packet 07:58 <+SirCmpwn> md_5: and roughly how many bungeecord users are affected? 07:58 <+md_5> LETS ADD A NEW FIELD TO THE PING TO DISTINGUISH VERSION 07:58 <+md_5> AND MAKE IT ALWAYS 0x01 07:58 <+ammar2> Schrödinger's byte 07:59 <+md_5> SirCmpwn bungee peaks at about 1500 servers and 55,000 minecraft players online globally 07:59 <+SirCmpwn> md_5: last time this discussion was added, I asked Grum to change it from 0x1 to current protocol version, but even such simple changes are out of scope 07:59 <+SirCmpwn> s/added/had/ 07:59 <+ammar2> SirCmpwn: http://mcstats.org/plugin/BungeeCord 07:59 <+ammar2> a measly 55k players at peak time 08:00 <+md_5> once you factor in player cycle, thats hundred(s) of thousands of unique players a day 08:00 < Grum> SirCmpwn: where does it use 0x1? 08:00 <+SirCmpwn> Grum: afaik packet 0xFE has that one useless byte in it that's always set to 1 08:00 <+md_5> or 00 08:00 < Grum> seems to be not writing anything when you 'make' a GetInfoPacket (254) 08:00 <+md_5> cant recall which 08:00 <+SirCmpwn> as ammar2 calls it, Schrödinger's byte 08:00 <+md_5> it was added when the format changed 08:00 <+SirCmpwn> might not be there any more, I don't know if anyone here knows 08:01 <+md_5> its there still 08:01 <+SirCmpwn> since we all just pretended that you never did something that stupid and didn't read it 08:01 -!- r04r|away is now known as r04r 08:01 < Grum> erm ... i kinda have to agree that looks really broken O.o 08:01 -!- Yoshi2 [~Yoshi2@xdsl-87-78-26-55.netcologne.de] has quit [Quit: Bye] 08:02 <+SirCmpwn> md_5: http://b.wiki.vg/1.6#packets:0xfe 08:02 <+SirCmpwn> md_5: maybe not there any more? 08:02 <+SirCmpwn> Grum: and the first few times we mentioned it, that wasn't true? :( 08:02 <+SirCmpwn> I think we even brought it up on the day of the snapshot 08:03 < Grum> it looks weird that it seems half-implemented 08:03 < Grum> hmmm 08:03 <+ammar2> still there https://github.com/Bukkit/mc-dev/blob/master/net/minecraft/server/Packet254GetInfo.java#L13 08:03 < Grum> but its actually not the network protocol version 08:03 <+SirCmpwn> Grum: will you take our advice on how it can be fixed? 08:03 < Grum> nor intended to be used like that 08:04 < Grum> this packet seems to be assymetrical 08:04 <+SirCmpwn> Grum: also, please do a git blame so I know whose name to mutter under my breath when I have problems with it 08:05 < Grum> i thnk you might be just using it wrong 08:05 < Grum> when you send 0x01 you will get extra data back 08:05 < Grum> from which you can get information you normally cant 08:05 <+SirCmpwn> that's how we use it 08:06 < Grum> so the problem is what? 08:06 <+SirCmpwn> but a field that may or may not exist and has no indication of its existence is really stupid and breaks a lot of our packet code 08:06 < Grum> yeah which is why i said its rather 'weird' 08:06 < Grum> its not symetrical 08:06 < Grum> client->server it has to exist 08:06 < Grum> server->client it seems to not have to exist 08:07 <+SirCmpwn> and since you have this stupid little byte here that's not doing anything else, you may as well put the protocol version in it and make a lot of people happy 08:07 <+ammar2> huh? when does the server need to send the client the ping 08:07 <+SirCmpwn> ammar2: you misunderstood him. 08:07 <+ammar2> ok, whats he saying then 08:07 < Grum> typically packets read and write the same way 08:07 < Grum> its not symmetrical like that 08:07 <+ammar2> aah 08:07 <+SirCmpwn> except for player look/position packet 08:07 <+SirCmpwn> which we have also complained about for a couple of years now 08:07 <+ammar2> they fixed that iirc 08:07 < Grum> sigh dont talk about that 08:07 < Grum> god that is horrible 08:07 <+ammar2> or did they 08:08 <+SirCmpwn> they did not 08:08 <+ammar2> SirCmpwn: swapped stance/yaw? 08:08 <+SirCmpwn> the whole "stance" thing is ridiculously stupid 08:08 <+SirCmpwn> ammar2: correct 08:08 <+SirCmpwn> Grum: so, will you take our advice on improving packet 0xFE 08:09 < Grum> nope, it'll break all the things 08:09 <+SirCmpwn> I wouldn't be so sure 08:09 <+SirCmpwn> unless the vanilla codebase is so ridiculously bad that a change here could break things unrelated to pinging servers 08:10 < Grum> it would break all the things currently depending on it 08:10 <+SirCmpwn> otherwise, you should be able to fix it for the future and retain legacy compatibility if you play your cards right 08:10 <+SirCmpwn> Grum: what an insightful statement, that clears it all up 08:10 <+md_5> at the end of the day it comes down to this 08:10 <+md_5> the protocol is shit and it aint been fixed anytime soon 08:10 < Grum> yup 08:10 < Grum> and i dislike both points of it 08:10 <+md_5> despite a channel of 106 capable individuals providing useful feedback and suggestions 08:11 < Grum> chanserv can provide proper feedback? oh god .. SkyNey 08:11 < Grum> *t 08:11 <+SirCmpwn> md_5: even if the whole protocol isn't being rewritten, small changes can be very useful 08:11 <+SirCmpwn> Grum: "/msg ChanServ access #mcdevs list" tells you who the more interesting people are 08:11 <+SirCmpwn> ops, if you need them 08:11 <+md_5> I had a doc of < 15 line changes I wanted 08:12 <+SirCmpwn> I think the biggest problem is that no mojang employee is willing to seriously consider the technical requirements of some of our requests, no matter the simplicity 08:12 <+AndrewPH> garry listens to his community more than you guys, and he's a one-man team. 08:12 <+AndrewPH> and he's not exactly known for being nice 08:12 <+md_5> oh they will listen to us 08:13 <+md_5> lets just make a youtube channel 08:13 <+md_5> and get a million subs 08:13 <+SirCmpwn> the youtube community is obviously the most important part of the community, md_5 08:13 <+md_5> hm 08:13 <+AndrewPH> operation srennaNaeS 08:13 < Grum> AndrewPH: he also caters less than 3.7 million people per dev 08:13 <+md_5> actually appears you only need ~750k subs to get listened to by mojang 08:13 <+AndrewPH> Grum: and that has nothing to do with it behind the scenes, really 08:13 < Grum> AndrewPH: as much as the bullshit you said 08:14 <+SirCmpwn> md_5: don't make the mistake of assuming the developers who write all the code that helps keep the shitty official software working are important to Mojang 08:14 <+AndrewPH> the people don't experience what happens behind the scenes, they experience what you push out :) 08:14 <+SirCmpwn> what was the ratio of vanilla to bukkit servers again? I haven't checked in a while 08:14 <+md_5> not quite sure of your point, indirectly or directly Ive had well over a million people use my software 08:14 <+AndrewPH> In reality he's one man working with C++, and he's not a good C++ dev as far as I've heard, vs a team of proficient java developers. 08:15 < Grum> working on a shitty java codebas 08:15 <+SirCmpwn> maintaining notch's code 08:15 < Grum> i mean..... seriously? O.o 08:15 <+AndrewPH> He was working on a shitty C++ codebase :) 08:15 < Grum> apples and pears 08:15 <+md_5> you have had what 08:15 <+md_5> like a year and a half at mojang 08:15 <+md_5> not quite 08:15 <+AndrewPH> He's had the tougher job and has /handled it/ 08:15 < Grum> more like half a year 08:15 <+md_5> a year 08:15 < Grum> bit less actually 08:15 <+ammar2> year 08:15 <+SirCmpwn> the users in this channel could have rewritten minecraft in that time 08:15 < Grum> yeah, give us 106/x times half a year and we'll do it too! 08:16 < Grum> err /3 08:16 <+SirCmpwn> the regulars, that is 08:16 <+md_5> if we were paid a cushy job in a cushy office to work full time we could have rewritten the game 08:16 <+ammar2> http://forums.bukkit.org/threads/bukkit-the-next-chapter.62489/ created feb 28 08:16 <+SirCmpwn> ammar2: 2012, that is 08:16 < Grum> ammar2: yes, and the 'real' work started from when i finally moved to sweden 08:16 <+ammar2> obviously :P 08:16 < Grum> which is just half a year ago 08:17 <+md_5> 6 of us + a year fulltime work ->> whole new Minecraft 08:17 -!- SpaceManiac [~SpaceMani@r74-192-152-131.gtwncmta01.grtntx.tl.dh.suddenlink.net] has joined #mcdevs 08:17 < Grum> md_5: yup 08:17 <+md_5> I daresay you havent achieved anything near to that 08:17 <+SirCmpwn> hell, in the past two months, I rewrote about 5% of SpaceX's core infrastructure\ 08:17 <+SirCmpwn> and that's working alone 08:17 < Grum> so right now we're at ... 2 people working on it for 6 months 08:17 <+md_5> 2 people 08:18 <+md_5> EvilSeph is gr8 m8 08:18 < Grum> yes, jeb does jack shit 08:18 <+SirCmpwn> Grum: are you and Dinnerbone the only ones maintaining minecraft? 08:18 < Grum> yes 08:18 <+md_5> no 08:18 <+md_5> evilseph 08:18 <+SirCmpwn> why? 08:18 <+md_5> is fixing all the bugs 08:18 <+SirCmpwn> hire more people 08:18 < Grum> no what SirCmpwn says 08:18 <+ammar2> squashing bugs left and right md_5 ;) 08:18 <+SirCmpwn> mojang is swimming in money 08:18 < Grum> SirCmpwn: which is what i've been saying o.O 08:18 < Grum> since i'm at the office 08:18 < Grum> and i tried before to get 3 people in to do the renderer 08:18 < Grum> which fell flat on its ass 08:18 <+ammar2> Grum 4 mojang president 2013 08:18 < Grum> because unlike you suggest, people actually do not do that much work (except for UMM) 08:19 <+md_5> so 08:19 <+SirCmpwn> UMM? 08:19 <+md_5> what you are saying 08:19 <+md_5> is evilseph doesnt develop Minecraft 08:19 < dexter0> UltraMoogleMan 08:19 < Grum> md_5: almost correct 08:19 <+AndrewPH> Grum: is he supposed to be but doesn't? 08:19 <+md_5> yet he seems to take a ton of credit for the bugs he fixes 08:19 <+SirCmpwn> so Dinnerbone does only what youtubers want 08:19 < Grum> if he fixes a bug we probably fix 20 08:19 <+SirCmpwn> and Grum starts and abandons rewrites 08:19 <+ammar2> md_5: the one bug that had the solution in the jira comment? :D 08:19 < Grum> SirCmpwn: no? O.o 08:19 < Grum> i dont abandon anything 08:19 * md_5 adds to quote base 08:20 <+SirCmpwn> Grum: I thought you'd abandoned lighting rewrite 08:20 <+SirCmpwn> rendering rewrite 08:20 <+SirCmpwn> etc 08:20 < Grum> SirCmpwn: only lighting was shelved because there is no good solution available right now 08:20 <+SirCmpwn> Dinnerbone abandoned lighting rewrite, too 08:20 <+SirCmpwn> or maybe it was just Dinnerbone 08:20 < Grum> yes, because it took too much time 08:20 < Grum> and we had other shit to do 08:20 < Grum> and we couldnt see us figuring it out properly 08:20 <+AndrewPH> Grum: why don't you guys just get a bunch of shit together for a big update for a while, and work on unfucking the protocol in the downtime after that 08:21 < Grum> i mean, we had a 'semi' good system, it was just factor10 slower than the broken 'sortof' ok one right now 08:21 <+SirCmpwn> anyway, the point I think we're all making here is that no one at mojang has done anything to make any developers happy since the bukkit hiring 08:21 < Grum> and GOD that code is horrible, and tainted from 10 directions 08:21 < Grum> SirCmpwn: some things are ongoing 08:21 <+md_5> so 08:21 <+SirCmpwn> rather, you guys seem to just be making developers less happy 08:21 <+md_5> sitting on your arse 08:21 < Grum> but things take time 08:21 <+md_5> yelling ITS BROKE 08:21 < Grum> md_5: no? O.o 08:21 <+md_5> does not help the issue 08:21 < Grum> i'm fixing al lthe things i put my hands on 08:21 <+ammar2> pls rewrite grum, hire your own crew 08:21 < Grum> do you really think that dbone coded ANYTHING of the resource/texture handling? 08:21 <+md_5> every time we speak to you, you just say that the code is shit and we are getting to it eventually 08:22 < Grum> well actually he did, the json parsing part 08:22 < Grum> because we just ran out of time 08:22 <+SirCmpwn> well, and he also discards all of our feedback, md_5 08:22 < Grum> md_5: the code is shit -> yakshaving for all the small tasks 08:22 <+md_5> uh 08:22 <+md_5> then how come I can implement almost every request we have made 08:22 < Grum> and yakshaving ^ 3 for anything larger 08:22 <+md_5> in less than ~15 loines 08:22 <+SirCmpwn> and Dinnerbone hasn't talked to us in months, afaik 08:22 < Grum> md_5: because you give fuck all for compatibility 08:23 <+md_5> and you? 08:23 <+md_5> protocol changes every version 08:23 <+md_5> there is 0 compat there 08:23 < Grum> blame .... dinnerbone 08:23 <+md_5> > resource packets 08:23 <+SirCmpwn> did Grum just play the compatibility card 08:23 <+SirCmpwn> hahaha 08:23 <+md_5> *packs 08:23 <+md_5> not compatible 08:23 < Grum> yes, needed change though 08:23 <+md_5> so, the protocol needs a change 08:23 <+AndrewPH> SirCmpwn: i really do not see any benefit in having a multi-version-server 08:23 <+AndrewPH> it only justifies 'not updating', prolongs existence of weirdass bugs 08:23 <+SirCmpwn> didn't we spend 15 minutes earlier discussing a super simple change that lets *us* do legacy support for you? 08:23 < Grum> also a MASSIVE change so we've put it all in one patch 08:23 <+md_5> and again playing the compat card is just saying you have no other arguments 08:23 < Grum> SirCmpwn: you dont need legacy support. 08:24 <+AndrewPH> you do not see benefit in backwards compatibility.. 08:24 <+SirCmpwn> well we damn well want it 08:24 <+SirCmpwn> and we'll do it for you 08:24 < Grum> md_5: no, but 'backwards compat' in that way means we have to write horrible tools to do conversions 08:24 < Grum> which take a fuckton of time to make 08:24 <+SirCmpwn> we just need a tiny little bit of actual cooperation with mojang 08:24 <+md_5> heck 08:24 <+SirCmpwn> call us up 08:24 <+SirCmpwn> we'll write the bloody tools 08:24 <+md_5> if we gave you a 50 line patch each week 08:24 <+md_5> and you did something with it 08:24 <+md_5> we would be happy 08:25 <+SirCmpwn> we can't really give them patches 08:25 <+md_5> pretty sure you change a lot more than 50 lines an hour 08:25 <+SirCmpwn> obfuscation 08:25 < Grum> nope 08:25 < Grum> a good coder only does like 50 lines/day 08:25 <+md_5> oh jeez, here we go 08:25 <+SirCmpwn> that must have been bait, md_5, don't worry 08:26 < Grum> meh go look up the actual statistics 08:26 < Grum> also inflating 'linecount' is rather trivial :P 08:27 <+md_5> Grum what did you do / where did you work before mojang 08:28 <+SirCmpwn> around the month of may, on one of my open source projects (which I wasn't being paid for), I wrote 6,870 LOC and deleted 3,185 LOC 08:28 <+SirCmpwn> Fun Fact(tm) 08:28 < Grum> yeah, so easy to write new code 08:29 <+AndrewPH> I've done tons of work on a webgame that is comprised of over 500MB of PHP and an equal amount of images. I had to rewrite things that affect every page 08:29 <+md_5> I did a pretty big refactor the other work 08:29 <+md_5> *week 08:29 <+md_5> something like 3k added 3k deleted 08:29 < Grum> so you added 0 08:29 <+SirCmpwn> that code was in assembly and was mostly filesystem drivers 08:29 -!- Cay [~OlofLarss@s83-177-171-150.cust.tele2.se] has joined #mcdevs 08:29 < Grum> SirCmpwn: so inflated linecounts because of assembly; kk 08:29 <+SirCmpwn> okay, halve them, maybe 08:30 <+md_5> no 08:30 <+md_5> too much inflation 08:30 <+md_5> 1/64 should be about right 08:30 <+SirCmpwn> maybe 1/4 08:30 <+SirCmpwn> to do it in C, it'd take probably about 4 times the LoC 08:30 <+SirCmpwn> 4 times less, that is 08:31 < Grum> ok so since 25c we did 4691 insertions and 84091 deletions 08:31 <+SirCmpwn> 25c? 08:31 < Grum> 13w25c 08:31 <+SirCmpwn> also, jesus christ, that ratio is fucked up 08:31 <+md_5> -> reformat from allman style 08:31 < Grum> yeah i deleted all the resourcefiles :) 08:32 < Grum> erm lang files 08:32 <+SirCmpwn> why the hell are we talking about this 08:32 <+SirCmpwn> we're supposed to be complaining that mojang does jack shit about our problems 08:33 < Grum> 26a->25c (that is just the fucking weekend and a day) is 116files/3065 insert/2484 deletions 08:33 <+md_5> but grum 08:33 < Grum> so, we're absolutely doing *nothing* with the code right? 08:33 <+md_5> only 50 lines a day 08:33 <+SirCmpwn> Grum: so you'd like to revise your statement about 50 lines a day 08:33 < Grum> md_5: that should have been 50 lines/week 08:33 <+SirCmpwn> dammit md_5 08:33 <+md_5> mind explaining those changes 08:33 < Grum> of 'actual' code additions 08:33 <+md_5> 116files/3065 insert/2484 deletions <--- explain what happened 08:34 < Grum> i fixed up localization 08:34 <+md_5> so 08:34 <+AndrewPH> Grum: nobody's arguing that you're doing literally nothing with the code, we're arguing that you (minecraft team) are doing things primarily in the interest of pleasing youtube stars... or at least, that's the impression I'm getting. 08:34 <+md_5> you added / removed / altered a bunch of TL keys 08:34 < Grum> and some bugfixes 08:34 < Grum> md_5: no 08:34 <+md_5> probably 106 locales and 10 source files 08:34 < Grum> i actually fixed localization properly so it loads/refreshes from resourcepacks, is incremental, supports 'other namespaces' 08:34 < Grum> and you can add custom languages from resourcepacks 08:35 <+SirCmpwn> damn, the modding API was announced in december? 08:35 <+SirCmpwn> what on earth have you been doing this whole time 08:35 < Grum> of 2008 orso 08:35 <+SirCmpwn> hell, you could have just copied bukkit into vanilla 08:35 < Grum> which would do what good? 08:35 < Grum> would that fix the current horrible sourcebase? 08:35 <+SirCmpwn> no, but it might give you time to give a damn about developers 08:35 < Grum> would that make it 'clean/easy' to do changes without base-edits? 08:36 < Grum> SirCmpwn: giving a damn by breaking everything and making the fucking mess EVEN bigger and thus introduce WAY more yakshaving when you want to do internal changes? 08:36 < Grum> good plan sir, good plan 08:36 < dexter0> Actually, we recently passed the anniversary of the 'API summit'  :P 08:36 < Grum> dexter0: yup 08:36 * SirCmpwn scrolls up and re-reads md_5's comments about getting these things done in patches just fine 08:36 < Grum> i dont like it, but reality is reality, the codebase is not made for anything api-like 08:36 <+md_5> SirCmpwn yeah but I break protocol compaty 08:37 <+SirCmpwn> md_5: well shit, we can't have that 08:37 <+md_5> ideally 1.5 clients will connect to 1.6 servers 08:37 < Grum> you can, but do it all in one go ideally 08:37 <+md_5> #amiright 08:37 <+md_5> and vice versa 08:37 <+ammar2> definetly a no-no, backwards compatibility is the highest priority 08:37 < Grum> md_5: why? O.o 08:37 <+md_5> well you said compatability 08:37 <+SirCmpwn> shit, looks like protocol compatibility already been broken 72 times 08:37 <+SirCmpwn> has already* 08:37 <+md_5> I dont see any other proof of compat 08:37 < Grum> it should be broken for a reason 08:37 < Grum> not because 'it makes your hacky shit easier' 08:37 <+md_5> well 08:37 <+md_5> we have lots of reasons 08:38 <+md_5> and now you resort to calling our work hacky 08:38 <+SirCmpwn> Grum: how about "you already broke it in the upcoming snapshot and there's no real reason left to avoid putting these things in" 08:38 < Grum> give me the changes that are not based around: 'making your hacky shit easier' 08:38 <+SirCmpwn> it's not like you don't break it all the fucking time anyway 08:38 <+md_5> I can assure you that most of our work is not hacky in the slightest 08:38 <+md_5> except when we have to hack around all your bugs and crap 08:38 <+SirCmpwn> no one could've guessed before now that anyone at mojang had any reservations about upping the protocol version 08:38 < Grum> md_5: so it is hacky? :D 08:38 <+SirCmpwn> hell, you've upped the protocol version several times when you didn't even need to! 08:38 <+md_5> SirCmpwn requires full change control 08:38 < Grum> i mean even the edges of my new code get hacky because of the cruft i'm trying to make it work in 08:39 < Grum> SirCmpwn: blame dinner 08:41 <+md_5> 'blame dinner' 08:41 <+md_5> as a software development 'team' you should be working these things out 08:42 <+md_5> not just stepping on eachothers toes, making changing as you feel like it 08:42 <+SirCmpwn> I have no idea why I even do Minecraft software, now that I think about it 08:42 -!- kcj [~casey@unaffiliated/kcj] has joined #mcdevs 08:42 <+SirCmpwn> dealing with Minecraft from a technical standpoint sucks 08:42 < Grum> SirCmpwn: yup 08:42 < Grum> that goes the same from the inside 08:42 <+AndrewPH> dealing with minecraft sucks 08:42 <+SirCmpwn> well, I don't really feel like stopping my software, so I'll just continue without a real reason to do so 08:43 <+AndrewPH> I personally have dropped hosting or playing. 08:43 <+SirCmpwn> I hardly ever play for fun 08:43 <+md_5> so basically what we have gathered from this conversation is that mojangs dev practices suck and they havent advanced since notch first hired jeb 08:44 < Drainedsoul> I thought this was well understood 08:44 < Grum> md_5: erm what? 08:44 < Grum> we've advanced quite some since notch first hired jeb 08:44 <+SirCmpwn> md_5: no, we already knew that. We learned that we can append "and they aren't willing to change that" to it 08:44 < Grum> but not in code sanity 08:45 < Grum> that only really started since dinner/me started hacking on the code 08:45 <+md_5> SirCmpwn I was about to add a nice line about that, couldnt figure out how to phrase it nicely enough though 08:45 < Grum> yeah except that we are actually change it 08:45 <+SirCmpwn> Grum: well would you please kick Dinnerbone's ass for us and get to work on the bloody problems Minecraft has had since alpha? 08:45 <+md_5> that only really started since dinner/me started hacking on the code <-- but then you still go on to "blame dinner" 08:45 < Grum> yes, because i am not going to take the blame for shit he does 08:45 <+md_5> no one person should be getting the blame 08:46 <+md_5> you are a TEAM 08:46 <+md_5> a development team 08:46 < Grum> except that we aren't 08:46 -!- r04r is now known as r04r|away 08:46 <+md_5> stop thinking like you/he are the god of Minecrafts codebase 08:46 < Grum> i take enough crap, i dont need the crap about code i didn't actually write 08:46 < Grum> i'll own up to the shit i write 08:46 <+SirCmpwn> convince Dinnerbone to talk to us, we'll give him the crap he's due 08:47 < Grum> join #minecraft and talk to him? 08:47 <+md_5> he is in this channel 08:47 <+md_5> .... 08:47 < SinZ> he is in here, he just perma idles 08:47 <+SirCmpwn> he's been here forever, but he hasn't spoken to us in months 08:47 <+ammar2> SinZ: after we started telling him about his crap? :P 08:47 <+md_5> point being 08:48 <+md_5> development team produces bad code / has bad code -> blame development team, not a person in it 08:48 <+md_5> the place I was at had the same thing, network team, linux team, windows team, storage team, ops team etc etc etc 08:48 <+SirCmpwn> let's review how far we (#mcdevs hackers) have come tonight: exactly as far as we've come in the past two years 08:48 <+md_5> when someone takes a tape drive out at the wrong time causing a backup to fail 08:48 <+md_5> the ops team gets blamed 08:48 <+md_5> not the kid who took the drive out 08:48 < Grum> so if someone started bitching and whining about something that someone else did, and you agree with it that it was stupid ... you'd never say: yeah, talk to them 08:49 <+md_5> you address it as a team 08:49 <+SirCmpwn> Grum: you're our only point of contact into Mojang. You take all the shit and we assume you'll re-distribute our shit appropriately 08:49 < Grum> he's in the fucking channel 08:49 <+md_5> what you are saying is mojang has no team structure 08:49 < Grum> stop pretending we're having 1000 people working under 'one interface' 08:49 <+md_5> which is pathetic given that you have total profits over at least half a billion 08:49 < Grum> md_5: we actually do not have that 08:49 <+SirCmpwn> Grum: he doesn't *listen* to the fucking channel. He may as well not be here for all he's done here 08:49 < Grum> SirCmpwn: which is why i said #minecraft 08:50 <+SirCmpwn> that place is a shithole, and I think I'm still banned for doing things like calling it a shithole 08:50 < SinZ> but then there are code muggles listening to our problems 08:50 < Grum> SinZ: so? 08:50 <+SirCmpwn> anyway, the audience is wrong. This is the place for technical discussion. 08:50 < Grum> i have the same problem in this channel 08:50 < SinZ> They will side with shit code because Dinnerbro is a god to them 08:50 <+ammar2> Grum: you are literally the only proper inlet we have towards tech discussion internally in mojang, naturally all the shit gets funelled through you 08:51 < Grum> i'm happy to change things, for the right reasons 08:51 -!- ranie [~rramiso@124.6.182.55] has quit [Ping timeout: 256 seconds] 08:51 <+SirCmpwn> we've given you dozens of things to change and a dozen reasons for each change