00:26 < Aragasas> Inception 00:26 < Aragasas> lol 00:27 < Aragasas> second* 00:27 < Xor_> I'm trying to understand whether that idea is brilliant or insane 00:28 < yawkat> Xor_: perfect encryption has completely random bit distribution 00:28 < Aragasas> NSA wouldn't be prepared for that 00:29 < Aaron1011> yawkat: That's what I was just thinking. It's not going to be very/at al lcompressible 00:29 < Dinnerbone> We should compress each byte separately, and encrypt every third bit. 00:29 < yawkat> Dinnerbone++ 00:29 < Aragasas> Now we're talking! 00:30 < Aaron1011> Dinnerbone: Every third bit, or every third byte? 00:30 < Dinnerbone> Bit. 00:30 < Xor_> normally I respond with such a comment with "you should work at mojang", but you already work for them. 00:30 < Aaron1011> :) 00:30 < Xor_>  00:31 < Xor_> I need better retorts 00:31 < Aragasas> You're a dangerous man, Dinnerbone 00:31 < yawkat> Aaron1011: also don't encrypt every seventh bit for additional security 00:32 < Aaron1011> Also, make sure to compress, then encrypt 00:32 < dx> yeah, 3 and 7 are prime numbers, that means extra security always 00:32 < Aragasas> and then compress again 00:32 < Aaron1011> They're small primes too, which is *definitely* secure 00:32 < Xor_> don't forget 5 and 2 00:32 < Aaron1011> We can probably pretend 1 is prime 00:33 < Aragasas> 0 is my favourite number. What about it? 00:33 < Xor_> hey a netsplit! 00:33 < Aaron1011> Where did everyone go? :) 00:33 < dx> pretending that 1 is a prime was a bad idea 00:33 <+SpaceManiac> Oh... maybe the weirdness wasn't ZNC's fault... 00:33 < dx> don't do that again 00:34 < Xor_> predending 1 is prime is like pretending you can divide by zero 00:34 < Aaron1011> Imagine what would happen if we tried that on a server 00:34 < Aragasas> NSA is gettin' all it resources to resist out new revolution method of senging data 00:34 < Aragasas> sending* 00:35 < Aaron1011> They were disgusted at anyone thinking 1 is prime 00:35 < Aragasas> Aaaand that too :DDD 00:35 < Xor_> they're after Dinnerbone, but he's in sweden, so he's safe. for now. 00:36 < Xor_> and another node came back 00:36 < Xor_> I love netsplits 00:36 < Aaron1011> I read that as morgan.freeman.net at first :) --- Day changed sam. juil. 12 2014 23:09 < xthexder> Anyone got a couple minutes to help me figure out why I can't get players to spawn on my custom server? 23:10 < shoghicp> yeah 23:10 < shoghicp> what stage did you get? 23:10 < xthexder> Well, I'm sending the packets 0x0C, 0x1C, 0x20 and then entity movement stuff 23:11 < xthexder> so thats spawn player, entity metadata, entity properites 23:11 < xthexder> The entity count on the client goes up by one, but you can't see the other player 23:11 < shoghicp> oh, spawning other players? 23:12 < xthexder> oh sorry, yeah 23:12 < xthexder> I've got spawning into the world yourself working 23:12 < shoghicp> remember that x,y,z are fixed-point integers 23:12 < shoghicp> so it's (int) (realX * 32) 23:12 < xthexder> well, everything but y is 0 in my test, but that would make sense 23:13 < xthexder> since I'm spawning in at 128 y 23:13 < xthexder> I'll try that 23:17 < xthexder> sweet, that worked 23:17 < xthexder> thanks 23:17 < xthexder> Does the player skin have to be sent my the server? Doesn't seem to have loaded 23:18 < shoghicp> yep 23:18 < shoghicp> check the new things related to skins on the wiki 23:18 < xthexder> alright 23:19 < xthexder> Does make things interesting, since you could force everyone into red / blue team skins 23:19 < shoghicp> but you need those skins signed by Mojang 23:20 < xthexder> True --- Day changed dim. juil. 13 2014 00:35 < pushrax> anyone know if the metadata encoding changed since the last wiki update? 00:35 < pushrax> getting index 17 and 16 sent at spawn 00:35 < shoghicp> on the snapshots? 00:35 < pushrax> no, 1.7.10 00:35 < pushrax> http://wiki.vg/Entities#Entity_Metadata_Format doesn't have info on index 16 or 17 for players 00:37 < pushrax> for reference, getting this metadata packet on join https://pastee.org/mpkfe 00:37 < pushrax> 0x71 -> index 17 float 00:38 < shoghicp> hmm, what is the content? 00:39 < pushrax> that is this packet http://wiki.vg/Protocol#Entity_Metadata 00:39 < pushrax> for a player, right after they join 00:39 < shoghicp> hmm 00:42 < shoghicp> did you check mc code? 00:43 < pushrax> no, havent, I guess that is the next step 00:43 < pushrax> I'm working on the same thing as xthexder 00:44 < shoghicp> pushrax: https://github.com/Bukkit/mc-dev/blob/c1627dc9cc7505581993eb0fa15597cb36e94244/net/minecraft/server/EntityHuman.java#L70 00:46 < pushrax> ok, so "AbsorptionHearts" 09:40 < xthexder> Hows does block orientation work in the map data format? 09:40 < xthexder> I can't seem to figure it out 09:41 <+SpaceManiac> You mean for furnaces, chests, ladders, so on? 09:41 < xthexder> yeah, specifically testing with logs atm 09:42 <+SpaceManiac> It's stored in the metadata array, the values are explained here: http://minecraft.gamepedia.com/Data_values#Wood 09:42 < xthexder> oh I see, that's what had me confused since there was already metadata 09:43 < xthexder> Well I guess I won't bother implementing that now, since I'd need to make a list of block orientations 09:44 < xthexder> Would have been nice if it was always just the top 2 bits of metadata 14:07 < Aragas> Need help with understanding how main menu background is done. So we have 6 panoramas and they are connected. How are they rendered? Have this method a name? Tryin' to google it, but can't find anything useful. Halp 14:15 <+SpaceManiac> I'm not an expert on the main menu background or anything, but I thought it was just a cube 14:29 < Aragas> I'm a bit confused about that I can see 5 (foot) panorama. A don't think that it could be see in a cube 14:33 <+SpaceManiac> The camera is inside the cube 14:34 < Aragas> Yea, that's obvious 14:35 < Aragas> I mean, can the camera take such an angle? 14:36 < Aragas> I'll make experimens, but that is a bit weird 14:49 <+SpaceManiac> Aragas: I drew some gridlines on the images, it looks pretty vanilla: http://puu.sh/a9qkI/9f4308dbe9.png 14:49 <+SpaceManiac> I think the blur just conceals the seams 14:52 < Aragas> SpaceManiac: Oh, that was superobvious solution. Many thanks for helping. So, it is a box. 20:21 < ASDS28MC> I need help setting up a 1.4dev pocketmine.phar server. 23:37 < clonejo> SCHLAAAAAAAAAAAAAAAAAAAAAAAAAAAAND!!!! 23:37 < clonejo> xD --- Day changed lun. juil. 14 2014 15:34 < shoghicp> When a player clicks the respawn button and sends the Client Status packet (0x16) with actionID = 0, what does the server send? 15:34 < shoghicp> to get the player out of the respawn screen 15:34 < shoghicp> the Respawn packet? 19:43 <+SpaceManiac> shoghicp: yeah, the Respawn packet 19:46 < shoghicp> SpaceManiac: thanks, already solved it :) 19:46 <+SpaceManiac> figured you might've, but just in case :P --- Day changed mar. juil. 15 2014 00:01 < Mathuin> http://wiki.vg/Map_Format says that it's up to date through 1.3.2. Have there been any major changes since then? 00:06 <+sadimusi> no I think anvil stayed pretty much exactly the same since the moment it was introduced 00:07 <+sadimusi> the map format will change again in 1.9 though 00:07 < Mathuin> Anywhere I can go to learn more about the details? 00:07 < Mathuin> Or should I just be patient? :-) 00:09 <+sadimusi> there's not much known yet 00:09 <+SpaceManiac> The location of the player data files is different in 1.7.6 and up, and the entity/tile entity/structure data isn't described fully on that page 00:09 <+sadimusi> instead of the current data values every possible block state will have its own id 00:09 <+sadimusi> and the mapping of those ids might be stored in the world files as well 00:10 < Mathuin> They're just about to release 1.8, so I imagine we won't hear about 1.9 for a little while. 00:10 < Mathuin> SpaceManiac: I can find where the player data files are stored on a 1.7 Bukkit server, but where might I learn more about the entity/tile entity/structure data changes you mention? 00:11 <+SpaceManiac> They're documented in more detail on the Minecraft wiki 00:13 < Mathuin> http://minecraft.gamepedia.com/Chunk_format looks like the right page, then? 00:14 <+SpaceManiac> Yeah, that's got entities and tile entities. Structures are on... the "Villages.dat format" and "Generated structures data file format" pages but are less important 00:19 < Mathuin> Awesome. The NBT Structure on that gamepedia page lists Y indices having a valid range of 0-15. If each block has a height of 256, that implies a hard limit of 4096. Is that true? 00:21 <+SpaceManiac> "Sections" are 16x16x16 cubes, so that Y index is referring to increments of 16 blocks 00:24 < Mathuin> http://wiki.vg/SMP_Map_Format talks about Chunks being 16x16x16 and Chunk Columns being 16x256x16 in the manner you describe, which is why we have a height limit of 256. 00:24 < Mathuin> Will the client gracefully handle a Y index in excess of 15? 00:45 < Aragas> Yea. Collum is 16 Chunks. Don't think that client will properly handle Y more than 15. But some mods fix it. Dunno if they handle that in multiplayer packets too. 00:46 < Mathuin> Thanks. 00:47 < Aragas> Never experimented with that, but i think it will just crash the game. In the best case client will just ignore heigher indexes. But don't think it'll happens. lol. Minecraft. 00:47 < Mathuin> Alas, "lol. Minecraft." is how I've been feeling lately. :-) 00:49 < Aragas> :DD 03:48 < PixelCrumbs> Hey guys, so I'm not sure if this is the right channel to ask in, but I want to create a client that can send a packet with a payload to a minecraft server. I've never really done anything like this before, so has anyone got any ideas on how I could do this? 03:50 <+SpaceManiac> Do you have a preferred language to work in? 03:54 < Drainedsoul> just one packet? 04:38 < PixelCrumbs> Oh sorry for the late reply, went afk for ages :P SpaceManiac: yeah I'm planning to do it in java. Drainedsoul: yes just one packet 22:19 < Mathuin> Thinkofdeath: so with regard to netherrack, what works and what doesn't as far as you know? 22:23 < Thinkofdeath> Mathuin: Quite a bit of it is broken 22:24 < Mathuin> Okay. 22:24 < Thinkofdeath> Mathuin: Just saw your comment about the world package, what part did you need? 22:25 < Thinkofdeath> its not being worked on anymore so it most likely isn't useful to you 22:26 < Mathuin> Are any projects still being worked on? 22:26 < Thinkofdeath> in go? don't think so 22:26 < Mathuin> Hmm. 22:26 < Thinkofdeath> in other languages http://wiki.vg/Server_List 23:34 < Mathuin> Oh, that reminds me. The wife really misses her minimap, and I told her I'd ask about a replacement. Rei's appears to be no longer maintained, and VoxelMap (nee Zan's) now uses Liteloader instead of something that works with Magic Launcher. What other alternatives are there? --- Day changed mer. juil. 16 2014 09:27 <+md_5> Dinnerbone please can you allow the custom plugin message packet during login :( 09:29 < Spurlex> and can you also look at this bug https://bugs.mojang.com/browse/MC-2931 because someone has posted a fix for boat desync issues 09:29 < Spurlex> kthx 15:36 < cindy_k> dinnerbone getting some reports that the web api for uuid lookups is being rate limited. can you confirm? 15:48 < Spurlex> wake up dinnabone ur a little possum wake up dinnabone the morning is awesome 15:55 < Dinnerbone> cindy_k: it is if you're asking for the same users profile (by uuid) multiple times in a small time period 15:55 < Dinnerbone> You're required to cache that information, it's expensive. 15:55 < cindy_k> ahh thank you, that will help fix peoples issues 16:08 < AgentK> Aha, there it is 16:08 < AgentK> Apologies for webchat lol 16:08 < AgentK> Hai 16:09 < AgentK> So, anyways 16:09 < AgentK> cindy_k: it is if you're asking for the same users profile (by uuid) multiple times in a small time period 16:09 < AgentK> You're required to cache that information, it's expensive. 16:09 < AgentK> Dinnerbone, are you sure it's only rate limiting by "asking for the same users profile" 16:09 < AgentK> because it just blocked our caching API that ensures that you never lookup the same username twice 16:10 < AgentK> :/ 16:12 < AgentK> brb trying to switch to IRC client 16:13 < AgentK> There we go :D 16:13 < AgentK> I miss anything? 16:14 < cindy_k> nope 16:15 < AgentK> fak computer dying 16:15 < AgentK> brb 16:16 < cindy_k> lol 16:17 < Spurlex> Heyyyyyy Dinnerbone you know how I love you and stufffzzzzz can you look at this please https://bugs.mojang.com/browse/MC-2931 kthx <3 16:17 < cindy_k> spurlex lol 16:17 <+sadimusi> Spurlex: please stop bothering him with that every time he speaks up 16:18 < Spurlex> I’ve said it once before...? 16:18 < Spurlex> and he didn’t speak up before I asked him 16:18 < Spurlex> Nor did I tag him 16:18 * sadimusi is too lazy to look at the logs 16:20 < AgentK> there, fixed that 16:20 < AgentK> again, I miss anything? 16:21 <+sadimusi> nope 16:21 < AgentK> kk 16:21 < AgentK> thx 16:22 < AgentK> aha, trying to get ZNC started brb 16:24 * AgentK_ grumbles about cell connections 16:24 < cindy_k> lol 16:24 < cindy_k> one thing verizon does pretty well, is keep me on 4g 16:37 < Thinkofdeath> Spurlex: if its on their bug tracker they most likely know about it 16:37 < Spurlex> Been in the bug tracker since 2012 though ;( 16:38 < Thinkofdeath> and since then they have tried a few times to fix it 16:38 < Thinkofdeath> its not being ignored 16:39 < Spurlex> Some guy has said he has worked out how to atleast attempt to make the issue better https://bugs.mojang.com/browse/MC-2931?focusedCommentId=173589&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-173589 16:39 < Spurlex> Thats the only reason I am requesting that its looked into 19:07 < Not-dd5a> [mcprotocol] thinkofdeath pushed 1 commit to master [+0/-0/±17] http://git.io/S5P6Ow 19:07 < Not-dd5a> [mcprotocol] thinkofdeath 1370786 - 14w29a 19:44 < Spurlex> Chunks are loading so fast on snapshot holy moly 19:45 < humerusj> :o 19:45 < Thinkofdeath> I'm having the opposite :( 19:46 < Spurlex> When I first opened the world it was bad. So I saved + quit and reopened 19:46 < Spurlex> now everything loads so fast 19:47 < Spurlex> Only my FPS has taken a huge hit :( Down to 10fps from 80 19:48 < cindy_k> this uuid change is killing me. I'm going to have to take apart and fix a few plugins tonight 19:49 < Mathuin> What exactly changed with UUIDs? 19:49 < cindy_k> I knew some of these guys weren't doing a good job with the look ups, I didn't know it was this bad 19:49 < cindy_k> rate limited the api 19:49 < Spurlex> Ohgod. 19:50 < Spurlex> I understand the logic behind that but hmmm. 19:50 < Spurlex> I really should start preparing for UUID’s i suppose. 19:56 < Thinkofdeath> Turns out it is faster, just someones villager farm slowing down chunk loading .-. 19:56 < Thinkofdeath> Seem to get ghost blocks when large amounts of tnt is used 19:57 < cindy_k> villagers are so evil on the server 22:19 < benbaptist> In an encrypted protocol, is the length prefixing a packet unencrypted? 22:21 < benbaptist> i.e. a packet's payload (id + data) is encrypted, and then the length of the ENCRYPTED data is sent as a regular variable integer, followed by the encrypted data 22:21 < benbaptist> or is that not the case? I'm hoping it is, as it would make my life a lot easier. :P 22:22 <+sadimusi> nope, the whole stream is encrypted 22:22 <+sadimusi> which is much simpler 22:23 <+sadimusi> unless you're looking for an attack vector, then it might make your life a bit harder :D 22:44 < benbaptist> ah, okay. 22:45 < benbaptist> and can I just decypher one byte? i.e. I'd like to be able to read just the length, then I'll go and read the rest, decrypt it and stuff it in a buffer. 22:46 < benbaptist> I know this probably sounds noobish, I have absolutely *no clue* how encryption works in a stream. This is my first work with encryption :P 22:46 <+sadimusi> you have to decrypt every single byte in the correct order or you'll get garbage 22:47 <+sadimusi> basically the decryption key for each byte is derived from every byte before it 22:47 <+sadimusi> plus the shared secret of course 22:48 <+sadimusi> maybe take a look at thise http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher_feedback_.28CFB.29 22:48 <+sadimusi> *this 22:50 < benbaptist> Ah, okay. Also, apologies for my client crashing earlier. Hexchat is awful. :P 23:11 < benbaptist> I'll admit, I don't really understand that article too much, other than understanding that I can't read arbitrary amounts of data like I was hoping, unless I'm mistaken. I don't get how much data I should read from the socket (from the client) before throwing it into the decryption algorithm 23:12 <+sadimusi> as long as you keep the same cipher instance around that doesn't really matter 23:12 < benbaptist> basically I'm a "explain it to me like I'm five"-type person when it comes to encryption :P I'm good when it comes to anything else, but otherwise I'm just an idiot. :P 23:12 <+sadimusi> each byte is decrypted individually 23:13 <+sadimusi> just make sure to create your AES cipher in CFB8 mode 23:14 < benbaptist> Ah! Okay. So it could be as simple as just wrapping all of my .recv() operations with another function that reads any amount of bytes that I specify, throw it into the AES cipher, and boom? 23:14 < benbaptist> If so, that makes perfect sense and does seem much easier. I might've been seriously overthinking this. :P 23:14 <+sadimusi> yeah that should work 23:14 <+sadimusi> which language are you writing in? 23:14 < benbaptist> I'm in Python right now 23:15 <+sadimusi> have you already found a crypto library? 23:16 < benbaptist> Yeah, I'm actually using your encryption.py from mc4p, so I have the functions and all, I just didn't know how to properly read data and send it. ( https://raw.githubusercontent.com/sadimusi/mc4p/master/mc4p/encryption.py ) 23:17 <+sadimusi> the logic is scattered across proxy.py, the part you're currently working on is probably https://github.com/sadimusi/mc4p/blob/master/mc4p/proxy.py#L332 23:18 < benbaptist> Ah, yup! 23:19 <+sadimusi> I'm currently rewriting mc4p with much less copying and slightly improved protocol definitions 23:20 <+sadimusi> one of the new features is letting each protocol version declare its own stream filters like encryption or compression :) 23:20 <+sadimusi> I hope that'll clean the code up somewhat 23:21 < benbaptist> yeah, that would be awesome 23:21 < Mathuin> sadimusi: that's a neat project! Any chance you've a plugin that creates packet dumps for client->server and server->client ? 23:22 <+sadimusi> are you looking for binary dumps or the parsed fields? 23:22 < Mathuin> Ideally both, as that would be helpful for testing other parsers. 23:24 <+sadimusi> there's a very basic logging plugin which shows the fields of every single packet here https://github.com/sadimusi/mc4p/blob/master/mc4p/plugin/log.py 23:24 < Mathuin> Cool. 23:24 < Mathuin> Thanks! 23:24 <+sadimusi> the huge amount of packets exchanged makes it not that useful 23:25 < Mathuin> I can see it's nothing I'd want to keep running for any great amount of time. 23:25 <+sadimusi> writing a better one has been on my todo list since I've first laid hands on mc3p :D 23:25 <+sadimusi> currently SMProxy probably has superior logging 23:27 <+sadimusi> you can get the binary representation of a packet with msg.emit(), so dumping the binary stream would be pretty easy 23:28 <+sadimusi> the current version of mc4p only supports versions up to 1.6.2 though 23:32 <+sadimusi> another thing I want to build into the new version is the ability to enable encryption on just one side so other people don't have to deal with it in the early stages of their shiny new bot or similar project 23:34 < Mathuin> That's the second-best use of a proxy I can think of. 23:35 < Mathuin> The best use is cross-server play. :-) 23:35 <+sadimusi> I think that part is already covered by another project :) 23:35 < Mathuin> Oooh, last time I was here nobody had done that yet. 23:36 <+sadimusi> you weren't talking about bungee? 23:36 <+sadimusi> https://github.com/SpigotMC/BungeeCord 23:40 < Mathuin> I was talking about a theoretical concept, not an actual implementation. 23:41 < Drainedsoul> sadimusi: You make it sound as though dealing with encryption is complicated. 23:41 <+sadimusi> it is not, but people in here often make it seem so 23:41 < Drainedsoul> I'd noticed 23:41 < Drainedsoul> then again, based on the conversation you were having previously, people here also seem to write tightly coupled code :[ 23:42 < Mathuin> [BungeeCord] Huh! Not what I was thinking, but very neat. I was thinking more like the way cell phones move from tower to tower. 23:42 <+sadimusi> Drainedsoul: using a proxy for it is obviously not a permanent solution either, but some projects might make it a month longer before they're eventually abandoned :D 23:43 < benbaptist> I think BungeeCord does that though, Mathuin. 23:43 <+sadimusi> not really 23:43 < Mathuin> Looked like it required portals to go from server to server. 23:43 < Mathuin> Not a seamless transition. 23:44 < benbaptist> it doesn't require portals, but there's always some sort of transition. It is pretty seamless though 23:44 < benbaptist> signs, commands, etc. can be used 23:44 < Mathuin> Mmm. 23:44 < benbaptist> are you thinking of stitching the world or something? 23:45 < benbaptist> i.e. two worlds "stitched" together at a border of sorts. 23:45 <+sadimusi> using an invisible wall across the map as a portal might work as well, you just have to figure out a way to synchronize the part of the world around the border between the servers 23:46 < Mathuin> Imagine a cluster of servers, each covering a 101x101 region square area, with the outer border region being shared with the neighbor such that building on one built on the other. 23:46 < Mathuin> As you walk across the cluster, you are handed off to the next server. 23:46 <+sadimusi> I don't think that would ever work seamlessly 23:46 < Mathuin> In theory, you could do something crazy like recreate the Lewis and Clark expedition if the server generator could recreate real terrain and landcover. 23:47 <+sadimusi> there'll always be edge cases with entities, redstone, pistons or projectiles 23:47 < benbaptist> whoopsie! http://s.benbaptist.com/tpBBM5a5pP.jpg :P 23:48 < Mathuin> sadimusi: It'd be very hard to do right IMHO, but super awesome if it were done right. 23:48 <+sadimusi> definitely super awesome 23:48 < Mathuin> One server would have to be authoritative for every region, which would take care of the random/redstone/piston/projectile issue. 23:49 < Drainedsoul> benbaptist: How are you sending malformed JSON, are you crafting it by hand or something? 23:49 <+sadimusi> the issue with these things is that they can move across the border 23:49 <+sadimusi> and might be time sensitive 23:49 < Mathuin> Sure! They'd have to be fast. :-) 23:49 < Mathuin> But it's a nice dream. 23:49 <+sadimusi> besides, servers can easily handle huge maps 23:49 < benbaptist> Drainedsoul, the encryption is borked, I'm not even sending JSON :P 23:50 < Mathuin> how huge is huge? 23:50 <+sadimusi> 60000000x60000000 blocks if you have the disk space ;) 23:50 <+SpaceManiac> There was a project to do such a thing many years ago but it fizzled out because it was so complicated 23:51 < Mathuin> I am trying to remember the largest map I've generated. 23:51 < benbaptist> If the minecraft server handled terrain generation in a separate thread other than the main-working thread, it would help a lot if you had many people on. it would probably be far more effective than stitching servers together 23:52 < benbaptist> that, and maybe handling chunks/regions in their own threads or something 23:52 < benbaptist> but I understand how difficult it would be to do that. 23:54 < Drainedsoul> I don't see how threading generation would be complicated at all 23:54 < Drainedsoul> that's almost embarrassingly parallel 23:54 < Mathuin> Perhaps the thread wouldn't die after generation, but would stick around and manage that chunk or region. 23:54 < benbaptist> that wouldn't be too difficult, but imagine the collisions and issues arising from threading each chunk. 23:54 < Mathuin> Sounds like a job for goroutines :-) 23:55 < Drainedsoul> threading each chunk sounds like creating a lot of unnecessary threads 23:56 < benbaptist> yeah, more like maybe threading certain regions or something. I'm not sure if it would really improve anything, though. 23:56 < benbaptist> For some reason, I'm amused by this packet ID http://s.benbaptist.com/MPTTDGYpo7.jpg 23:56 < Drainedsoul> why would you do that though. What happens when everything is going on in one region. You haven't solved the problem 23:56 < Mathuin> Eh, you haven't broken anything either. 23:56 < Mathuin> Imagine if your gameplay takes place across multiple regions. Crops could grow here while you were over there. And so forth. 23:57 < Drainedsoul> but imagine if your gameplay doesn't. 23:57 < Drainedsoul> why take something that's broken and replace it with something else broken 23:57 < Drainedsoul> albeit perhaps slightly less broken 23:57 < Drainedsoul> sounds like wasted engineering effort to me 23:57 < Mathuin> *shrug* Less broken is sometimes better than more broken. 23:57 < Mathuin> And chasing the wildly erratic Minecraft API seems like wasted effort sometimes too. :-( 23:57 <+sadimusi> it would introduce a shitload of new problems and bugs 23:57 < benbaptist> if block updates is the main source of slowness due to many users spread around the map, threading chunks could [potentially help, but it's probably not going to help as much as other things could. 23:58 < Drainedsoul> I thought "a shitload of new problems and bugs" was just a natural consequence of someone at Mojang opening their IDE 23:58 < benbaptist> that's what I was saying, it would probably be bad overall. I mean, it's no worse than switching whole servers together. :P 23:58 < benbaptist> LMAO --- Day changed jeu. juil. 17 2014 00:12 < benbaptist> Woo! It works! I can log in completely authed - the only issue is that the client gives absurd errors when I'm encrypting and sending packets from the actual Minecraft server. if I just hold out and send spawning packets myself, it works. 00:13 < Mathuin> Yay for progress! 00:14 < benbaptist> Indeed! The first progress I've made in quite some time. It's actually working now. :D 01:32 < benbaptist> Does anyone have any clue what this means? http://s.benbaptist.com/aOSmYfmGTS.jpg 01:32 < benbaptist> that is a very strange error message. 02:13 < Drainedsoul> benbaptist: What are you trying to do when the error occurs? 02:13 < benbaptist> I'm just logging in. I actually haven't gotten the error since, despite not really doing anything. Is it possible that it was just an error with the session servers at the time? 02:16 < Drainedsoul> idk, what was going on, on the server side at that time? 02:18 < benbaptist> nothing really - but I don't think there's anything to worry about. it doesn't seem to happen anymore, thankfully. 02:18 < benbaptist> I must've fixed it without really knowing. :P 02:18 < benbaptist> I was sending some packet strangely or something. 03:43 < benbaptist> how is the even http://s.benbaptist.com/RjKuVYyLER.jpg 04:04 < Drainedsoul> How is what even? 05:31 < PixelCrumbs> Hey guys. I want to send a TCP packet (from a minecraft client) with a payload to a minecraft server. I've never done anything like this before so anyone know how I could do this? 05:40 < Drainedsoul> Why would you want to send just one TCP packet 05:43 < PixelCrumbs> I need to send an md5 and a playername to the server. Then I want the server to check that md5 and playername against a file on the server 05:43 < PixelCrumbs> if that makes sense :3 07:22 < Drainedsoul> so you're not concerned with TCP packets 07:22 < Drainedsoul> you're concerned with sending data across a TCP stream 07:22 < Drainedsoul> what language are we talking about here? 07:30 < PixelCrumbs> Drainedsoul: Ideally I'd want to do it in plain Java 07:41 < Drainedsoul> http://docs.oracle.com/javase/tutorial/networking/ --- Log closed jeu. juil. 17 08:33:51 2014 --- Log opened jeu. juil. 17 08:34:02 2014 08:34 -!- Irssi: #mcdevs: Total of 141 nicks [1 ops, 0 halfops, 7 voices, 133 normal] 08:36 -!- Irssi: Join to #mcdevs was synced in 143 secs 08:50 <+md_5> Dinnerbone don't think I got a response, or I missed it. Allowing the custom message packet during logging would be amazing! 16:41 < Dinnerbone> For those who care about it: there are new public API routes for name changes 16:41 < TkTech> ~~Woo~~ 16:41 < Dinnerbone> https://api.mojang.com/users/profiles/minecraft/KrisJelbring will lookup single name -> uuid 16:42 < Dinnerbone> https://api.mojang.com/users/profiles/minecraft/KrisJelbring?at=1405612800 will lookup single name -> uuid as of a certain timestamp 16:42 < Dinnerbone> (So even if he changes his name now, that link will return him) 16:42 < Dinnerbone> https://api.mojang.com/user/profiles/7125ba8b1c864508b92bb5c042ccfe2b/names will show you all the names a profile has been known by 16:43 < Dinnerbone> This concludes the public service announcement. 16:43 < TkTech> Dinnerbone: Sorry if this is already written someone, didn't see anything in the FAQ - if a name is changed, is there a period of time where it remains unavailable except to the original holder? 16:43 < TkTech> *somewhere 16:43 < TkTech> In order to help prevent stealing the name from a hijacked account. 16:43 < Dinnerbone> These details will be announced when we've settled on nice numbers 16:43 < Dinnerbone> There will be one, but I can't tell you what it will be yet 16:43 < TkTech> Sweet, thanks. 16:44 < yawkat> Dinnerbone: is that API rate-limited? 16:45 < Dinnerbone> All public APIs share the same rate limiting, currently set to 600 requests per 10 minutes 16:45 < yawkat> alright, thanks 16:45 < Dinnerbone> You're really expected to cache stuff on your own though. 16:46 < yawkat> well yea, network IO is expensive anyway --- Log closed jeu. juil. 17 16:57:40 2014 --- Log opened jeu. juil. 17 16:57:49 2014 16:57 -!- Irssi: #mcdevs: Total of 151 nicks [1 ops, 0 halfops, 9 voices, 141 normal] 16:58 < Thinkofdeath> I feel like we need a page for this stuff instead of tagging it on Authentication's page 16:58 * Thinkofdeath gets to work 16:59 < Aragas> that would be nice 16:59 < Fenhl> is this API documented somewhere? 16:59 < Thinkofdeath> Soon™ 16:59 < Fenhl> oic 17:00 -!- Irssi: Join to #mcdevs was synced in 143 secs 17:00 < Fenhl> index is a 404, would be nice if that had an overview of endpoints 17:02 < TkTech> Self-describing APIs are fantasticly sexy. 17:02 < TkTech> Thinkofdeath: Thanks for the documentation? Got a paypal address? 17:03 < Thinkofdeath> TkTech: yep 17:03 < TkTech> Gimmie. 17:04 < yawkat> you can also put bitcoins in the spigot commit pool so he gets money whenever he tests something on production 17:05 < Thinkofdeath> Dinnerbone: Your timestamped example returns a blank page 17:05 < yawkat> ye, app headers dont do anything either 17:05 < Aragas> confirm, blank page 17:08 < Thinkofdeath> http://wiki.vg/Mojang_API Done, needs a bit of a clean-up but the info is there 17:09 < yawkat> Thinkofdeath: 600 17:09 < Thinkofdeath> TkTech: :) 17:09 < Thinkofdeath> yawkat: whoops 17:10 < Thinkofdeath> typo'd 17:10 < TkTech> Thinkofdeath: :) 17:17 < Aragas> so, is api rate limited to ip? 17:17 < Thinkofdeath> yes 17:17 < Aragas> okay 17:30 < Dinnerbone> Thinkofdeath: your "Player Public Skin Information" is incorrect 17:30 < Dinnerbone> You don't get signed data unless you provide ?unsigned=false 17:30 < Thinkofdeath> oh right, forgot that changed 17:31 < Thinkofdeath> fixed 17:32 < Thinkofdeath> I should document that it has a separate rate-limit 17:32 < Thinkofdeath> 1 every X seconds or something 17:43 < Dinnerbone> It has a strict rate limit for same-user requests 17:43 < Dinnerbone> So looking up my profile multiple times will not work, but mine and yours will 17:44 < Thinkofdeath> "This has a much stricter rate limit, once a minute per a uuid" is what I put on the page 17:44 < Thinkofdeath> The once a minute was a rough timing/guess 17:54 < Dinnerbone> Thinkofdeath: appologies for the mistake with the ?at route, it's a millis timestamp - https://api.mojang.com/users/profiles/minecraft/KrisJelbring?at=1405612800000 17:54 < Thinkofdeath> ah 17:55 < Dinnerbone> We're gonna change it to seconds tomorrow 17:55 < Dinnerbone> To be a little more standard 17:55 < Thinkofdeath> i'll leave the docs as is then 17:59 < Thinkofdeath> Wouldn't make more sense to have the ?at route based on uuid instead of their current username? 17:59 < Thinkofdeath> I might be missing a use case for the current way 17:59 < Dinnerbone> You want to know who used that name at the specified time... 18:00 < Dinnerbone> Ie, somebody griefs on a server and then changes their name 18:00 < Dinnerbone> (Ignoring that the server has a log of their id) you could find out who it was. 18:01 < HisShadow_> I have a question about 1.6.4 protocol. "02 4E 00 09 00 54 00 61 00 75 00 2E 00 74 00 61" - this is the beginning of the 0x02 packet that is sent by my client. I can see 0x02 - packet id, and protocol version 0x4E or 78 in decimal. Then must come username, and that's where my confussion starts. All strings are prefixed with their length in varint, My name is 9 characters long, but what do these 0s before and after 09 mean? 18:02 < dx> HisShadow_: no varints in 1.6.4. that protocol isn't documented in the wiki anymore, unless you go back in history of both the main protocol page *and* the data types page 18:03 < Thinkofdeath> Dinnerbone: oh that makes sense 18:03 < HisShadow_> dx: I've rolled back to 1.6.4 in protocol page, but I can't seem to find old data types page 18:03 < dx> HisShadow_: just go to the same date 18:03 < dx> iirc strings had a short (16bit signed int) prefix 18:04 < HisShadow_> dx: oh yes, it is short indeed 18:04 < HisShadow_> dx: but what's that 00 after 4E? Protocol version is a byte 18:04 < HisShadow_> oh wait 18:05 < HisShadow_> nevermind 18:07 < dx> HisShadow_: also utf-16 18:07 < HisShadow_> yeah, so each character is short too 18:08 < dx> that's the lazy way to parse it but yeah that works most of the time 18:08 < dx> that would be correct in UCS-2 which is what we thought it was for a long time 18:09 < HisShadow_> ah, it could be 2 shorts, but I doubt I'll need it 18:10 < dx> yeah i doubt people will start using emoji in the minecraft chat 18:16 < Grum> We're gonna change it to seconds tomorrow <-- hehe java >.> 19:37 < yawkat> Dinnerbone: in the https://api.mojang.com/user/profiles/7125ba8b1c864508b92bb5c042ccfe2b/names api, are the entries in order of name change? 19:37 < Xor_> very subtle, yawkat 19:37 < yawkat> :P 20:24 < Drainedsoul> HisShadow_: "but I doubt I'll need it" <= famous last words 20:26 < HisShadow_> Drainedsoul: I'm trying to write a very simple bot for one server, I don't even need to care about strings that comes from users, only those that come from server itself, and I doubt I'll find UTF-16 used to a full potential there 20:29 < Drainedsoul> "I don't know about you, but I write code I like it to be absolutely correct, not just you know good enough." --Stephan T. Lavavej 20:30 < HisShadow_> Drainedsoul: but it is absolutely correct, I read shorts, I won't get out of sync with the server, and then I feed it to python's decode function, but after that I don't need to do anything with it 20:31 < dx> Drainedsoul: remember that we believed for years that it was UCS-2 :P 20:31 < Drainedsoul> Drainedsoul: Remember that I helped to figure out that it wasn't. 20:31 < Drainedsoul> *dx 20:31 < dx> Drainedsoul: sure 20:31 < dx> Drainedsoul: but it never really hurt anyone in a considerable way 20:31 < Drainedsoul> so I wasn't happy with "you know good enough" ;) 20:32 < dx> oh well 20:32 < Drainedsoul> well sure, but there are lots of bugs that don't hurt anyone in a considerable way, does that mean they shouldn't be fixed or -- as is the case here -- should be introduces intentionally 20:33 < HisShadow_> Drainedsoul: but what am I introducing? I'm essentially treating a string as a chunk of bytes, the length of this chunk is given before, so I can read it and forget about it. 20:35 < Drainedsoul> you said you're passing it to Python's decode method. What's python decoding it to? If you try and decode UTF-16 as UCS-2, you'll wind up with invalid Unicode if there are surrogate pairs in the stream 20:36 < Drainedsoul> since the lead/trail surrogates' bytewise representations fall into a range of Unicode which is explicitly reserved for this purpose, and therefore it's illegal to have code points in this range 20:36 < Drainedsoul> in fact, if the decoder is strict 20:36 < Drainedsoul> it'll just blow up when you try to create code points in that range 20:40 < HisShadow_> Drainedsoul: I'm pretty sure str.decode("utf-16-be") means decode string as utf-16 and not as ucs-2 20:40 < Drainedsoul> then the point is moot 20:40 < Drainedsoul> and UCS-2 has nothing to do with anything 20:45 < HisShadow_> okay, I meant to say that python 2.7 should have modern unicode standart with lead/trail surrogates 20:49 < yawkat> Drainedsoul: it's probably fine, worst that could happen is weird characters 20:50 < yawkat> unless you put it in a database or something, that could have SQL injection issues 20:59 < Drainedsoul> yawkat: mojibake is a bug, why would you introduce a bug intentionally? 21:00 < yawkat> because some bugs aren't worth the effort fixing 21:01 < Drainedsoul> We weren't even talking about fixing a bug. We were talking about not introducing it in the first place. 21:01 < yawkat> charsets can be a pain 21:01 < Drainedsoul> If you don't understand them, sure 21:03 < yawkat> well if that's your opinion 21:24 < HisShadow_> hmm, for some reason I get 0xFA packet from the server(1.6.4) prefixed with 0x02 0x00 0x23, is that a normal behavior or is it customized by some mod or something else? I can't seem to find any info about it. 21:38 < Aragas> some dark shiet is goin' on here 21:39 < HisShadow_> yeah, I can't understand where it comes from 21:40 < Aragas> Other packets are reading correctly? 21:41 < Aragas> You always can reverse-engineer it. You know, the hardcore way 21:42 < shoghicp> HisShadow_: packet dump? 21:42 < HisShadow_> shoghicp: let me upload it 21:44 < HisShadow_> shoghicp: http://bpaste.net/show/472705/ here's an example. The client is modded with forge mod loader, and you can see that by all these 0xFA packets, but if you look at the last one, you'll see 0x02, and after that I get disconnected with some weird error if I'm using smproxy, probably because it gets out of sync 21:44 < Aragas> if you get an error after that packet - then you have a reading error 21:45 < HisShadow_> not reading error, some weird error about compression 21:45 < Aragas> it read this packet (or packet before that) not correctly 21:45 < Aragas> Or it has a compress error, yes 21:46 < Aragas> is that china's nuclear launch code? 21:46 < shoghicp> yeah, that last packet was read incorrectly 21:46 < shoghicp> since it seems to have extra packets inside 21:47 < Aragas> is that a custom server? 21:47 < shoghicp> there is extra "REGISTER" inside the payload, too 21:48 < shoghicp> HisShadow_: do you have the raw stream? 21:48 < HisShadow_> Aragas: I think it might be buckkit but I'm not sure 21:48 < HisShadow_> shoghicp: unfourtenately, no 21:49 < shoghicp> 1.6.4, right? 21:49 < HisShadow_> yes 21:49 < Aragas> Why is handshake so long? Client doesn't sort packets after handshake? 21:50 < HisShadow_> Aragas: it comes from the server, not from client, and it should only come from client in 1.6.4 21:51 < Aragas> pardon me. not big expert in 1.6 protocol 21:51 < shoghicp> HisShadow_: I think you need extra fields 21:52 < shoghicp> hmm 21:52 < shoghicp> wait 21:53 < shoghicp> well, that should be ok 21:53 < shoghicp> does it always fails to decode it there? 21:53 < HisShadow_> yes 21:54 < shoghicp> "MinecraftForge sends packet with type 0x01 and 25 bytes(may depend on mods installed with it) following it after completing handshake and enabling encryption. In our tests it sent the following payload" 21:55 < HisShadow_> yes, that's what client sends to server, you can see it earlier 21:56 < shoghicp> then if you enable that you'll get extra fields in the protocol 21:56 < shoghicp> in this case, three more extra bytes 21:56 < HisShadow_> oh wait, it must be forge sending it, yeah 21:56 < shoghicp> but it might be byte (length) + bytes 21:56 < shoghicp> so 0x02 0023 21:57 < shoghicp> do you have more logs on different conditions? (different server/time/players playing) 21:58 < HisShadow_> yes, another log, that packet looks different, but it ends in 02 00 23 as well 22:00 < shoghicp> well, use three bytes for now 22:01 < shoghicp> if you get anything else, it's time to see what it really is :) 22:01 < HisShadow_> yeah, reading 3 bytes helps, after that I get 0x06 and 0xCA which is okay 22:02 < HisShadow_> and then I get a chunk of god knows what again 22:08 < HisShadow_> oh wait, it is my mistake this time 22:09 < HisShadow_> yes, I read 1 byte more than I should've 22:16 < Xor_> anyone seen if renaming a non-EntityInsentient to one of the devs' names causes the model flip (1.8) 22:16 < Xor_> e.g. Item, Minecart, Player 22:18 < Xor_> specifically Player, since that one needs a snapshot server mod to be tested. 23:29 < tyteen4a03> since bravo is no longer updated, are there any python Minecraft modern servers out there? 23:29 < dx> nope, but there's one or two clients 23:33 < tyteen4a03> dx, where? 23:34 < dx> tyteen4a03: http://wiki.vg/Client_List 23:34 < tyteen4a03> dx, thanks 23:35 < dx> there's spock 23:35 < dx> and pycraft was being updated but i guess ammar2 died. rip. 23:37 <+AndrewPH> rip in pepperoni 23:37 < tyteen4a03> AndrewPH, o u 23:37 <+AndrewPH> pls no copy pasterino 23:41 < tyteen4a03> guess I'll have to write almost everything from scratch... 23:41 < tyteen4a03> AndrewPH, wish me luck 23:42 <+AndrewPH> ;) 23:43 < tyteen4a03> AndrewPH, <3 23:43 <+AndrewPH> gl --- Day changed ven. juil. 18 2014 00:21 < Aragas> mine will be soon there too, hahaha 00:22 < Aragas> when i say soon i mean minecraft-soon, lol. i self just died from that 15:14 < HisShadow_> hm, weird. Here's a piece of the data that came from the server version 1.6.4 28:00:11:db:48:21:00:7f:7f:28:00:11:db:4a:21:00:7f:7f. The packet id is 0x28, so that means we get 1 int and metadata which is stream of bytes that ends in 0x7F, but here there're 2 0x7F, is this behavior correct? 15:39 <+sadimusi> HisShadow_: metadata doesn't just stop at the first 0x7f 15:39 <+sadimusi> HisShadow_: see http://wiki.vg/Entities#Entity_Metadata_Format 15:42 < SuperOmegaCow> If a server doesn't respond after a handshake what does that mean? 15:42 < HisShadow_> sadimusi: um, step number 2 say "If this byte == 127, stop reading" 15:43 <+sadimusi> yes, but 127 might also be the value of one of the fields 15:44 < SuperOmegaCow> sadimusi, If a server doesn't respond after a handshake what does that mean? 15:44 < HisShadow_> sadimusi: oh, I think I understand it now 15:45 <+sadimusi> SuperOmegaCow: can you connect to it with the vanilla client? if so your handshake is probably incorrect 15:46 < SuperOmegaCow> sadimusi, I am writing my own client and my format is packetSize, packetId, VarInt, String, UnsignedShort, VarInt 15:47 <+sadimusi> can you give us a binary dump of that? 15:47 < SuperOmegaCow> wait one second I might have spotted the problem 15:50 < HisShadow_> sadimusi: hm, so in my example, first comes 0x28 which is packet id, then an integer 4 bytes, after that comes 0x21. We need to and it with 0x1F. I get 1, and then we do 1 >> 5 which is 0. So next I should read a byte, that still leaves that 0x7f next 15:56 < SuperOmegaCow> sadimusi, I noticed a problem with my decoder, silly me :D 15:56 < HisShadow_> sadimusi: whoops, I seem to be blind 22:06 < SuperOmegaCow> Would anyone be able to answer this: http://stackoverflow.com/q/24829348/2785658 22:09 <+sadimusi> SuperOmegaCow: some context might be useful 22:09 < SuperOmegaCow> sadimusi, anytime a packet is received from an mc server it does this 22:11 <+sadimusi> SuperOmegaCow: is it returning there in the first iteration? 22:12 < SuperOmegaCow> sadimusi, where I put the first debug line yes 22:13 < SuperOmegaCow> sadimusi, the method ByteBuf.isReadable() always returns false 22:13 <+sadimusi> if in.isReadable() returns false before you read anything your problem is not Minecraft related at all 22:13 < SuperOmegaCow> sadimusi, it most likely isnt but what would the problem be 22:13 <+sadimusi> you might just not be getting any data. It's hard to say with no context 22:14 < SuperOmegaCow> sadimusi, the pipeline wouldnt try to decode a packet when nothing is sent 22:15 < SuperOmegaCow> sadimusi, I am sending a Handshake then a login start 22:15 <+sadimusi> can we get some more of your code? 22:15 < SuperOmegaCow> then waiting for the resoonse 22:16 <+sadimusi> is the System.out.println(in.isReadable()); line printing false? 22:17 < SuperOmegaCow> sadimusi, yes every time. http://pastebin.com/nHkFkagN 22:19 <+sadimusi> SuperOmegaCow: that part doesn't really look relevant 22:20 < SuperOmegaCow> sadimusi, what would you like then? the pipeline? 22:20 <+sadimusi> the networking code 22:21 <+sadimusi> especially the part where decode() is called 22:22 < SuperOmegaCow> sadimusi, http://pastebin.com/i8sKdWRW 22:22 < SuperOmegaCow> sadimusi, netty calls decode, I dont 22:24 <+sadimusi> I'm not that familiar with netty, I'm sure there's a #netty channel somewhere 22:25 < SuperOmegaCow> sadimusi, they told me to ask on stackoverflow 22:27 <+sadimusi> have you tried just reading from in anyway? 22:28 < SuperOmegaCow> sadimusi, if isReadable is returning false it wont allow you to read any bytes without throwing an exception. 22:29 <+sadimusi> maybe you can try simplifying your code so you just have one ChannelHandler for now 22:30 < SuperOmegaCow> sadimusi, per bot there is only 1 handler 22:31 <+sadimusi> aren't you adding like 5 different handlers to the pipeline? 22:31 < SuperOmegaCow> sadimusi, there is encoders and deocoders but I only have one handler 22:31 < SuperOmegaCow> decoders* 22:32 < SuperOmegaCow> sadimusi, you should probably read up on netty 22:32 <+sadimusi> maybe you should http://netty.io/4.0/api/io/netty/handler/codec/ByteToMessageDecoder.html 22:32 <+sadimusi> encoders and decoders are handlers 22:33 < SuperOmegaCow> sadimusi, are you suggesting I move all the decoding to one class because that wouldnt help. That ByteBuf at the frontend of the pipeline is unreadable 22:34 < SuperOmegaCow> sadimusi, if you look at bungeecord this is exactly how it decodes the packets 22:34 <+sadimusi> no, I'm saying remove the other handlers until the first one is working correctly 22:36 < SuperOmegaCow> sadimusi, it doesnt output anything anymore O_O 22:37 <+sadimusi> if you're using bungee code maybe try #md_5 on esper 22:38 < SuperOmegaCow> sadimusi, I think only 2 people can answer this. md_5 and ammar2. I have already asked Thinkofdeath and he doesnt know 22:38 < SuperOmegaCow> and obviously the creators of netty 22:39 <+sadimusi> just simplify your code until you've reduced it to the malfunctioning part 22:39 <+sadimusi> then stackoverflow will be able to help 22:40 < SuperOmegaCow> sadimusi, it isnt code complexity that is the problem. There is something wrong with receiving the information. 22:41 <+sadimusi> there is, but there are currently too many moving parts to figure out what's going wrong 22:43 < SuperOmegaCow> sadimusi, I will pull apart my code and see what happens :/ 22:46 < Aragas> network stuff is fun. Why use ready-to-work stuff? WRITE IT YOURSELF!! 22:47 <+SpaceManiac> But ready-to-work stuff is never quite exactly what you need... :P 22:47 < SuperOmegaCow> Aragas, ironically the Varint21FrameDecoder is ripped directly from bungeecord... which is functional 22:48 < Aragas> lol 22:48 < SuperOmegaCow> Aragas, https://github.com/SpigotMC/BungeeCord/blob/07d9a565674917381a49c1a0b79f64482e40f79c/protocol/src/main/java/net/md_5/bungee/protocol/Varint21FrameDecoder.java 22:49 <+SpaceManiac> maybe something else in your pipeline is wrong, then 22:49 < SuperOmegaCow> SpaceManiac, but it is at the front of the pipeline... 22:50 < Aragas> if anything doesn't work, then write it yourself. You will understand what the problem was or you will just ragequit 22:50 < Aragas> network stuff isn't for weak people, lol 22:51 < SuperOmegaCow> Aragas, again, this is something to do with the ByteBuf not being written properly 22:51 < SuperOmegaCow> hense, my connection is screwed or something 22:56 < Aragas> can't say anything about it. One of my common problems was not synchronized sending-receiving stuff. I mean, it's strange. People use Spigot and nobody noticed that problem. 22:58 < Aragas> try make to work basic stuff and then try to implement more complex things. That's my credo 22:58 < Aragas> you know, common sence, lol 23:19 < Aragas> I have noticed that HiveMC use different IP's. They use technology similar to BungeeCord? 23:25 < yawkat> Aragas: they use bungee 23:26 < Aragas> yawkat: thanks for info 23:26 < Aragas> that's actually interesting --- Day changed sam. juil. 19 2014 02:53 < benbaptist> What should I send in the UUID field for Login Success to the client when the server is in offline mode and has no record of the user while in online mode? 02:54 < benbaptist> I know that I can cache UUIDs if they've logged in before while the server was in online mode, but obviously I don't have any data on them if the server is in offline and it's their first time joining the game. 04:09 < benbaptist> Is compression something that's forced upon the server? I've noticed that my proxy works great in any version up to 26c, but 29b hasn't been working and yields packet errors. http://s.benbaptist.com/O6QmqFEWJA.jpg 10:48 < Thinkofdeath> benbaptist: The uuid in offline mode should be UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + getName() ).getBytes( Charsets.UTF_8 ) ) 10:49 < benbaptist> Ah nice! Thanks man 10:49 < Thinkofdeath> and no compression isn't forced but if the server enables compression so must the client 10:49 < Thinkofdeath> with the same threshold 17:02 < moshee> hi, I'm having some trouble reading anvil map files 17:02 < moshee> the location data for chunk 0,0 in region 0,0 seems to be at offset 1280 in the header 17:02 < moshee> I have no idea how this works 17:03 < moshee> according to what the wiki.vg and minecraftwiki pages are saying, I think it should be at offset 0? 17:19 < yawkat> moshee: chunk data can be anywhere in the file 17:19 < yawkat> the header is at offset 0 17:19 < moshee> I know, the entry in the header for chunk 0,0 is at 1280 bytes in the header 17:20 < moshee> then the actual chunk data is somewhere else but that matters less 17:20 < yawkat> look at this https://github.com/yawkat/Columbus/blob/master/src/main/java/at/yawk/columbus/World.java#L122 17:21 < yawkat> header is definitely at 0 17:22 < moshee> well, here's what I did 17:22 < moshee> I iterated from zero to 4092 17:22 < moshee> serialized every chunk in order 17:22 < moshee> and looked for the blocks I placed at the 0,0 chunk 17:23 < moshee> and that ended up wherever the location at offset 1280 was pointing to 17:23 < moshee> I'll examine the code though 17:25 < yawkat> if you paste the code i can have a look at it 17:25 < moshee> one moment 17:29 < moshee> http://pastebin.com/T6YuiAR8 17:31 < moshee> I'm trying to locate the chunk for a particular x,y 17:31 < moshee> seems simple enough 17:33 < yawkat> moshee: any reason for the i >> 8? 17:34 < moshee> my understanding is that the offset occupies the left 24 bits and the sector count are the last 8 bits 17:35 < yawkat> ah i see 17:35 < yawkat> moshee: sector 0 is at byte 8192 17:36 < moshee> right 17:36 < moshee> my "data" variable is sliced from 8192 onwards 17:36 < moshee> so index 0 of that is index 8192 of the original buffer 17:36 < yawkat> okay 17:37 < yawkat> yea, no idea 17:37 < yawkat> looks right though i dont know go :P 17:37 < moshee> oh well 17:37 < moshee> thanks anyways 17:38 < Thinkofdeath> moshee: since you sliced the data with an offset of 8192 bytes everything is off by 8192 bytes 17:38 < moshee> the sector offset is based at 0, right? 17:39 < Thinkofdeath> yes but including the header 17:39 < moshee> oh 17:39 < moshee> really! 17:39 < Thinkofdeath> http://minecraft.gamepedia.com/Region_file_format#Chunk_Location "A chunk with an offset of 2 will begin right after the timestamps table." 17:39 < moshee> hmm 17:39 < moshee> that would do it 17:39 < moshee> somehow I missed that line 17:40 < yawkat> oh right, i have int sector = 2; too 17:41 < moshee> yes, NOW it works 17:41 < moshee> thank you 17:42 < Thinkofdeath> np :) 18:04 < techkid6> anyone know the textures.minecraft.net entry for the default char skin? 18:04 < techkid6> if it exists* 18:07 <+sadimusi> I didn't even know this existed 18:07 <+sadimusi> what is it used for? 18:09 <+sadimusi> oh I see 18:10 <+sadimusi> why don't you just set you own skin to the default one and then look up your profile? 18:11 < techkid6> Oh, duh, good idea, thanks 21:30 < Not-29be> [fNbt] fragmer pushed 3 commits to master [+0/-2/±12] http://git.io/Z2IuqQ 21:30 < Not-29be> [fNbt] fragmer fe60382 - Added a couple missing assertions to NbtFile tests. Added a few missing annotations. 21:30 < Not-29be> [fNbt] fragmer 1155823 - Removed unit tests for Nbt.Serialization, while it's being overhauled. 21:30 < Not-29be> [fNbt] fragmer 8226b0b - Fixed a bug in NbtBinaryReader.Skip() that caused an ArgumentOutOfRangeException when skipping over 8192 bytes of a non-seekable stream. Added a unit test to cover this. 21:57 < Techcable> how would you encode/decode a varint? 21:58 < HisShadow> there's a link in data types page of wiki.vg 22:02 < Techcable> I have some code but it isn't working correctly http://pastebin.com/V30dbZQM 22:03 < barneygale> Techcable: my implementation: https://github.com/barneygale/quarry/blob/master/quarry/buffer.py#L82 22:05 < Techcable> ok im trying to javify that 22:06 < Techcable> is it just me or is o a string? 22:17 < Techcable> updated : http://pastebin.com/6iVjBewV 22:17 < Techcable> Im Testing it now 22:22 < Grum> Techcable: https://gist.github.com/grum/50ec6869483b03b591b0 22:25 < Techcable> thanks 22:26 < barneygale> Techcable: strings and bytes are the same thing in python 2 22:28 < Aragas> I have a question about VarInt. it is a number with a variable length? 22:30 < barneygale> variable number of bytes used to represent it when packed 22:30 < barneygale> small numbers use less bandwidth, essentially 22:31 < Aragas> so, it is a 8,16,32 and 64-bit integer in one? 22:32 < Grum> or more, yes 22:32 < Grum> you lose a bit per byte though 22:33 < Aragas> that's awesome 22:34 < Grum> it's only a format on the wire, it serves little other purpose 22:34 < Grum> but yes, nice and flexible 22:34 < Aragas> thanks for answer 22:35 < Grum> we should be doing zigzag encoding though 22:35 < Grum> but we don't really use it for many negative numbers 22:36 < Grum> here - https://developers.google.com/protocol-buffers/docs/encoding#types 22:37 < Aragas> yep. negative numbers are only used in coordinate and vector system, if i haven't forgot anything. 22:39 < Aragas> it's reasonable only if we send more chunkdata than other stuff 22:40 < Aragas> in short-range it's good. in long-range not. 22:40 < Aragas> ..i think 22:40 < benbaptist> is the new packet format with the data length after packet length used even if compression is disabled? 22:41 < benbaptist> I simply can't get my client to connect properly on 29b now, it receives this error as if I've sent something crucially wrong. http://s.benbaptist.com/2wuxNROzeK.jpg 22:41 < benbaptist> but it works absolutely perfectly on 26c, prior to compression being added. 23:16 < techkid6> Is there a direct uuid->name conversion available which only lists the current name and id? similar to the name->id api? 23:16 < techkid6> (Because apparently they don't like it when you ping the session server a bunch) 23:18 < Mathuin> barneygale: quarry looks neat, what inspired you to write it? 23:19 < barneygale> Basically for two audiences 1) people who want to write simple bots/servers who can't be arsed to deal with login/sessions/encryption/etc 2) as a relatively readable reference implementation 23:19 < barneygale> although there are probably better ones 23:20 < barneygale> Most of the examples are inspired by real things I've needed to write before 23:20 < Mathuin> *nod* 23:20 < barneygale> e.g. downtime server, auth server, chat logging bot 23:20 < Mathuin> It's a nice complement to the goals of pymclevel which are to manipulate the worlds themselves. 23:20 < barneygale> aye 23:21 < Thinkofdeath> techkid6: https://api.mojang.com/user/profiles/4566e69fc90748ee8d71d7ba5aa00d20/names 23:21 < techkid6> what happens when we have multiple names in that array? will [0] always be latest? 23:21 < Thinkofdeath> no idea, hopefully 23:21 < techkid6> or will they become objects with somee sort of date-changed on it... like... 23:22 < techkid6> {"name":"thinkofdeath","changed":"2014-07-19 22:21:35"} 23:22 < Thinkofdeath> I'm pretty sure it will stay a list of strings 23:32 < techkid6> okay, thanks :) 23:32 < techkid6> My old library just queried session, I'm fixing that so it sucks less 23:32 < techkid6> is there a way to do it with multiple uuid's? 23:34 < techkid6> I don't see it documented anywhere 23:34 < techkid6> But I figured if anyone knew it would be you guys 23:44 < Not-29be> [fNbt] fragmer pushed 6 commits to master [+0/-0/±11] http://git.io/5Q2Zmw 23:44 < Not-29be> [fNbt] fragmer 4ba148b - Changed fNbt and fNbt.Test framework requirements back to .NET 3.5 Client Profile (in anticipation of 0.6.1 bugfix release) 23:44 < Not-29be> [fNbt] fragmer e622800 - NbtFile.LoadFromFile(...) and LoadFromBuffer(...) now return 'long' instead of 'int' and accurately report bytes-read for files/buffers over 2 GiB in size. 23:44 < Not-29be> [fNbt] fragmer 7a8fd22 - Updated Doxyfile to Doxygen 1.8.7 23:44 < Not-29be> [fNbt] ... and 3 more commits. 23:44 < Not-29be> [fNbt] fragmer tagged 43b181b as v0.6.1 http://git.io/byZyrw 23:44 < Aragas> wow. fragmer is back with us 23:45 <+fragmer> fNbt is a .NET library for reading/writing/manipulating Named Binary Tag (NBT) data. Release 0.6.1 brings some bugfixes, notably better support for data >2 GiB and non-seekable streams. 23:45 <+fragmer> (Hi Aragas! I just wanted to push some bugfixes before next major release of fNbt) 23:47 < Aragas> Hello fragmer! Thanks for your work, you make things really much easier 23:47 <+fragmer> Thanks! Sadly I did not have much time for Minecraft this year, so releases have been slow. 23:49 < Aragas> Thats okay. We all have other things to do :) --- Day changed dim. juil. 20 2014 01:05 <+fragmer> Woops, forgot to update assembly versions 01:08 < Not-29be> [fNbt] fragmer pushed 1 commit to master [+0/-0/±2] http://git.io/gVj7Hw 01:08 < Not-29be> [fNbt] fragmer 48a8593 - Fixed assembly versions (it incorrectly was listed as 0.6.0) 01:22 < Not-29be> [fNbt] fragmer tagged 48a8593 as v0.6.1 http://git.io/EpOOYg 01:22 <+fragmer> Fixed. 01:54 <+md_5> Dinnerbone don't think I got a response, or I missed it. Allowing the custom message packet during logging would be amazing! 04:16 < Mathuin> Trying to run the regression tests for pymclevel before submitting a pull request, but the tests fail with "OSError: [Errno 13] Permission denied". I created a brand-new virtualenv and installed both requirements files. 04:18 < dx> read the traceback, figure out what file is being written/read to get that error, and then fix the permissions accordingly? 04:20 < Mathuin> The file in question was mce.py -- interesting that it wasn't set to execute. 04:20 < Mathuin> (wasn't in the traceback, had to search the original script) 04:23 < Mathuin> All but one test fails on the master branch of mcedit/pymclevel so I'm not sure what good it'll do to run my code against them. 04:25 < dx> yeah... if you can't get them running, might as well ignore them. 04:25 < dx> how big is the patch? 04:26 < Mathuin> I am adding two methods to the ChunkedLevelMixin which allow for the getting and setting of biomes based on x/z coordinates. 04:26 < Mathuin> So it shouldn't have any impact on regressions. 04:26 < Mathuin> If the tests all passed, I would write a test for my code, but I'm a little wary of falling into that rabbithole. :-) 05:42 <+md_5> Dinnerbone also when the client left clicks and it sends the armswing packet, adding a flag or something to say if a block was hit would be nice 05:43 < humerusj> Couldn't that lead to easier hacking? 05:45 < dx> md_5: just curious, what for? seems oddly specific 05:46 < dx> also it would only mean 'easier hacking' if the server-side checks for that are removed, trusting this flag completely 05:47 <+md_5> dx the vanilla server wouldnt use the flag at all 05:48 <+md_5> it would remove the need for some raytracing though 05:48 < dx> md_5: then good luck convincing them to add it 05:48 < dx> hmm, block hit = false, don't bother raytracing? 05:48 < dx> that actually sounds good 08:32 < Drainedsoul> anyone around who can shed some light on the Player Public Skin Information response? 15:37 < yawkat> Drainedsoul: checked the wiki? 17:38 < Xor_> tip of the day: run the client with --verbose 17:41 < Aragas> it works with 1.7.10? or only in the last builds? 17:43 < Aragas> nervermind 18:26 < woder> In packet 0x15 (Entity Relative Move) how does the rounding work on the division? (x/32). I've tried various things (up, down) can't seem to find the one minecraft uses 18:36 < eddyb> Thinkofdeath: any news :)? 18:38 < barneygale> Anyone have example code for parsing json chat to plaintext? 18:38 < barneygale> parsing is probably the wrong word :P 18:50 < yawkat> barneygale: what kind of parsing? back to control characters? 18:50 < barneygale> no colour/formatting at all 18:51 < yawkat> sounds fairly straight-forward 18:51 < yawkat> check the wiki, the format is pretty easy 19:10 < barneygale> I ended up with this: https://gist.github.com/barneygale/03a0b9953933a53ef7e6 19:10 < barneygale> Not doing any translations 19:23 < Aragas> Check that https://github.com/ORelio/Minecraft-Console-Client/blob/master/MinecraftClient/ChatParser.cs 19:23 < Aragas> This class fully(?) parse chat messages 19:24 < Aragas> Nice, but heavy and a bit confusing 19:37 < Thinkofdeath> eddyb: ? 19:37 < eddyb> Thinkofdeath: snapshots and stuff 19:37 < eddyb> I don't think last week brought anything new in terms of block states 19:38 < Thinkofdeath> yeah its mostly optimizations/bug fixing now 19:50 < Aragas> I have a strange problem. I'm receiving Response Packet from Status packets, but i think the favicon string is corrupted. Trying to decode favicon string manually here http://base64online.org/decode/ , the result is also not full decoded 19:50 < Aragas> Here is the output https://gist.github.com/Aragas/3b5c1054337b7e75bf7c 19:52 < Aragas> What could be the problem? 19:55 < Aragas> ^ the image is from HiveMC servers 19:58 < Thinkofdeath> Aragas: http://jsfiddle.net/nDQG2/embedded/result/ it was missing an '=' at the end 19:59 < Thinkofdeath> the icon doesn't look completely right still 20:00 < Aragas> yep. that's weird 20:06 < Aragas> should be favicon string decoded like in non-usual-way? I'm receiving it like all other strings 20:06 < Thinkofdeath> nope pretty sure its normal 20:07 < Aragas> nah crap 20:09 < Aragas> i'll check the full packet raw response 20:13 < Aragas> nice. Full raw output decode works. the problem must be with my serializer 20:17 < Aragas> just one 'H' char is missing. lol. --- Day changed lun. juil. 21 2014 18:39 < Aragas> Should i care about Time value in Status Ping packet? Or i can just use a random number? What do vanilla minecraft? 20:09 < M4GNV5> does anybody know where vanilla minecraft (servers) parse the @p, @r, @a and soon @e ? 20:19 < Aaron1011> M4GNV5: Look here: https://github.com/Bukkit/mc-dev/blob/master/net/minecraft/server/CommandBlockListenerAbstract.java 20:31 < M4GNV5> Aaron1011: hmm thx but that wasnt quite what i searched for... i mean where do the parse e.g. @p[xp=1000] to e.g. Notch 20:33 < Aaron1011> M4GNV5: Ah, never mind. I saw the "@" charater, but it turned out to be for the command block's name 20:33 < M4GNV5> yep ^^ i recognized that too after hmmm 5min... why do they have to rename all members :/ 20:38 < M4GNV5> hmmmm is there an escape sequence for @ or is it true that only 2 files contain @... https://github.com/Bukkit/mc-dev/search?q=%40&ref=cmdform 20:47 < Thinkofdeath> M4GNV5: https://github.com/Bukkit/mc-dev/blob/master/net/minecraft/server/CommandHandler.java 20:48 < Thinkofdeath> + https://github.com/Bukkit/mc-dev/blob/master/net/minecraft/server/PlayerSelector.java 21:32 < M4GNV5> Thinkofdeath: thx --- Day changed mar. juil. 22 2014 01:59 < benbaptist> Does the server send a compression threshold packet by default on 14w29b? 02:57 < benbaptist> Okay, I understand that there's a packet 0x03 now that's sent. That's why I wasn't getting any 0x46's. :P 03:55 < benbaptist> I think I'm packing compressed packets right, according to docs. Though it still seems to fail. Does this code look decent? https://gist.github.com/benbaptist/2a2fa79be9826ae4ada7 03:56 < benbaptist> the data contained in self.query (which should be queue, it was 5AM when I wrote that line) contains the packet ID and payload, but no length. 10:44 < Thinkofdeath> benbaptist: the packet length goes before the uncompresseed length 10:45 < Thinkofdeath> (you have it backwards on line 70 15:10 < WizardCM> this channel 15:10 < WizardCM> so quiet 15:10 < WizardCM> i thought i'd break the uncomfortable silence 15:10 <+sadimusi> it's been a lot more active recently than it has been in months 15:10 < WizardCM> this is true 15:10 < Aragas> Yep 15:10 < WizardCM> primarily because the recent snapshots have been so game-changing 15:11 < WizardCM> and exciting 15:11 < Aragas> And code-breaking 15:11 < Aragas> lol 15:11 < WizardCM> very much so 15:11 < WizardCM> but mostly in a good way 15:11 < Aragas> True, true 15:11 < WizardCM> argh installing windows updates on a family friend's laptop 15:12 < WizardCM> keeps knocking out my internet connection 15:12 < WizardCM> <_> 15:12 < WizardCM> i blame my crappy ISP + crappy modem 15:12 < WizardCM> $10 modem never again 18:28 < Corgi> Hi! Anyone here working with PHP? 18:28 < Corgi> I'd like to help. 18:29 <+sadimusi> hopefully nobody is doing anyrhing minecraft related with PHP 18:29 <+sadimusi> even shoghicp seems to have stopped doing that 18:31 < Aragas> lol. all php project are dead? 18:31 < TkTech> Corgi: PHP isn't fantastic for something like a game client/server, although there are some people that have done things with it. 18:33 < Aragas> what about a php server? i mean, so hardcore 18:33 < yawkat> *slow and inefficient 18:35 < dx> sadimusi: i don't think shoghicp can ever stop doing that 18:35 < dx> sadimusi: it's a curse 18:35 < Aragas> but the idea!!! 18:35 < Aragas> Minecraft server on php!! 18:36 <+sadimusi> dx: he's mostly working with PE recently 18:36 < dx> sadimusi: "minecraft PE" counts as "minecraft related" for me 18:37 <+sadimusi> definietly is, but we don't here as much about it in here 18:37 < Aragas> hm, will PE use protobuff? that would be nice 18:38 < dx> and yeah he seems to be active here https://github.com/PocketMine/PocketMine-MP/commits/master 18:38 <+sadimusi> o.O 18:38 < Aragas> oh my. that's a server on php 18:40 < Aragas> https://play.google.com/store/apps/details?id=net.pocketmine.server even on android. check second image 18:40 <+sadimusi> I guess this shows just how different the audience on mobile is 18:41 < Aragas> they just don't have any alternative 18:41 < Aragas> and, you know, pretty interface 18:43 <+sadimusi> my point is that we would have dozends of alternatives popping up if the only server for PC minecraft was written in PHP 18:44 < Aragas> so true, we all love php :DDD 18:47 < Thinkofdeath> PHP - the language we love to hate 18:49 < TkTech> The only language that makes the Python standard library look organized and consistent. 18:50 < humerusj> sadimusi: php isn't really preferred, but it works eh for pm 18:50 <+sadimusi> pm? 18:50 < humerusj> pocketmine 19:00 < dx> sadimusi: the only feature complete server for PC minecraft is written in java, and i'm sure a decent fraction of this channel is here because they didn't like that. 19:01 < Aragas> I think that we should seriously consider mobile devices now. We only have one please-kill-me-i'm-indev-verson-of-minecraft 19:01 < dx> you should have seriously considered mobile devices 6 months ago 19:02 < dx> but i guess the second best time is now 19:02 < Aragas> i mean, it's horrible that there is a php server as one of the best choices 19:02 <+sadimusi> dx: at this point it simply isn't feasable to completely reimplement PC minecraft 19:02 < dx> sadimusi: of course 19:02 < TkTech> dx: clone1018's Craft.net is pretty fleshed out 19:02 < TkTech> dx: One of the few servers updated frequently. 19:02 < Aragas> That's why my client will support android 19:02 < TkTech> Or libraries, rather. 19:02 < dx> TkTech: a fork of SirCmpwn's? 19:03 < TkTech> Er, SirCmpwn ;\ I got names confused. 19:03 < dx> hah, not sure how you did that. 19:03 <+SirCmpwn> it's outdated 19:03 <+SirCmpwn> though I welcome pull requests that will bring it up to date 19:04 < TkTech> Oh? Is the library page on the wiki out of date? 19:04 <+sadimusi> has craft.net ever been in a state where it could be run as a replacement for vanilla minecraft? 19:04 <+SirCmpwn> probably not 19:04 < TkTech> Darn ;| 19:04 <+SirCmpwn> there have been times where it'd be reasonable to run a creative server on it 19:04 <+SirCmpwn> or make simple bots with it 19:04 <+SirCmpwn> or level editors 19:04 <+SirCmpwn> etc 19:05 <+sadimusi> there were a few implementations for creative servers, mostly without redstone though 19:05 <+sadimusi> didn't clonejo build one in erlang once? 19:06 < Aragas> you mean mc-erl? 19:06 <+SirCmpwn> craft.net at one point had limited redstone support 19:06 <+SirCmpwn> plus quite a bit of other stuff, like farming and fluids 19:07 <+SirCmpwn> if I were to start working on it seriously for a while, it'd probably get very usable 19:07 <+sadimusi> that's what MAD said :P 19:07 <+SirCmpwn> MAD? 19:07 < Aragas> that would be nice. Very nice. 19:08 < dx> SirCmpwn: was your redstone implementation efficient, or naive? several people have died in the past while trying to write efficient redstone implementations. RIP. 19:08 <+sadimusi> SirCmpwn: MostAwesomeDude 19:08 < dx> MAD = mostawesomedude = bravo's author 19:08 <+SirCmpwn> dx: somewhere in the middle 19:08 < yawkat> mc-server has redstone too iirc 19:08 <+SirCmpwn> it was built on the scheduled updates system 19:08 <+SirCmpwn> (which replaced ticks) 19:08 < dx> uh oh. 19:08 <+SirCmpwn> sadimusi: well, I just don't spend the time on it. I have other projects to commit to, plus work 19:09 < Aragas> i think we should make a tble for redstone implementation in sercer list 19:09 <+SirCmpwn> sadimusi: I am rather confident that it could be great if I spent a few hours a day on it for a month or so 19:09 < Aragas> table 19:09 <+SirCmpwn> sadimusi: well, and if burger worked :P 19:09 < dx> #mcdevs: lack of motivation general 19:10 <+SirCmpwn> the most annoying part is the protocol updates 19:10 <+SirCmpwn> but that has to happen before any of the other important stuff can really be done 19:10 <+sadimusi> Thinkofdeath takes pretty good care of them 19:10 <+SirCmpwn> every time I want to work on it I waste all my time updating it to the latest protocol version :P 19:10 < dx> sadimusi: documentation, maybe. i think netherrack is considered 'outdated' already, though. 19:11 < yawkat> he ported spigot protocol to the snapshot recently 19:11 < dx> spigot doesn't count 19:11 < dx> ok maybe it does. 19:12 < yawkat> because we all need the ability for snapshot users to join 1.7.2 servers... 19:12 <+SirCmpwn> been working mostly on KnightOS and kerbal stuff in recent weeks 19:12 < dx> i guess it makes much more sense to port a server that a lot people use, as oppposed to some toy sideproject. 19:12 < Aragas> lol. protocol was the funniest stuff for me. like catching bugs in reading. 19:13 <+SirCmpwn> also, I don't really like Minecraft anymore 19:13 <+SirCmpwn> notch did not leave it in good hands 19:14 < Aragas> SirCmpwn: I'll help you with 1.8 protocol porting 19:14 < dx> SirCmpwn: ehhh let's not talk about that. 19:14 <+SirCmpwn> well, the consequence being that I don't really want to implement functionality that I don't like 19:15 < Aragas> I mean there is no point to port 1.7 anymore 19:15 <+SirCmpwn> Aragas: yeah, sure, I'd appreciate your help 19:15 <+SirCmpwn> how far behind am I 19:16 <+SirCmpwn> did mojang hire more devs recently? 19:16 < dx> last i heard was the MCP guy 19:17 <+SirCmpwn> haha, maybe they'll actually make a modding API 19:17 < dx> haha funny joke 19:17 < Aragas> nice try 19:17 <+SirCmpwn> better idea: more commands for SethBling 19:17 < dx> ok let's not be too blatantly bitter. 19:18 < dx> doing it subtly is ok tho 19:18 <+SirCmpwn> minecraft will not be complete until we can write lua in command blocks 19:18 < yawkat> Yea, think of the other map makers too! 19:18 < dx> think of the mindcrackers! 19:19 < dx> damn now i'm doing that too. 19:19 < Aragas> that's why we need a minecraft implementation in lua 19:19 < yawkat> Wut 19:19 < yawkat> Who uses lua willingly 19:19 < Aragas> so we can minecraft in minecraft 19:19 <+SirCmpwn> I have somewhat seriously considered picking Craft.Net up again with support only for beta 1.7.3 19:19 < yawkat> Aragas: just write a cross compiler 19:20 < dx> SirCmpwn: oh yeah how far did that go? 19:20 <+SirCmpwn> dx: I've been playing with some friends on craftbukkit 1.7.3 for a while 19:20 < Aragas> that's gone dark fast 19:20 <+sadimusi> SirCmpwn: I don't care for command blocks either, but weren't a lot of survival features added after 1.7.3? 19:21 <+SirCmpwn> sadimusi: I didn't really like the adventure update (aka beta 1.8) 19:21 <+SirCmpwn> sadimusi: that's where things started to go downhill imo (this was the introduction of The End) 19:21 < Aragas> i didn't liked the new generator 19:21 <+SirCmpwn> that, too 19:21 < Aragas> but i can't play on 1.7.3 either 19:21 <+sadimusi> the end is pretty stupid, but I enjoy the enchanting and brewing system 19:22 <+sadimusi> and I really love the new generator 19:22 <+SirCmpwn> those are alright 19:22 <+SirCmpwn> sadimusi: there have been two generator revamps since beta 1.7.3 19:22 <+SirCmpwn> sadimusi: do you remember the old old generator? 19:22 <+sadimusi> I think I do 19:23 <+SirCmpwn> was a good generator 19:23 <+SirCmpwn> had the farlands, too 19:23 < Aragas> i feel very small in these new generators. 19:23 <+sadimusi> the biomes were too small 19:23 < Aragas> Biomes are huge 19:23 <+SirCmpwn> I also liked redstone in beta 1.7.3 19:23 <+SirCmpwn> torches, buttons, levers, pistons, and repeaters 19:23 <+SirCmpwn> nothing else 19:23 <+SirCmpwn> (iirc) 19:24 <+SirCmpwn> I don't even know how a comparator works 19:24 <+sadimusi> comparators are not really essential but are a nice addition imho 19:24 <+sadimusi> hopper on the other hand I couldn't live without anymore 19:25 <+SirCmpwn> meh 19:25 <+SirCmpwn> too much automation 19:25 <+SirCmpwn> I like the core ideas behind minecraft 19:26 <+SirCmpwn> and beta 1.7.3 was a nearly perfect version of that core idea 19:26 <+SirCmpwn> there are a few things I'd take from new versions, like sprinting and better bow mechanics 19:28 < Aragas> to use all of the content, we need now to travel. i mean, in betas it wasn't necessary. I'm a lazy guy, lol 19:29 < TkTech> I've recently been playing Space Engineers, which is pretty fun. The same basic build block concept (Voxels) but more intuitive simple mechanics. 19:30 <+SirCmpwn> I've been porting games to my calculator OS 19:30 <+SirCmpwn> which is a combination of frustrating and fun 19:30 < TkTech> "Wait, I have how many bytes?" 19:31 < Aragas> "640K ought to be enough for anybody" 19:31 <+SirCmpwn> actually, my OS provides more RAM to the user than the OS these games were originally written for 19:31 <+SirCmpwn> memory is not generally an issue 19:32 <+SirCmpwn> convincing these to play nice with multitasking, though, can be quite a pain in the ass 19:32 < TkTech> Huh, interesting. I follow your posts on OSDev every once in awhile, didn't realize you were so far along now. 19:32 <+SirCmpwn> it's been a while since you've visited #knightos, TkTech 19:32 <+SirCmpwn> come join us! 19:32 < TkTech> I tried to slim down my bouncer, I was in a moronic number of channels...