09:15 < JoshuaDoesGaming> So I've seen lol 09:16 < JoshuaDoesGaming> If you'd like, I can provide the script I'm using and give you some time to get used to it if you're not familiar with AutoIt. It's fairly similar to VisualBasic if you've toyed with that. 09:17 < yawkat> Nah I'd miss brackets 09:17 < JoshuaDoesGaming> lol 09:18 < JoshuaDoesGaming> But yeah, all I'd really need is some help implementing the basics from the new 1.8.6 protocol and I'll be all set 10:04 <+SinZ> wait, going from 1.1 to 1.8.6 10:05 <+SinZ> well, you would be missing encryption and the 1.6 or 1.7 protocol rewrite pretty much 10:06 <+SinZ> and how chunks are now 16x16x16 rather than 16x16x128 in 1.2 or 1.3 10:28 < JoshuaDoesGaming> SinZ: I understand there's a new encryption, but sadly I don't have the 1.6 or 1.7 documentation to use it 10:28 < JoshuaDoesGaming> I can only find the 1.8.6 docs 10:28 <+SinZ> go through the wiki history 10:28 < JoshuaDoesGaming> I forgot all about that 10:28 < JoshuaDoesGaming> Thanks 10:34 < JoshuaDoesGaming> This is quite a bit to take in with the encryption setup 12:51 < Wuppie> Anyone know what packet is used to change a players gamemode? :( 13:04 < Wuppie> nvm 13:04 < Wuppie> found it 13:05 <+ammar2> http://wiki.vg/Protocol#Change_Game_State 18:16 < Not-586c> [wiki.vg] Edit by Kangarko to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6638&oldid=6626 18:32 < rom1504> That's a big change 18:40 <+ammar2> wat 18:41 <+ammar2> uhh am I misreading or did that guy just revert the page back to some old time 18:43 < Not-586c> [wiki.vg] Edit by Jensz12 to Category:Minecraft Modern -> http://wiki.vg/index.php?title=Category:Minecraft_Modern&diff=6639&oldid=6432 18:43 <+Thinkofdeath> ammar2: he did .-. 18:45 < Wuppie> uhm... Why did Kangarko revert so much? 0.o Lots of stuff is missing now 18:45 < Wuppie> like packet format 18:45 < Wuppie> :\ 18:45 <+Thinkofdeath> reverted 18:45 < Not-586c> [wiki.vg] Edit by Thinkofdeath to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6640&oldid=6638 18:45 < Wuppie> :) 18:46 <+ammar2> I wonder what his actual finding was 18:46 <+ammar2> his edit reason was "discovery regarding enchant tooltips" 18:56 < rom1504> * 0-2 depending on the "enchantment slot" being given. 18:56 < rom1504> * 4-6 for the tool-tip shown on mouse hover over the enchantment slot (set to -1 to hide it) 18:56 < rom1504> in enchantment table 18:56 < rom1504> there http://wiki.vg/Protocol#Window_Property 18:57 < rom1504> that sounds true, I saw some weird stuff with the property value of that packet for the enchantment table 18:58 < rom1504> (https://github.com/andrewrk/mineflayer/blob/master/lib/plugins/enchantment_table.js#L35) 18:59 < rom1504> (http://wiki.vg/index.php?title=Protocol&diff=6638&oldid=6626 ctrl+f "Line 1,301") 20:30 < Not-586c> [wiki.vg] Edit by Niko to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6641&oldid=6640 23:59 < FrozenDroid> Hi, how can I find out whether I've been banned from the Mojang API? I can't do UUID -> Username requests anymore --- Day changed mar. juin 02 2015 00:00 < FrozenDroid> Getting error 429, even though I'm really quite sure I am not hitting the limit (2 players on my server and my app is doing no calls) 00:03 <+XorBoole> FrozenDroid write to mojang. I'd be shocked if they had though 00:04 < FrozenDroid> Nothing I can do to fix this immediatly...? Users cannot register now 00:16 < FrozenDroid> I guess I'll give it a day, I mean, HTTP 429 is supposed to be temporary, right? 00:27 < barneygale> bah 00:27 < barneygale> i wish packet IDs were int32s or something 00:28 <+ammar2> yeah varints are a pain sometimes :> 00:29 < barneygale> how does everyone handle incomplete packet reads in async stuff? Currently I'm double-buffering and restoring to the backup buffer if I can't unpack the length or payload 00:29 < barneygale> Is that a good approach or am I missing something obvious? 00:32 <+XorBoole> ammar2 your mother is a varint 00:33 <+ammar2> XorBoole: pls stop 00:33 * XorBoole huggles ammar2 00:34 < FrozenDroid> is there any external API that is cached, perhaps? 00:34 <+XorBoole> I doubt that 00:34 <+XorBoole> google is your friend though 00:35 <+XorBoole> if you're not sure, I suggest emailing support 00:35 <+XorBoole> erm, rather I suggest emailing support if you're not sure why you can access it 00:36 <+ammar2> an external api built upon mojang's api? that seems pretty niche 00:37 < FrozenDroid> Do spigot instances use up the limit as well? 00:49 < FrozenDroid> Finally able to do API calls again, I have no idea why that happened. 01:02 < Fenhl> 1.8.6 is still protocol version 47, right? 01:02 <+ammar2> yup 01:07 < Fenhl> someone should test how the tooltip value is formatted here 01:07 < Not-586c> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6642&oldid=6641 01:08 < Fenhl> …and by here I mean ^^^ here because the rc bot is slow 01:24 < Not-586c> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6643&oldid=6641 01:28 < Not-586c> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6644&oldid=6641 01:36 < Not-586c> [wiki.vg] Edit by Fenhl to Protocol version numbers -> http://wiki.vg/index.php?title=Protocol_version_numbers&diff=6645&oldid=6632 01:53 < Not-586c> [wiki.vg] Edit by Fenhl to Data Types -> http://wiki.vg/index.php?title=Data_Types&diff=6646&oldid=6530 01:59 < Not-586c> [wiki.vg] Edit by Fenhl to Data Types -> http://wiki.vg/index.php?title=Data_Types&diff=6647&oldid=6530 02:17 < Not-586c> [wiki.vg] Edit by Fenhl to Pre-release protocol -> http://wiki.vg/index.php?title=Pre-release_protocol&diff=6648&oldid=6473 03:05 < Not-586c> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6649&oldid=6644 03:40 < ChristoferR> I need help! 03:48 <+AndrewPH> Apparently that christoferr guy didn't need that much help, since he only waited 6 and a half minutes. 03:49 <+ammar2> maybe he was about to be kidnapped 03:50 <+ammar2> and he only had a few minutes to type a message into irc 03:50 <+ammar2> we could have helped him 03:51 <+AndrewPH> it's all our fault 06:05 < Fenhl> I must have missed that part 19:59 < Not-586c> [mineflayer] rom1504 pushed 1 commit to master [+0/-0/±2] http://git.io/vkQds 19:59 < Not-586c> [mineflayer] rom1504 56a42b6 - Release 1.2.1 19:59 < Not-586c> [mineflayer] rom1504 tagged 56a42b6 as 1.2.1 http://git.io/vkQd3 --- Day changed jeu. juin 04 2015 00:17 < barneygale> If anyone's interested, I've just put a minecraft packet sniffing proxy on github: https://github.com/barneygale/rex 00:17 < barneygale> Pretty limited at the moment (can't hook packets in any protocol mode except "play") but might still be useful to someone 00:20 < barneygale> ammar2, I wrote my own scraper because yours was missing some packets and I couldn't be bothered to fix it 10:39 < rom1504> and one more proxy 10:39 < rom1504> there should be a lost of all existing minecraft proxies somewhere, would be pretty long 10:39 < rom1504> *list 11:16 < barneygale_> rom1504, are there other proxies around that can hexdump packets? I was looking for one a couple of weeks ago but couldn't find one 11:21 < rom1504> barneygale_: http://pastebin.com/097Dq88W 11:22 < rom1504> (so for example https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/examples/proxy/proxy.js) 11:24 < angal> Looks cool. 11:25 < barneygale_> rom1504, looks great 11:27 < barneygale_> I think rex has a couple of minor features that yours doesn't, though the interface on yours is nicer (ability to exclude packet types, rather than just include) 11:30 < barneygale_> Plus yours has docs and tests ;) 11:33 < rom1504> yeah I wasn't saying that there need to be only one implementation, having several implem is nice too 21:38 < Not-586c> [wiki.vg] Edit by Monowii to Classic Server List -> http://wiki.vg/index.php?title=Classic_Server_List&diff=6650&oldid=6614 --- Day changed dim. juin 07 2015 07:40 < conji> Evening everyone. Is there anyone available who is familiar with C#'s bitshifting and byte array manipulation? 17:25 < Diemver> anyone has idea of uncompressing map data? 17:28 < rom1504> yes 17:30 < Diemver> are you prepairing something or waiting to me say please help? :D 17:35 < gurun> i think he deliberately just answered your question. And from me it had to ne a yes too. 17:36 < Diemver> can you give information about that 17:37 < Diemver> how can i uncompress that 17:43 < gurun> i have to say yes, and then ask what information you want? 17:44 < Diemver> i want to uncompress map chunk data 17:44 < Diemver> uncompress data of packet no 0x21 17:45 < rom1504> http://wiki.vg/Protocol#With_compression 17:59 < Diemver> oh thats so simple it uses zlib 17:59 < Diemver> thank you so much --- Day changed mar. juin 09 2015 00:16 < Wuppie> hmm, for some reason i receive 0 bytes for the username sometimes... in the Handshake packet 00:21 <+XorBoole> Wuppie that's because the server doesn't like you 00:21 <+XorBoole> actually, wait, is this your client or the server? 00:21 < Wuppie> XorBoole my server xD 00:22 <+XorBoole> oh. then the client hates you 00:22 < Wuppie> thanx lol. Look out or i'll pet u 00:25 < Wuppie> it is weird tho. it is the only string that sometimes sends a length of 0 :\ 00:32 < Wuppie> Seems to be a buffer problem. Will have to investigate that late :/ 20:35 < DarkElement> Hard to make sense of the onNeighborBlockChange functions with the minecraft class code for Redstone lamps/pistons 20:35 < DarkElement> should I say my mod block is a new BlockRedstoneLight instead of Block? 20:36 < DarkElement> I've been looking through this: https://gist.github.com/Ri5ux/8107017 however that also seems different than mine. I am trying to make a block to change textures when lit. 22:29 <+XorBoole> so I'd love to know: why the hell is there no way to modify rotation/trans/scale for dropped item/itemframe models? 22:30 <+ammar2> why would there be 22:30 <+XorBoole> ammar2 because there is for gui, first person, and third person 22:30 <+XorBoole> what if I want to rotate the model in the item frame 45 degrees? 22:30 <+XorBoole> or scale it so it's not tiny? 22:30 <+XorBoole> but leave the item on the ground a sane size? 22:31 <+XorBoole> there's also one for head* 22:31 < redstonehelper> XorBoole: so there's one for everything but dropped items? 22:31 <+XorBoole> redstonehelper and frames* 22:31 <+XorBoole> frames share the one for dropped items 22:32 < redstonehelper> aw 22:32 <+XorBoole> also there's the usecase of using a blockmodel for an item, which you'd have to scale up 22:32 <+XorBoole> otherwise you get repeated code, which is sin 22:32 < redstonehelper> XorBoole: already implemented in 1.9 branch 22:33 <+XorBoole> redstonehelper how do you know this 22:33 < redstonehelper> XorBoole: https://twitter.com/TheMogMiner/status/557536672372781056 22:33 <+XorBoole> I also still wanna know why parent can't inherit elements 22:33 <+XorBoole> I' 22:33 <+XorBoole> I've had this discussion before but I don't remember any compelling arguments 22:34 <+XorBoole> there's already heirarchical inheritance of textures:{}, sooo 22:34 <+XorBoole> \end{rant} 22:34 <+ammar2> latex master race 22:35 < redstonehelper> XorBoole: this trick might also work with items, but this guy only tried it with blocks http://www.reddit.com/r/Minecraft/comments/31fzum/c/cq184x7?context=5&depth=5 22:35 * XorBoole highfives ammar2 22:35 < redstonehelper> well, I see no reason it shouldn't work 22:36 <+XorBoole> redstonehelper yes, mr. g wasn't able to give me any argument beyond "it would be too complicated" 22:36 <+XorBoole> I probably phrased it wrong, it's not the first time that he's changed his mind about one of my suggestions once I get the message across 22:37 < redstonehelper> well, "too complicated" is still better than "I don't want to/have better things to do" if whatever he said first doesn't work 22:37 <+XorBoole> maybe it was "I don't want to" 22:37 <+XorBoole> *shrug* 22:38 < redstonehelper> just gotta wait for 1.9 snapshots 22:38 < redstonehelper> so... 2016 22:38 <+XorBoole> it would not be that hard of a change, if my sources are accurate 22:38 < redstonehelper> /s 22:38 <+XorBoole> redstonehelper pls, half-life 3 will hit first 22:38 <+XorBoole> that's why mojang's waiting. they wanna sneak 1.9 past everyone while they're playing HL3 22:39 < redstonehelper> maybe they're adding one month for every security update 22:39 <+XorBoole> no, it's three months for every time someone asks the devs on twitter, duh 22:39 <+XorBoole> just like Our Lord and Savior GabeN said with HL3 /s 22:42 <+XorBoole> and now, I'm going to try to run skyrim on my mac again. 22:56 <+XorBoole> redstonehelper UPDATE ground/fixed work 22:56 <+XorBoole> I am an idiot 22:56 < redstonehelper> what? 22:56 <+XorBoole> ground -> dropped item; fixed -> frame item 22:59 < redstonehelper> XorBoole: so this isn't 1.9 stuff, but 1.8.x stuff? 23:06 <+XorBoole> redstonehelper yep 23:06 < redstonehelper> XorBoole: can you find out which version? 23:06 <+XorBoole> Thinkofdeath pointed it out to me. I am a moron. so much for calling myself a minecraft models pioneer... 23:06 < redstonehelper> hah 23:06 <+XorBoole> redstonehelper worked in my 1.8.2 23:07 <+XorBoole> why is skyrim so big. bethesda pls 23:07 < redstonehelper> and the tweet was after 1.8.1, so it's a 1.8.2 change - thanks 23:07 <+XorBoole> is this for /r/edstonehelper? 23:08 < redstonehelper> yep 23:08 < redstonehelper> and the changelogs 23:09 <+XorBoole> glad to be of service 23:10 <+XorBoole> unrelated: post more updates of your single player world. I enjoyed your inhumane villager trading area. =p 23:10 < redstonehelper> you can watch me rant every few days in #minecraft 23:10 < redstonehelper> I'm trying to move my 2 ender crystals to my base 23:10 < redstonehelper> but they sometimes disappear for no reason 23:11 < redstonehelper> so I have to revert to backup and lose 2k+ blocks progress 23:11 < redstonehelper> and once I accidentally hit it 23:11 <+XorBoole> > me 23:11 <+XorBoole> > #minecraft 23:11 <+XorBoole> looool 23:11 < redstonehelper> hah 23:11 < redstonehelper> I had hitboxes displayed and made sure to hit outside the hitbox :( 23:11 <+XorBoole> why don't you make backups as you go? 23:12 < redstonehelper> too cheaty imo 23:12 < redstonehelper> I don't do backups mid-project, only before and after 23:12 <+XorBoole> ah, cheating. 23:12 <+XorBoole> there's almost nothing I won't cheat in. only academia really 23:12 < redstonehelper> then again, I use a slime block flying machine to move the crystals so it's not too bad 23:12 <+XorBoole> I condone all cheating except plagiarism.so there =p 23:13 <+XorBoole> then again. I don't play minecraft --- Day changed mer. juin 10 2015 08:29 < AlJaMa> does anyone know of a good C implementation of VarLongs? 08:30 < AlJaMa> VarLong/VarInt --- Day changed jeu. juin 11 2015 03:40 < Aikar> ammar2: lol i just caught up on silicon valley, can you be my middle east guy in the 5 man cliche team? 03:41 < Aikar> and maybe well pick up xor 03:41 <+ammar2> Aikar: bin laden? no :< 03:41 < Aikar> what 03:41 <+XorBoole> eat 03:41 <+XorBoole> wat* 03:41 <+ammar2> Aikar: how caught up are you 03:41 <+XorBoole> am I the kid nerd or some shit 03:41 < Aikar> just finished last ep 03:41 <+ammar2> the episode before that 03:41 <+XorBoole> also fuck so3 03:41 < Aikar> XorBoole: your old enough to work 03:41 <+XorBoole> Aikar I am, I'm teaching math. fuck off 03:41 * XorBoole goes back to stabbing his models 03:41 < Aikar> o.o why 03:42 <+ammar2> math is fun 03:42 <+ammar2> latex is fun 03:42 <+ammar2> I like xor 03:42 < Aikar> yes, but salary wise.... uh yeah 03:42 * XorBoole meows at ammar2 03:42 < Aikar> didnt get the memo that teachers get screwed in the US? 03:43 < Aikar> I need a gilfoyle on my team though ;( 03:43 < Aikar> tired of having to do the sysadmin work 03:44 <+XorBoole> Aikar > implying I'm going to teach highschool 03:44 <+XorBoole> looool 03:44 < Aikar> i didnt say highschool 03:44 <+XorBoole> what teachers? professors in state schools? 03:44 <+XorBoole> do I look like I'm going to work at some state school? 03:45 < Aikar> i think your not going to be jumping to head of MIT as your first job... :P 03:46 <+XorBoole> obviously not 03:46 <+XorBoole> but I need to get through grad school first 03:47 <+XorBoole> then I need to get a nice postdoc somewhere 03:47 <+XorBoole> THEN I teach 03:49 < Aikar> and how old will you be after all that lol 03:50 <+XorBoole> mid twenties? that's a normal age for getting your PHD 03:50 <+XorBoole> some people get it at twenty. those people are nuts 03:50 <+ammar2> doctorate at 20 03:50 <+ammar2> hrmpphh 04:01 < rom1504> "teachers get screwed in the US?" , no they get screwed in france 04:02 <+ammar2> rom1504: how screwed over tho 04:02 <+ammar2> high school teachers in the us have it pretty bad 04:05 <+XorBoole> ammar2 probably not as screwed as your mom 04:05 * XorBoole shows himself up 04:05 <+XorBoole> /up/out 04:06 < rom1504> oh yeah but I actually meant university teachers 04:06 <+ammar2> XorBoole: I'll fukin dek u m8 04:06 <+ammar2> rom1504: professors suck 04:06 <+ammar2> see: professor XorBoole 04:06 <+XorBoole> ill bash ur hed in i swr on me mum 04:06 < rom1504> us researchers salary are >>> fr researchers salary 04:06 * XorBoole pushes ammar2 out the window 04:07 <+AndrewPH> professor XorBoole teaches the fine art of getting bitches. 04:07 <+XorBoole> aww yiss 21:42 < Not-586c> [wiki.vg] Edit by STR Warrior to Server List -> http://wiki.vg/index.php?title=Server_List&diff=6651&oldid=6637 --- Day changed ven. juin 12 2015 03:20 < xbenng> hello 03:53 < Senor> In regards to the protocol encryption. Is the public key sent to the client only used to encrypt the shared secret, then from that point on the shared secret is used? --- Day changed sam. juin 13 2015 19:15 < ShadowDisruptor> Does anyone have experience with the minecraft protocol for logging in? 19:30 < ShadowDisruptor> I'm trying to log in, but am stuck at what to do when I get the Encryption Request. 19:49 < rom1504> ShadowDisruptor: wiki.vg/Protocol 19:49 < rom1504> what's your language ? 19:54 < ShadowDisruptor> Yes, I know rom1504. I'm using java. I'm just confused on how to accomplish what's on this page http://wiki.vg/Protocol_Encryption 19:54 < ShadowDisruptor> I have the encryption request and it's values stored, jut stuck on what to do from there 19:59 <+SpaceManiac> ShadowDisruptor: randomly generate 16 bytes of data (the 'shared secret'), encrypt that with the provided public key, and also encrypt the token in the request with the provided public key 20:00 < ShadowDisruptor> Then just return them? 20:01 <+ammar2> yup 20:02 < ShadowDisruptor> Alright, thanks for the help 21:31 < ShadowDisruptor> Hello, I was on here earlier having an issue with the protocol process for logging in. I've been having an issue with sending a correct encryption response (request at line 69) I need to log in to a server as a player, but haven't been able to succeed on getting a correct response. I get an EOFException waiting for the right packet. Here is an exam 21:31 < ShadowDisruptor> ple: http://pastebin.com/hpZpCEma --- Day changed dim. juin 14 2015 09:45 < _Tom_> Hello 09:45 < _Tom_> Does anyone know what are the changes between 1.6.1 and 1.6.2 protocol? 09:45 < _Tom_> Im making a protocol translator 09:46 < _Tom_> And Ive implemented the 1.6.2 protocol just like your documentation says 100% 09:46 < _Tom_> but 1.6.1 clients can't join and the 1.6.1 protocol page is missing some info 09:49 < _Tom_> The 1.6.1 client seems to send a packet 80 09:50 < _Tom_> On ping 09:50 < _Tom_> Which is not documented anywhere in the protocol page 15:45 < konsolas> After sending an Entity Teleport packet, is there anything else that needs to be done for the client to update the position of that entity? I have spawned in a fake player, but it doesn't move when I send Entity Teleport packets to the client with the player's ID. 17:50 < ShadowDisruptor> Hello. I've been trying to get the protocol right for logging into a minecraft server. I was here yesterday, but the provided answer didn't work, and I still got the EOFException when waiting for the login success packet. Basically, I am stuck figuring out what to do after I get the encryptionrequest packet from the server. Here is what I have at t 17:50 < ShadowDisruptor> he moment: http://pastebin.com/hpZpCEma 18:00 < Fenhl> ShadowDisruptor: stick around longer. If you keep leaving, people who see your question later won't be able to help 18:05 < ShadowDisruptor> I know, last time my laptop turned off for an update. Sorry for that 18:55 < ShadowDisruptor> If I leave my laptop, it appears I do a partial disconnect. Just came back and it ran through the join process again. 19:04 <+Thinkofdeath> Why are you using 1.8.3 as your username? 19:06 <+Thinkofdeath> also your handling of encryption is all wrong 19:07 <+Thinkofdeath> well non-existent 21:24 < Marvin__> How would a server discern between a server list ping packet and any other packet? 21:27 <+SpaceManiac> Marvin__: using the packet id? 21:27 <+SpaceManiac> (but also, the handshake indicates the protocol type) 21:27 < Marvin__> just realized the handshake packet is the same for both status and normal play, derp 21:27 < Marvin__> thought there were two different handshakes both with 0x00 21:41 < konsolas> If I have spawned a fake human NPC with PacketPlayOutPlayerInfo and PacketPlayOutNamedEntitySpawn, how would I go about moving that NPC? 21:47 < _Tom_> What would Bad packet id: 16 mean? 21:47 < _Tom_> I'm making the packets correctly 21:48 < _Tom_> Does minecraft output the bad packet ids in decimal or hex? 21:48 < _Tom_> Because I can't find whats wrong with PacketPlayOutHeldItemSlot 21:48 < _Tom_> Its supposed to be a Short and I'm making it a short 21:56 < angal> Maybe you sand PLAY packet in any other stage? 21:56 < angal> *send 21:56 < _Tom_> me or konsola? 21:57 < angal> You. 21:57 < _Tom_> Play packet? 21:57 < _Tom_> which one is that 21:58 < angal> Are you shure yoa are in PLAY state? This error i recived only, when send game packets before complete of login/in status state. 21:59 < _Tom_> hmm 21:59 < _Tom_> ill check that 22:00 < _Tom_> In my Login Request (0x01) packet 22:00 < _Tom_> Does it matter that the 2 last things are bytes instead of unsigned bytes? 22:01 < _Tom_> Maybe my login procedure is broken and you never get logged in properly 22:01 < _Tom_> It says here http://wiki.vg/index.php?title=Protocol&oldid=980#Login_Request_.280x01.29 22:01 < _Tom_> They should be unsigned bytes 22:02 < _Tom_> This is what they are in my code 22:02 < _Tom_> serializer.writeByte(0); 22:02 < _Tom_> serializer.writeByte(Math.min(Math.abs(maxplayers), 60)); 22:03 < _Tom_> The max players are capped to prevent client graphical glitches 22:04 < angal> Are you client or server? 22:04 < _Tom_> server 22:05 < angal> Are you send any game packets after login complete before PacketPlayOutHeldItemSlot? 22:05 < _Tom_> Not sure, its whatever bukkit sends 22:06 < _Tom_> I just change the packet's IDs and fields to match the clients 22:06 < _Tom_> Like with the chat 22:06 < _Tom_> case 0x02: { //PacketPlayOutChat 22:06 < _Tom_> serializer.writeByte(0x03); 22:06 < _Tom_> serializer.writeString(Utils.fromComponent(packetdata.d())); 22:06 < _Tom_> return; 22:06 < _Tom_> } 22:06 < _Tom_> I change 0x02 to 0x03 22:06 < _Tom_> and change JSON to a string 22:07 < angal> Ou... You are modding vanilla. I'm not good with that. Maybe someone also will help. 22:07 < _Tom_> Im trying to get the minecraft 1.4.5 client to connect to a 1.8.7 server 22:08 < _Tom_> Ive gotten the 1.4.7 client to connect and play perfectly 22:08 < _Tom_> but im not sure whats wrong with 1.4.6 22:08 < _Tom_> 1.4.5* 22:09 < _Tom_> 1.4.5 and 1.4.7 shouldn't be *that* much different, so I dont get where all the issues are coming from 22:09 < _Tom_> I didnt have that much trouble with 1.5.2 and 1.5.1 / 1.5.0 23:14 < ShadowDisruptor> Thinkofdeath: Could you elaborate? Yesterday I was told that I needed to encrypt the data with the key and return it to the server. Also, if anyone knows, how can I avoid being kicked on idling?? --- Day changed lun. juin 15 2015 00:12 < Not-586c> [wiki.vg] Edit by Thinkofdeath to Client List -> http://wiki.vg/index.php?title=Client_List&diff=6653&oldid=6631 02:18 < Not-586c> [wiki.vg] Edit by ExpandingDev to Pocket Minecraft Protocol -> http://wiki.vg/index.php?title=Pocket_Minecraft_Protocol&diff=6654&oldid=6345 16:02 < gurun> For MCPC, is the base for position different between a player and other entities, player having the base at eye-height (right?). 18:47 < _Tom_> Could someone help me with "Bad packet id 16"? 18:48 < _Tom_> Im trying to login to my server and I'm getting "Bad packet id 16" 18:48 < _Tom_> Ive double checked my login/handshake packets and they match the specifications in http://wiki.vg/index.php?title=Protocol&diff=next&oldid=1009 18:51 <+ammar2> mm, show us your code? 18:53 < conji> Hey everyone. I have a question about the opening windows protocol. 18:54 <+ammar2> ask away 18:55 < conji> I can open windows but the only one that appears is as if a chest is opening. IE: if I'm sending a packet for a crafting table, the ID is 0x1, name being "Workbench", but the client doesn't seem to like those. 18:56 < conji> https://gist.github.com/49daedf076986daad884 is the code I'm using for a base window object. 18:59 < gurun> conji, mind if i ask what language that actually is? 19:00 < conji> C# 19:01 < _Tom_> sure ammar2 19:02 < gurun> uh, C# .. ok. Have to get back to school i think. 19:02 < gurun> what's up with the => stuff?! 19:02 < conji> C# 6, silly 19:02 < gurun> really .. not kidding me 19:03 < conji> it's what they replaced {get { return ..; } } with 19:03 < conji> Implicit method bodies :P 19:03 <+ammar2> conji: isn't the technical name for a workbench minecraft:crafting_table? 19:03 < conji> I tried that as well, but that didn't work. 19:04 < conji> Tried crafting_table, minecraft:crafting_table, and Workbench. 19:05 < gurun> so, theyare readonly properties :-P 19:05 < conji> Yes :P 19:05 < conji> Nicer looking for interface inherited properties. 19:05 < conji> imo, at least. 19:05 <+ammar2> conji: oh where'd you get the length from 19:06 <+ammar2> conji: shouldn't it be 36 19:06 <+ammar2> >Number of slots in the window (excluding the number of slots in the player inventory) 19:06 < conji> Slot window count 19:06 <+ammar2> exlcuidng player inventory 19:06 < conji> Let me try that real quick. 19:07 < conji> Just the inventory or the hotbar as well? 19:07 < _Tom_> Might be a long paste 19:07 < conji> Alas, didn't work :l 19:07 < _Tom_> but this is what my login packet looks like 19:07 < _Tom_> 0x01: { //PacketPlayOutLogin 19:07 < _Tom_> serializer.writeByte(0x01); 19:07 < _Tom_> int playerEnityId = packetdata.readInt(); 19:07 < _Tom_> player = new WatchedPlayer(playerEnityId); 19:07 < _Tom_> storage.addWatchedEntity(player); 19:07 < _Tom_> serializer.writeInt(playerEnityId); 19:08 < _Tom_> int gamemode = packetdata.readByte(); 19:08 <+ammar2> eep 19:08 < _Tom_> int dimension = packetdata.readByte(); 19:08 < _Tom_> int difficulty = packetdata.readByte(); 19:08 <+ammar2> use gist.github.com or something 19:08 < _Tom_> int maxplayers = packetdata.readByte(); 19:08 < _Tom_> serializer.writeString(packetdata.readString(32767)); 19:08 < _Tom_> serializer.writeByte(gamemode); 19:08 < _Tom_> serializer.writeByte(dimension); 19:08 < conji> yeah, gist is nice 19:08 < _Tom_> serializer.writeByte(difficulty); 19:08 < _Tom_> serializer.writeByte(0); 19:08 <+ammar2> I would part the channel before you spam too much 19:08 < _Tom_> serializer.writeByte(Math.min(Math.abs(maxplayers), 60)); 19:08 < _Tom_> return; 19:08 < _Tom_> } 19:08 < conji> http://gist.github.com 19:09 < _Tom_> aha 19:09 < _Tom_> https://gist.github.com/Tom-III/8871a33c9270e22354f5#file-gistfile1-txt 19:09 < _Tom_> Better :) 19:10 < conji> are you explicitly putting in the length of strings?._. 19:10 < _Tom_> me? 19:10 < _Tom_> or ammar2? 19:10 < conji> Yeah, for .readString 19:11 < conji> _Tom_ 19:11 < barneygale_> perhaps it's max length? 19:11 < _Tom_> hmm 19:11 < conji> Well strings are prepended with the string length. 19:11 < _Tom_> Im capping it 19:11 < _Tom_> I don't want them to be longer than that 19:11 < conji> Ah 19:11 < _Tom_> because it would crash the client 19:12 < conji> _Tom_ what's the problem you're having? 19:12 < _Tom_> When a client connects they get Bad packet id 16 19:13 < _Tom_> But the packet is correct according to http://wiki.vg/index.php?title=Protocol&direction=prev&oldid=1011#Login_Request_.280x01.29 19:13 < conji> Well packet IDs aren't bytes, they're Varint 19:13 < conji> Which are a little different 19:14 < _Tom_> They are varint now but they arent in pre netty 19:14 < _Tom_> Thats why I serializer.writeByte(0x01); 19:14 < conji> Didn't notice that you were using older protocol 19:14 < _Tom_> Because 0x01 stayed the same in post and pre netty you dont see the difference 19:15 < _Tom_> But in other packets the 0x01: { //Packet is different that serializer.writeByte(0x01) 19:16 < conji> I can't even remember if it's supposed to be bigendian or little 19:16 < _Tom_> Also it works fine in 1.4.7 and 1.4.6, I only get bad packet id 16 in 1.4.5 19:16 < _Tom_> Logically 1.4.5 -> 1.4.6 shouldn't be *very* different 19:16 < gurun> conji, the best way to remeber is that it is both :-( 19:16 < conji> Did you make sure your buffer was clear before writing? That there's no other data before writing? 19:17 < gurun> consitency has yet to be a concept discovered by some belowed coders :-) 19:17 < conji> gurun: yeah, no kidding :P 19:17 < _Tom_> ? 19:17 < _Tom_> Its on login 19:17 < _Tom_> there shouldnt be anything else going on 19:17 < conji> _Tom_, the serializer writes directly to the stream, correct? 19:17 < _Tom_> yeah 19:18 < conji> And there's no other threads writing to it? 19:18 < _Tom_> should I add it to a buffer then flush the buffer at the end? 19:18 < conji> That's what I do. 19:18 < _Tom_> What puzzles me is that it works 1.4.6 19:18 < conji> I have a buffer stream that you directly write packets to, then at the end of writing packet info, it flushes the buffer to stream. 19:18 < _Tom_> but doesn't 1.4.5 19:18 < conji> Who knows, maybe 1.4.5 streams are more tempermental? 19:19 < conji> It IS Java :P 19:19 < _Tom_> I mean i was able to change 1.5 to 1.4 without changing *any* packets 19:19 < _Tom_> why is there all this fuss with 1.4.5 19:19 < _Tom_> 1.5 to 1.4.6/7* 19:20 < _Tom_> Im looking at the packet code in MCP for Login and handshake and they are *exactly* the same 19:20 < conji> Yeah, that's the thing. 19:20 < conji> Source wise, it doesn't look to have changed 19:21 < _Tom_> Theres also this issue in 1.4.4 19:21 < _Tom_> (They use the same protocol) 19:21 < conji> So it may be a Java issue? 19:21 < _Tom_> So its not just 1 version 19:32 < conji> I've tried almost everything for opening windows. 19:40 < conji> I shall be back later. 19:41 < _Tom_> addIdClassMapping(16, false, true, Packet16BlockItemSwitch.class); 19:41 < _Tom_> Any idea what the false and true are? 19:42 < _Tom_> In 1.4.5 its false true and in 1.4.6 its true true 19:43 < _Tom_> And 16 is the bad packed id im getting 19:43 < _Tom_> So this might be related 19:44 < _Tom_> The method is obfusticated in the minecraft client static void addIdClassMapping(int par0, boolean par1, boolean par2, Class par3Class) 19:44 < _Tom_> its just boolean par1 and boolean par2 19:44 < _Tom_> so that doesnt help 19:58 < _Tom_> AHA 19:58 < _Tom_> I think I figured it out 19:58 < _Tom_> In 1.4.5 packet 16 is only sent by the client 19:58 < _Tom_> In 1.4.6 and on i can be sent from the server too 20:02 < _Tom_> Fixed 20:02 < _Tom_> Only to be met with another error 20:02 < _Tom_> java.io.IOException: Bad compressed data format 20:13 < _Tom_> ah 20:13 < _Tom_> The documentation is pretty incomplete 20:13 < _Tom_> turns out 1.4.5 does not support serializer.writeBoolean(skylight); 20:14 < _Tom_> and 1.4.6 does in 0x33 (packet56 mapchunks.java) 20:14 < _Tom_> 0x38 i mean 20:53 < gurun> Damn, i think i need to throw in the towel. MCPE 0.11 extended the metadata types with LONG by adding "8" to the identifiers. 20:53 < gurun> it still however seem to be using .. 3 bits to encod it. 20:54 < gurun> and i can't figure out how to compress the 8 into that 3 bit pattern. Anyone have any good ideas?! 20:54 < gurun> MCPE itself reports 6 for both string and long. 21:13 < gurun> sending 6 to MCPE seems to work tho .. :-P 22:34 < Marvin__> What's the layout of an encrypted packet? length + encrypted(packetID + data), or length + packetID + encrypted(data), or something else? 22:35 < angal> All is encrypted. The whole stream. 22:35 < Marvin__> How does it know the length of the packet then? 22:36 < angal> Hm... It's decrypt all data, byte by byte and then get packet size and more data. --- Day changed mar. juin 16 2015 02:34 < conji> Greetings, everyone. Sadly, I'm back with the same problem as earlier, being windows not showing correctly when sending the OpenWindow packet. 02:36 < conji> https://gist.github.com/38102a3d1c8ebbaa12bb is the class I'm comfortable with saying is accurate for a simple bench window. 02:37 < conji> https://gist.github.com/0bda77cdea3dc1cc3322 is how it's written to stream. 03:29 <+SpaceManiac> conji: what kind of values are you sending? 03:31 < conji> For that instance, it's ID=byte(auto incremented) WINDOW_NAME=string("minecraft:crafting_table") DISPLAY_NAME=string("minecraft:crafting_table") SLOTS=byte(10) 03:31 < conji> And it's in C#, so bytes are unsigned 03:35 <+SpaceManiac> Hmm, so by "not showing correctly" what do you mean exactly? 03:37 < conji> It shows as if it's just an empty inventory where a crafting table layout should be. 03:38 < conji> http://i.imgur.com/hIXwG1T.png 03:50 < conji> It's weird because I successfully get furnaces working, but not crafting tables. 08:13 < Not-586c> [wiki.vg] Edit by Phasesaber to Client List -> http://wiki.vg/index.php?title=Client_List&diff=6656&oldid=6653 08:20 < Not-586c> [wiki.vg] Edit by Phasesaber to Library List -> http://wiki.vg/index.php?title=Library_List&diff=6658&oldid=6613 10:50 < Marvin__> Is the .schematic file format up to date for 1.8? ie. does it support block state and such 11:12 <+md_5> no, it still uses just data values, since that is what Minecraft still uses 11:28 < Marvin__> ah ok 11:28 < Marvin__> why does mojang's server hasJoined sometimes return 204 No Content? 11:29 < Marvin__> rate limit? 11:41 <+md_5> no idea 12:41 < angal> :) 15:44 < Marvin__> How often does Vanilla server send keepalives? 16:41 < barneygale_> Marvin__, run a proxy and find out for yourself :) 16:42 < Marvin__> every 2 seconds apparently 21:56 < _Tom_> Anyone know what packet is sent by the server to make the player enter a minecart "sitting mode"? 21:56 < _Tom_> No the "attach entity" but the sit down packet --- Day changed mer. juin 17 2015 06:27 < iPhony> Probably not the right place to ask, but how do you create a packet (chat packet) and send it to a player using bukkit/spigot. 18:12 < conji> Hello gents. I've been popping in here a few times lately for advice on sending OpenWindow packets to a client and how I can't seem to get it right. 18:13 < conji> I've come to learn that not ALL windows show incorrectly (just showing a container instead of the requested window). 18:14 < conji> Only windows that are container based show; IE: chest, ender chest, furnace, dispensers, etc. 18:17 < conji> Would any of you be able to shed some light on this? 22:37 <+XorBoole> here's a challenge: get minecraft to run on the native resolution of an apple retina laptop 22:37 <+XorBoole> winner gets... uhh.. cookies1 22:38 < Paprikachu> been there, done that. 22:39 < Paprikachu> abandoned apple laptops. 22:41 <+XorBoole> I'm annoyed that it doesn't run on the full resolution --- Day changed jeu. juin 18 2015 01:18 <+SpaceManiac> If anyone catches conji online: for the inventory types which aren't showing correctly, you should send a slot count of 0 instead 01:39 < gurun> Paprikachu, dude. I did 2Gbit throughput tonight. New record. How is your C++ going :) 01:39 < Paprikachu> gurun: havent touched it in a while 01:41 < gurun> I actually think i can do 10k users now on one server. 01:41 < Paprikachu> great 01:48 < rom1504> gurun: with what percentage of vanilla functionnalities ? 01:49 < gurun> well, that depends on what you mean. 01:50 < gurun> percentage of vanilla in terms of performance related stuff, it's missing block-ticking i would say. 01:50 < gurun> but at this throughput, the tick-time was aprox 5ms and latency around 10ms. So there is still plenty of room for more ticking. 01:51 < gurun> performance issues are with packet-handling only. 01:51 < gurun> The packet rate was around 100-200k packets/s 01:51 < gurun> +ACK's not counted. 01:53 < gurun> For general comparison .. https://github.com/NiclasOlofsson/MiNET/wiki/What-works,-and-not 02:14 < rom1504> oh it's a MCPE server 02:14 < rom1504> nice though ! 02:17 < gurun> the gamelogic is pretty much the same in the end. 04:45 < conji> Evening everyone. I know at this point it's probably getting annoying to see my name pop up :| 04:45 < conji> If someone's not busy, mind giving me a personal opinion? 04:50 <+ammar2> conji: "If anyone catches conji online: for the inventory types which aren't showing correctly, you should send a slot count of 0 instead" 04:51 < conji> Oh wow thanks 04:51 < conji> My laptop was at work earlier so it disconnected and couldn't catch it. 04:52 < conji> And it works perfect. Thanks ammar2 :D 04:52 <+ammar2> that's from Space.Maniac btw, you should thank him 04:52 < conji> Well then thanks, SpaceManiac :D 04:52 <+ammar2> guy has his own server written so I'd imagine he has a fair idea on what he's doing 04:52 < conji> Yeah, I know he worked with Glowstone :P 04:53 < conji> Credits shall be given in the source.<3 04:53 <+ammar2> conji: your server is in C# right? 04:53 <+ammar2> have you seen Craft.Net? 04:54 < conji> Mhm. It was the original inspiration for Syhno. 04:54 < conji> https://github.com/conji/the-syhno-project is the old page. Current public API is https://github.com/conji/syhno.api 13:44 < morfin> i have a question: how long living entity(skeleton, zombie etc) can exist? and does server prolong that lifetime? 13:45 < gurun> morfin, how long? Until you remove them, right? 13:45 < morfin> but does not server destruct them if nothing happens? 13:46 < gurun> That's pretty much up to the server to decide. 13:47 < morfin> i thought there is some TTL and when expired it can be prolonged or entity can be destroyed 13:47 < gurun> well, some entities have TTL (like arrows). 13:48 < morfin> depending on things like: is there anybody around(player), does that mob take damage etc 13:48 < morfin> arrows,drops, etc 13:48 < morfin> i know they disappear after some time 13:48 < gurun> ok, but arrows are indeed TTL and the server doesn't proplong that. 13:49 < gurun> but entities can be unloaded becasue of other things, yes. 13:56 < morfin> like what? 13:57 < gurun> destroyed 13:58 < gurun> and unloaded becase they aren't part of the action anymore i believe (but then again, that's a server perogative) 13:58 < gurun> i'm assuming you ask from a server perspective, meaning "you decide what the server does" 13:59 < morfin> i can do anything but interested how vanilla did that 14:00 < gurun> ok, i'm very focused on the "prolong" thing. 14:00 < gurun> and i mean, from a server perspective "prolong" means "do nothing" for me. 14:01 < gurun> so it's kind of like an "in-action" 14:01 < gurun> un-action 14:01 < gurun> BUT, there is a good description of these things .. i think it is on the minecraft wiki actually. 14:01 < gurun> when it loads and unloads entities for various reasons. 14:02 < rom1504> seems so http://minecraft.gamepedia.com/Entity#Types_of_entities "despawns" column 14:04 < gurun> rom1504, yes. And it is when it says "No" in that column i mean there is no "prolong". And when it says something in that column "prolong" still means, do nothing. 14:06 < rom1504> huh ? how is "wait 5 min then despawn the entity" nothing ? 14:08 < gurun> i mean .. wait 5 min and then extend that to 7 min .. means .. do nothing (don't despawn the entity) 14:09 < gurun> "prolong" 14:10 < gurun> asking how a server "prolongs" something in this context will be like asking how long a shoe-string is, right. 14:11 < rom1504> hmm, what matters is in what condition it should prolongs 14:11 < rom1504> sure, you probably don't want to actively wait 14:15 < gurun> correct 14:16 < gurun> and the question could be either game-logic oriented (and the table answers that) or performance oriented (and then it's a server internal thing) 14:16 < gurun> like .. i don't do any culling or anything in my server. It just deals with the performance "head on". 14:16 < gurun> brute force. 14:29 < morfin> oooh i forgot 14:29 < morfin> Mobs have very special rules of spawning/despawning 14:33 < morfin> very very strange 14:34 < morfin> why sand despawns after 4 seconds of falling? 14:35 < gurun> morfin, OVBIOUSLY sand blows away in the wind after 4s!! 14:35 < gurun> duh! 14:35 * gurun runs and hides 14:42 < morfin> ok ok, but there is no wind ) 14:42 < morfin> nevermind 14:42 < morfin> i checked out list - seems like need to implement own logic for each entity type 14:44 < morfin> and if mob was tagged then it should not be despawned ever unless die 14:50 < morfin> that spawning logics looks very complicated 14:57 < gurun> morfin, it's not so bad and complicated. Lost of stuff worse than that thay needs implementation :-P 15:13 < rom1504> yeah, for example : metadata. 15:36 < morfin> i di not say bad 15:36 < morfin> i say it's a bit complicated 15:53 < gurun> rom1504, try metadata based on 3 bits and the value 8 15:53 < morfin> every mob have own rules to spawn and own rules to despawn 15:55 < morfin> except common rules like mobs having name tag or wearing armor picked up somewhere 16:16 < rom1504> gurun: yeah, functional metadata, it's a pain 16:16 < rom1504> also nbt and mojangson :p 16:17 < gurun> hehe 16:17 < gurun> standards suck 16:17 < gurun> yaml hurray 16:17 < gurun> yaml is like VB hacker products gone viral 16:21 < morfin> yaml is supercomplicated for parsing you know 16:21 < morfin> it have more lexems than in XML and JSON 16:32 < rom1504> yeah xml and json are good enough for lot of stuff 17:02 < morfin> XML is more heavy 17:02 < morfin> also as i know Minecraft uses JSON in protocol 17:02 < morfin> as example for chat 18:30 * Addisonep is sick of pocketmine people 18:36 < gurun> Addisonep, don't dwell on it. Do what you wanted to do and if it works i'm sure someone will like it and use it. 18:39 < Addisonep> gurun: yeah I guess. You have any suggestions for me? 18:40 < gurun> suggestions about? 18:45 < Addisonep> gurun: I'm just wondering how everyone else learned Oop PHP and what not. It seems like whatever I'm doing isn't working 18:46 < gurun> OOP or not doesn 18:46 < Addisonep> Huh? 18:46 < gurun> doesn't matter. That's called form over function. Make it work first and think about the design later. And for sure, don't even think about any plugin stuff or anyting. 18:48 < Addisonep> So you are saying just make it work then clean it up right? Makes sense 18:48 < gurun> that's funny you know, with experience you learn that thinking ahead doesn't really serve you all that good. 18:49 < gurun> in my specific case, thinking never served me good at any time. But that just me. I*m an idiot. 18:49 < Addisonep> gurun: yeah. I'm just wondering how they all learned php all the way through. I know squat next to them about 18:50 < gurun> Addisonep, that is the next think you will learn. That knowing PHP and knowing how to program are two enirely different things. 18:53 < Addisonep> gurun: what's our definition of programming. What do you think my problem is? Php right? 18:58 < gurun> i don't think you have a problem. 18:59 < gurun> programming? Well, that's pretty much giving computers instructions. But, as my teacher alwasy pointed out to us "information systems aren't necessary computer based". 18:59 < gurun> So programming, coding, development usually covers a bit more than punching down on the keyboard. 18:59 < gurun> .. like "translate user needs to working solutions". And personally, i would emphesize the "working". 19:00 < gurun> i don't believe in "build it and they shall come". I believe in "they come, and then we build on that". And i don't mean women. 19:00 < Addisonep> ok cool so what do I do? What would help me? 19:00 < Addisonep> Lol ok 19:01 < gurun> well, there is a clear need and want around carts. So just build the damn thing and see if you can make it work. 19:01 < gurun> and when you have it working, keep working on it until it works better. Have someone look at it, and see if you can improve it. And eventually, if it works, and ou are happy, submit it. 19:02 < gurun> If i'd listen to people telling me that "you can't do it" .. i wouldn't be doing much shit you know. 19:03 < Addisonep> Ok thanks. So you are the creator of MiNET? 19:04 < gurun> I think one very likely scenario is that if you start doing this .. someone else will feel preassured to do it too .. so one way or the other, you might get your carts. 19:05 < gurun> Yeah, guild of producing that load of crap code they call "minet". It's no coicidence it's russian for "blowjob" (or something like that) 19:06 < Addisonep> Lol so you are calling your code crap? 19:06 < Addisonep> Or were you saying yeah to sown thing else? 19:06 < gurun> no, have you seen the code? 19:06 < gurun> it's just crap, but it works ..most of the times. 19:07 < Addisonep> Oh ok. So what are the basics for a server software for mcpe? What is needed? 19:08 < gurun> Time, lots of time .. and expert knowledge of communications. 19:09 < Addisonep> How did you get that knowledge of communications? Books? A class? 19:09 < gurun> with the changes in 0.11 protocols, very few will ever get passed the login packet. 19:10 < gurun> knowledge ... hacking hacking hacking. Lots of books. Never a class (doens't exist i think). But mostly hacking at work (telecom). 19:10 < Addisonep> Oh. I'm just wondering how everyone else learns how to do all these different things. 19:10 < Addisonep> What books do you suggest? 19:10 < gurun> Two books, and that should be enough: 19:11 < gurun> 1) Advanced systems programming in unix environment http://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0201563177 19:11 < gurun> 2) Pragmatic programmer: http://www.amazon.com/The-Pragmatic-Programmer-Journeyman-Master/dp/020161622X 19:12 < gurun> If you understand them, you can call yourself a pro after. 19:12 < Addisonep> Ok cool I'll check them out 19:13 < Addisonep> I should probably buy them used 19:14 < gurun> There is a book that is more like a secrect compendium by CW Churchman: 1968, The Systems Approach, Delacorte Press, New York. 19:14 < gurun> That one is the foundation of all system thinking and the basic for anyone that really want to work professionally with program but not just coding. 19:15 < phasesaber> o/ 19:15 < gurun> It's from that "book" that the dicipline of "Informatics" was developed at the universities. At one point, all professors in the world of informatics came from the same university study group held by churchman. 19:16 < gurun> If that's true, i dont' know. Only that my professor in informatics was one of them. 19:16 < Addisonep> Have you read that book? 19:17 < gurun> Read it? I live by it. 19:17 < phasesaber> Anyone know how the client picks up items? I've been searching for hours and I can't find anything on it. 19:17 < gurun> phasesaber, you mean protocol wise or? 19:17 < phasesaber> yes! 19:18 < phasesaber> I'm trying to make a bot and I want it to pick up items 19:18 < phasesaber> I already have it getting the Inventory form the Server 19:19 < phasesaber> but when I throw an item to it, it just seems to sit there 19:22 < gurun> is the bot a player? 19:22 < phasesaber> yes? It's just a custom client 19:22 < Addisonep> Gurun: you found a pdf of that systems approach book? 19:22 < gurun> I have to double check PC to answer fullly, but in PE the drops are picked up by proximit on the server-side. 19:23 < gurun> the item-entities are checking that on tick. 19:23 < gurun> Addisonep, no i got it handed out in paper in class. And I still have it. 19:23 < Addisonep> Oh ok 19:24 < Addisonep> I found a pdf of the pragmatic programmer 19:24 < gurun> There is another one you could get instead. 19:24 < Addisonep> What's that? 19:24 < gurun> called "information literacy". 19:24 < Addisonep> So either read that one or systems approach and those other two books... Correct? 19:26 < Addisonep> Is that one by Michael eisenburg? 19:26 < Addisonep> Eisenberg* 19:27 < gurun> no, it's too new. I can't find the original one. 19:27 < morfin> Minecraft have not supercomplicated protocol 19:28 < morfin> but lots of server-sided conditions 19:28 < phasesaber> except movement :D 19:28 < phasesaber> my bot can run a maze in like 2 seconds 19:28 < morfin> kik? 19:28 < morfin> lol? 19:28 < phasesaber> mostly because it's running at the speed of sound 19:28 < morfin> HAAAAAAAAAAAAAAAAAX! 19:29 < gurun> phasesaber, yeah .. it sounds a bit slow. 19:29 < gurun> get a new computer. 19:29 < Addisonep> Gurun: who was it made by? 19:29 < phasesaber> lol 19:29 < morfin> is that pocket minecraft? 19:29 < Addisonep> Written* 19:29 < gurun> Addisonep, don't know 19:29 < morfin> because as i know non-pocket minecraft would not let you move so fast 19:29 < phasesaber> morfin PC all the way :3 19:29 < morfin> :O 19:29 < phasesaber> he was in creative 19:30 < morfin> i thought server throttle your moving 19:30 < morfin> ooh 19:30 < gurun> maybe it's a small maze? 19:30 < phasesaber> 20x50x20 19:30 < morfin> so your bot is a labaratory rat? 19:30 < morfin> *laboratory 19:30 < phasesaber> I want him to be able to play like a normal player 19:31 < phasesaber> so I could drop him into a world and he would build a house and stuff 19:31 < Addisonep> gurun, ok I wonder where your professor got those papers from 19:31 < morfin> hmm 19:31 < gurun> ok, just tell the bot he is a javascript programmer.. 19:31 < morfin> but what's a point? 19:31 < gurun> .. then no need for AI. 19:31 < morfin> lol 19:31 < phasesaber> lol 19:31 < phasesaber> https://github.com/phase/phasebot 19:31 < morfin> he will write javascript with shitloads of callbaxcks 19:32 < morfin> *callbacks 19:32 < gurun> hmm, i bet that bot will just say "javascript? It's just a phase" 19:33 < phasesaber> it actually can parse Javascript :P 19:33 < phasesaber> and ruby too 19:33 < Addisonep> gurun what order should I read those books in? 19:33 < morfin> parsing Javascript is hard 19:33 < gurun> oh! Make it do the main-carts.. and then you can clam it is "Ruby on rails" 19:33 < phasesaber> Java has a built-in JS engine made my Mozillla 19:33 < phasesaber> and JRuby has one as well 19:33 < phasesaber> so just plop those on and boom! interpreting robot 19:33 < morfin> yes i know 19:34 < morfin> i remember Worldedit used that engine for scripts 19:34 < morfin> to generate different shapes like mazes etc 19:34 < rom1504> vanilla let you move pretty fast 19:35 < morfin> hmm 19:35 < phasesaber> I don't know if there is a speed limit if you send the packets fast enough 19:35 < phasesaber> I was sending them instantly in creative and it worked fine 19:35 < rom1504> if you're not underground, you can even teleport at y+100 then move whereever and get back to the ground almost instantaneously 19:36 < rom1504> (in survival) 19:36 < rom1504> there is a speed limit, but it's pretty high 19:36 < rom1504> it's no fun doing that though :p 19:37 < phasesaber> I just want to figure out how to pick up items... 19:37 < phasesaber> and *not* dig through NMS 19:37 < gurun> Hmm, i bet the NPC's where modelled after VB hackers.. or maybe some other mojang employee?! 19:37 < rom1504> 19:38 < rom1504> NMS ? 19:38 < rom1504> what do you mean by "pick up items" ? 19:38 < phasesaber> Native minecraft Server or net.minecraft.server, the vanilla minecraft source code 19:38 < gurun> he wants to know how to do drop-pickups. 19:39 < phasesaber> ^ 19:39 < gurun> on the client. 19:39 < rom1504> well you just need to be close of the itemstack ? 19:39 < gurun> and that should be a server-side operation .. 19:39 < phasesaber> my client won't pick it up 19:39 < gurun> .. so you see it when inventory is updated. 19:39 < phasesaber> the item just sits there 19:39 < rom1504> yes that's server-side 19:39 < phasesaber> hrm 19:39 < rom1504> phasesaber: can you hit your bot ? 19:39 < gurun> how close are you? 19:39 < gurun> you have to be within a specific distance. 19:39 < phasesaber> rom he's in crative 19:40 < phasesaber> the item was in the same block as him 19:40 < rom1504> if not you're probably not sending the position packet correctly 19:40 < phasesaber> he was standing still 19:40 < rom1504> try in survival if you can kill him 19:41 < gurun> well, if i read right .. he can obviously see the bot from another client. 19:41 < phasesaber> I can and I set up a health check to make him respawn 19:41 < gurun> so position should be correct. 19:41 < rom1504> if you don't send the position packet correctly, the bot is basically not there 19:41 < phasesaber> ^ 19:41 < phasesaber> he can move fine and I can see him 19:41 < rom1504> ok 19:41 < phasesaber> if I wasn't sendin gthem correcntly, how could he pathfind to me? :P 19:41 < gurun> maybe he is just unusually horny? 19:41 < gurun> looking to "get some" 19:42 < phasesaber> ._. 19:42 < Addisonep> What order should I read them in? 19:42 < gurun> pragmatic programmer first. 19:43 < gurun> then advanced systems programming.. 19:43 < rom1504> phasesaber: well it should work, I don't think there's anything to do to pick up itemstack really... 19:43 < phasesaber> hrm 19:43 < gurun> .. and when you want to understand the world you try to find churchman. 19:43 < Addisonep> Ok then the systems approach? 19:43 < Addisonep> Ok 19:43 < phasesaber> I'll try it on a vanilla server 19:43 < Addisonep> I found it I just was wondering if there was a free pdf out there 19:44 < gurun> so you will read the pragmatic programmer first, understand very little, and probably come back after 10 years .. and understand it all, or nothing again. 19:44 < gurun> If you end up understanding it, you have talent. 19:45 < gurun> The book focuses on one thing: "Pragmatic = Skilled at arts". 19:45 < Addisonep> Lol ok 19:45 < Addisonep> I hope that's me 19:45 < gurun> If it fails, you can always name a bot after yourself and teach it javascript. 19:46 * gurun runs for cover 19:48 < Addisonep> Lol that would be cool 20:38 < Addisonep> +I 20:38 < Addisonep> +t 20:38 < Addisonep> +i 21:17 < gurun> so, anyone has any insight into how minecarts work, and how the follow their tracks? Is it all just hard work on the server, or anything that clients help out with? 21:33 < gabizou> gurun, all server side 21:35 < gabizou> essentially, the "onUpdate" for a minecart consists of applying "gravity" to slow down the minecart, checks the block underneath it if it's a rail, if it's a powered rail, applies the speed boost, then the logic over rail direction takes over. 21:35 < gabizou> etc etc etc 21:41 < gurun> ok, thanks. Sounds fairly doable. 21:43 < gurun> i understood from reading about it, that power rails have a bit of special cases around them. But for PE that doesn't have redstone and stuff, it's probably way easier. They are basically "ON" at all times. 21:57 < gabizou> I wouldn't know --- Day changed ven. juin 19 2015 14:18 < gurun> Victory: #MiNET Well, 1000 players from 90% down to 7% CPU, and that's a working solution. I call that a new record!! 14:38 < phasesaber> o/ 14:41 < gurun> I should build an "Epoc Battle plugin" to it now.. 14:41 < gurun> Epic Battle 14:43 < phasesaber> anyone know any 3d pathfinding algorithms besides A*? 14:44 < gurun> i read an article on something like that using minecraft as an example. I'll see if i can find it again. 15:08 < phasesaber> Man I love lombok 15:22 < phasesaber> o/ 22:43 < ParaPenguin> I was reading up on the Minecraft Protocol earlier, and I noticed something in the Entity Status Packet (0x1A, Clientbound). The list of statuses shows that #10 represents both "Sheep eating grass" and "Play TNT ignite sound". 22:44 < ParaPenguin> Is that an error? Or is it supposed to be that way, there is no status with the id #5, so I'd assume it's an error --- Day changed sam. juin 20 2015 03:08 < Not-586c> [mineflayer] rom1504 pushed 2 commits to master [+0/-0/±2] http://git.io/vL6hI 03:08 < Not-586c> [mineflayer] Darker 32634e7 - Update api.md Corrected a typo. 03:08 < Not-586c> [mineflayer] rom1504 c659897 - Merge pull request #299 from Darker/patch-1 Update api.md : correct a typo 14:34 < Voltasalt> I think I found an error in the chunk format docs 14:34 < Voltasalt> This section (Data): http://wiki.vg/SMP_Map_Format#Data 14:34 < Voltasalt> all light data should be sent after all the block data is sent, but the wiki says to send it interspersed with the block data 20:12 < Fenhl> Voltasalt: depending on how sure you are about this, please edit the article or post on the talk page 20:13 < Fenhl> ParaPenguin: maybe we should do some testing on this 20:14 < ParaPenguin> Fenhl: Might be about time I updated the protocol version on my bot, would be useful in this case I believe 20:19 <+XorBoole> sigh, I really wish I could get minecraft to run at my native resolution. why are retina screens so poorly implemented, apple? =/ 20:20 < Fenhl> I doubt this is Apple's fault 20:20 < Fenhl> more likely a missing feature of LWJGL 20:21 <+XorBoole> Fenhl shh, apple is a convenient scapegoat 20:21 < Fenhl> same thing with the ctrl cmd F shortcut 20:21 <+XorBoole> I mean, it's not just lwjgl that's run into that problem. Thinkofdeath's steven had similar issues with retina until I debugged it for him 20:23 < Fenhl> Minecraft has the title bar button for entering fullscreen, but ctrl cmd F does nothing, and F11 enables Minecraft's fake fullscreen thingy 20:25 <+XorBoole> I've debated opening a bug report, but honestly my experiences with mojira aren't... the best 20:25 <+XorBoole> moaning about it in random channels is good enough for me 20:26 <+XorBoole> speaking of bad full screen, I was playing cities, today, it froze, and I couldn't get out of it. had to remote into my laptop and kill it 21:01 < Voltasalt> What do these types of errors mean? http://i.imgur.com/MtSxtph.png 21:40 < morfin> bad packet from server? 21:41 < morfin> wait what? 21:42 < morfin> i can send blocks data and light data in same time? 21:49 < morfin> i found a bug in Protocol docs i think 21:50 < morfin> oh not, 21:50 < morfin> thought it's broken table 22:08 < Voltasalt> yeah I know it means it's a bad packet 22:08 < Voltasalt> but *how* is it a bad packet 22:08 < Voltasalt> is what i'm interested in 22:08 < Voltasalt> is there any more meaning to it than "u fukd up, fix yoo shit" --- Log closed sam. juin 20 22:24:30 2015 --- Log opened sam. juin 20 22:25:06 2015 22:25 -!- Irssi: #mcdevs: Total of 153 nicks [1 ops, 0 halfops, 16 voices, 136 normal] 22:29 -!- Irssi: Join to #mcdevs was synced in 252 secs --- Log closed sam. juin 20 22:39:19 2015 --- Log opened sam. juin 20 22:39:27 2015 22:39 -!- Irssi: #mcdevs: Total of 157 nicks [1 ops, 0 halfops, 16 voices, 140 normal] 22:43 -!- Irssi: Join to #mcdevs was synced in 247 secs --- Log closed sam. juin 20 22:53:39 2015 --- Log opened sam. juin 20 23:16:05 2015 23:16 -!- Irssi: #mcdevs: Total of 144 nicks [1 ops, 0 halfops, 15 voices, 128 normal] 23:20 -!- Irssi: Join to #mcdevs was synced in 248 secs --- Day changed dim. juin 21 2015 01:16 < morfin> guys about generating world: as example i generate height map, transform into voxels but how do i generate proper materials? 01:18 < morfin> how it actually works: or do i replace later? 01:22 < morfin> or when i generate i assume for overworld lowest layers is bedrock,stone,dirt, lava and then when converting to voxels check what should me a material(dirt,sand,sandstone) etc? --- Log closed dim. juin 21 02:31:15 2015 --- Log opened dim. juin 21 02:32:26 2015 02:32 -!- Irssi: #mcdevs: Total of 4 nicks [0 ops, 0 halfops, 0 voices, 4 normal] 02:40 -!- Irssi: Join to #mcdevs was synced in 503 secs 12:51 < rooisnoek> Hello everyone, I'm working on a university project to develop a minecraft client emulator and my lecturer suggested I use this library https://github.com/Steveice10/MCProtocolLib to implement it. The library has no documentation so I'm struggling to figure out how to use it, does anyone know of an existing project that uses this library? 13:03 < gurun> rooisnoek, there is an example in the code. Isn't that enough? 13:35 < rooisnoek> thanks for replying gurun. I saw the example but couldn't get it running earlier when I compiled it myself. Just got it working through Eclipse. What can I say? I'm engineering not CS :D 13:36 < gurun> it would be rather flattering to label minecraft either engineering or CS :-P 13:36 < gurun> but sounds like you need more help with java than mc tho. 14:01 < rooisnoek> yeah, most engineering programming courses focus on algorithms and data structures and not actual software development so my java is a bit rusty. This is for my final year project, my university is trying to turn minecraft into a research platform. --- Log closed dim. juin 21 15:04:38 2015 --- Log opened dim. juin 21 15:04:47 2015 15:04 -!- Irssi: #mcdevs: Total of 155 nicks [1 ops, 0 halfops, 15 voices, 139 normal] 15:08 -!- Irssi: Join to #mcdevs was synced in 252 secs 16:14 < Gjum> who is this Not-586c btw? can I get one too? 16:31 < morfin> guys how world is being generated for different biomes in overworld? 16:33 < ScruffyRules> Skill and Determination 16:33 < morfin> i mean - let's imagine i have those heightmap generated with Simplex Noise so i can turn it into voxels 16:35 < morfin> but there problems are starting because i want to fill space not with same block type but with bedrock 1-4, stone 2-x, dirt,hardened clay,sand and sandstone etc etc(depending on biome type) 16:36 < morfin> so i should check biome type when making blocks and then generate different block types right? 16:37 < morfin> and then caves and other stuff like caves,lava/water lakes,ores,mineshafts,citadels etc goes 17:38 < dav1d> Gjum: https://github.com/notifico/notifico 17:38 < dav1d> Gjum: and an instance hosted by tk: http://n.tkte.ch/ 17:39 < dav1d> morfin: I think minecraft uses some kind of perlin worm for the cavesystem 17:39 < dav1d> but that might have changed 17:44 < MinecrafterTommy> Hello, I'm attempting to connect to a minecraft server and login via a program I've written. I've reviewed the Protocol and the Encryption on the wiki, but after my client enables encryption, instead of a login success packet it receives a disconnect packet. The disconnect reason is "failed to verify username." I've researched this message and found that it is normally only used when a server fails to successfully access th 17:45 < morfin> yes i know 17:45 < MinecrafterTommy> The Minecraft account I am using for this test is premium, and the server is in online mode. I believe the problem is occurring because the hash my client generates (as described in the protocol encryption page) is different from the hash the server is generating 17:45 < morfin> but first i should get terrain that's what for height map generation 17:46 < MinecrafterTommy> Is this correct? 17:46 <+ammar2> MinecrafterTommy: sounds right, show us your hash generation code 17:46 < MinecrafterTommy> ammar2: Thank you. One moment, let me upload it to pastebin 17:46 <+ammar2> minecraft does something funky in that it takes the byte representation of the hash, parses is at as a two's compliment integer and then prints that in hex base 17:47 <+ammar2> so you can't use normal hex digest functions 17:47 < morfin> guys if server stops it sends rest of packets to user? 17:47 < morfin> before kicking him 17:49 < MinecrafterTommy> +ammar2: I am using a method that takes the strange way Minecraft generates hashes into account, I'll upload that method first 17:50 < morfin> i think before kicking i should send rest of packets? 17:50 < MinecrafterTommy> ammar2: Here is the two's complement code http://pastebin.com/BPTASr8R 17:51 < morfin> python? 17:51 <+ammar2> MinecrafterTommy: sorry I'm kinda busy right now but here's what I use https://github.com/ammaraskar/pyCraft/blob/master/minecraft/networking/encryption.py#L45-L62 17:51 < MinecrafterTommy> Thank you 17:51 < morfin> yes i guessed right 17:58 < morfin> but how those mountains are generated 17:58 < morfin> with huge caverns, holes etc 17:58 < morfin> is that Perlin worms work too? 17:59 <+XorBoole> magic 17:59 <+XorBoole> and the tears of orphans 17:59 <+XorBoole> but mostly perlin noise 17:59 <+XorBoole> somehow 17:59 < morfin> prtlin noise generates terrain only 17:59 * XorBoole doesn't know shit about noise 18:00 <+ammar2> all I know about noise is that XorBoole makes a lot of it 18:00 <+XorBoole> gg 18:00 < morfin> but seems like Perlin worms are applied to mountains as well 18:00 * XorBoole runs for the hills 18:00 <+XorBoole> you mean the extreme hills? 18:00 < morfin> and creates awesome caverns, "bridges" etc 18:00 < morfin> yes 18:01 <+XorBoole> I'd assume that's just regular cavegen no? 18:01 < morfin> maybe, that's what i am thinking too 18:01 < Gjum> dav1d: ty :) 18:02 < morfin> aso many stuff was introduced since i played last time 18:03 < morfin> new biomes, new mobs(!) and stuff 18:03 <+XorBoole> pretty sure extreme hills don't get any particular special treatment as far as noise goes, other than other biome parameters 18:03 <+XorBoole> then again I haven't touched worldgen code 18:03 < morfin> then another question 18:04 < Gjum> via mail yes 18:04 < Gjum> oops wrong channel :P 18:04 < morfin> do you know if i have custom creature with custom boundaries how client know that boundaries etc? 18:05 <+XorBoole> erm, as far as I know the client doesn't recieve boundaries from the server 18:06 < morfin> but it know id of creature and render itself right? 18:06 <+XorBoole> the client, yes 18:06 <+XorBoole> but all the bondary information is built-in 18:06 <+XorBoole> because minecraft is overly client-centered 18:07 < morfin> he-he imagine they're different on server-side and client side) 18:08 < morfin> mob having boundaries similar to enderman on server side have boundaries of regular human on client side 18:08 <+XorBoole> morfin already been done 18:08 < morfin> hm? 18:09 < morfin> i think on client side mob will run though door but then go back 18:09 < morfin> because server says it can't go 18:10 < morfin> *through 18:10 <+XorBoole> morfin nah 18:10 <+XorBoole> the server controls movement 18:10 <+XorBoole> unless it's the user 18:11 <+XorBoole> the user will try to do it and the server will send a correction packet 18:13 < morfin> is there a non-standard working(!) client around? 18:15 < MinecrafterTommy> morfin: There are a list of clients on the wiki that are written by the community, if that's what you mean. I don't think any of them are complete, but there are some that are able to log into a 1.8 server, according to the wiki 18:16 < morfin> that was a point of question) 18:16 < morfin> hope those list is being updated 18:18 < MinecrafterTommy> The list looks like it's been updated fairly recently, 16 June 2015 18:18 < MinecrafterTommy> And the first client listed supports 1.8.7 18:28 < morfin> can i theoretically die on client side? 18:52 <+ammar2> wat 18:57 < morfin> i mean die on client side but then be revived by server if i did not actually die on server side 19:03 < kahrl_> I believe that is what happened to Lazarus. Bad client-side prediction 19:04 <+XorBoole> ammar2 wat 19:05 < morfin> ) 19:56 < rom1504> morfin: do you mean a GUI non-vanilla minecraft client ? 20:27 < PierreC> Hello 20:27 < PierreC> I'm having a small issue unloading chunks 20:29 < PierreC> I'm using Chunk Data 0x21 with continuous=true and bitmask=0, sending length=0 and excluding the bytes 20:29 < PierreC> However, the client responds with an IndexOutOfBounds, any tips? 20:30 < PierreC> I've checked the vanilla server's way and it uses exactly the same thing, but included some data bytes as well 20:32 < PierreC> You can see the output here: https://0paste.tk/7621#hl 20:36 < angal> As i remember continious mean you need to send biome map. Do you include it? 20:37 < PierreC> I did not. I assumed because there are no chunks to send I sent new byte[0] 20:39 < PierreC> As in, unloading chunks shouldn't require me to send additional data to the client, correct? 22:25 < PierreC> I need some help on unloading client chunks (if you haven't seen my message before, I switched IRC clients) 22:27 < angal> I send biome map on unload. 22:27 < angal> Don't know, if there any simplier way. 22:30 < angal> But, at least, client not crushs. 23:13 < PierreC> @angal I love you 23:14 < PierreC> no homo 23:14 < PierreC> but it works 23:14 < PierreC> not only that but it was an error on my part, I wrote the length as a byte instead of short 23:19 < PierreC> unfortunately, I did not have to send any byte data at all 23:19 < PierreC> it was actually pure stupidity on my part 23:19 < PierreC> thanks again though 23:20 <+XorBoole> do logs for this channel even exist, as posited by the topic? 23:27 <+ammar2> they exist in your heart 23:55 < rom1504> and in your ~/irclogs --- Day changed lun. juin 22 2015 00:12 < angal> :) 00:28 < PierreC> are there any other packets I need to send other than "Spawn Player" in order for another client to render another player entity? 01:05 < angal> Add player to tab list.