12:57 < MrARM> 2 I think 12:57 < MrARM> Yes, 2 13:00 < MrARM> anyway, is reviving a negative walking and flying speed normal? 13:01 < MrARM> sorry, I read int instead of byte 14:41 < Jckf> Does this count as a lib, or a code snippet? https://gist.github.com/Jckf/7872337 14:43 < MrARM> I think it's a lib 14:58 < Jckf> That's what I was thinking. Published here http://wiki.vg/Library_List 18:03 < TkTech> nerd323: This is not an "official" channel. 20:00 < skarlitz> Quick question, when the protocol docs refer to "VarInts", do they mean signed or unsigned? I'd assume the handshake packet's signage would be unsigned since you can't have a negative length, but what about others? 20:02 < SinZ> there are no negative varints in 1.7.x afaik 20:02 < skarlitz> M'kay, thank you. 20:36 < nickelpro> No one likes to entirely follow the VarInt spec, Starbound packs them big-endian for example despite the spec very clearly saying they're supposed to be packed least significant group first 20:37 < nickelpro> Minecraft (used to) pack signed values into unsigned varints 22:23 < williamtdr> Hello! 22:24 < Thinkofdeath> hey 22:38 < nickelpro> sup --- Day changed mar. déc. 10 2013 00:59 < williamtdr> OK, so is anyone here familiar with the ins and outs of Pocket Edition client bugs? 01:00 < williamtdr> I'm having an issue where players are sometimes invisible on my servers, and it seems to happen randomly, to random people. Those who are invisible for some may not be invisible for others. 01:00 < williamtdr> And vise versa. 01:03 <+SirCmpwn> talk to shogchip when he shows up 01:03 < williamtdr> SirChojin: He says he's too busy. :/ 01:07 < TkTech> Wait...does minecraftwiki no longer exist? 01:07 < nickelpro> TkTech: works for me 01:07 < TkTech> Ah...it's a subdomain of gamepedia.com now...that seems odd... 01:08 < nickelpro> Curses wanted to consolidate its gamewikis under one umbrella 01:11 < SinZ> its just Curse playing monopoly, nothing new 01:19 < TkTech> That seems...odd. The minecraftwiki.org domain has so much more umph behind it as far as branding and inbound links... 02:06 < williamtdr> md_5: Hello! 02:22 < KnownUnown> TkTech: minecraftwiki.org still redirects to the gamepedia one :) 05:02 < Not-002> [fNbt] fragmer pushed 1 commit to master [+3/-1/±3] http://git.io/R3vRtg 05:03 < Not-002> [fNbt] fragmer 3a4e8ef - Added NullPolicyAttribute, and NullPolicy enum for it. This replaces the more-rigid IgnoreOnNullAttribute. 09:28 < Not-002> [fNbt] fragmer pushed 3 commits to master [+0/-0/±5] http://git.io/KiiwfQ 09:28 < Not-002> [fNbt] fragmer 1a46e55 - Added ability to serialize NbtFile properties in NbtSerializationGen 09:28 < Not-002> [fNbt] fragmer 8151ec5 - Added null-handling code for NbtFile properties. 09:28 < Not-002> [fNbt] fragmer adc2309 - Implemented serialization of NbtTag properties. 19:42 < SinZ> Is there any difference in protocol between 1.7.2 and 1.7.4? 19:43 < Dinnerbone> No. 19:43 < SinZ> Nice 23:07 < williamtdr> People don't talk much in here. :) 23:07 < shoghicp> It uses to be quiet for long periods of time 23:08 < shoghicp> then, suddenly, I have a backlog of thousands of lines 23:32 < williamtdr> It's like a library... --- Day changed mer. déc. 11 2013 00:19 < Not-002> [fNbt] fragmer pushed 2 commits to master [+0/-0/±2] http://git.io/uSjCWw 00:19 < Not-002> [fNbt] fragmer a1e0aaa - Added NullPolicyAttribute support for ILists of primitive types. 00:19 < Not-002> [fNbt] fragmer b9a2000 - Started on a global cache for NbtSerialize functions 03:21 < Not-002> [fNbt] fragmer pushed 1 commit to master [+0/-0/±1] http://git.io/8toarg 03:21 < Not-002> [fNbt] fragmer f2f0fd0 - NbtSerializationGen: Added support for Enum properties; got the global cache working; now printing the compiled expression tree when in debug mode. 04:42 < Not-002> [fNbt] fragmer pushed 1 commit to master [+0/-0/±1] http://git.io/E5M-ZQ 04:42 < Not-002> [fNbt] fragmer 136acaf - NbtSerializationGen: Removed an unnecessary cast in the expression tree generated by MakeTagForPrimitiveType, and named the local vars. 07:52 < Not-002> [fNbt] fragmer pushed 2 commits to master [+0/-0/±3] http://git.io/YFUOjA 07:52 < Not-002> [fNbt] fragmer 1b3dba4 - Disabled running code analysis every time the project is built. 07:52 < Not-002> [fNbt] fragmer ed92fb4 - NbtSerializationGen: Added support for serializing ILists of any type (except ILists-of-ILists, for now). Fixed a few bugs along the way. 08:20 < Drainedsoul> I keep hoping I'll see commits to other C++ projects :( 11:01 < Not-002> [fNbt] fragmer pushed 1 commit to master [+0/-0/±2] http://git.io/SVScGA 11:01 < Not-002> [fNbt] fragmer 087d472 - NbtSerializationGen: Added support for lists-of-lists and lists-of-enums. 13:00 < Not-002> [fNbt] fragmer pushed 1 commit to master [+0/-0/±1] http://git.io/Wo-WtA 13:00 < Not-002> [fNbt] fragmer 015f57a - Added a way to debug compiled Nbt serialization code (define DEBUG_NBTSERIALIZE_COMPILER to enable). Fixed a bug in serializing ILists of primitive types that do not directly map to NBT types (missing cast). Fixed a bug in serializing complex compound tags, or ILists of such types. 17:37 <+sadimusi> md_5: did you somehow disable the old query in spigot or bungee? 17:42 < SinZ> server list ping, or query? 17:42 <+sadimusi> server list ping 17:42 < Thinkofdeath> sadimusi: Bungee expects the legacy ping to start with 0xFE01FA not just 0xFE01 like some sites used to send 17:42 <+sadimusi> some of the big networks started to return an empty string recently 17:43 <+sadimusi> Thinkofdeath: that's what I'm sending 17:44 < Thinkofdeath> Well pinging a 1.7 bungee with a 1.6 client works fine here 17:46 <+sadimusi> just noticed that it's not just an empty string but a completely empty payload, which makes a bit more sense 17:46 <+sadimusi> the server just disconnects me 20:10 < jj2baile> }/win 20 22:13 < shoghicp> registered all of them xD 22:14 < shoghicp> oops, wrong channel 22:15 < dx> reported you to the freenode police 22:16 < shoghicp> :( 22:18 < dx> do we have any proxies updated to 1.7 already? 22:19 < dx> or did everyone find a better way to debug protocol issues? 22:25 < Thinkofdeath> dx: Its builtin now 22:25 < dx> Thinkofdeath: the log4j stuff? 22:25 < Thinkofdeath> yeah 22:26 < dx> hm fair enough --- Day changed jeu. déc. 12 2013 15:59 < skarlitz> Any ideas on how to invoke a method within a separate thread? I'm trying to write an event handler that'll alert task threads of an incoming event so they can respond appropriately. I haven't exactly found any useful answers online, as most people point to Executors, which are a Java 7 feature, but I'm targeting Java 6. 16:00 < dx> maybe the answer isn't threads 16:01 < dx> unless you're using threads already, in that case, well, that sucks 16:03 < skarlitz> How would I pass data between threads then? Suppose I have an input thread for networking and an output thread. 16:03 < skarlitz> (I did solve the issue with networking, by the way. My code was completely correct, except for that I had forgotten to prefix string lengths.) 17:54 < Griffin829> hello 17:54 < Thinkofdeath> Hey 17:54 < Griffin829> anyone know how i can extract the Packet 0x0C(Player join) i have my owne proxy but i need the playername nad the playername is in the Packet JoinGame 17:54 < Thinkofdeath> 0x0C is spawn player 17:55 < Griffin829> yes i know but the packet contains the playername+ 17:55 <+sadimusi> Griffin829: does your proxy already parse the protocol? 17:58 < Griffin829> no its a simple java proxy 17:58 <+sadimusi> it does nothing at all? 18:00 * dx forks socat and calls it mc5p 18:00 <+sadimusi> Griffin829: if you want to extract any packet after encryption is enabled you have to at least reencrypt everything 18:00 <+sadimusi> dx: socat? 18:00 < Griffin829> oh 18:01 < dx> sadimusi: http://www.dest-unreach.org/socat/ 18:01 < dx> like netcat on steroids 18:01 < dx> useful for ad-hoc proxies 18:01 <+sadimusi> dx: looks nice 18:02 <+sadimusi> Griffin829: the username might be sent in a packet before encryption is enabled 18:02 <+sadimusi> Griffin829: what is your usage scenario anyway? 18:03 < dx> actually "mc2p" might be a better name. removing the "parsing" from "minecraft protocol parsing proxy" 18:03 <+sadimusi> remove the "minecraft" and "protocol" as well and you get 1p :D 18:03 < dx> :D 18:04 < Griffin829> what a packet sadimusi i have looked at wiki.vg 18:04 <+sadimusi> this one http://wiki.vg/Protocol#Login_Start 18:04 < Griffin829> facepalm 18:05 < Griffin829> and how i can read thr contains of the packet? 18:05 < jj2baile> What is the meaning of proxy in this context? What is the purpose of a "minecraft proxy"? 18:06 < Griffin829> we have more root servers 18:06 <+sadimusi> Griffin829: you just make your proxy parse packet after packet until it encounters the correct id in the right context 18:06 < Thinkofdeath> jj2baile: I guessing something like bungeecord 18:06 < Griffin829> and the proxy spliitting the users 18:06 < skarlitz> So, sorry I left. Again, my question still remains, how do you pass data between threads? (Such as passing the data of a received packet from a network input thread to a processing thread? 18:06 <+sadimusi> that sounds like you should be using bungeecord 18:06 <+sadimusi> skarlitz: some kind of queue 18:07 < skarlitz> sadimusi: Please explain 18:07 < Griffin829> Domain->Proxy->First Root->Our Proxy->BungeeCord->Servers 18:07 <+sadimusi> that sounds like too many proxies 18:07 <+sadimusi> may I ask which network you belong to? 18:09 <+sadimusi> I'm still not entirely sure what your proxy should do in the end. split up players based on username? 18:09 < skarlitz> I don't understand how you could actually pass data around without making the fields static. 18:09 < Griffin829> no but i need the username for a hashmap 18:10 < Griffin829> to get the socket by a username 18:10 < Griffin829> or a username by socket 18:10 < Griffin829> to log when a operator joins to check permissions bans the ip etc.. 18:11 < Thinkofdeath> You'll need more than the username for that 18:11 < Thinkofdeath> Usernames can be faked, you will need to go through the auth process to check it 18:12 < Griffin829> or i save the username and check if the packet join game has been sendet 18:12 <+sadimusi> Thinkofdeath: the real server will check that 18:12 <+sadimusi> Griffin829: why don't you just make this a plugin for the server itself? 18:12 < Griffin829> so i can check it's npt a fake and i can get the username 18:12 < dx> actually, aren't we forced to do auth at the first proxy now? 18:13 < dx> auth and encryption 18:13 < Griffin829> bungeecord need a lot of cpu usage 18:13 <+sadimusi> dx: not if you don't need to decrypt traffic 18:13 < Thinkofdeath> sadimusi: He said about checking permissions, I assumed he was going to more with it 18:13 < Griffin829> because our hoster has a **** start script 18:13 <+sadimusi> you have multiple servers behind bungee but can't change your start script? 18:14 < skarlitz> Talk to your hoster? 18:15 < dx> you're coding your own proxy while still using managed minecraft hosting? 18:15 < dx> pretty weird situation 18:16 <+sadimusi> I still have no idea what you really want to do, but the best solution is probably to fork bungee and put it in there 18:16 < dx> or bungee plugins 18:16 <+sadimusi> didn't know those existed 18:17 <+sadimusi> but sure, a plugin should be enough 18:17 <+sadimusi> I really can't think of a scenario where you would need more than one proxy 18:17 < dx> never bothered to check what the api provides, but they seem to be a lot like bukkit plugins 18:22 < Griffin829> i'm back 18:22 < dx> WELCOME 18:25 < skarlitz> dx: How else would I pass data from a network input thread to a processing thread? I don't think there'd be any other way. Queues were suggested but I'm not sure how one would do it. 18:25 < skarlitz> Wouldn't you need to make them static? 18:27 < TkTech> http://en.wikipedia.org/wiki/Queue_(abstract_data_type) 18:27 < TkTech> http://en.wikipedia.org/wiki/Mutual_exclusion 18:28 < TkTech> http://people.cs.pitt.edu/~jacklange/teaching/cs2510-f12/papers/implementing_lock_free.pdf 18:28 < dx> :D 18:28 < skarlitz> TkTech: Thank you. 18:29 < dx> skarlitz: i don't really know about java threading apis (or much about java in general), but i meant it's better to avoid threads completely 18:29 < dx> unless they are already part of your program design, in that case, go ahead and have fun. 18:29 < skarlitz> dx: They're necessary for networking. It'll block up the rest of the program because it's so busy processing network packets. 18:30 < skarlitz> From my understanding, at least. If somebody is willing to correct me, go ahead. 18:30 < dx> skarlitz: that's why nonblocking sockets / async networking was invented. but that's a different way of designing stuff, i'm not going to force you to rewrite it all 18:31 < skarlitz> There is Netty.io, but I prefer to stay away from any libraries other than the one included with Java itself. 18:32 < dx> java has java.nio.* 18:32 < dx> ...and that's all i know 18:33 < skarlitz> I haven't looked into NIO. And thanks though. :) 18:35 < jj2baile> Do most people doing mc development use java? 18:35 < dx> overall? probably yes. in this channel? probably not. 18:35 < jj2baile> Oh, what causes this channel to deviate? 18:36 <+clonejo> other languages are nicer? o_O 18:36 < shoghicp> me 18:36 < skarlitz> Generally, a lot of MC development is centered around the modification of the client or the server, though others making projects from scratch either choose Java because it's cross platform, like MC, or they choose other languages because they're typically a lot better than Java. 18:37 < dx> we redirect people who are dealing with bukkit / mcp to other channels 18:37 < skarlitz> Python's pretty popular. 18:37 < dx> and keep all the nice languages for ourselves 18:37 <+clonejo> :3 18:38 < TkTech> Python's popularity with Minecraft probably stems from all of the original RE work being done by Python devs. 18:39 < jj2baile> Seems fair. 18:39 < skarlitz> RE? 18:39 < shoghicp> reverse engineering 18:39 < skarlitz> Ah. 18:40 < dx> TkTech: but tbh the real reason is that python is the best language ever and it's completely flawless 18:40 * dx is not a fanboy 18:40 < jj2baile> =P 18:40 < skarlitz> Well there's also Python is friendlier than Java and provides a lot of the same benefits such as widespread use and being cross platform . 18:40 < TkTech> ylt, Aera, and myself are all python devs and we started the wiki. Before that a lot of the classic work was also done in Python (but classic is much simpler) 18:40 < TkTech> So all the psuedo-code, libraries and other snippets were always python 18:42 < jj2baile> How'd you go about reversing the protocol? Just a lot of data inspection? 18:42 < shoghicp> and other things... 18:42 < skarlitz> "Other things". 18:43 < shoghicp> developing tools to ease the reverse engineering 18:43 < shoghicp> looking up code 18:43 < skarlitz> Yeh. 18:43 < shoghicp> in my case... looking up ARM assembly xD 18:43 < jj2baile> Looking up what kind of code? And what variety of tools found themselves useful? 18:43 < jj2baile> Oh. I see :p 18:43 < skarlitz> I think thinkofdeath has a tool for reverse engineering built in C. 18:44 < skarlitz> Might've been someone else though. And MCP provides source code for the Minecraft client/server, so it's an invaluable resource for RE guys who're trying to document the protocol. 18:44 < shoghicp> p.wiki.vg is the result of my experience in ARM xD 18:45 < shoghicp> skarlitz: yeah, that really helps 18:45 < dx> shoghicp: so you've dealt directly with ARM asm and then implemented it in php. how.. constrasting. 18:45 < dx> *contrasting 18:45 < shoghicp> my PHP is not normal php 18:45 < skarlitz> What differentiates? 18:45 < shoghicp> I've to release specific builds because the normal ones... crashes 18:46 < skarlitz> Ah. 18:46 < shoghicp> also, multiple threads 18:47 < shoghicp> and heavy usage of "ticks" 18:47 < skarlitz> jj2baile: If you didn't know: http://mcp.ocean-labs.de/page.php?4 18:48 < skarlitz> Unfortunately the MCP guys don't have a kit for 1.7.2 that I know of yet, but I'm pretty sure the Bukkit devs have one. 18:50 < jj2baile> ah I see, decompiled minecraft source. 18:50 < jj2baile> That certainly seems valueable 18:50 < dx> there's https://github.com/Bukkit/mc-dev (not related to this channel at all) 18:50 < dx> but they only give names to classes 18:50 < jj2baile> Wait i might've played with mcp a few years back, come to think of it 18:51 <+sadimusi> jj2baile: we used to have completely automated tools to extract the protocol from a minecraft jar http://b.wiki.vg/1.6.2#packets 18:51 < jj2baile> I made TNT do ridiculous things, and then i forgot about it. 18:51 <+sadimusi> jj2baile: unfortunately 1.7 broke most of them 18:51 < jj2baile> Aha. 18:51 < skarlitz> How did it automate the task? 18:52 <+sadimusi> with python of course ;) https://github.com/mcdevs/Burger/ 18:53 < skarlitz> Yeah, 1.7 killed a lot of stuff. 18:53 < jj2baile> How susceptible is java bytecode to decompilation? 18:53 < skarlitz> Extremely. 18:54 < skarlitz> In fact, you might not even have to bother with decompilation. Some people can look at the bytecode and figure it out from there. 18:54 < jj2baile> =P Aha. llvm ir is pretty readable but i've never looked at java bytecode 18:55 < skarlitz> MCP used a decompiler called fernflower and there's another decompiler called JD-GUI, has a nice GUI and everything. It's easy to pick apart most programs that have no protection (like obfuscation). 18:58 < skarlitz> If you don't want your code to be nabbed, you could write in C, or anything else that compiles to a binary. 18:59 < jj2baile> x86 assembly isn't toooo bad to read =) 19:00 < skarlitz> True enough, but most people lack the skill (or will) to pick through assembly. 19:00 < jj2baile> but of course, it isn't trivially decompileable. 19:25 < TkTech> That's how it was done for burger. View the bytecode, find the pattern, then make sense of it. 20:23 < semendickman> hey 20:24 < semendickman> i want help im complete noob..what is a handshake? and can you give me example im making a tcp connection 20:24 < semendickman> please anybody who can help me? 20:24 < semendickman> i want help im complete noob..what is a handshake? and can you give me example im making a tcp connection 20:24 < MrARM> what programming language? 20:24 < semendickman> python 20:25 < MrARM> sorry, I don't know python well 20:25 < semendickman> i dont know how to make a handshake ...the packet form... 20:25 < semendickman> no no just want the encoding of the string im sending 20:25 < MrARM> Did you got the socket part? 20:25 < semendickman> now im sending to the server this "Hello World" 20:25 < semendickman> yes yes i connected to server 20:25 < semendickman> now have to make a login 20:26 < MrARM> just send (length as VarInt), 0x00, the packet spec 20:26 < semendickman> and hello world in ascii encoding 20:26 < semendickman> length as var int? 20:26 < semendickman> please i cant understand that please help 20:26 < MrARM> no, all those things are utf8 20:26 < MrARM> var int, there is a python library 20:26 < semendickman> utf 8 done thanks 20:26 < MrARM> VarInt 20:26 < semendickman> alright and what i do? 20:27 < MrARM> to send string you have to prefix it with length as VarInt 20:27 < semendickman> can you give me an example 20:27 < semendickman> i sent Hello world 20:27 < MrARM> eg. 20:27 < semendickman> server returned me this ''b 20:27 < semendickman> received data: b'' 20:27 < MrARM> "Hello world".length = 11 20:28 < MrARM> sendVarInt (11) 20:28 < semendickman> yes 20:28 < MrARM> sendString (string) 20:28 < semendickman> please help i dont understand 20:28 < MrARM> also, server isn't going to ping you back with string 20:28 < semendickman> this is what i got when i sent a "hello world" 20:28 < semendickman> received data: b'' 20:29 < MrARM> server won't send you hello world back, it sends you EOF 20:29 < MrARM> (end of stream) 20:29 < nickelpro> Check the client list on wiki.vg, Spock has a working handshake implementation 20:31 < MrARM> anyway, I haven't worked on my client recently 20:31 < MrARM> I have gotten the most to work, so I should publish it in the nearest time 20:32 < noobdev> mrarms 20:32 < MrARM> yes 20:32 < noobdev> im sorry i have been disconnected 20:32 < noobdev> can you repeat please 20:32 < MrARM> server won't send you Hello world it will send you Eof 20:32 < noobdev> MrArms im semen dickman please can you repeat? 20:33 < MrARM> (end of stream) 20:33 < noobdev> what you mean? 20:33 < dx> ._. 20:33 < MrARM> that it just closes connection 20:33 < noobdev> im sending this 20:33 < noobdev> s.send(bytes(MESSAGE, encoding='utf-8')) 20:33 < noobdev> s.send(bytes(MESSAGE, encoding='utf-8')) 20:33 < noobdev> what should i put inside message to make a login? 20:33 < MrARM> nope, it isn't correct way to send string 20:34 < noobdev> please tell me 20:34 < MrARM> you make for 1.7.3? 20:34 < noobdev> no 1.7.2 20:34 < MrARM> the same, as Donner bone said 20:34 < noobdev> donner bone? 20:34 < dx> we need like a standard copy-pastable message saying a polite version of "you aren't going to get too far" 20:34 < noobdev> whats that? 20:34 < noobdev> "Hello, World!" 20:34 < noobdev> ???? 20:35 < MrARM> *Dinnerbone 20:35 < shoghicp> you pinged him! 20:35 < MrARM> my keyboard auto corrects it 20:35 < MrARM> no... 20:35 < noobdev> oaky dinnerbone..whats that? 20:35 < noobdev> okay okay 20:35 < noobdev> can you help me? 20:35 * dx calls the ping police 20:35 < MrARM> if you do * it shouldn't 20:35 < noobdev> the fuck you guys troll? 20:35 < shoghicp> if you do *shoghicp it still pings me xD 20:36 < noobdev> CAN ANYONE FUCKING HELP ME PLEASE 20:36 < MrARM> I haven't heard about a client which does check for contains 20:36 < dx> noobdev: dinner-bone is one of the minecraft developers. he is in this channel and we have rules saying that we must not mention his name. 20:37 < shoghicp> noobdev: also, be polite 20:37 < MrARM> noobdev so to send a packet you need it's length 20:37 < MrARM> there are different ideas to do it 20:38 < dx> MrARM: protip: don't waste your time 20:38 < MrARM> heh 20:38 < noobdev> heyy 20:38 < noobdev> MrArm 20:39 < dx> conveniently unstable connection 20:39 < noobdev> MRARM YOU THERE? 20:39 < noobdev> dx 20:39 < noobdev> anybody who can help me? 20:39 < MrARM> noobdev there are different ideas to send packet length 20:39 < noobdev> okay im sending like this 20:39 < MrARM> as it has to be the first send data 20:39 < noobdev> s.send(bytes("MESSAGE", encoding='utf-8')) 20:39 < Thinkofdeath> noobdev: Don't jump into Minecraft networking without knowing the basics 20:39 < noobdev> what should i replace with message 20:39 < dav1d> \x00 20:40 < noobdev> okay thinkofdeath 20:40 < noobdev> x00? 20:40 < MrARM> When I first started writing my client I didn't know what's wrong 20:40 < dav1d> no 20:40 < dav1d> \x00 20:40 < zh32> noobdev, this is how you send a handshake in python https://gist.github.com/barneygale/1209061#file-gistfile1-py-L28 20:40 < noobdev> okay let me try 20:40 < noobdev> thanks 20:40 < zh32> (+ status request) 20:40 < noobdev> thanks zh and everybody 20:41 < dav1d> man my trolls are too good 20:41 < MrARM> I was just sending short instead of VarInt as string 20:41 < MrARM> heh 20:42 < noobdev> can you help me with this one ..i think its for handshake .i cant understand tried googling but doesnt work 20:42 < noobdev> s.send(pack_data("\x00\x00" + pack_data(host.encode('utf8')) + pack_port(port) + "\x01")) 20:44 < noobdev> whats a JSON :D 20:46 < shoghicp> http://www.json.org/ 20:46 * MrARM says: HEEELP! NOOB... DEV! 20:47 < MrARM> I don't see json in it 20:47 < shoghicp> sadimusi: ^ 20:47 < shoghicp> the join 20:47 < MrARM> semen there is /nick 20:49 < semendickman> yes? 20:49 < semendickman> there is? 20:49 < Flemmard> and then there's /dick 20:49 < MrARM> semen I think you are new to IRC, but nvm 20:49 < MrARM> lol 20:50 < shoghicp> MrARM: range of noobdev 117.206.x.x, and he already changed IPs 20:50 < shoghicp> see? 20:51 < MrARM> nope 20:51 < shoghicp> he just wants to waste our time 20:51 < shoghicp> MrARM: he joins, the last one leaves 20:51 < MrARM> my client doesn't show it 20:51 < shoghicp> so, it os another ip in the same range 20:51 < Flemmard> i must admin there's creativity 20:51 < Flemmard> admit 20:51 < Flemmard> lol 20:51 < MrARM> shoghicp I think he's going to make a client without any knowledge 20:51 < shoghicp> besides that 20:52 < shoghicp> he is just trolling right now 20:52 < MrARM> Flemmard he just restart 3g probably 20:52 < shoghicp> yep 20:52 < MrARM> or goes through the city and gets free hot spots 20:52 < shoghicp> only if they have the same provider 20:52 < shoghicp> so 3g is likely 20:52 < MrARM> and as soon he goes thought range of one, it changes to other 20:53 < MrARM> but it takes time to restart 3g 20:53 < MrARM> (I use 3g all the time) 20:53 < noobdev> hello 20:53 < Flemmard> some isp's still doesnt have fix ips 20:53 < Flemmard> static 20:53 < noobdev> zh32 20:53 < Calinou> dynamic IPs are cheaper? 20:53 < noobdev> zh32 20:53 < noobdev> zh32 20:54 < MrARM> I know! He has two devices! 20:54 < Flemmard> dunno 20:54 < shoghicp> The IP has changed each time he connected 20:54 < noobdev> who me? 20:54 < Flemmard> but anyway 20:54 < Flemmard> who cares? 20:54 < noobdev> i do 20:54 < noobdev> i care nigga 20:54 < MrARM> he disables 3g on one, starts on second, so he has smooth with disconnecting 20:54 < shoghicp> MrARM: so, you are doing a MC client for... phones? 20:55 < MrARM> likely 20:55 < MrARM> written in Java 20:55 < shoghicp> hmm, time to release the MC plugin for PocketMine xD 20:55 < noobdev> ARE YOU GUYS OFFICIAL? 20:55 < MrARM> shoghicp but it's going to be Java 20:56 < MrARM> mcpemodder..? 20:56 < shoghicp> mcpemodder: I saw you in #pocketmine :) 20:56 < mcpemodder> yes 20:57 < MrARM> shoghicp do you write in notepad or an IDE? 20:57 < shoghicp> Notepad++ 20:57 < shoghicp> or Geany 20:57 < noobdev> zh32 20:57 < noobdev> 3 20:57 < noobdev> aef 20:57 < noobdev> eas 20:57 < noobdev> fg 20:57 < noobdev> wg 20:57 < noobdev> wr 20:57 < noobdev> g 20:57 < noobdev> werg 20:57 < noobdev> werg 20:57 < noobdev> ok;k; 20:57 < MrARM> Geany? 20:57 < noobdev> kohukoyi 20:57 < noobdev> ryrfyj 20:57 < noobdev> rty 20:57 < noobdev> jf 20:57 < noobdev> f 20:57 < shoghicp> somebody kick him and ban his range 20:57 < MrARM> BAN NOOBDEV!!! 20:57 < noobdev> ohh sorry 20:57 < shoghicp> from this moment, he is ignored by me xD 20:57 < noobdev> i thought i was dced 20:58 < MrARM> mcpemodder you know who bow 20:58 < noobdev> come one dont be like that i thought im dced 20:58 < MrARM> now 20:58 < MrARM> noobdev there is no excuse for spamming 20:58 < shoghicp> hint: /IGNORE *!*@*117.206.* 20:58 < noobdev> dude i have hotspot? 20:58 < noobdev> so i can come here again 20:58 < MrARM> LOL 20:59 < noobdev> trying to be smartass shoghicp? 20:59 < mcpemodder> yeah, just...lol 21:00 < MrARM> shoghicp I think that's only for PMs thought 21:00 < MrARM> noobdev You meant hotspots? 21:00 < shoghicp> MrARM: no, I didn't see anything from the "f" 21:00 < noobdev> no no 21:00 < noobdev> hotspotshield 21:00 < noobdev> heyy MrArm 21:00 < MrARM> hotspotshield? 21:01 < noobdev> yes thats what it is 21:01 < shoghicp> ? 21:01 < MrARM> or hotspotshields? 21:01 < noobdev> i dont even know sir 21:02 < MrARM> looks like he has only one device. .. 21:02 < noobdev> ya okay one device 21:02 < MrARM> heh 21:02 < noobdev> can anyone help me? 21:02 < noobdev> im just asking nice why you people ignore me 21:02 < MrARM> NO 21:03 < MrARM> you got a help 21:03 < noobdev> where? 21:04 <+pdelvo> my advice: Get a book and learn how to code. And maybe a book about good manners 21:06 < MrARM> eggy you noobdev? 21:06 < shoghicp> no he isn't xD 21:06 < eggy> no, I am not :P 21:06 <+pdelvo> I hope he just does what i told him. lol 21:06 < eggy> blame shoghicp for me being here (: 21:07 * dx reads up 21:07 < dx> lol. 21:07 < zh32> pdelvo o/ 21:07 <+pdelvo> o/ 21:07 < MrARM> eggy are you related to noobdev? 21:08 < dx> are you noobdev's father? 21:08 < MrARM> wait 21:08 < barneygale> what is going on in this channel :/ 21:08 < MrARM> here's a message 4 u" 21:08 < MrARM> If you are trying to read line the response i really doubt you will ever get it to work. . 21:08 < shoghicp> MrARM: hint: he could delete your post on PM Forums 21:08 < MrARM> ? 21:08 < dx> barneygale: some 13 year old kid joined and... i dunno, i stopped paying attention 21:08 < shoghicp> eggy 21:09 < jj2baile> names 21:09 < eggy> I have no relation to this noobdev person. 21:09 < shoghicp> dx: we get 7-9 year old kids over #pocketmine 21:09 < mcpemodder> lol 21:09 < barneygale> minecraft development is not suitable for 7-9 year olds 21:09 < barneygale> unless they're especially bright 21:09 < dx> shoghicp: is any of them polite? 21:09 < MrARM> shoghicp who? 21:10 < shoghicp> dx: of the ones I knew the age, only one of them 21:11 < shoghicp> they get there to ask when mpce is going to be released 21:11 < shoghicp> to blame me because they don't have a big enough internet bandwidth 21:11 < shoghicp> etc. 21:11 <+pdelvo> and then you send them here? :o 21:11 < shoghicp> noo! 21:11 < MrARM> anyway Mojang ignored my bug reports 21:12 < MrARM> (for 0.8.0) 21:12 < shoghicp> MrARM: send them to me, I can test them and notify of the big ones 21:12 < mcpemodder> aha, why? 21:12 < MrARM> -there's no pick dropped item animation 21:12 < shoghicp> hmm... 21:12 < shoghicp> On vanilla MCPE? 21:13 < shoghicp> or using PocketMine-MP? 21:13 < MrARM> -after shearing sheep it's wool isn't white 21:13 < MrARM> vanilla MCPE 21:13 < shoghicp> hmm, weird 21:13 < shoghicp> I saw them 21:13 < MrARM> anyway I can't wait for block launcher update 21:14 < mcpemodder> some peoples said it is compatible already 21:14 < shoghicp> yes, it is 21:15 < mcpemodder> only beta i guess? 21:15 < shoghicp> anyway 21:15 < MrARM> what? 21:15 < MrARM> wait... 21:15 < shoghicp> We will try so mcpe channels don't overflow to here 21:15 < MrARM> lemme see github 21:16 < MrARM> there is my #BlockLauncher and Connor's #ModPEScripts 21:16 < shoghicp> also, where are the public logs for #mcdevs? 21:16 < barneygale> Nothing wrong with discussing MCPE here, but 90% of the users are interested solely in desktop minecraft 21:16 < barneygale> shoghicp: there aren't any. Don't believe the topic :P 21:16 < shoghicp> Brandon15811_: see? 21:17 < Eviltechie> |stats 21:17 < shoghicp> !stats 21:17 < MrARM> stats 21:17 < MrARM> !help 21:18 < MrARM> |help 21:18 < shoghicp> So, #mcpedevs for mcpe dev then? 21:18 < MrARM> nope 21:19 <+sadimusi> shoghicp: I can't see the join in the backlog, can you please paste it again? 21:19 < shoghicp> all of them? 21:19 <+sadimusi> no, just the one you were referring to 21:19 <+sadimusi> you pinged me, remember? 21:20 < MrARM> shoghicp nope, no commit for 0.8.0 - no support 21:21 < shoghicp> * semendickman (75ce12c1@gateway/web/cgi-irc/kiwiirc.com/ip.117.206.18.193) has joined 21:21 < shoghicp> and 21:21 < shoghicp> the fuck you guys troll? 21:21 < shoghicp> CAN ANYONE FUCKING HELP ME PLEASE 21:21 < MrARM> then he spams 21:22 <+sadimusi> looks like he's gone for now, but I'll ban him if he shows up again 21:22 < shoghicp> ok 21:22 < dx> but seriously, did anyone expect any less than that, the moment he joined as 'semendickman'? 21:23 < shoghicp> or when he changed the nick 22:36 < umby24> hot spot shield is supposed to be some anonymizer type shit, so using it switches up your IP each time 22:38 < TkTech> I looked away for 10 minutes... 22:39 < Calinou> in 10 minutes, 3 useless MC servers were created! 22:46 < TkTech> I find it very interesting that Linkedin is suggesting all of the Mojang AB employees as contacts without ever importing email addresses or mentioning minecraft. 22:46 < TkTech> Kinda creepy actually. 22:47 < TkTech> shoghicp: Do you need something specific from the logs? A particular time range or query? 23:38 < shoghicp> TkTech: no, just wondering if a public link existed like botbot.me --- Day changed ven. déc. 13 2013 20:01 < TkTech> Anyone had a look at starbound? 20:03 < TkTech> (The protocol, that is) 20:24 < [z]> Looks ugly... 20:24 < [z]> A lot of text... 20:25 < [z]> )____.V____arguments___player__Beakspiker_handler__team.pollInvitation_id____command__request 20:26 < [z]> polling for team invitations? Really? Why not just have the server send them... 20:26 < dx> _ are non-ascii chars? 20:26 < [z]> yeah 20:30 < [z]> %.#....result..id..r.command..response0..# 20:33 < Zantoinef> Hi 20:33 < Zantoinef> I'm currently discovering the new 1 20:33 < Zantoinef> the new 1.7 protocol and I have some interrogations. 20:34 < Zantoinef> Does someone in this channel have some knowledge about the new protocol of 1.7 please ? 20:34 < Eviltechie> Check the wiki linked in the topic 20:34 < Zantoinef> Yes 20:34 < Eviltechie> There is an explanation of the protocol there 20:34 < Zantoinef> http://wiki.vg/Protocol#Protocol_Version 20:34 < Zantoinef> Yes I read it 20:35 < Zantoinef> a lot of times 20:35 < Zantoinef> I just got an error that I'm not sure why it happends 20:35 < Zantoinef> This sentence : " As of 1.7 strings are now UTF-8 (prefixed with a VarInt giving the string's length in bytes) instead of UTF-16" 20:36 < Zantoinef> Does that means that if I send a packet which contains 16 caracters will it be recognized like a 18 caracters packet by netty ? 20:37 < dx> why 18? 20:37 < dx> varint = variable length int 20:37 < Zantoinef> Because I actually got a problem, I sent a 16 caracters length packet, netty say me that the packet length is too high, it recognized the packet length like 18 but it's 16 when I sent it 20:37 < dx> err wait.. do you know what UTF-8 and UTF-16 mean? 20:38 < Zantoinef> So i was asking me, does this varint is added in my string or in another field ? 20:38 < Zantoinef> Yes I know 20:38 < Zantoinef> It's caracters encoding 20:38 < dx> okay, you seemed to be asking about packets in general, not just strings 20:39 < dx> if you're starting with 1.7 you can just ignore what it says about UTF-16, that's a note for people migrating from older protocols 20:39 < Zantoinef> Yes indeed 20:39 < Zantoinef> Ok 20:39 < dx> anyway the varint is a prefix for the string 20:39 < Zantoinef> Ok 20:39 < Zantoinef> That explains why netty recognize my packet like a 18 caracters length 20:40 < Zantoinef> right ? 20:40 < dx> you read N bytes until the varint is complete, decode that varint, read that number of bytes for a string 20:40 < dx> i have no idea where you're pulling that "18" from 20:41 < Zantoinef> When I connect and my packet is sended, netty triggers an IOException which is 20:41 < Zantoinef> The received string length is longer than maximum allowed (18 > 16) 20:41 < dx> wot 20:42 < dx> well huh. i guess it would be helpful to know what the hell netty is doing behind the scenes! 20:42 < Zantoinef> yes indeed 20:43 < Zantoinef> as minecraft is obfuscated, I was hoping that someone know why it says me that there are 18 caracters although there are just 16. 20:43 < Zantoinef> When you say : 20:43 < Zantoinef> you read N bytes until the varint is complete, decode that varint, read that number of bytes for a string 20:44 < Zantoinef> i have no idea where you're pulling that "18" from 20:44 < Zantoinef> The varint is concatened in the string ? 20:44 < Drainedsoul> what are you sending 20:45 < Drainedsoul> give us raw bytes 20:45 < dx> he's reading 20:45 < Zantoinef> I'm sending an scoreboard score 20:45 < dx> ..uhm 20:45 < Zantoinef> I check the score name and the length is 16 20:45 < dx> so this is inside minecraft? 20:45 < dx> should have asked that before lol 20:46 < Zantoinef> Yes it's inside minecraft 20:46 < Zantoinef> Isn't it the minecraft channel ? 20:46 < dx> all this time i was just assuming you were implementing your own protocol lib using netty 20:46 < dx> i'm dumb 20:46 < Zantoinef> No sorry it's my fault 20:48 < Zantoinef> @DrainedSoul, I'm not sure how I recover the raw bytes, you need the result of message.getBytes() ? 20:50 < dx> actually... isn't 16 the max player name length? 20:50 < dx> and the scoreboard is supposed to have player names. 20:50 < Zantoinef> Yes 20:50 < Zantoinef> BUT 20:50 < Zantoinef> I'm not showing playername, I'm using the SB as a GUI 20:51 < Zantoinef> Before the 1.7, it works without problem and now it don't work anymore 20:51 < dx> well try limiting your fake player names to 16 characters then 20:51 < dx> are you using colors? 20:51 < Zantoinef> That's what I'm making 20:52 < Zantoinef> yes but i test when I send it my string is 16 caracters length 20:52 < Zantoinef> I just really think that the problem is the varint concatened at the beginning of the string 20:52 < Zantoinef> that's why there are always 2 more characters 20:52 < dx> nah the varint isn't included in the string length 20:53 < dx> ...and either way that varint should be one byte long 20:53 < Zantoinef> ok 20:55 < Zantoinef> quoted from wiki "prefixed with a VarInt giving the string's length in bytes" 20:56 < Zantoinef> I really think that it's the string which is preceded by this VarInt 20:56 < dx> the varint *gives* the string length 20:57 < Zantoinef> Yes, i know that 20:57 < Zantoinef> And I think that the varint is concatened with this tring 20:58 < Zantoinef> It seems to correspond to the packet format : http://wiki.vg/Protocol#Packet_format 20:58 < dx> yes, it's concatenated before the string 20:58 < dx> that doesn't make it part of the string 20:58 < dx> it's just a prefix 20:58 < dx> welp 20:59 < dx> guessing isn't very productive but i bet you're doing something like "§k0123456789abcdef" 20:59 < dx> 16 chars with a color code in front of it 20:59 < Zantoinef> Now i can assure you 20:59 < Zantoinef> Everytime i check server.length 20:59 < Zantoinef> (because I send servername) 21:00 < Zantoinef> Anyway 21:00 < Zantoinef> I'm sure that the VarInt which breaks everything 21:00 < dx> you're looking in the wrong place 21:00 < Zantoinef> And it's really annoying because it's reducing of 2 caracters the max name length 21:00 < Zantoinef> Do u know where to look ? 21:00 < Zantoinef> I've tested and tested my code 21:01 < Zantoinef> so know, I'm going to sniff the packets 21:01 < Zantoinef> I will check the string, see the contents and see if it confirmes my opinion 21:01 < dx> http://wiki.vg/Debugging 21:01 < dx> have fun 21:02 < Zantoinef> Oh :D 21:02 < dx> (you can't sniff with stuff like wireshark due to protocol encryption) 21:02 < Zantoinef> Ok 21:02 < Zantoinef> Thanks you very much I didn't see this page, I'm gonna try to use this 21:02 < Zantoinef> Else I will use ProtocolLib 21:03 < Zantoinef> In any case, thanks you very much for your help 21:03 < dx> mbaxter: HEY CAN I ADVERTISE PAKKIT HERE? 21:04 < Zantoinef> What's pakkit ? 21:04 < dx> a bukkit packet inspector mbaxter wrote, but not sure if it's """production ready""" 21:07 < Zantoinef> Do u have a link please ? 21:09 < dx> gotta confirm with mbaxter if it's usable 21:49 < Zantoinef> Even if there are some bugs can you send me the link plz ? Unless if it's not already public released (if I didn't authorize to use it) 21:54 < Zantoinef> Are u still here ? 22:40 < mathuin> dx: you can sniff with wireshark if you set the server to offline mode. It was very helpful. 22:42 <+md_5> would be more helpful iuf there was an updated dissector 22:42 < jj2baile> Does wireshark allow for plugins or something? 22:42 < humerusj> lua <3 22:43 < jj2baile> Oh hey, that's what he said 22:43 < mathuin> wireshark does allow for plugins called dissectors. 22:43 < jj2baile> I havent even thought the name "lua" in several years... 22:43 < humerusj> I think you can use perl to crunch it too 22:43 < mathuin> I ended up recording packets between a vanilla client and a vanilla server and saving as a pcap file, then importing that pcap file through the parser I was working on. 22:43 < jj2baile> so in theory one could make a dissector to do the decryption. seems like maybe a pain though 22:44 < humerusj> Haven't gone that route though 22:44 < mathuin> My code was written in Python. 22:44 < jj2baile> Perl makes me sad. 22:44 < mathuin> Last time I worked with lua I was hacking on WoW mods. :-P 22:44 < jj2baile> I've never actually used lua, I considered it briefly with respect to garry's mod though. 22:44 < humerusj> Yeah, for mcpe I made a proxy in Python and dissected it --- Day changed sam. déc. 14 2013 11:47 < shnce> I have a question about the protocol, is anybody here to help? 11:47 <+SirCmpwn> do not ask to ask, simply ask and wait patiently 11:48 < shnce> Is the public key still sent in the asn format? 11:54 < shnce> The protocol wiki is a bit confusing now because there is outdated information there 11:55 <+SirCmpwn> I haven't dealt with encryption on the new version yet, since I've only been testing over localhost 11:55 <+SirCmpwn> but I plan to try it with asn keys, it'll probably work 11:55 < shnce> I can't actually find the word ASN there in the protocol descriptions 11:56 <+SirCmpwn> try it 11:56 <+SirCmpwn> improve the docs if you learn something new 11:56 < shnce> I have to learn about how ASN works first :) 11:57 < Thinkofdeath> The encryption part of the protocol didn't really change with the 1.7 update 11:59 < dx> http://wiki.vg/Protocol_Encryption mentions that 11:59 < dx> hmmm... http://wiki.vg/Special:WhatLinksHere/Protocol_Encryption 11:59 < dx> sounds like it's everywhere except the main protocol description page 11:59 < shnce> It's not here either http://wiki.vg/Protocol_FAQ 12:00 < shnce> And the main page and the faq were the two places I looked 12:00 < dx> it is, >1) Do Handshake (See Protocol Encryption) 12:00 < shnce> I meant that the word asn isn't there 12:01 < Thinkofdeath> "when packed into a Encryption Request packet, is in ASN.1 format as defined by x.509. Th..." 12:01 < dx> yeah, only the protocol encryption page goes to that much detail 12:01 < shnce> What page is that from, Thinkofdeath? 12:01 < Thinkofdeath> http://wiki.vg/Protocol_Encryption 12:01 < shnce> Ah 12:01 < shnce> I've been looking at the FAQ 12:02 < shnce> Thank you 12:04 < shnce> So now I have to write an ASN function :S 12:05 < dx> :D http://wiki.vg/index.php?title=Protocol&diff=5256&oldid=5255 20:28 < mbaxter> dx: Pakkit works. Remarkably spammy in many situations. --- Day changed dim. déc. 15 2013 11:38 < groovyben008> Hello? 11:39 < Thinkofdeath> Hey 11:40 < groovyben008> How do I read a VarInt from an input stream? 11:40 < MrARM> Java? 11:40 < groovyben008> yeah 11:41 < MrARM> look on internet, in Google 11:41 < MrARM> I found it here 11:41 < Thinkofdeath> https://gist.github.com/thinkofdeath/e975ddee04e9c87faf22 11:41 < groovyben008> Thanks 11:43 < MrARM|Away> that's from mine craft source? 11:43 < groovyben008> What does readByte refrence to in the gist? 11:44 < groovyben008> dw 11:44 < Thinkofdeath> MrARM|Away: yes 11:46 < groovyben008> Is readByte() just inputStream.read(); 11:47 <+SirCmpwn> it supposedly reads an octet 11:48 <+SirCmpwn> I dunno the java speak, but read octets until you read one whose high bit is reset, then discard the high bits of each octet, shift them appropriately, and OR them together into the final number 11:48 <+SirCmpwn> up to 60 bits or something 11:48 <+SirCmpwn> i.e. 4 octets 12:01 < groovyben008> Thanks, I got it 21:15 < barneygale> How does world autosaving work? A timer that writes all dirty chunks to disk? 21:20 <+pdelvo> I think so 21:23 < Thinkofdeath> barneygale: https://github.com/SpigotMC/mc-dev/blob/master/net/minecraft/server/WorldServer.java#L559 and https://github.com/SpigotMC/mc-dev/blob/master/net/minecraft/server/ChunkProviderServer.java#L159 --- Day changed lun. déc. 16 2013 09:16 < Grum> md_5: i'll just poke you here if i need you; seriously starting own irc networks and having bridges to others is .... sigh 09:17 <+md_5> Grum btw bungee forwards IPs (and I need to add UUID forwarding), but it will be ok 09:17 < SinZ> did I miss something? 09:17 < Grum> yes 09:17 <+md_5> grum left my channel :( 09:17 <+md_5> Im very sad now 09:17 <+md_5> heartbroken even 09:17 < Grum> i know rite :( 09:18 <+md_5> we have our reasons for leaving espernet 09:18 < Grum> md_5: who's bright idea was it to do this horrible thing? 09:18 < Grum> espernet sucks, but doing it yourself will suck even worse 09:18 <+md_5> which horrible thing? 09:18 <+md_5> I disagree 09:19 <+md_5> why is doing it yourself gonna suck even worse? 09:19 < Grum> because it is two lines rather than 1 in your channel-list 09:20 <+md_5> you already have at least what - 4 lines? 09:20 < Grum> in either case, there will be some issues with the skins, you are going to have to track who is where and resend the skin-payload to the right people 09:20 <+md_5> its no different from moving to another network, just this one happens to be under our domain. espernet has f*** us over on repeated occasions 09:21 < Grum> how? :/ 09:21 < Grum> espernet is stupid but .. well .. it mostly just splits ;) 09:22 <+md_5> splits, spam, chan modes, the staff are twats, broken charter/rules 09:23 < Grum> occasionally, barely, quite normal, probably, probably 09:24 <+md_5> missed the spam we had 09:24 <+md_5> that was a pain to deal with on our end :| 09:24 <+md_5> Having owner/admin/halfop channel ranks is great, as is having modes to deal with stuff such as blocking /notice #channel 09:25 < Grum> isn't that the default +n ? 09:25 < Grum> 'no outside shit' ? 09:25 <+AndrewPH> he means people who are in the channel 09:26 <+AndrewPH> (well, probably) 09:26 < Grum> insta banning works well 09:26 <+AndrewPH> or insta +qing 09:26 <+AndrewPH> since that's quiet on esper 09:26 <+md_5> also I turned colors off 09:26 <+md_5> * Channel #spigot modes: +CHJPTdfnt 10:60 15 2 5:3 09:27 <+SirCmpwn> aka +c here on freenode 09:27 <+md_5> Block channel CTCP, show 10 lines of history from last 60 seconds, no kickrejoin for 15 seconds, permanent channel, no channel notice, cant speak until 2 seconds have elapsed, 5 messages in 3 seconds max, no external messages, topic lock 09:28 <+md_5> the whole ban authors+dates not being wiped on netsplit is also a plus 09:28 <+md_5> we rely heavily on dates for unbans 09:28 < Grum> or just permanently ban or not 09:28 <+SirCmpwn> I just have bots handle it for me 09:28 < Grum> yeah 09:28 < Grum> like normal people hehehe 09:28 <+SirCmpwn> don't even have to check later, just have the bot unban it when it's time 09:29 < Grum> i mean this is again 90's stuff 09:29 < Grum> when people wrote tcl for eggdrops 09:29 <+SirCmpwn> well, setting up an ircd is still as annoying as ever 09:29 < Flemmard> hated eggdrops :> 09:29 < Flemmard> liked perl bots ! 09:29 < Flemmard> homemade XD 09:29 <+md_5> plus we get a whole lot more flexibility with what we do later on, such as pseudo server bridge bots for Minecraft servers 09:30 <+SirCmpwn> hmm 09:30 <+SirCmpwn> I never thought of setting up an ircd for minecraft<->irc chat 09:30 <+SirCmpwn> I've always just done a relay bot 09:30 < Grum> like normal people hehehe 09:30 <+SirCmpwn> that's a neat idea 09:31 <+md_5> SirCmpwn I have plans, but the idea is to use &server as a channel for it (instead of #) and then begin MInecraft player names with . to avoid nick collisions, and expose this via a custom protocol (so that we dont get security issues with people trying to link) 09:32 <+SirCmpwn> you know, if you're going that far 09:32 <+SirCmpwn> just make your minecraft server an ircd 09:32 <+SirCmpwn> and integrate it all directly 09:32 <+md_5> Ive got a few of the large(st) servers interested 09:32 <+md_5> SirCmpwn read what I said 09:32 <+md_5> (so that we dont get security issues with people trying to link) 09:32 <+SirCmpwn> can you explain that more 09:32 <+SirCmpwn> I don't understand 09:32 <+md_5> Hey, lets let everyone link their ircd to our network 09:33 <+SirCmpwn> well I assumed you would just block that shit 09:33 <+SirCmpwn> why do you need a custom protocol 09:33 <+SirCmpwn> that's silly 09:33 < NickG365> That's why EFNet exists. 09:33 <+md_5> NickG365 I hear they don't like Eris linking 09:33 < NickG365> Something like that :P 09:34 <+md_5> FYI 09:34 <+md_5> the whole "why start a new network arguiment" 09:34 <+md_5> if people kept using that, we would all be on EFNet 09:35 <+SirCmpwn> which wouldn't be so bad, you know 09:35 <+SirCmpwn> with none of this chanserv business, IRC would be more fun 09:35 <+SirCmpwn> but nooooo, people want their channels to be stable and managable 09:37 <+md_5> SirCmpwn what, and pray to the chanfix gods? 09:37 <+SirCmpwn> nah, just don't write crappy bots 09:37 <+md_5> SirCmpwn I was pretty happy with this, I think its correct 09:37 <+md_5> http://files.md-5.net/s/Zi6B.png 09:37 <+SirCmpwn> do you want to see my IRC message decoder 09:38 <+md_5> it [should] follow the BNF provided in the RFC 09:38 <+md_5> inb4brainfuck 09:38 <+SirCmpwn> https://github.com/SirCmpwn/ChatSharp/blob/master/ChatSharp/IrcMessage.cs 09:38 <+SirCmpwn> haha, the brainfuck one doesn't "decode" 09:39 <+SirCmpwn> the problem with IRC is that none of the ircds agree on how it should be done 09:39 <+md_5> yeah your logic is pretty similar to mine SirCmpwn 09:39 <+md_5> although yours isnt very optimizewd 09:39 <+md_5> repreatedly calling indexOf 09:39 <+md_5> :p 09:39 <+SirCmpwn> yeah, yeah, yeah 09:39 <+md_5> + .contains() 09:40 <+SirCmpwn> inconsequential 09:40 <+SirCmpwn> performance is not the biggest problem with my irc lib 09:41 <+SirCmpwn> the biggest problem is that I tried to be clever and overengineered it to the point of massive instability 09:42 <+md_5> irc is a clusterfuck 09:42 <+SirCmpwn> I love it all the same, it's an endearing protocol 09:42 <+md_5> the mesh protocol was a bit nicer 09:43 <+md_5> http://wiki.inspircd.org/Mesh_Protocol_%28Pre_beta6%29 09:44 <+SirCmpwn> after writing a four IRC implementations and a dozen bots, though, I've learned my lesson 09:44 <+SirCmpwn> now I just use other people's IRC libs :P 09:44 <+md_5> exactly what I was gonna say 09:44 <+md_5> I just started work on my java pseudo server to link to Inspircd 17:23 <+clonejo> much joins 20:53 < williamtdr> md_5: ping (time-sensitive information required, not trying to be a pest) 22:59 <+md_5> md_5: ping (time-sensitive information required, not trying to be a pest) 22:59 <+md_5> > then leaves 23:01 < iBotPeaches> :o 23:01 < shoghicp> I can ask him to come here 23:02 < williamtdr> md_5: Hello. 23:02 <+md_5> hi 23:02 < williamtdr> md_5: I happen to have a problem that requires an extraordinary amount of resources for a short time on a desktop server. 23:02 < williamtdr> But it is not mutlithreaded. 23:03 < shoghicp> <-- blame me for that 23:03 < williamtdr> So, my question would be, how can I maximise CPU utilization to accomplish the task quicker? 23:03 < williamtdr> shoghicp: No, PC, not PE. 23:03 < shoghicp> oh 23:04 <+md_5> add threads 23:04 < williamtdr> md_5: is there a config option for this in spigot? 23:05 < williamtdr> Or doesn't it require modifiying the source? 23:30 <+md_5> wat 23:30 <+md_5> how about you start about what you are trying to do 23:36 < williamtdr> didn't know about the JDK, thanks :D 23:36 < williamtdr> I'm a Java noob. PHP FTW. 23:36 < williamtdr> I will live in my ignorance. 23:47 * SirCmpwn contains his laughter 23:47 <+SirCmpwn> oh, sorry, this isn't a channel I should be mean in 23:49 < jj2baile> but what is Java, really? 23:49 < jj2baile> An allegory of the human condition perhaps~ 23:49 < Dhruv0> I am a PHP noob 23:49 < Dhruv0> C# FTW 23:49 < Dhruv0> xD 23:51 < williamtdr> I did a Java tutorial once. 23:51 < williamtdr> It made no sens.e 23:51 < williamtdr> Back to PHP. 23:52 < KnownUnown> williamtdr: PHP ftw! 23:52 * KnownUnown high fives williamtdr 23:52 * jj2baile shifts eyes 23:52 < shoghicp> noo, #mcpedevs is leaking! 23:53 < KnownUnown> heh 23:53 < KnownUnown> shogchipz: Can I haz buy a bag of you? 23:53 < shogchipz> KnownUnown: talk to shoghicp. 23:55 < KnownUnown> geturshogchips: can I haz buy a bag? 23:55 < geturshogchips> KnownUnown: $9000.01. 23:56 < KnownUnown> err 23:56 < KnownUnown> here you go 23:56 < SinZ> shoghicp: it leaked quite badly it appears <3 23:56 * KnownUnown gives geturshogchips a bag of golden shogchips 23:56 < KnownUnown> yus, it haz 23:56 <+SirCmpwn> Dhruv0: you use C# for mcdev? can I see? 23:56 < geturshogchips> is golden? 23:56 < geturshogchips> wow. much chips. 23:56 < KnownUnown> yus, it iz 23:57 < geturshogchips> very tasty. 23:57 < KnownUnown> Can I haz shogchips? 23:58 < jj2baile> what is going on. 23:58 < KnownUnown> shogchips. 23:59 < shoghicp> jj2baile: a channel leaked, and they are filling this one with internal jokes --- Day changed mar. déc. 17 2013 00:00 < jj2baile> I think I prefer memory leaks. 00:00 < KnownUnown> shogchips. 00:01 < KnownUnown> http://imgur.com/MiObMKg 00:01 < geturshogchips> YESH! 00:03 <+SirCmpwn> perhaps the inanity should be limited to #mcpedevs 00:04 < KnownUnown> bah 00:06 < Dhruv0> SirCmpwn whaT? not more MC :3 00:06 < Dhruv0> for other stuff xD 00:16 < jj2baile> Is there an easier way to detect if I should be falling than inspecting chunk data? 00:16 < jj2baile> doing that seems vaguely annoying 00:37 < benbaptist> Is it possible to flip a character model via a particular flag over SMP? Or is it only done by matching their usernames? Would be pretty neat if I could force everything to be upside down. 00:44 < KnownUnown> benbaptist: Naming the people dinnerbone ;) 00:44 < jj2baile> Isn't there that one rule 00:45 < benbaptist> Is there a name-tag-type field for human players KnownUnown? 00:45 < benbaptist> so that someone can be Dinnerbone but keep their own skins and whatnot? 00:46 <+sadimusi> please don't mention him unnecessarily 00:46 < KnownUnown> for bukkit, yes 00:46 < jj2baile> Note the channel rule of _not_ pinging mojang employees 00:46 < KnownUnown> just use the .setDisplayName method on a user handle 00:46 <+md_5> he still hasnt told me what he wants 00:46 <+md_5> :| 00:47 < jj2baile> md_5: I want a pony. 00:47 < KnownUnown> actually, no 00:47 < KnownUnown> set the name field of a player entity the D name, that'll do it, benbaptist 00:48 < benbaptist> nice! 00:48 < KnownUnown> and yes, they will keep their own skins, only for the users that are still on the server 00:49 < KnownUnown> that's the only downside to that 00:49 < dav2d> gaaaiy 00:50 < KnownUnown> ? 00:50 < dav2d> I thought that was relevant 10:37 < shoghicp> TkTech: Notifico! is on a netsplitted server 10:38 < shoghicp> for a few hours 16:38 < dav1d> lol java 16:38 < dav1d> BufferedWriter bw = new BufferedWriter(new FileWriter(new File(outpath, String.format("%s_%s.txt", name, matnm)))); 17:11 < TobiX> dav1d: Actually a really good example of a proxy pattern. You could probably even write "Writer bw = new BufferedWriter([...])" in most cases to make it clear you know this is a proxy class... 17:14 < dx> TobiX: being a good example of patterns / object oriented design doesn't make it any less ugly to write 17:17 <+ammar2> dx: some pretty high standards if you think thats ugly 17:18 < dx> ammar2: yeah maybe 17:18 < dx> ammar2: but that's equivalent to an open(), so... 17:19 <+ammar2> dx: comparing to a loosely typed language doesn't count 17:19 < dx> ammar2: kek 17:19 < dav1d> ammar2: I think it's ugly as well 17:20 < dx> ammar2: i think you mean dynamic instead of loose 17:20 <+ammar2> dx: or weakly typed 17:20 <+ammar2> they all mean the same thing 17:20 < dx> ...errr not exactly but whatever 17:20 <+ammar2> for the most part anyway 17:20 < dav1d> but that's by far not the worst line I have in there :P 17:21 < dav1d> try to sort a hashmap by value (you only want the keys sorted) 17:21 < dav1d> one function call in python 17:21 < dx> dav1d pls, comparing to ``loose weakly dynamic typed'' languages doesn't count 17:22 < dav1d> 1 line in D 17:22 < dx> k there you go 17:22 < dav1d> http://vp.dav1d.de/3QDh?java 17:22 <+ammar2> show me the D 17:22 < dav1d> best I could come up with 17:22 < dx> lewd 17:22 <+ammar2> yes now show the D 17:22 < dav1d> ammar2: easy std.algorithm 17:23 < dav1d> ammar2: http://www.thepoke.co.uk/wp-content/uploads/2013/11/penis-roof.jpeg [NSFW] 17:23 < dx> too lewd 17:24 < dav1d> sort!(x, y => aa[x] < aa[y])(aa.keys) 17:24 < dav1d> something like that 17:24 < dav1d> ammar2: ^ 17:25 <+ammar2> thats some p deep syntax 17:25 < dav1d> p deep? 17:25 < dx> pee 17:25 < dav1d> piss deep? 17:25 < dav1d> what does that even mean 17:25 <+ammar2> like you need to know D syntax pretty well to understand what that line even means 17:26 < dav1d> ammar2: o.O 17:26 < dav1d> obviously you need to know the language 17:26 < dav1d> that's a lambda and nothing more 17:26 < dav1d> well a template parameter 17:26 < dx> breaking news: you need to understand the syntax to understand the code 17:26 < dav1d> really really basics 17:26 <+ammar2> dx: shh, you know what I mean 17:26 < dx> ammar2: :3 17:26 < dav1d> (x, y) => aa[x] < aa[y] 17:26 < dav1d> is probably correct 17:27 < dav1d> bool delegate(string key1, string key2) { return aa[key1] < aa[key2]; } 17:27 < dav1d> if you hate lambdas 17:28 < dav1d> anyways gtg, cya --- Day changed mer. déc. 18 2013 21:23 < TkTech> fragmer: https://code.google.com/p/mcsharp/source/browse/MCSharp/World/NBTag.cs?r=de89e49b38ff64e2bc9f698991f4e0a064e56db8#3 21:23 < TkTech> fragmer: I...I didn't do this did I? This was you wasn't it? 22:26 < dav1d> TkTech: git blame? 22:26 < dav1d> oh nvm 22:26 < dav1d> it's mercurial 22:54 < TkTech> dav1d: Wouldn't matter, someone elses repo, they just copied it in. 22:56 < dav1d> ah --- Day changed jeu. déc. 19 2013 02:23 < barneygale> impressively r/minecraft didn't ruin Dinnerbon-e's AMA 02:23 < SinZ> impressive 02:23 < shoghicp> yeah, most of them were Minecraft related questions 02:24 < dx> how do you ruin an AMA? 02:24 < Eviltechie> dx: See the cringe minecon video 02:24 < dx> Eviltechie: there are no downvotes IRL 02:24 < shoghicp> Two questions about my dick out of 3.5k, not bad 02:25 < SinZ> All the cool kids call him Dinnerbro 02:25 < shoghicp> hmm 02:25 < shoghicp> :D 02:29 < umby24> lmao 02:30 <+AndrewPH> Eviltechie: you mean that video about that alpha as heck kid who's gonna go places when he grows up? 02:31 < Eviltechie> No idea, I didn't actually watch it 02:55 < barneygale> dx: reddit always finds a way 02:55 < barneygale> "would you fight a horse-sized duck or 100 duck-sized horses" etc 02:55 < barneygale> or just awful pun threads and sheer worship of whoever is doing the AMA