23:01 < mathuin> Okay, so about twice as much as I was going to pay for a digital ocean droplet running bukkit. Hmm. 23:02 < mathuin> Still, worth moving a critical service out of the house and into the sky. 23:03 < dx> a 512mb DO droplet can't hold 10 users though 23:03 < mathuin> Sure, but I only need 3-4. 23:03 < mathuin> Me, wife, MIL. 23:03 < mathuin> Maybe a guest. 23:03 < dx> yeah then it's fine. --- Day changed mer. juin 04 2014 00:40 < TkTech> dx: Really? Even the $5 droplet should be able to handle 10 active players. 00:49 < humerusj> TkTech: I think you could push it to 12-15 (if you really wanted to) 00:52 < TkTech> That seems more realistic but still low, especially for MCPE where IIRC the world is bound to a much smaller size. 00:52 < TkTech> As long as players are near each other not many chunks should need to be loaded 01:16 < dx> TkTech: hm, maybe pure vanilla, but add a bukkit or forge and enjoy the oom errors. 01:20 < dx> thank you for flying freenode 01:21 < dx> TkTech: also i was talking about normal situations where the players have completely different sets of loaded chunks and spawn their own mobs 01:23 < dx> TkTech: also not mcpe. those servers are written in completely different languages anyway (lol php and whatever mojang uses for realms) 01:23 < shoghicp> xD xD 01:24 < shoghicp> blame me :P 01:24 < dx> i didn't say it's a bad thing! 01:24 < dx> because we already said that enough, there's no need to repeat it 01:25 < dx> the 'lol' is just part of the name of the language 01:27 < shoghicp> adding threads to it is a way to convert a lol to worse things 01:28 < shoghicp> well, let's see how 0.9.0 goes 01:28 < shoghicp> as far as I've been testing, there isn't a ot of memory increase 01:28 < shoghicp> fo normal seres ith a few worlds 01:29 < shoghicp> servers* 01:29 < shoghicp> hmm, keyboard is acting funny again 01:30 < shoghicp> well, and pocketmine can run on mobile devices too ;D 01:32 < dx> shoghicp: btw, have you messed with that 'hack' language? 01:35 < shoghicp> yeah, a bit 01:35 < shoghicp> but it has lots of bugs, and unexpected behaviour 01:35 < dx> \o/ 01:35 < dx> fun stuff 01:36 < shoghicp> pocketmine-mp uses to find core PHP bugs 01:36 < shoghicp> well, I've been working with Zephir to add a compiled extension for things that get used a lot 01:37 < shoghicp> dx: I prefer having all the normal extensions, too, like pthreads 01:37 < shoghicp> or uopz, that can allow monkey patching 01:38 < dx> oh hey never heard of this zephir thing 01:38 < dx> is this like the php equivalent of cython? 01:39 < shoghicp> more or less. it's basically a customlanguage that allows for easy PHPextnsin development 01:39 < shoghicp> I did a few things with it, but found that it has a huge overhead when calling it 01:39 < dx> :( 01:39 < shoghicp> it does things fast while it's doing things 01:40 < shoghicp> but the call is slow 01:40 < shoghicp> it might get fixed in a future release 01:40 < shoghicp> well, things like noise generation will work faster with that 01:41 < dx> and other php extensions written in C don't suffer from the same problem? 01:41 < shoghicp> because they are pure C 01:41 < shoghicp> well, PHP slows a few things too, but at least it's nice to know they are working on that 01:41 < dx> weird 01:42 < dx> i mean, the docs show this C code that looks rather plain 01:42 < dx> unless there's a ton of black magic behind the macro definitions 01:43 < shoghicp> it adds custom code 01:43 < shoghicp> let me find it... 01:43 < shoghicp> https://github.com/PocketMine/PocketMine-MP-Zephir/tree/master/pocketmine/ext 01:43 < shoghicp> that is the code generated by Zephir 01:44 < shoghicp> it has a lot of "kernel" code 01:44 < shoghicp> that gets compiled for each zephir extension 01:44 < dx> ah interesting 01:44 < dx> the docs lie 01:44 < shoghicp> well, comparing it against a normal PHP binary, Zephir is faster 01:45 < shoghicp> but the binaries we use have been optimized a lot 01:47 < dx> i love how you got into this horrible mess and you're still dealing with it in weird ways like it's nothing 01:47 < shoghicp> oh, Zephir has been updated! 01:47 < dx> ! 01:48 < shoghicp> well, I checked a month ago 01:57 < shoghicp> let's test :D 02:23 < shoghicp> dx: fyi, the new release is still slower D: 02:23 < shoghicp> x2 slower than pure PHP 20:31 < shoghicp> finally! I created a library for RakNet that is not inside PocketMine :D 20:32 < shoghicp> and runs a lot better 20:32 < shoghicp> (for MCPE --- Day changed ven. juin 06 2014 06:01 < jflory7> How about those Minecraft multiplayer servers 09:42 <+AndrewPH> Grum_: why are people crying about something that's been there for a long time? 09:50 < dx> AndrewPH: context? 09:51 <+AndrewPH> dx: server update requiring the 12 year olds to accept the eula 09:51 <+AndrewPH> which includes (and has included, for a very long time) a clause that says you can't make money off of minecraft 09:51 < dx> oh. 09:52 < dx> hm, tricky stuff considering all the 'business' that is established around the game, but yeah, it's been there the whole time. 09:54 < dx> AndrewPH: also did you really need to ping him to ask something that is basically "why are people stupid"? :P 09:54 <+AndrewPH> maybe not 09:56 <+SpaceManiac> I was under the impression that there were changes planned but not publicized yet, but I could be wrong 10:10 <+AndrewPH> nope, that clause has always been in the eula 11:44 < SinZ> AndrewPH: google knows whats up, http://sinz.mca.d3s.co/scr/2014-06-06_19-44-14.png 22:17 < aso> Hi, what is structure of packet to get server status? 22:18 < aso> I don't know how send packet to get JSON after send handshake 22:20 <+SpaceManiac> aso: you probably want the Serverbound/Request under http://wiki.vg/Protocol#Status 22:22 < aso> SpaceManiac: yes, I already spent 5 hours and discovered that server does not reply after handshake packet (or do?) 22:22 <+SpaceManiac> Hmm. 22:23 < aso> Currently, I have socket opened, sending correct handshake (compared on Wireshark with original client - same) but what now? 22:23 <+SpaceManiac> I think you're intended to just send the handshake and send the request, *then* wait for the response 22:24 < aso> Uhm, but im blind or how send request? o.O 22:24 <+SpaceManiac> Request is a single packet with ID 0 and no fields 22:25 < aso> Omg... what's explain so much... wait a sec, testing 22:33 < aso> does {0x01, 0x00} packet is correct? 22:34 <+SpaceManiac> Yeah, I think so. 22:37 < aso> There is specified time between send handshake and send an empty packet? 22:40 <+SpaceManiac> I don't think a delay is needed 22:50 < aso> Success, thanks! :D 22:50 <+SpaceManiac> Good to hear 22:52 < aso> Good night and again thanks for help ;) --- Day changed sam. juin 07 2014 01:20 < barneygale_> Grum_: thanks for giving pay-to-win servers the middle finger. 01:20 <+AndrewPH> well it's been a part of the eula for a long time 01:21 < barneygale_> aye but they only seem to be ding something about it now 01:21 < barneygale_> doing* 01:21 <+AndrewPH> good 01:22 <+AndrewPH> somebody was bragging about their fradulent donation incentives in the esper channel for mc and they got reported to the irs lol 01:23 < barneygale_> hahaha 01:23 < barneygale_> I can't believe people get away with calling it "donations" 01:34 < dx> just like those websites that say "donate to get your personal information removed from here!" 01:35 < shoghicp> dx: ...? 01:36 < dx> shoghicp: an extreme example of the bad usage of the word 'donate' 01:37 < shoghicp> yeah, but I don't know a website like that :S 01:37 < dx> and that's great! 01:41 < shoghicp> :D 02:37 < jflory7> barneygale_: There's some discussion about the EULA going on over on the Spigot IRC network. Not sure if it's taboo or not to mention other networks / channels 02:37 < barneygale_> i really doubt it 02:38 < jflory7> Well, if any of you guys are interested, it's #MojangEULAtalk on irc.spi.gt 02:44 < mbaxter> Because the spigot network is the only place people are talking about it. 02:44 < mbaxter> Yup! 02:44 < mbaxter> dx: I have a picture of a kitten and I'm going to claim that it's your cat unless you donate $500000 to me. 02:51 < mbaxter> barneygale_: re: your reply to that "Let's make an opensource replacement" reddit thread: I regret that I have but one upvote to give for your post. 02:52 < barneygale_> srsly there's people saying "oh lets use glowstone" 02:52 < barneygale_> I remember glowstone from 2 years ago 02:52 < barneygale_> where has their support been for the project? 03:06 < dx> mbaxter: how about 500000 zimbabwean dollars? 03:13 <+SpaceManiac> barneygale_: hi 03:13 < dx> that reddit post is basically hoping that adding a bunch of **bold** markdown formatting with the right words will create enough motivation so that unpaid volunteers replicate the work mojang developers did full-time over 5 years 03:14 <+SpaceManiac> I lost interest and Spout took off with the code for a while. But I got interested again earlier this year and have been working on it fairly actively 03:15 < barneygale_> I always thought the Spout thing was silly 03:15 < barneygale_> didn't they spend a lot of time generalising the API so it could support any voxel game, and minecraft was just a plugin? 03:15 <+SpaceManiac> Yeah. 03:15 < barneygale_> what was the point... 03:15 <+SpaceManiac> I dunno, I didn't worry too much about it. 03:15 < barneygale_> they should have just got it on feature parity with mc 03:16 < dx> barneygale_: """Independence from Minecraft""", just like the reddit post suggests 03:16 < barneygale_> reddit is suggesting independence from mojang, which is a slightly different thing 03:16 <+SpaceManiac> I was thinking about making a post on admincraft about Glowstone, seeing if anyone's interested 03:17 < barneygale_> you should 03:17 < dx> getting contributions never hurts, i guess 03:20 <+SpaceManiac> Ech, I'm terrible at this PR business 03:22 < Not-cdc9> [Glowstone] SpaceManiac pushed 1 commit [+0/-0/±1] http://git.io/T6l8UQ 03:22 < Not-cdc9> [Glowstone] SpaceManiac 1ff4a50 - Improved the Readme with more extensive information and better credits. 03:22 < dx> nice! 03:27 < dx> SpaceManiac: seems like your project is in a much better state than i thought 03:27 <+SpaceManiac> probably doesn't help I'm in the habit of underselling it 03:29 < dx> more like not selling it at all, other than the occasional commits shown by notifico 03:30 * dx builds 03:32 <+SpaceManiac> It's been kind of odd, actually, I threw up a test server on a public address and advertised it none whatsoever and still regularly get connections to it from random users 03:33 < barneygale__> obviously you're cursed 03:33 < barneygale__> only explanation :] 03:34 < dx> damn curse 03:34 <+SpaceManiac> Sometimes I think I am 03:34 <+SpaceManiac> The machine I run my ZNC on, for example, has some weird broken SSL implementation despite being a fresh Xubuntu 14.04 install 03:36 <+SpaceManiac> Just arbitrarily decides to refuse my SSH key or not let me connect to ZNC until I log in through SSH first 03:42 < dx> openssh only uses a small subset of openssl, not the ssl protocol itself anyway. and recent versions of openssh don't even require openssl 03:43 < dx> regarding the rest of the issue, i'd blame the hosting service 03:43 < dx> or ISP or whatever. 03:44 < dx> alternatively, go full paranoid since we seem to be getting openssl vulnerabilities every month 03:45 < mbaxter> I'd blame the government 03:47 < dx> mbaxter: well, considering that he MYSTERIOUSLY DISCONNECTED, you might be right. 03:47 < mbaxter> Indeed 03:47 < mbaxter> Ping timeout is just another way of saying government is watching 03:48 < dx> literally watching 03:49 < dx> they hired invisible ninja fbi agents to stare at him in a creepy way 03:50 < mbaxter> he's back! 03:50 < mbaxter> How did the nsa interrogation go 03:50 <+SpaceManiac> I got recruited. 03:51 <+SpaceManiac> my internet's just picking an annoying time to be unstable 03:52 <+SpaceManiac> Haha, I don't test my software enough. 03:53 <+SpaceManiac> It plays the hurt animation instead of the arm swing animation 03:53 < mbaxter> sounds about right 03:54 < dx> moving is suffering 03:55 < mbaxter> Bah testing. 03:55 <+SpaceManiac> the problem was always finding other humans to test with 03:55 < mbaxter> dx can confirm I started writing a plugin in february and didn't test it until the end of may 03:55 < mbaxter> Testing is lame. Just write! 03:55 < dx> mbaxter can confirm i haven't tested it at all 03:56 < dx> and still somehow get mentioned in the authors of plugin.yml *cough* 03:56 < dx> theoretical author 03:59 <+SpaceManiac> Phew. Post made 03:59 <+SpaceManiac> Now to fix that animation bug 03:59 < dx> link? 04:00 <+SpaceManiac> http://www.reddit.com/r/admincraft/comments/27iqg0/ 04:01 < mbaxter> Suggestion: Needs more kittens 04:01 < mbaxter> I suggest replacing most of the code to focus on ocelots. 04:01 <+SpaceManiac> All players are now Ocelots (fixes #bax). 04:03 < mbaxter> :) 04:05 < dx> oh hey, minecraft realms is avilable here now 04:05 < dx> this is probably news from three months ago 04:05 <+SpaceManiac> I think it finally went everywhere a few weeks ago 04:05 < dx> weeks sounds better than months! 04:07 < dx> okay joined my glowstone server 04:07 < Fenhl> they were all “look at this list of ~30 countries that Realms is available in now!” 04:08 < Fenhl> and then a day later it was available everywhere 04:08 < dx> haha 04:10 < dx> well uhhh http://dump.dequis.org/bD9cM.png 04:11 <+SpaceManiac> If you want to get rid of rain, /weather clear 04:11 < dx> "i'm sorry but you do not have the permission to run this command" heh 04:12 * dx uses console instead 04:12 < dx> i got a grass block when mining a grass block 04:12 < dx> >LEAK: ByteBuf.release() was not called before it's garbage-collected. Enable advanced leak reporting to find out where the leak occurred. To enable advanced leak reporting, specify the JVM option '-Dio.netty.leakDetectionLevel=advanced' or call ResourceLeakDetector.setLevel() 04:12 <+SpaceManiac> Yeah, mining isn't perfect, and that's a thing I need to work on too 04:13 < dx> quite boring too - bunch of hardcoded mappings 04:13 < dx> found a surface lava pool, server side light seems to be wrong but the client recalculated it. went inside, felt warm and nice. 04:13 <+Amaranth> Hehe, you know what they're doing in 1.9 right? 04:13 < shoghicp> Implementing Minecraft features by yourself is fun :) 04:13 <+Amaranth> Every texture/model combination gets its own block id 04:14 < dx> are the block ids uuids too? 04:14 < dx> mojang loves uuids 04:14 <+Amaranth> So every orientation of stairs for every texture, every orientation for fences, every combination of connection and power level for redstone 04:14 <+Amaranth> So their renderer can just read the id and know what to do instead of having to understand the world 04:15 < Fenhl> even every light level? 04:15 <+SpaceManiac> Makes sense, really 04:15 <+Amaranth> Light levels are a separate thing 04:15 < dx> Amaranth: yeah, sounds like a good thing to me 04:16 <+Amaranth> It means item placement and block break code get more complicated though 04:16 < shoghicp> I'm planning on a plugin for PocketMine-MP to allow PC clients to play with PE players 04:16 < Fenhl> also more block updates 04:16 < shoghicp> this will be interesting ;D 04:16 <+Amaranth> Not many more block updates 04:17 <+Amaranth> Redstone already updates for the power levels and the connections usually don't change dynamically 04:17 < Fenhl> pistons are a thing, you know 04:17 <+Amaranth> So? You're already doing a shitload of work for the piston, an extra handful of block updates mean nothing 04:17 < Fenhl> but it probably won't be much of a problem anyway 04:18 < Fenhl> I was talking redstone design, not performance 04:18 <+Amaranth> The more interesting thing is if/how they're going to handle placing a particular orientation of fence against what the against would want to place and freezing it 04:18 <+Amaranth> I suspect it'll be like everything else, physics updates will break it 04:18 < dx> SpaceManiac: should i flood your bugtracker with minor tickets? 04:19 <+SpaceManiac> Your wording worries me, but better to have them on the tracker than nowhere. 04:19 <+Amaranth> err, against what the engine would want 04:19 <+Amaranth> My main problem with glowstone is I don't think the Bukkit API is what you should be modeling a game engine around 04:20 < dx> SpaceManiac: :D. well i'm testing stuff and finding minor details that just feel wrong, like the fact that placing blocks makes no sound. just asking if it's okay to create individual tickets for each of those 04:20 <+SpaceManiac> Go ahead. 04:20 <+Amaranth> Ooh, for potions you should just use ItemMeta and forget the data value way 04:20 <+Amaranth> The ItemMeta is more flexible and can I think can fully replace the data values 04:21 <+SpaceManiac> Good idea 04:21 <+Amaranth> It'll mean the brewing stand is more verbose though 04:21 <+Amaranth> jeb took advantage of the data value setup to make potion brewing just flip bits on things, you'll have to generate a table of inputs to outputs 04:23 <+SpaceManiac> At least the information already exists 04:23 <+SpaceManiac> The MC wiki's pretty good about that 05:20 < cnlohr> Hey, I am really glad you guys do what you do! I keep my super-minimal Minecraft server still maintained. I have yet to be able to add it to the list of servers, any idea if I could add it there? 05:20 < cnlohr> P.S. It lets me do things like run it on a wireless router, controlling a wood CNC router :-p https://www.youtube.com/watch?v=G5eo5d8F5DU 05:21 < dx> oh, hi, avrdude 05:22 < dx> if you mean the server list in the wiki, it's a wiki, anyone can add stuff to it... as long as you manage to get registed, which shouldn't be a big issue 05:22 < cnlohr> I'll go try that now! 05:26 < cnlohr> You guys are awesome! 05:30 < dx> hmmm, is there a way to send a packet that forces the client to recalculate lighting locally? 05:30 < dx> glowstone seems to have no lighting support at all, but certain actions done by the player make the client do its own calculations, which look good 05:31 < dx> could avoid implementing it by just telling the client "update all these things" :P 05:31 <+SpaceManiac> You might have some success with setting blocks to air and back, or the other way around 05:42 < dx> http://dump.dequis.org/aEmdp.png :D 05:47 <+SpaceManiac> Heh. The world gen does leave a lot to be desired :P 05:47 < dx> [00:42:59 INFO]: Reported crash to Mojang (ID 68621752) 05:47 < dx> bah. 05:47 < dx> i said i didn't want to report it. crashed the client with /give bed_block 05:51 < dx> and now i can't connect to this world anymore 05:52 <+SpaceManiac> Deleting the player file should be enough to fix 05:52 <+SpaceManiac> Some of the crashy corner cases aren't properly protected against yet 05:52 < dx> oh right i didn't place anything in the world. 05:55 < dx> SpaceManiac: ..where's the player file? 05:55 <+SpaceManiac> worlds/world/playerdata/.dat 05:55 < dx> there's no playerdata 05:55 <+SpaceManiac> peculiar 05:55 < dx> http://ix.io/cQq 05:56 < dx> what's uid.dat? 05:56 <+SpaceManiac> Bukkit assigns UUIDs to worlds, so things which refer to a world can survive renames 05:57 <+SpaceManiac> Hmm, odd there's no playerdata showing up. Did you actually connect to it yet? 05:57 < dx> oh wait nevermind the "there's no playerdata", i had already nuked the whole world :P 05:57 <+SpaceManiac> heh 05:59 < dx> gotta admit, the terrain generator is actually decent 06:00 < dx> a few rough edges, and no trees, but pretty good 06:00 <+SpaceManiac> The trees is a bug caused by a change in how biomes are reported a while back 06:01 < dx> is there a ticket for that? 06:01 <+SpaceManiac> Don't think so, actually. 06:01 * dx adds one 06:02 < dx> minimalistic tickets https://github.com/SpaceManiac/Glowstone/issues/101 06:02 <+SpaceManiac> Heh 06:06 < dx> SpaceManiac: what about this? http://ix.io/cQs 06:06 <+SpaceManiac> Does it happen if you remove CraftIRC? 06:06 < dx> the stack traces don't say anything very useful but i see a bug, it says "rouge" 06:07 < dx> SpaceManiac: it only happened this time, when craftirc actually managed to connect to irc. bug on our side i guess? 06:08 <+SpaceManiac> I think so 06:08 < dx> that reminds me, coverity pointed out a few resource leaks and i just ignored them \o/ 06:08 <+SpaceManiac> If a plugin leaves non-daemon threads running after it disables, the shutdown monitor kills them 06:09 <+SpaceManiac> My guess is CraftIRC is doing something to that effect 06:11 < dx> SpaceManiac: http://ix.io/cQt ? 06:11 <+SpaceManiac> Debug messages 06:12 < dx> ..oh, right, it didn't happen before because the world wasn't generated 06:12 <+SpaceManiac> Yeah, you get a ton more of them if you try to load a world from Vanilla 06:15 < dx> craftirc isn't getting the chat events, but does get command preprocess (to catch /me) and 'manual' message delivery with the /ircsay command 06:16 < dx> going to try to get a smaller test case 06:28 <+SpaceManiac> My ZNC machine, why 06:29 < dx> did it die? 06:29 <+SpaceManiac> I'm not sure. I'm too lazy to walk downstairs to check it. Probably just the internet died 06:29 < dx> heh 06:30 < dx> anyway SpaceManiac, craftirc isn't getting AsyncPlayerChatEvent at all 06:30 <+SpaceManiac> "// todo: async this" yep, file a bug for that one 06:30 < dx> ...okay, the glowstone does not mention AsyncPlayerChatEvent at all 06:30 < dx> yep. 06:32 < dx> ...wow, this looks so simple 06:33 < dx> rip 06:34 <+SpaceManiac> Gah, hexchat crash bug. 06:35 <+AndrewPH> rip in pepperoni 06:35 < dx> congratulations, you have all the bugs 06:56 < Not-cdc9> [Glowstone] SpaceManiac pushed 3 commits [+0/-0/±7] http://git.io/fB6egQ 06:56 < Not-cdc9> [Glowstone] SpaceManiac 9aaa1e7 - Fixed arm swing animation and not being able to fly if Creative is default. 06:56 < Not-cdc9> [Glowstone] SpaceManiac b6c730d - Fixes to DiggingHandler's event firing and reverting on cancel. 06:56 < Not-cdc9> [Glowstone] SpaceManiac 8a192e5 - Queue UpdateSignMessages until after block changes, fixing things like copy/pasting and being denied sign destruction. 07:06 < dx> note to self, don't store anything important in ./Glowstone/build/distributions/, gradle will nuke it 07:10 <+SpaceManiac> heh 14:32 < BizarreCake> Can someone please explain to me what does it mean for a UUID to have "valid skin blobs"? (http://wiki.vg/Protocol#Spawn_Player) 17:35 < barneygale__> Every texture/model combination gets its own block id <-- how does this work 17:36 <+Amaranth> What do you mean? They've got 32767 ids available, 65535 if they go unsigned 17:56 < barneygale__> Well 17:56 < barneygale__> Oh, I misread slightly. I thought this meant they were combining entities and blocks or something heh. 18:25 < moejoe_idle> Hi all! We are using nickelpros python client implementation to let our ai framework controll a minecraft bot 18:25 < moejoe_idle> that used to work with 1.5.2 and now we're trying to upgrade to 1.7.4 18:25 < moejoe_idle> we can connect that the bot stays connected 18:26 < moejoe_idle> however, we just can't make it move by sending player position and look packages 18:26 < moejoe_idle> we made sure that the packets get send with a packet sniffer 18:27 < moejoe_idle> it is really hard to figure out why the server is not accepting the movement as it does not complain or anything 18:27 < moejoe_idle> am i seeing it right that there is no "verbose" logging mode of the server? how can we figure out what's happening? 18:50 < barneygale__> moejoe_idle: you can turn on verbose logging, I can't remember how though 18:51 < moejoe> hm … do you mean /debug start 18:51 < moejoe> that did not seem to help a lot :/ 18:53 <+sadimusi> you have to configure the log4j logger iirc 18:54 < moejoe> *googling* 18:55 <+sadimusi> https://gist.github.com/EvilSeph/7909129 18:55 <+sadimusi> removing the NETWORK_PACKETS filter could be a start 18:55 < moejoe> thx! 18:55 < barneygale__> might want to change WARN to DEBUG? idk./ 19:14 < moejoe> so … definitely good hint, but even with the filter removed and ALL status it does not log anything about incoming packets or so ... 19:15 < moejoe> are there such things as common mistakes people to while sending player position and look packages 19:16 < moejoe> like sending impossible coordinates (e.g. moving into the ground) 19:16 < moejoe> or not frequently sending player position packets (e.g. on ground = TRUE) as the vanilla client does? 19:18 < moejoe> we can make the server kick us for illegal stance for example. but if we put in what we think are correct values. server is silent and the bot is just standing there and not moving 19:19 < moejoe> hmm … we should probably start with just sending a chat message and see if that works 20:41 <+SirCmpwn> I sent an email to github with a minor annoyance 20:41 <+SirCmpwn> and it was fixed as of 5 minutes ago 20:41 <+SirCmpwn> that's the fastest turnaround I've seen from github yet 20:41 <+SirCmpwn> (email sent last night, that is) 22:02 < humerusj> SirCmpwn: what was the problem? 22:02 <+SirCmpwn> humerusj: typing "IRC" into the webhooks & services screen gave you CircleCI before IRC 22:05 < humerusj> Heh, that's cool the fixed it quick 22:05 < humerusj> They* --- Day changed dim. juin 08 2014 01:22 < dx> dohoho, spamming glowstone's tracker with issues seems to have helped - someone sent a pull request for AsyncPlayerChatEvent 01:26 <+SpaceManiac> dx: I noticed! It has been helpful 01:27 < dx> :D 21:14 < aso> Hm, I captured status packet and I found 0x09 byte between byte about protocol version and address... what is this? 21:15 <+SpaceManiac> string length? 21:16 < aso> SpaceManiac: you're right, thanks. I should edit wiki page or admin will do this? 21:16 <+SpaceManiac> it's included in saying there's a string 21:18 < aso> Yep, but for beginners in this it's a little bit unclear, nevermind. --- Day changed lun. juin 09 2014 03:49 < Not-cdc9> [Glowstone] SpaceManiac pushed 1 commit [+0/-0/±1] http://git.io/lUWvLg 03:49 < Not-cdc9> [Glowstone] wtfaremyinitials f250bfb - Added warning for turning off online-mode (fixes #93). 04:55 <+SirCmpwn> TkTech: what did you use for notifico wrt github API and oauth stuff 15:13 < TkTech> SirCmpwn: An older version of pygithub 17:26 < TkTech> SirCmpwn: pourquoi? 17:27 <+SirCmpwn> TkTech: got it, thanks 17:29 < TkTech> SirCmpwn: Why? Since when do you dabble in the black Python arts? 17:30 <+SirCmpwn> since mediacrush 17:30 <+SirCmpwn> I am comfortable outside of my bubble, I don't *just* do C# 17:39 < TkTech> Pfft, you have CIL bytecode wallpaper 17:39 < TkTech> Didn't realize mediacrush was python. 17:41 < TkTech> I'll be damned, setup.py. 18:30 < humerusj> TkTech: i use setup.py to build cpp projects, doesn't mean it's in python :p 19:43 < TkTech> humerusj: Do you want to summon cthulu? Because that's how you summong cthulu. 19:46 < humerusj> TkTech: i guess i'll go back to using makefiles :( 19:52 < TkTech> Or Waf --- Day changed mar. juin 10 2014 00:49 < Not-cdc9> [Glowstone] SpaceManiac pushed 1 commit [+0/-0/±4] http://git.io/LfNW3Q 00:49 < Not-cdc9> [Glowstone] SpaceManiac 2e422d0 - Fixed sound message encoding and added simple block place sound (see #99). 01:24 < dx> SpaceManiac: what's your stance on borrowing org.bukkit.craftbukkit 'open source' code for glowstone? is there any reason against doing it other than the GPL/MIT license difference? 01:25 < dx> say, if you could get the copyright owner(s) of a particular class to relicense to MIT, would you? 01:35 <+SpaceManiac> dx: Uh, maybe. It'd depend on whether I thought I needed it 01:40 < dx> hmmmk. 01:41 < dx> although it's pretty hard to find code in there that doesn't depend massively on NMS, so welp 01:41 < dx> probably not even worth bothering. 02:54 < moejoe> Hi all! … so, I have a minecraft bot moving around in creative mode. even climbing stairs and falling (i.e. "gravity"). good. when i set it to survival mode the server does not accept its movements with "[20:54:24] [Server thread/WARN]: bot moved wrongly!" 02:55 < moejoe> From http://wiki.vg/Protocol#Player_Position_And_Look_2 I know that the new coords can't me more than 100 blocks away. this is certainly not the case. Are there any other restrictions? 02:58 < moejoe> eeeerm … maybe nevermind. I might have not given it he exact floor coordinates but was hovering over the floor. 02:58 < moejoe> but then i wonder, why the server didn't specifically complain about flying ... 02:59 < dx> because it's hard to tell when a wrong position is what you'd call "flying" 03:00 < moejoe> i see 03:01 < moejoe> are there any projects out there that implement pathfinding / gravity / "legal" movements? 03:02 < dx> uhhh, look here maybe http://wiki.vg/Client_List 03:02 < moejoe> thx 03:03 < moejoe> nickelpros SpockBot is 1.7.4 compatible … 05:30 < mathuin> Is pymclevel still the best choice for building Minecraft worlds with Python, or has a competitor arisen while I have slept? 09:24 <+SirCmpwn> TkTech: to be fair, jdiez did most of the python work, but I learned it as I helped out 09:24 <+SirCmpwn> TkTech: I mostly did the frontend of mediacrush 09:25 <+SirCmpwn> but I have since embarked upon more python things 09:27 <+SirCmpwn> I want github+oauth stuff for the sake of https://github.com/SirCmpwn/KerbalStuff --- Log closed mar. juin 10 12:47:08 2014 --- Log opened mar. juin 10 12:48:01 2014 12:48 -!- Irssi: #mcdevs: Total of 134 nicks [1 ops, 0 halfops, 13 voices, 120 normal] 12:53 -!- Irssi: Join to #mcdevs was synced in 363 secs 15:13 < TkTech> mathuin: Still the "best" 16:51 < TkTech> SirCmpwn: Have you seen SpaceEngineers? If you liked Kerbal you might like it, one of the few early-alpha games I've actually enjoyed. 16:58 < LambdaSix> All these real-voxel games make my laptop overheat. :( 17:07 < pyBlob> I've written a program that decodes minecraft-packets ... but I've got some problems with the "Object Data" type sent for the "Spawn Object/Vehicle" type 17:07 < pyBlob> It always consists of an integer when it is 0 nothing follows 17:08 < pyBlob> but when it is not 0 the only data following it is a 3d-Short speed vector? 17:16 < pyBlob> and another questions is there a metadata type 7? 18:04 < TkTech> pyBlob: It sounds like you are parsing something incorrectly. 18:05 < pyBlob> yep, that's true 18:05 < TkTech> Is your code up? 18:05 < pyBlob> wait, I can put it on pastebin 18:22 < pyBlob> http://pastebin.com/vReWEK9v 18:25 < pyBlob> ... it's auto-generated java code, so don't wonder about the use of the switch-statement and the appended ids 19:26 < TkTech> pyBlob: That isn't at all how it works 19:27 < TkTech> pyBlob: Why do you think data is an int? 22:29 < benbaptist> Does anyone know how to properly decode the Position data type in Python? getting some really weird results with the pseudo code on http://wiki.vg/Pre-release_protocol#New_data_types 22:30 < benbaptist> x parses correctly, y and z are usually just insane numbers though 22:31 < benbaptist> http://s.benbaptist.com/Y8Ov4XfKDn.png - I'm pretty inexperienced with bitwise operations, to be honest. :P 22:33 <+SpaceManiac> benbaptist: the shifts might not be working in Python since it doesn't have caps on its integer sizes 22:33 < benbaptist> ah, yeah. 22:34 <+SpaceManiac> x = val >> 38 ; y = (val >> 26) & 0xFFF ; z = val & 0x3FFFFFF 22:36 < benbaptist> SpaceManiac, Woah, thanks man! That parsed it perfectly. 22:41 <+SpaceManiac> Good to hear 23:11 < btilm305> Can someone double check the accuracy of the listed Spawn Mob packet (http://wiki.vg/Protocol#Spawn_Mob)? 23:11 < btilm305> Pitch and head pitch are the same thing right? 23:12 < btilm305> Packet: https://github.com/Bukkit/mc-dev/blob/master/net/minecraft/server/PacketPlayOutSpawnEntityLiving.java#L29 23:13 < btilm305> Shouldn't the values be, in order, body yaw, pitch, head yaw? --- Day changed mer. juin 11 2014 00:02 * Thinkofdeath just noticed the new columns on the protocol page 00:09 < Thinkofdeath> btilm305: fixed, thanks 01:11 < shoghicp> hey 01:11 < shoghicp> does Minecraft generate worlds on another thread? 04:00 < geist_> hi 07:49 < Not-cdc9> [Glowstone] SpaceManiac pushed 1 commit [+0/-0/±4] http://git.io/VhRkBA 07:49 < Not-cdc9> [Glowstone] OverCaste 98b9bdb - Removed org.bouncycastle libraries to reduce filesize significantly. 08:04 < Not-cdc9> [fCraft] fragmer * r2336 4 files : Added "ModernSchematic" map exporter. 08:22 <+fragmer> I cant get the damn schematic format right. It seems that I got it right, but MCEdit refuses to read it. 08:23 <+fragmer> Does this not look like a valid schematic file? https://gist.github.com/fragmer/7dcb7baedabe86803791 08:26 <+fragmer> Oh woops. I guess it wanted the root tag to be named "Schematic" as well. 08:39 < Not-cdc9> [fCraft] fragmer * r2337 3 files : Fixed a couple bugs in schematic exporting. 15:26 < TkTech> fragmer: Coverting classic levels to schematics? 15:27 <+fragmer> Yep. Got the exporter working. 15:28 <+fragmer> Classic materials: http://i.imgur.com/F9Y3SxP.png 15:28 <+fragmer> Best-effort conversion to modern materials: http://i.imgur.com/a7phxVr.png 15:28 < TkTech> That looks trippy 15:28 < TkTech> Correct me if I'm wrong, but can't you set arbitrary colors on wool blocks? 15:29 <+fragmer> Not to my knowledge. There is a set of 16 defined colors, using lower 4 bits of the data byte 15:30 <+fragmer> Hm. Maybe I should replace green wool with lime-stained clay... it's a bit closer 16:28 < Not-cdc9> [fCraft] fragmer * r2338 2 files : ModernSchematic map converter: changed green wool (classic) substitution from green wool (modern) to lime-stained clay (modern). It's a closer match. --- Day changed jeu. juin 12 2014 10:48 < Not-cdc9> [Glowstone] SpaceManiac pushed 2 commits [+0/-0/±5] http://git.io/YRChww 10:48 < Not-cdc9> [Glowstone] SpaceManiac 2754261 - Fixed NPE trying to tab-complete nonexistent commands. 10:48 < Not-cdc9> [Glowstone] SpaceManiac e4accc3 - Cleaned up world-change/respawn logic and fixed respawning (fixes #102). 17:41 < Not-cdc9> [fCraft] fragmer * r2339 2 files : Fixed /DumpStats failing to count players who have never logged in as "inactive" 22:22 < benbaptist> Isn't the vanilla Minecraft server not supposed to do any sort of encryption when you connect via localhost? I'm writing a proxy (that you connect through) and when the server is on offline mode, it works great, but when it's in online mode, it crashes and has tons of invalid packets. 22:22 < shoghicp> online mode always has encryption 22:22 <+SpaceManiac> I'm pretty sure the clause about localhost is 22:22 <+SpaceManiac> isn't true* 23:16 < Ultra|Afk> Hey, do any of you guys know if the Minecraft APIs support CORS? I doubt it, but I thought I'd ask. 23:17 < ultralord_rulz> CORS = Cross Origin Resource Sharing. 23:17 < ultralord_rulz> It's a web thing. 23:20 <+SpaceManiac> I suppose you'd have to just check and see 23:21 < ultralord_rulz> Ah, ok. Thanks anyways. 23:36 < benbaptist> AH, okay. 23:36 < benbaptist> Is there any way I can prevent encryption from occurring? My proxy mode is useless without online mode support. :P 23:39 < shoghicp> benbaptist: you have to get the player password / session id 23:39 < shoghicp> so you can auth as him 23:40 < benbaptist> Ah. So should I just do authentication on the Wrapper's end and have the server in offline mode? I was originally going to do that - but that sucked because recent snapshots have all the UUID stuff, and if you're in offline mode, UUIDs are not grabbed - so going back to online mode causes issues. 23:43 < shoghicp> no, both in online mode 23:43 < shoghicp> so the proxy is a server, too 23:51 < benbaptist> but that's not a very ideal situation - this is a server that anyone can connect to. what I'm doing is similar to BungeeCord 23:51 < benbaptist> but for snapshots and customizing the experience (I don't have multiple servers - I just want to filter the SMP packets) 23:51 < shoghicp> well, bungeecord servers have online-mode=off 23:51 < shoghicp> (the ones behind) 23:51 < benbaptist> yeah --- Day changed ven. juin 13 2014 01:36 < Not-cdc9> [Glowstone] SpaceManiac pushed 2 commits [+0/-0/±2] http://git.io/9YamfA 01:36 < Not-cdc9> [Glowstone] SpaceManiac 28a4cc2 - Suppressed warnings in TagType to placate javac. 01:36 < Not-cdc9> [Glowstone] OverCaste c8cba8b - Set item tables's hash map initial capacity to 512 to speed registration. 07:05 <+fragmer> TkTech, SpaceManiac: would you like to have a laugh? https://twitter.com/SeargeDP/status/477201236392177664 07:07 <+SpaceManiac> Oh yeah, someone linked that to me earlier. Definitely not convinced. 07:27 < redstonehelper> oh look, mojang employees are having an opinion again 08:30 < benbaptist> Wait, if I do authentication, do I *have* to encrypt?\ 08:31 <+SpaceManiac> I believe so, yes. 08:32 < benbaptist> Dang man. well, I guess I'm going to have to figure out how encryption works. Dang. :P 11:49 <+md_5> Incorrect password entered. Please try again. 11:49 <+md_5> were oasswords reset? 11:50 < shoghicp> md_5: on freenode? 11:50 <+md_5> no, on the wiki 11:51 <+md_5> http://wiki.vg/Special:Log/Md_5 11:51 <+md_5> my account is still there and my password hasnt changed 11:51 <+md_5> and there is no option to reset it 11:51 * md_5 stab 11:52 <+md_5> There is no email address recorded for user "Md 5". 11:52 * md_5 le sigh 11:52 < shoghicp> ouch 11:52 <+md_5> TkTech when you can please fix :p 16:54 < TkTech> "@Navarr @SeargeDP That's not a matter of opinion. They do have the right to enforce rules that uses anything Minecraft related." 16:55 < TkTech> ... 16:55 < TkTech> fragmer: These people know nothing of law. It's not even enforcable on the official server let alone 3rd party servers. 16:59 <+fragmer> Indeed 17:08 < dx> TkTech: context? 17:13 < dx> ...oh looks like i missed the latest episode of the eula drama 17:13 < dx> i'm not really interested in following this series tbh. it's not very entertaining. 17:17 < mbaxter> Not entertaining, and is mostly full of people without legal experience arguing that their experience-free interpretation of the law is more accurate than someone else's. 17:19 < dx> mbaxter: plot twist: most mojang employees don't have legal experience either 17:20 < TkTech> Or that one nations laws are the same as theirs. EULAs mean nothing here, they're utterly unenforcable. 17:24 < dx> "So, yeah, no capes please, even if you’re giving them away for free" <-- isn't it technically impossible to give away capes without modding the client? 17:26 < dx> i guess it becomes not-impossible with forge servers but eh. 17:44 < Dinnerbone> dx: that applies not just to servers but to mods 17:45 < dx> right. 17:49 <+fragmer> Note to self: add capes to everything I can 17:51 < dx> i just added myself a cape IRL because fuck the police 20:29 < barneygale_> Grum: writing a server wrapper that will (hopefully) allow server admins to spin up new servers in an automated way. Am I OK to prompt the user to accept the Mojang EULA at installation time, or will I need to do it for every server instance created? 20:30 < barneygale_> I assume installation-time is fine, otherwise copying a working server directory to another directory and running it would be EULA-breaking, right? --- Day changed sam. juin 14 2014 14:45 < barneygale__> Can anyone tell me how craftbukkit can be LGPL? Have Mojang given them a special license? 14:47 < shoghicp> barneygale__: I think the only LGPL part is the API and their code 14:48 < barneygale__> ah right 17:32 < ellisvlad> barneygale__: Craftbukkit was given the LGPL license by Mojang: https://github.com/Bukkit/CraftBukkit/blob/master/LGPL.txt The Licence and LGPL files in the CraftBukkit repo were commited 4 years ago by Grum, developer at Mojang. 17:33 < barneygale__> Grum wasn't part of mojang 4 years ago 17:33 < barneygale__> that license comes right from the early days of craftbukkit before mojang hired the CB devs 17:34 < ellisvlad> Ah, that makes more sense 19:30 < dx> "This was never allowed, but we didn’t crack down on it because we’re constantly incredibly swamped in other work" - words from the creator of cliffhorse 22:01 < barneygale__> AndrewPH: am I right in thinking you develop glowstone? 22:01 <+AndrewPH> you are not, sorry 22:02 < dx> barneygale__: SpaceManiac 22:02 < barneygale__> ah right 22:03 < barneygale__> sorry about that --- Day changed dim. juin 15 2014 00:13 <+SirCmpwn> https://mediacru.sh/V2ZogBrzwfXm 00:15 < Krenair> Wow, some of those 'Yes they can, it's their client connecting to it' replies - sure, can MS/Mozilla/Google/Apply all set rules for web server operators? Nope 00:31 <+SpaceManiac> barneygale__: yep, that's me. Had a question? 00:32 < barneygale__> SpaceManiac: I thought if you wanted to promote glowstone while there's interest, you could hold an irc meeting where you + others can discuss how to contribute, what needs working on, priorities etc 00:32 < barneygale__> i've seen a lot of mentions of it lately 00:37 <+SpaceManiac> Hmm, might be worthwhile 00:37 < dx> i love the idea of having a third party server benefit from this mostly pointless drama :D 00:38 < shoghicp> :) 00:38 < shoghicp> MCPE doesn't have this issue ;D 00:39 < dx> shoghicp: what, the pay2win issue or the "third party servers are nowhere near the official one" issue? 00:40 < shoghicp> dx: PocketMine-MP was written from scratch, without MCPE code. It is not bound by the EULA 00:40 < shoghicp> and at least people didn't create pay2win servers 00:41 < shoghicp> they abused pay2op, but those servers where blocked from being on the forums 00:41 < shoghicp> or any servers that requested donations for things ;D 00:41 < dx> shoghicp: i'd like to point out that mojang has claimed several times that accepting the client EULA means it applies to whatever you do with servers. legal validity of that, unknown. 00:41 < shoghicp> they can do whatever they want, but to be on that list, they have to follow that 00:42 < shoghicp> yeah, I still have to ask for more detauls 00:43 < dx> but it seems like you're enforcing the same terms as their EULA in your forum, so no issue at all here :P 00:43 < shoghicp> yeah, and I did before this drama since I don't like those servers 00:59 < Fysac> test 01:19 < sllide> Hello, I am trying to write a minecraft classic server in java, mostly for learning purposes. 01:20 < sllide> But the minecraft client crashes when i send the "finish map data send" packet and the map dimentions 01:20 < sllide> this is the code I wrote: http://pastebin.com/maWyvebm 01:20 < sllide> And here is the minecraft client console output: http://pastebin.com/b9VLtbAZ 01:21 < sllide> I have no idea what I am doing wrong and wondered if somebody here could help me out. 01:21 < sllide> Map dimentions are 128x64x128. 01:23 < sllide> Oh, i forgot to include the padding code at line 50, its there 01:29 < sllide> Also, this is a file that contains all the data send by the server if it helps: http://pastebin.com/qapzvpP5 01:33 < dx> no idea what's wrong there but you're using mapData for both a local and an instance variable 01:34 < dx> also wtf is lenArray 01:35 < dx> do you have this thing on github or something? 01:37 < dx> why does sendLevel, a method of Map, take a map as parameter 01:39 < dx> sllide: ok this is definitely wrong, you're compressing to gzip before splitting chunks 01:40 < dx> reusing the name 'mapData' probably added to the confusion 01:43 < sllide> dx: yeah the code is messy, still learning. 01:43 < sllide> and sendLevel is a method of the client 01:44 < dx> the way you pastebin'd it, it looks like it's all from the same class 01:44 < dx> but eh sure 01:44 < sllide> ah pardon me, i just pasted in the parts that where relevant 01:45 < sllide> lenArray is the minecraft array size 01:45 < sllide> 1024 01:45 < sllide> dx: its not on github, but i can send you the whole project? 01:45 < dx> you could, but i don't think i'll bother reading all of it :P 01:45 < sllide> true dat 01:45 < sllide> but you are suposed to gzip the chunks and not the whole map? 01:46 < dx> anyway i'm pretty sure your issue is gzipping before splitting 01:46 < dx> well you can't cut gzipped streams in the middle 01:46 < sllide> hmm, well i got it to work while gzipping the whole map 01:46 < dx> uh 01:46 < dx> okay no idea then 01:46 < sllide> i messed around with the dimention variables while sending the packet 01:47 < sllide> and one specific value works, but only when the map constist of random data and not a empty map 01:47 < sllide> its really odd 01:47 < dx> lol 01:47 < dx> okay i'm impressed you got that thing to work 01:47 < sllide> i was sure i was doing something wrong while sending the map dimentions 01:48 < sllide> but when i started sniffing i found out it works just fine 01:48 < sllide> so i really have no idea 01:48 < dx> okay so the fact that it worked at some point this way was just a coincidence 01:48 < dx> you really need to move the compression code to writeChunk 01:49 < sllide> sur thing 01:49 < dx> you might have heard you need to compress the whole level.dat, but that's just disk storage 01:49 < sllide> yeah i know that 01:50 < sllide> was in the protocol description 01:50 < sllide> wich is really vague anyway 01:50 < sllide> minecraft.gamepedia.com/Classic_server_protocol 01:50 < sllide> nowhere does it say a thing about the map format i need to send 01:50 < sllide> just that its a raw map array 01:50 < sllide> it implies that i have to gzip the whole map tho 01:51 < dx> hmm you're in the wrong wiki 01:51 < dx> http://wiki.vg/Classic_Protocol 01:51 < sllide> i was looking on the wiki.vg, but could not find anything about the classic protocol hehe 01:51 < dx> (hm, this page looks very similar) 01:51 < sllide> it really does 01:52 < dx> well anyway the main wiki page has three main sections, modern, classic and pocket 01:52 < dx> just scroll down to get to the classic ones 01:52 < sllide> thanks! 01:54 < sllide> i might need ot use the MCLevel format 01:54 < sllide> or was that the singleplayer save format? 01:55 < dx> i dunno, but that's irrelevant for the network format anyway 01:55 < sllide> yeah, i really have no idea what the actual network format is 01:56 < sllide> i think i'm going to snoop around in some open source servers 01:56 < dx> "After decompression the map consists of a big-endian int(4 bytes) containing the number of blocks, followed by a raw map array. (chunk is up to 1024 bytes, padded with 0x00s if less)." 01:57 < sllide> byte[x*y*z] i suppose 01:57 < sllide> with the int in front ofcourse 01:58 < dx> so that's an important point too 01:59 < sllide> i am going to check out the blockCount integer 01:59 < dx> http://wiki.vg/Chunk_data_decompressing_%28Zlib%29 02:00 < sllide> that looks an aweful lot like it belongs in the modern minecraft catagory 02:00 < dx> ..hm actually this is linked from the classic section but refers to modern 02:00 < dx> heh 02:00 < sllide> oh, i think i found the problem 02:01 < sllide> gzip.write accepts a integer but only writes the lower 8bits 02:01 < sllide> atleast thats what javadoc says 02:01 < dx> how is that a problem? 02:01 < dx> and srsly move your gzip code to the right place 02:01 < dx> THAT is a problem 02:02 < sllide> i will 02:02 < dx> get up to 1024 blocks, pad with zeros if it's less, prepend with big endian int with number of blocks, *compress at this point*, get length of compressed data for chunk length field, then build the rest of the packet 02:03 < sllide> oh great 02:03 < sllide> it works now 02:03 < sllide> it was gzip only writing the lower 8bits 02:03 < dx> yay. 02:03 < dx> wot. 02:03 < sllide> god damnit java 02:03 < dx> OKAY NO IDEA WHAT'S GOING ON 02:03 < sllide> void java.util.zip.DeflaterOutputStream.write(int b) throws IOException 02:03 < sllide> Writes a byte to the compressed output stream. This method will block until the byte can be written. 02:03 < dx> wot. 02:03 < dx> that's zip 02:04 < dx> and deflate 02:04 < sllide> thats the gzip stream 02:04 < sllide> why accept a integer if you're only going to write a byte of it 02:04 < sllide> how retarded is that 02:05 < dx> oh great, java.util.zip.Deflater actually implements zlib... 02:05 < dx> i guess also that the gzip thing was adding headers 02:06 < sllide> yeah i think so too 02:06 < sllide> but the non-compressed data was faulty 02:06 < sllide> stupid gzip 02:07 < dx> also i don't think that 'lower 8 bit' thing affects you 02:08 < dx> oh wait nevermind it does 02:08 < sllide> it does, i converted my integer to a bytearray and send that instead 02:08 < sllide> it works now 02:08 < dx> the length, right? 02:08 < sllide> yeah 02:08 < dx> yeah forgot about that one. 02:08 < dx> but wtf 02:09 < dx> are you sending a single chunk or what? 02:09 < sllide> no? 02:09 < sllide> i am sending the whole gzipped map as chunks 02:10 < sllide> 2 chunks to be exact 02:10 < dx> eh. EH. 02:10 < dx> man i don't know. 02:10 < sllide> heh 02:10 < sllide> ah well, thanks for the help anyway! 02:11 < sllide> you pointed me in the right direction 02:13 < sllide> now i need to find out how the dimention order of the map array heh 02:13 < sllide> -how 02:44 < Not-cdc9> [Glowstone] SpaceManiac pushed 1 commit [+0/-0/±14] http://git.io/2hMrfg 02:44 < Not-cdc9> [Glowstone] SpaceManiac d979924 - Made todo comments more uniform. 13:04 < Grum> barneygale__: Craftbukkit was given the LGPL license by Mojang <-- wrong, we didn't get a license and we opted to go with LGPL --- Day changed lun. juin 16 2014 19:42 < mathuin> Anyone here work with netherrack (server written in Go)? 19:46 < dx> Thinkofdeath 19:47 < mathuin> I'm wondering how up-to-date it is, and how likely it is that the stuff that builds/updates worlds is usable outside the entire package. 20:18 < Thinkofdeath> mathuin: it hasn't been updated since 1.7.2 and isn't going to be updated any time in the near future 20:18 < mathuin> Thinkofdeath: thanks for the update. sorry it's bad news. :-) 20:19 < Thinkofdeath> np :) 20:21 < mathuin> I'm a little disenchanted with pymclevel, and I'm starting to learn Go so I wondered if that was an option. 20:21 < mathuin> I do wish Mojang could stop with the crazy updating, but alas. 20:54 < TkTech> mathuin: Anything in particular really annoy you with pymclevel? 20:56 < mathuin> Nothing in particular. I will have time next week to make a proper list. :-) Mostly stuff that used to work doesn't for reasons I can't quickly see, and I feel like I need to start from first premises. --- Day changed mar. juin 17 2014 00:02 < sordd> Hi, is anyone available? 00:05 <+SpaceManiac> sordd: it's usually pretty quiet, but if you've got a specific question someone might be able to answer 00:05 < sordd> Well, if anyone does become available, I'd be grateful if you could review my code for reading a Varint. 00:05 < sordd> Okay, thanks. I have code that I suspect might be failing in some instances. 00:06 < sordd> http://pastebin.com/KWyU0nA3 00:08 <+SpaceManiac> it looks correct to me 00:17 < sordd> well, this particular problem has to do with my packet handler. 00:18 < sordd> when I try to read packets other than Spawn Position or Keep Alive, I get nonexistent IDs and lengths of zero 00:18 < sordd> sometimes, not always 00:18 < sordd> So my guess is, I'm reading those other packets wrong in some way 00:19 < sordd> and that causes the whole stream to be sort of disordered because wrong types are being read. 00:21 < sordd> But I'm following the specifications on the protocol page exactly, so I'm not exactly sure what the problem could be (unless several major packets are outdated) 00:22 < mathuin> You can use wireshark to collect live packets from known good client-server combinations if you are concerned. 00:22 < mathuin> That's what I ended up doing last time I played with a server. 00:23 < sordd> That sounds doable, I'll try it out 00:23 < mathuin> If you're really industrious, write a wireshark sniffer plugin thing that uses your packet reading code. :-) 00:23 < sordd> Ha, I think I'll pass on that. 00:24 < mathuin> I did what I thought was the next best thing: I wrote a little front-end that would read wireshark dumps. --- Day changed mer. juin 18 2014 12:22 < yeboot> hi the "how to write your own client" article on the wiki says "Make sure you don't want to join or fork an existing project instead." but doesn't link any existing projects or forks 12:22 < yeboot> are there any you guys would recommend 12:22 < yeboot> I meant existing projects or git repos 12:23 <+Fador> http://wiki.vg/Client_List ? =) 12:23 < yeboot> thanks :) 12:27 < yeboot> do you have any recommendations/experience? 12:33 <+Fador> Nope, sorry. I've only done server side stuff.. 12:47 < yeboot> that's cool, though 13:29 < CCoder> Hello, can I ask something about minecraft protocol here please ? 13:29 < MrARM> do not ask to ask 13:32 < CCoder> Ok, so I have a problem with receiving VarInt from server after Handshake and login start packets, the server console gives me IOException: The received encoded string buffer length is longer than maximum allowed (84 > 64) my code is here: http://hastebin.com/uqinabelek.avrasm and this exception happens on the line 34 13:32 < CCoder> Server should return packet lenght and id 13:34 < CCoder> If somebody could help me please, I do not know what I am doing wrong 13:45 < TheUnnamedDude> login.writeByte(0x00); 13:45 < TheUnnamedDude> login.writeBytes("Test"); 13:45 < TheUnnamedDude> You're not prefixing with string length 13:45 < TheUnnamedDude> CCoder 13:46 < CCoder> ahhh my mistake I go to try it 13:46 < CCoder> thanks 13:48 < CCoder> Nice, thanks, it works! 13:59 < TheUnnamedDude> np 14:58 < CCoder> I would like to ask once more, I am trying to send a message packet but when I send it nothing happens, my code - http://hastebin.com/bexemiyevi.avrasm 14:59 < CCoder> Sorry - this link - http://hastebin.com/amobohubij.avrasm 15:12 < TheUnnamedDude> CCoder, why are you adding 42? 15:13 < CCoder> I manualy calculated the byte length of the string message 15:13 < CCoder> for temporal testing 15:13 < TheUnnamedDude> Why g.size then? 15:13 < TheUnnamedDude> g.size should be the only thing you should have there 15:14 < TheUnnamedDude> Cause it will provide the total length of the packet 15:21 < CCoder> Yes but server consle said that the message is 42 longer than expected 15:21 < CCoder> So I added 42 and it worked but the message still is not displayed 15:49 < TheUnnamedDude> Then there is an other problem CCoder 15:49 < TheUnnamedDude> You don't simply add that and expect it to work 15:50 < TheUnnamedDude> Also, you need to answer the keep alives etc 15:50 < TheUnnamedDude> Else the client just will get disconnected 15:53 <+Amaranth> CCoder: You need to write out UTF-8, not UTF-16 15:54 <+Amaranth> byte[] strBytes = str.getBytes(Charsets.UTF_8); 15:54 <+Amaranth> writeVarInt(msg, strBytes.length); 15:54 <+Amaranth> msg.writeBytes(strBytes); 16:27 < CCoder> Thanks Amaranth I go to try it 16:28 < CCoder> But what is "Charsets" ? 16:35 < Not-cdc9> [mcprotocol] thinkofdeath pushed 1 commit to master [+0/-0/±105] http://git.io/wQCHgg 16:35 < Not-cdc9> [mcprotocol] thinkofdeath e83acfb - 12w25a 16:45 < merlish> CCoder: character sets; different ways of encoding strings into a set of bytes 16:45 < merlish> by default java uses UTF-16 (actually UCS-2 i think, but very similar) 16:45 < merlish> which means each conceptual character takes up at least 2 bytes 16:45 < merlish> in UTF-8, each character takes up at least 1 byte 16:46 < merlish> special/odd characters will take up more than 1 byte, which is how utf-8 can represent pretty much all of unicode in usually a small space 16:46 < merlish> i guess minecraft has decided to use utf-8 for the wire protocol for some reason. perhaps because it's what the rest of the world uses for unicode? 16:59 < CCoder> merlishm yes but byte[] strBytes = str.getBytes(Charsets.UTF_8); the Charsets.UTF_8 are unknown data type 17:00 < CCoder> so I have to extend my class by somethig or ? 17:03 <+sadimusi> CCoder: iirc String.getBytes just takes a string, so mabye try "UTF-8" 17:18 < merlish> CCoder: googling suggests Charsets.UTF_8 is a Google Guava library thing 17:18 < merlish> sadimusi's suggestion seems correct in this case 17:18 < merlish> if you are targetting java 7, you have http://docs.oracle.com/javase/7/docs/api/java/nio/charset/StandardCharsets.html as an option 21:12 < sordd> Is there anything "special" about the server id sent in an Encryption Request? Whenever I try to read it normally, I end up with an empty string. 21:15 <+sadimusi> sordd: according to the wiki a vanilla server's id should always be 15-20 characters long. Does your code work for other strings? 21:16 < sordd> Yes. 21:19 <+sadimusi> Then I suggest you print out the raw bytes you're receiving and compare that to what your code paeses 21:19 < sordd> I read the prefixed length, use that to create a byte array of the same size, and read that many bytes using UTF-8. 21:19 < sordd> Alright, I'll check that 21:21 < Thinkofdeath> Its always an empty string as of 1.7.something 21:22 < sordd> oh... 21:22 < sordd> but what about the hash? 21:32 < mathuin> Wonder why they changed it? 21:38 < shoghicp> sordd: it uses the public key too 21:52 < sordd> shoghicp: so the hash is still correct even with an empty server id? 21:52 < shoghicp> yeah, it's calculated correctly 21:52 < shoghicp> so it only uses the public key now 21:56 < Not-cdc9> [Glowstone] SpaceManiac pushed 2 commits [+0/-0/±3] http://git.io/_4fBew 21:56 < Not-cdc9> [Glowstone] SpaceManiac 61d5070 - Use EventFactory in StatusRequestHandler, minor EventFactory cleanup. 21:56 < Not-cdc9> [Glowstone] SpaceManiac 694d7be - Call weather and thunder change events. 22:00 < sordd> Okay. Thing is, the server keeps throwing a null pointer exception in ThreadPlayerLookupUUID.java , saying it "Failed to verify username" 22:00 < sordd> that's even after I make this request: make this request: http://wiki.vg/Protocol_Encryption#Client and send my encryption response 22:01 < sordd> I was thinking it might have something to do with the hash, hence my earlier question 22:09 < Thinkofdeath> sordd: What server are you testing with? Bukkit/Spigot or vanilla? 22:10 < sordd> localhost Bukkit 22:10 < sordd> Thinkofdeath: should I try vanilla? 22:10 < Thinkofdeath> yeah 22:10 < sordd> okay, we'll see how it goes 22:13 < sordd> Thinkofdeath: nope, same exception. 22:13 < Thinkofdeath> odd 22:26 <+Amaranth> Does anyone have a bot that works with 1.7.9 servers? 22:34 < umby24> not a highly functional one, but yeah 22:36 <+Amaranth> umby24: Can it put a "player" in game and stay connected? 22:36 < umby24> on vanilla, yeah 22:36 <+Amaranth> If I could script it to fly in a circle even better but just standing/floating there is all I really need 22:37 <+Amaranth> Only on vanilla? Does something CraftBukkit does break it? 22:37 < umby24> got a user saying he's having issues with it staying connected on bukkit 22:37 < umby24> havn't quite tested myself just yet 22:37 <+Amaranth> Alright well having a CraftBukkit developer trying to use it for benchmarking might help figure that out :P 22:37 < umby24> lol :P 22:38 < umby24> https://github.com/umby24/libMC.NET/blob/Modular-Refactor/TestClient/Program.cs thats a very basic client. Just connects, doesn't really parse chat very well, but it can talk. 22:41 <+Amaranth> hrm, .net 22:44 < sordd> I'm working on a 1.7.9 bot in Java... not very useful yet, considering I can't join online-mode servers 22:44 <+sadimusi> was mineflayer ever updated to 1.7? 22:45 < sordd> looks like only preliminary updates 22:45 < sordd> not fully 22:48 < sordd> Um, btw, does 526070614159799692758597421026500963614331106296 look like a typical server id hash? 22:50 <+sadimusi> not really 22:50 <+sadimusi> the hash should be hexadecimal 22:51 <+sadimusi> there are a few examples in the wiki: http://wiki.vg/Protocol_Encryption#Client 23:05 < sordd> got it, it's actually -5ec14416fc4a70b86d46b36b9d5b3ed002f5222b --- Day changed jeu. juin 19 2014 10:17 < rom1504> sadimusi: yeah not fully 10:17 < rom1504> some people are interested in upgrading it, but it seems they have little time to actually get it done ;) 10:18 < rom1504> I'd also like it to be upgraded though 10:18 < rom1504> my bot depends on it 13:02 < Not-cdc9> [mcprotocol] thinkofdeath pushed 1 commit to master [+0/-0/±14] http://git.io/F9jBTw 13:02 < Not-cdc9> [mcprotocol] thinkofdeath 68fd58f - 14w25b 15:12 < CCoder> Hello I have a question I am trying to send chat packet but I think I am doing something wrong because my client get disconnected this is my code: http://hastebin.com/yenoxaqaya.avrasm 16:06 < CCoder> Anyone please ? 16:13 < merlish> CCoder: are you writing a server, or a client? 16:13 < merlish> if you are writing a server then 0x02 is the correct code 16:13 < merlish> otherwise it looks like you should be using 0x01 16:13 < merlish> also 'A message longer than 100 characters will cause the server to kick the client.' 16:14 < CCoder> So packet 0x01 is also for sending chat message ? 16:15 < CCoder> merlish 16:15 < CCoder> I am writing to a server 16:15 < CCoder> C > S 16:15 < merlish> CCoder: compare http://wiki.vg/Protocol#Chat_Message and http://wiki.vg/Protocol#Chat_Message_2 16:15 < merlish> then you want the latter link, from the 'Serverbound' section 16:15 < merlish> the client should send only 0x01 16:16 < merlish> as in only that packet id, not 0x02 for chat 16:16 < merlish> it is the server that will send a client 0x02 to indicate chat 16:17 < merlish> er assuming i'm understanding 'clientbound' and 'serverbound' correctly... i'm pretty sure i am though 16:17 < merlish> bound as in towards 16:18 < CCoder> merlish thanks I though that 0x02 is for sending message, now it works thanks 16:22 < merlish> CCoder: glad to hear it 16:23 < CCoder> :) 17:49 < TkTech> Hah, github is featuring spigot. Under bash. 17:49 < M4GNV5> hey i have a simple question: ia there smth like the version.json also for server.jar files? ( http://s3.amazonaws.com/Minecraft.Download/versions/versions.json) 17:51 <+sadimusi> the versions in that file should work for the server jar as well 17:52 <+sadimusi> the files are called minecraft_server..jar iirc 17:53 < M4GNV5> ahhh okay thx :) maybe someone add this to http://wiki.vg/Game_Files 22:29 < sordd> Is the field "length of public key" at http://wiki.vg/Protocol#Encryption_Response a typo? Shouldn't it be "length of shared key"? 22:30 < sordd> Sorry, I mean "length of shared secret" 22:30 <+sadimusi> sure looks like it 22:30 < sordd> okay, that makes more sense :) --- Day changed ven. juin 20 2014 23:19 < Sparkingtons> Anyone up for helping me? Having trouble making a bot. Keep getting -1 sent back after I send the login start packet. 23:27 < Sparkingtons> Or not :c --- Day changed sam. juin 21 2014 00:18 < Not-cdc9> [Glowstone] SpaceManiac pushed 1 commit [+1/-0/±1] http://git.io/nDx38w 00:18 < Not-cdc9> [Glowstone] deathcap 1c86346 - Added /tellraw command (closes #124). 01:46 < Sparkingtons> Hello, is anyone up for helping me with a problem I have? 10:10 < CCoder> Hello I am trying to make my own client I can connect to server, everything is ok, but when there is Authme (login plugin) on server it kicks me right after I connect, in console there is this error: http://hastebin.com/fuwuxofuda.avrasm, but this error happens only with Authme, when I disable authme I can connect without any problem. Can anyone tell me what I am doing wrong ? 10:21 < CCoder> Somebody please ? 11:04 < Drainedsoul> sounds like you'd be better off asking the authors/maintainers of Authme 11:15 < CCoder> Maybe but they are not responding to questions 11:16 < Drainedsoul> Well people here aren't usually able to answer specific questions or solve specific problems related to specific modifications. We're usually concerned with technical details relating to vanilla Minecraft, which -- if I understand you -- isn't where your problem stems from 11:21 < CCoder> hm sorry ist not authme now I tried it once more and it seems like the error happens when I try to send command in 0x01 packet 11:21 < CCoder> and I have the same error 11:24 < CCoder> When I send this packet: http://hastebin.com/halubanuji.avrasm I got insta disconnected with error which I posted above 11:25 < Drainedsoul> when do you send this? 11:26 < Drainedsoul> what are you even trying to achieve 11:27 < CCoder> I send it after successful login when server returns me 0x02 packet 11:28 < CCoder> From my client I can send messages but when I try to send command I got that error 11:33 < CCoder> Ohh sorry I wans sending bad length what a stupid error I did 11:33 < CCoder> Sorry I have solved it out, anyway thank you :) 11:34 < Drainedsoul> I don't know what made you think "encoding" strings like that was a good idea 15:29 < Paprikachu> hi there 15:29 < Paprikachu> what exactly is contained in the data field of the map chunk bulk packet? 15:30 < Paprikachu> and do i need to send map chunk bulk to spawn the client, or is a bunch of Chunk Data packets also ok? 17:36 <+sadimusi> Paprikachu: http://wiki.vg/SMP_Map_Format#Data 17:36 < Paprikachu> thank you, already found it :) 17:37 <+sadimusi> did you also figure out if sending single chunks works as well? 19:45 <+Amaranth> sadimusi, Paprikachu: There are issues with sending chunks using the single chunk packet. Since that packet does double duty as the chunk unload packet you have to be careful when you're sending an empty chunk otherwise the client will interpret it as an unload request and odd things will happen 23:23 < Drainedsoul> Can someone remind me of the finer details of MC's implementation/use of VarInts? 23:24 <+SpaceManiac> Uh, normal, I think. 23:25 <+sadimusi> they removed all the fields which could be negative, right? 23:25 <+SpaceManiac> Not sure. I know it's fairly limited 23:25 <+sadimusi> I think they did 23:26 <+sadimusi> other than that you just have to be careful not to go over MAX_INT 23:27 < Drainedsoul> okay so they're limited to 32 bits? 23:27 <+sadimusi> not the varint itself, but the integer it decodes to 23:27 < Drainedsoul> mm-hmm 23:27 <+sadimusi> and since it's still signed you're left with only 31 bits 23:28 <+sadimusi> I just checked, negative values are no longer used in the protocol 23:29 < Drainedsoul> it's never negative, let's make it signed! /java logic 23:30 <+sadimusi> negative numbers were encoded as the 32 bit long two's complement instead of following the varint specs 23:31 < Drainedsoul> right, okay, that's what I was trying to remember last night 23:31 < Drainedsoul> but I guess if it doesn't happen anymore, it doesn't matter --- Day changed dim. juin 22 2014 02:03 < The_Gunny> Hello I've got a question about Ubuntu servers and the bukkit plugin messenger if anyone has any expertise in these areas. 02:04 <+SpaceManiac> You would probably have more luck asking the plugin's author 02:05 < The_Gunny> I would have to contact the makers of bukkit then. 02:06 < dx> this a whole new level of not knowing where to ask a question 02:06 <+SpaceManiac> If it's a question about writing Bukkit plugins, ask #bukkitdev on EsperNet 02:06 < dx> it's probably about general bukkit admin, so #bukkit on espernet 02:07 < The_Gunny> Actually for some reason my server is not allowing a plugin message to either come through to it, or send it out. It's been tested on other servers and it works fine, just doesn't work on mine. :/ 02:07 < dx> oh plugin messages, that makes more sense 02:08 < The_Gunny> I've been trying to debug it, but I'm honestly getting no where with figuring out where it's stopping. 02:08 < dx> The_Gunny: what kind of thing are you making? proxy? (bungee?) client mod? bukkit plugin? 02:09 < The_Gunny> It's actually a bukkit plugin. And as I said, it works fine on other servers, just not mine. 02:09 < dx> great, then #bukkitdev is the place you want to ask in 02:10 < The_Gunny> Okay. I was actually referred here. LOL 02:10 < dx> from where? 02:11 < The_Gunny> A friend, they said you guys would know more about protocol debugging to be able to figure it out. 02:11 < dx> oh. 02:11 < dx> uh. 02:11 < dx> well we do have this wiki page that might be useful for you http://wiki.vg/Debugging 02:12 < The_Gunny> Yeah I've read that. Just having an issue with pin-pointing my exact debug to see if I'm receiving it. 02:13 < dx> so... are there any proxies involved? like bungee, lilypad, etc 02:13 < The_Gunny> Like after the play, how would I tell if it's a plugin message I'm receiving versus normal minecraft chatter. 02:13 < dx> wot 02:14 < The_Gunny> Bungee is involved, but it's been tested on a bungee server before and it worked fine there. Honestly I believe that it's something with the server set-up itself but I'm not sure. 02:14 < dx> ok hold on, you said it's a bukkit plugin - is this a bukkit plugin that you are writing? 02:14 < The_Gunny> I've been a developer on the plugin for a couple of months. But I'm not the one that wrote the original code for that section. 02:15 < dx> neat. 02:15 < dx> and what is the sender of the plugin message? 02:16 < dx> assuming that the bukkit plugin is the receiver 02:17 < The_Gunny> The Plugin is CivCraft. The way it works is that it sends a set key that is encrypted to the player, which has a downloaded mod that will send back an encrypted message to the server. Somewhere in that it's not working correctly. Currently I'm using the debug protocol to find the packet and identify where it's stopping at. 02:18 < dx> ok so bukkit plugin talking with client mod 02:18 < The_Gunny> It's the messages like this [18:18:58] [Netty Client IO #4/DEBUG]: IN: [PLAY:25] hh[id=403143, rot=64] that I'm trying to figure out. Once I figure out exactly which one is the plugin messenger I should be able to track it down. 02:19 < dx> well according to what you said earlier, you're probably confusing them with chat messages 02:19 < Jailout2000> meh 02:19 < dx> The_Gunny: you want this http://wiki.vg/Protocol#Plugin_Message 02:19 < dx> Jailout2000: wot 02:21 < The_Gunny> Well I've got the network packets logged using the debugger here. http://wiki.vg/Debugging 02:21 < dx> The_Gunny: in the line you pasted, the "25" is the decimal packet id (hex 0x19, "Entity Head Look" in the protocol page), you want to look for 63 02:22 < The_Gunny> Okay, wasn't sure which number to look for. 02:23 < The_Gunny> I've got it down to the second when it's supposed to send the packet with server logs, just got to find it. 02:26 < The_Gunny> Okay, well by that number I'm not receiving the message 11:18 < M4GNV5> whats wrong with him: http://wiki.vg/Special:RecentChanges ? :D 11:22 < dx> are you referring to that spambot as "him"? 11:37 < M4GNV5> yes :D 16:44 < M4GNV5> dat activity ^^ 16:45 < dx> welcome to irc 16:48 < M4GNV5> :3 19:40 < Paprikachu> what is the role of the server regarding lighting? it seems to me that the client pretty much ignores server light anyways. 19:41 < Paprikachu> also, what's the purpose of unloading chunks at all? 19:41 < dexter0> Server and Client compute lighting idependently. 19:42 < Paprikachu> why is it sent to the client then 19:42 <+sadimusi> dexter0: that's not entirely true 19:42 < dexter0> When the server first sends a chunk, it contains lighting information. 19:42 <+sadimusi> the client only recalculates the lighting if something changes --- Day changed mar. juin 24 2014 08:50 < ackpacket> The minecraft protocol documentation used to contain some examples of bytes flying back and forth between a server and notchian client. Can't seem to find it anymore, has anyone seen it? 08:51 <+sadimusi> that was probably never updated for newer protocols 08:52 <+sadimusi> but you can easily capture some data with wireshark if you need it 08:52 < ackpacket> ah. Figured that might be it. Damn... I could really use that to see if what i'm doing is gibberish or not 08:52 < ackpacket> Wireshark wouldn't get past the encryption though, right? 08:52 < ackpacket> So anything past the handshake/login wouldn't be friendly 08:53 <+sadimusi> you can try it in offline mode if you're not interested in the encryption handshake 08:53 <+sadimusi> are you writing a parser? 08:53 < dx> there are a few here http://wiki.vg/Server_List_Ping 08:54 < ackpacket> Eh, have some free time and wanted to make as intelligent a bot as possible in python. If it works out, start a git and let people enjoy 08:54 < ackpacket> I'd like to specify some coords and have the bot pathfind it's way to them. Sounds interesting enough. 08:55 <+sadimusi> if you really want to let the people enjoy it you should just update mineflayer ;) 08:55 < dx> there's also https://github.com/nickelpro/spock 08:55 < ackpacket> I need the workout lol 08:56 < dx> it's going to be a much better use of your time to use an existing protocol implementation 08:56 <+sadimusi> hm never heard of spock before 08:56 < dx> oh also https://github.com/ammaraskar/pyCraft 08:57 < ackpacket> After sending the first two packets to the server I get this back: ['0xbc', '0x1', '0x1', '0x10', '0x37', '0x30', '0x63' .... etc Since the first two bytes are a varint, does that mean 0x1 is the length of the server name string? 08:57 < ackpacket> er... server ID i mean 08:57 < ackpacket> I thought it would be something meaningful or empty 08:57 <+sadimusi> that's probably the packet id 08:57 < dx> actually nevermind ignore that pycraft, i thought he had updated it to 1.7 but nope. 08:57 < ackpacket> smh you're right 08:58 < ackpacket> so 0x10 is the serverID string length 08:59 <+sadimusi> no, the length of the server id is just 0x0 08:59 <+sadimusi> it's a varint 09:00 <+sadimusi> wait, what server are you testing with? 09:00 <+sadimusi> your dump looks unusual 09:00 < ackpacket> if i'm getting ['0xbc', '0x1', '0x1', '0x10', '0x37', '0x30', '0x63' 1.7....6 i think, let me check 09:00 < ackpacket> sorry, two seperate thoughts 09:00 < ackpacket> working on overkill.hcraid.com 09:00 <+sadimusi> the length /should/ be 0, but in your case it seems indeed to be 1 09:01 < ackpacket> no, 0x10 right? 09:01 < ackpacket> 0xbc + 0x1 form a varint 09:01 < ackpacket> 0x1 has to be the packet id 09:01 <+sadimusi> ah right 09:02 < ackpacket> see where i'm confused? My guess is that I sent some malformed packets, and the server is responding as such, but I have no idea what a server *should* respond with when it receives a bad packet 09:02 <+sadimusi> the string seems to be a number 09:02 <+SpaceManiac> some servers do put stuff in the server ID field, IIRC 09:03 < ackpacket> fair enough, let me grab those 16 bytes and decode 09:04 <+sadimusi> spock's protocol definition looks a but incomplete to me https://github.com/nickelpro/spock/blob/master/spock/mcp/mcdata.py#L491 09:04 <+sadimusi> sure you can do that now with packet lengths and everything, but I wouldn't want to work with incompletely parsed packets 09:06 <+sadimusi> never mind, everything complex is defined in another location in an absolutely unreadable format m( 09:06 <+SpaceManiac> I like Construct for doing these kinds of things in Python 09:08 <+sadimusi> I really liked my short but flexible definitions in mc4p, I should really update that to 1.7 sometime https://github.com/sadimusi/mc4p/blob/master/mc4p/messages.py#L577 09:09 <+SpaceManiac> That "Server ID" field is used as part of the hash for encryption purposes 09:09 <+sadimusi> yeah, but newer servers usually leave it empty 09:09 <+sadimusi> the public key is enough for the has 09:09 <+sadimusi> *hash 09:09 < ackpacket> SpaceManiac: where did you see that? 09:09 < ackpacket> the serverID is used in the has? 09:10 <+sadimusi> http://wiki.vg/Protocol_Encryption#Authentication 09:10 <+SpaceManiac> ^ 09:10 <+SpaceManiac> Glowstone uses 16 random hex digits 09:10 <+SpaceManiac> IIRC 09:10 < ackpacket> It says for 1.7.x it should be empty since the public key is used in the hash, no? 09:10 < dx> bravo uses construct, but not updated to 1.7 either :( https://github.com/bravoserver/bravo/blob/master/bravo/beta/packets.py 09:11 <+SpaceManiac> It depends on the server