21:19 <+XorBoole> they seem extrely interested in having a modding API 21:19 < shoghicp> haha >:) 21:19 <+ammar2> we should just blame it all on shoghicp 21:20 <+XorBoole> at least, that's what they told me. he seemed geniuinely interested in my thoughts, API wise 21:20 < gurun> shoghicp, but what about that stuff around PC/PE interplay? 21:20 < shoghicp> pc as in win10 or Java? 21:21 <+ammar2> XorBoole: that's what every team in charge of minecraft has been saying for the last 5 years 21:21 <+XorBoole> java presumablu 21:21 < shoghicp> pc/PE interplay as long as Pc is win10 21:21 < gurun> hmm .. so .. win10 .. is a completely new thing .. not java PC ? 21:21 <+XorBoole> ammar2 well yes, except microsoft is microsoft. 21:21 < gurun> "new" as in PE running on PC 21:21 < redstonehelper> mc:win10 is basically a fancy mc:pe 21:21 <+XorBoole> gurun it's PE ported to wandows 21:21 <+ammar2> win10 is the pocket editin :^) 21:21 <+XorBoole> redstonehelper the point is for every version of minecraft to share a protocol 21:21 <+XorBoole> so mobile, console, and pc can all join the same servers 21:22 < redstonehelper> yeah, feature parity and all that jazz 21:22 <+ammar2> good plan 21:22 < gurun> XorBoole, would you play PVP and stuff with PC people? 21:22 < redstonehelper> but I don't want to play with pe people 21:22 < redstonehelper> please 21:22 <+ammar2> racist 21:22 <+ammar2> mobiles are people too 21:22 < gurun> hehe 21:22 <+XorBoole> gurun in theory 21:23 < gurun> XorBoole, it's not so much theory when it's one of the most requested features i get. I always say the same .. would you actually benefit from inter-play? 21:23 <+XorBoole> idk mah 21:23 < gurun> so win10:pe sounsd like a better alternative. 21:23 <+XorBoole> I jsut told them I want it to run on all patforms and a very powerful API 21:23 < gurun> guess that is the unified platform targeted for othre stuff then .. the actual PC. 21:24 <+ammar2> XorBoole: powerful api, m8 im surprised he didn't dek u right there 21:24 < gurun> XorBoole, well, i want them to use .NET WCF for communication, but probably not getting that either :-P 21:24 < shoghicp> oh god no 21:24 <+XorBoole> ammar2 he said he'd be cool with giving us header files =p 21:24 < shoghicp> XorBoole: who said that? 21:24 <+ammar2> microboss 21:24 <+XorBoole> shoghicp michael something at the ms booth 21:25 < gurun> shoghicp, ok. So part from the other "un-announced" changes to the PE protocol, we are not talking unified protocol at least (i would hate that) 21:25 <+XorBoole> he's some kind of development manager working on win10 21:25 < shoghicp> Michael Weil something? 21:25 <+XorBoole> shoghicp maybe 21:25 <+ammar2> THE michael weil? 21:25 < shoghicp> it's him, yep 21:25 <+XorBoole> fat, balding, wire glasses? 21:25 < gurun> shoghicp, btw. If you run into the guys doing the life broadcast. The "sofa" people. Tell them they did great! 21:25 <+ammar2> XorBoole playing in the big leagues 21:25 <+XorBoole> I didn't get his full name, but I made md talk to him, too 21:26 < shoghicp> hmm... that's some internal discussion and does not involve the headers directly 21:26 < shoghicp> and that's not a true mod API 21:26 < shoghicp> "here are the headers, now find your way around" 21:26 <+XorBoole> shoghicp as far as asking for headers, I said it so we could write code against the internals, a-la nms in bukkit 21:27 <+XorBoole> I told him (and he agreed) the api proper should be a python or lua thing 21:27 < shoghicp> well... it's different 21:27 <+XorBoole> the headers should exist for compiling against undocumented internals 21:27 < shoghicp> I've been doing tests with that and I have tools to work with those 21:27 < gurun> XorBoole, fuckin hell .. that was a troll :-) 21:27 <+XorBoole> gurun meh idk 21:27 < shoghicp> but that was something that should not be said yet afaik 21:27 < gurun> "lua" .. my God 21:28 <+XorBoole> shoghicp well, idk 21:28 <+XorBoole> I was told what I was told 21:28 < shoghicp> I'll bring it up with the team 21:28 < gurun> well,regardless. Publish the damn headers. 21:28 <+XorBoole> he was very, very interested in my feedback as a modder. or at least seemed to 21:28 <+ammar2> XorBoole: it was all a sham 21:28 < shoghicp> not headers, but symbols :P 21:29 <+ammar2> don't believe their lies ;_; 21:29 < shoghicp> that include them and other stuff 21:29 <+XorBoole> ammar2 bugger off 21:29 <+ammar2> my you've gotten british 21:29 < shoghicp> and you'll have to deal with PHP scripts that work with them >:D 21:29 <+XorBoole> at least shoghi was nice to me. scared off a couple of hypixel people when we switched to spanish randomly 21:29 < shoghicp> haha 21:29 <+ammar2> shoghicp: php api plz 21:30 <+ammar2> rewrite minecraft in php 21:30 <+XorBoole> ammar2 pocketmine exists 21:30 < redstonehelper> no I want minecraft in haskell 21:30 * XorBoole runs 21:30 <+XorBoole> redstonehelper +++++ 21:30 < shoghicp> xD 21:30 <+ammar2> fortran minecraft 21:30 <+XorBoole> is there an opengl binding for haskell? 21:30 <+ammar2> lets get back to our roots 21:30 < mniip> XorBoole, is 21:30 <+ammar2> XorBoole: yes 21:30 <+XorBoole> see you guys in a few years 21:31 < mniip> years hehehe 21:31 * gurun thinks perl rocks! 21:32 < shoghicp> at least the code is full C++11 going towards C++14 as soon as all the compilers we use support it 21:32 <+XorBoole> ok, that is nice 21:32 < mniip> every language has a domain 21:32 <+XorBoole> mniip brainfuck? 21:33 < mniip> lua's domain for instance is being embedded into small applications (<15MB) 21:33 <+ammar2> fotran has every domain 21:33 <+ammar2> come over to the f side 21:33 < mniip> haskell's domain is abstracting everything to the point where abstraction is abstract 21:33 <+ammar2> remember to leave spaces for the punch holes 21:34 * XorBoole punches a hole in ammar2 21:34 <+XorBoole> among other things I am extremly disappointed that the hololens demo is lotteried 21:34 <+XorBoole> I wanted to try it 21:34 <+ammar2> XorBoole: steal a hololens for me thx 21:34 < shoghicp> takes a long time, I can tell you :( 21:35 < mniip> for a second I thought hololens is something related to haskell lenses 21:35 <+XorBoole> shoghicp what does, hololens? 21:35 < shoghicp> yep 21:35 <+XorBoole> developing for it, that is? 21:35 < shoghicp> they explain you how to use it 21:35 <+XorBoole> oh 21:35 <+XorBoole> they said it was 15 mins so yeah 21:35 < shoghicp> and run you through some demo they prepared 21:36 < shoghicp> 15m is really fast, usually it was more like 25m 21:36 < shoghicp> depends on how much you play 21:37 < shoghicp> and if it was not a lottery, imagine the queue 21:37 < shoghicp> we don't want people to queue all day 21:37 < shoghicp> well, that happened for the small world ride 21:38 <+XorBoole> shoghicp pocketmine's site sucks. took me way too long to find the sourcecode 21:39 < shoghicp> well kids just go there to create issues like a forum ktherwise 21:39 < shoghicp> otherwise* 21:40 < shoghicp> Google finds it faster, we already have a lot of spam on the project channel by 21:40 < shoghicp> by kids* 21:40 <+XorBoole> why am I reading the startup php file. I think my neurons are dying 21:41 < shoghicp> yes that one I showed to you :) 21:41 <+XorBoole> I'm reading. I'm cringing 21:41 < shoghicp> that is needed to have something similar to a sane language in PHP 21:42 <+XorBoole> I'm well aware 21:42 < shoghicp> And then this guys come to the tracker and reports that we should not use a class loser because it's evil and crashes his server by out of memory 21:43 <+XorBoole> needs more dedotated wam 21:44 < shoghicp> if you want extra cringe, go to the forums ANC check the plugin development section 21:44 < shoghicp> and* 21:44 < shoghicp> lots of people doing dumb and cringeworthy stuff 21:45 <+XorBoole> lolphp 21:45 < humerusj> shoghicp: there should be less now :) 21:45 <+XorBoole> also this https://www.reddit.com/r/programminghorror/comments/3c4mtn/yes_java_supports_shebangs/ 21:45 <+XorBoole> that is the single worst thing i have seen all day 21:45 <+XorBoole> worse than your startup 21:46 < shoghicp> $level = Server::getInstance()->getLevelByNe(Server::getInstance()->getPlayer($event->getPlayer()->getName())->getLevel()->getName()) 21:46 < shoghicp> that was legit code on the forums 21:46 <+ammar2> rofl 21:47 < shoghicp> s/getLevelByNe/getLevelByName 21:47 < shoghicp> instead of event->getPlayer()->getLevel() ofc 21:47 <+XorBoole> but jar shebangs! 21:48 < shoghicp> also O(n^2) 21:48 <+XorBoole> is it? sounds more like O(nm), for n = playerlist.len, m = levels.len 21:52 < shoghicp> oh right, O(n^2) worst case 21:52 <+XorBoole> well, if you're going to talk about worst case... 21:52 <+XorBoole> O(\infty), anyone? 21:52 <+ammar2> maybe if you had the right symbol names 21:52 <+ammar2> MAYBE 21:53 <+XorBoole> it's infty 21:53 < gurun> Server::getIstance() sounds static ... 21:53 <+XorBoole> fucking plen 21:53 * gurun doges 21:53 <+XorBoole> I have a friend that has \newcommand{\infinity}{\infty} in his preamble 21:53 <+XorBoole> topkek 21:53 <+ammar2> no no Server is never a singleton 21:53 <+ammar2> XorBoole: smart man, I always fuck that one up 21:53 <+XorBoole> takes to long 21:53 < gurun> \u00c2 seems to be a PC legacy. What the hell is that one about? 21:53 <+XorBoole> is that the section sign? 21:54 <+XorBoole> that's notchcofe 21:54 <+XorBoole> s/cofe/code 21:54 < shoghicp> gurun, it actually is. used only by guys that don't know that they can do getServer() almost anywhere 21:54 <+XorBoole> shoghicp so literally same shit we get over a spigot 21:54 < gurun> XorBoole, correct on section .. but .. why?! 21:54 <+XorBoole> people who are not good programmers failing to use well-designed APIs 21:54 <+XorBoole> gurun one word: notch 21:54 < shoghicp> yep 21:55 < morfin> you don't like singletones? 21:55 < shoghicp> then there is the guy that just uses reflection and complains when it. teams 21:55 < gurun> so .. that is the billion dollar sign in notch-encoding? 21:55 < shoghicp> breaks* 21:55 <+ammar2> its always the simolean for me gurun http://i.imgur.com/aMoutFC.png 21:56 < gurun> XorBoole, *that* guy 21:57 < shoghicp> also Minecraft tech panel tomorrow :) 21:58 <+XorBoole> wehn is that anyways 21:58 <+XorBoole> I don't see it on the program 21:58 <+ammar2> XorBoole: how many malibu houses do you own :^) 21:58 < shoghicp> behind the scenes 21:58 <+XorBoole> ammar2 wut 21:58 < shoghicp> 14:00-15:00 21:58 <+ammar2> cheap jabs 21:58 <+XorBoole> ah excellent 21:59 <+XorBoole> will be there 21:59 < gurun> shoghicp, so no streaming of any of the interesting stuff? 21:59 <+ammar2> XorBoole: no one wants you there though!!! 21:59 <+XorBoole> wait... no I can't make it =( 21:59 < gurun> it's funny, all i've been watching today .. is youtubers .. on minecon .. on youtube 21:59 < shoghicp> check the event page on twitch 21:59 <+XorBoole> I have to be at the spigot lunch 21:59 <+XorBoole> will it be recorded at least? 21:59 < shoghicp> yes 21:59 < shoghicp> all of them are afaik 22:00 <+XorBoole> I'll watch that I guess =/ 22:00 <+XorBoole> the lunch is right after md's panel... which ends at 1330 22:01 < gurun> shoghicp, i'll ask here so you don't have to switch channels. Is the client more sensitive to throughput in bytes, or number of packets? What should i throttle on? 22:02 < shoghicp> packets 22:02 < shoghicp> also I'll be away now o/ 22:03 < gurun> stay off the drugs. minecraft is a family friendly game ! 22:04 <+XorBoole> lol 22:04 <+XorBoole> I'm gonna head out for dinner soon too 22:04 <+XorBoole> got another day of con tommorrow... meh 22:05 < redstonehelper> try and get a question in at the 1.9 talk in the morning 22:05 < redstonehelper> anything is better than "hi jeb will u join my server" or similar 22:05 <+ammar2> how about how much dedowated wam is needed for a modding api 22:06 <+XorBoole> yeah I'll try 22:06 <+XorBoole> I should just ask a stupid question about models 22:06 <+ammar2> XorBoole: don't you do enough of that here?? 22:06 <+XorBoole> ammar2 5 hole dedotated wams 22:06 <+XorBoole> ammar2 yes 22:06 < gurun> wtf .. i'm sitting looking at the code on my server .. and it's been quiet all day. 22:06 < redstonehelper> downloadmodemoddingapi.com 22:06 < gurun> and then .. all of a sudden 10 players just spawns out of nothin and starts killing eachoter. 22:07 < gurun> Almost like a facebook crowd thing .. LOL 22:07 <+XorBoole> gurun observe the user in its natural habitat 22:07 < gurun> haha, yeah 22:07 < gurun> it's like "did LBSG just go down or something" :-P 22:15 < morfin> seems like Bukkit died 22:16 <+ammar2> geez man what rock have you been living under 22:19 < Not-48e3> [wiki.vg] Edit by SirCmpwn to Server List -> http://wiki.vg/index.php?title=Server_List&diff=6674&oldid=6661 22:23 < morfin> but not sure what now 22:27 < morfin> and most of C++ servers use C++11 ) 23:39 < Techcable> What packet is sent when the player quits? 23:39 < Techcable> Is it the entity destroy packet? --- Day changed dim. juil. 05 2015 03:19 < barneygale> Hi all. After switching to play mode, the mojang client seems to send 5 packets: Client Settings, Plugin Message, Held Item Change and 2x Player Position and Look. What are these packets sent in response to? Spawn Position? 03:19 < barneygale> or having enough chunks, or something? 19:33 < morfin> why every next developer invent own wheel? 19:35 < morfin> it's like Minecraft C++ wheel1, Minecraft C++ wheel2, Minecraft C wheel, Minecraft Java wheel, Minecraft C# wheels, i even found one Erlang and 2 JS wheels) 19:36 < redstonehelper> because in practice, no perfectly round object can be created 19:37 < morfin> i am not very familiar with C++ but i saw several implementations 19:40 < barneygale> some implementations are written for fun 19:40 < barneygale> and some are for different purposes/audiences/etc 19:41 < morfin> and all of them used own sockets code, own threading etc 19:41 < morfin> that's weird 19:41 < morfin> in Java i think most are based on Netty(probably), on C# there is own async stuff 19:43 < gurun> morfin, yeah C# is async in milio different ways. 19:43 < gurun> most of the server i have is async in every fasion. 19:45 < morfin> well, i use Boost.ASIO with C++ because too lazy to dive into OS APIs 19:46 < morfin> i tried once, it's like use IOCP on Windows, kqueue on *BSD(and MacOS X), epoll on Linux, own stuff on Unix-like systems like HP-UX and AIX 19:46 < morfin> and all that shit should be wrapped to keep API independend ) 19:48 <+ammar2> pftt, stop being lazay, that's what the preprocessor is for :P 19:50 < morfin> i dived into ASIO sources once 19:52 < morfin> and i can say one thing: it use templates alot 19:55 < gurun> IOCP on windows is automatic if you stick to async API's for IO 19:56 < gurun> and is exceptoionally much faster than ordinary socket use. 19:56 < morfin> i heard that IOCP is ONLY API allowing to asyncronously dispatch 19:57 < morfin> but others are async but dispatching is not 19:58 < gurun> no, i don't think that is true. It's just that it uses resources very differently. 19:58 < gurun> and to be honest, IOCP as i understand it is NOT async at all. 19:59 < gurun> it is more similar to "select" on unix 19:59 < gurun> kind of like NIO with java 19:59 < Gjum> async != parallel 19:59 < gurun> Gjum, genau 20:00 < gurun> async is just a "pattern" you could say, right. 20:00 < gurun> it's like threading on *unix without support .. can still be "async" coding. 20:01 < gurun> just not async execution. 20:05 < morfin> no i mean another thing 20:07 < morfin> that event demultiplexing in APIs is synchronous 20:08 < morfin> nevermind 20:14 < morfin> i am just wondering how many wheels existing 20:18 < gurun> 32.4 20:21 < morfin> and all of them are unofficial 20:23 < morfin> remember i said 2 girls developed own server on Java and it was better than original server? 20:28 <+Fador> I wanted to make my own implementation in C++, that's one reason =b 20:29 <+Fador> I actually got an email from another minecraft C++ server devs asking why I created my own 20:30 <+Fador> ...so I actually started my server before they did 20:32 < morfin> i started learning all that because was interested because of those 2 girls who developed own implementation) 20:33 < morfin> and i am thinking to try add some improvements in AI etc if i will go on 20:34 <+Fador> that's a good way to learn =) 20:35 <+Fador> I started my C++ server just for fun..back in 2010 there was just few servers anyway 20:35 < morfin> learning just theory is not very efficient 20:35 <+Fador> and I think it was last year when I decided to learn Node.js and started coding a new server ;) 20:35 <+Fador> sure =) 20:36 < morfin> Node.js is nice but hmm 20:37 < morfin> what about threads? Or you operate with processes? 20:37 < morfin> and what about synchronization, shared memory and other things 20:37 <+Fador> Node.js doesn't really have threads..it's async 20:37 < morfin> i know 20:38 <+Fador> and even in my C++ server I didn't use threading because it would just cause too much problems ;) 20:38 < morfin> i was looking at it but for other purposes 20:39 * morfin i wanted to write nice async web-app) 20:39 < morfin> oops 20:51 < morfin> i was interested is it possible to use A* for pathfinding of mobs(when they're spotted player) 20:53 < morfin> but Minecraft have lots of problems like deep pits, lava lakes, ravines, caves and other stuff 20:54 <+ammar2> morfin: If you're gonna use A*, I think D* is better for a minecraft like game where terrain can change 20:57 < morfin> at least it's better than vanilla use i think 20:58 < morfin> as i know it just walk on line from A to B 21:00 < morfin> is that algorithm acting like A* but checking if world changed every turn(?) 22:36 < Gjum> morfin: vanilla uses something like A* or even D*, you can see that when building a maze and putting a zombie and a villager on opposite sides 23:01 < morfin> hmm 23:01 < morfin> but why then mobs fall down, swim lava etc so often? 23:02 < Gjum> when they get pushed/tricked 23:02 < Gjum> pathfinding is hard 23:02 < Gjum> *in minecraft 23:02 < morfin> or even just try to walk through trees 23:03 < Gjum> that was fixed several versions ago 23:04 < morfin> oh 23:05 < Gjum> there was a mob AI update, don't know the version nr 23:05 < Gjum> but it improved all mobs' ai 23:06 < morfin> nice 23:06 < Gjum> youtube says 14w11b 23:06 < morfin> but vanilla still have issues with perfomance with lots of players on server? 23:10 < morfin> anyway i will not give up my idea 23:11 < Gjum> you might consider D*lite 23:11 < Gjum> A* is slow, D* is old 23:35 <+ammar2> Gjum: not really, depends on how its implemented 23:38 < Gjum> yup, absolutely 23:38 < Gjum> there was a long discussion about this very topic recently --- Day changed lun. juil. 06 2015 08:44 < morfin> i was D*lite 08:44 < morfin> *saw 13:26 < Not-48e3> [wiki.vg] Edit by SupaHam to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6675&oldid=6669 14:09 <+XorBoole> not sure why, but win10 edition + running into shoghi really makes me want to start hacking with PE... which brings me to the question, can I emulate it on a PC? 14:09 * XorBoole runs 14:45 < Not-48e3> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6676&oldid=6675 14:46 < Not-48e3> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6677&oldid=6675 14:48 < Fenhl> derp 14:48 < Not-48e3> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6678&oldid=6675 14:48 < Fenhl> note to self: use preview mode 14:48 < Fenhl> also applies to SupaHam 14:49 < SupaHam> Sorry 18:23 < yawkat> what is the time unit used in http://wiki.vg/Protocol#Ping ? epoch seconds or millis? 18:29 < yawkat> whatever, server probably just echos back whatever is sent 18:31 <+ammar2> yawkat: client send millis epoch but it doesn't matter 18:32 < yawkat> thanks 21:14 < Fenhl> gonna fix that in the article then 21:18 < Not-48e3> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6679&oldid=6675 21:25 < Not-48e3> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6680&oldid=6675 21:26 < Not-48e3> [wiki.vg] Edit by Fenhl to Data Types -> http://wiki.vg/index.php?title=Data_Types&diff=6681&oldid=6647 --- Day changed mar. juil. 07 2015 07:26 < AlphaBlend> i can't get a player to view another entity from their perspective properly. I use the PacketPlayOutCamera packet, send it to a player, but in the end the client looks all glitched. does this only work properly in spectator mode or something? or what else do i need to do? anyone else have had this issue? 11:15 < Not-48e3> [wiki.vg] Edit by Toastedtruth to Server List Ping -> http://wiki.vg/index.php?title=Server_List_Ping&diff=6682&oldid=6612 13:07 < Fenhl> ammar2: you sure it's milliseconds since epoch? [[Server List Ping]] says it's client uptime 14:33 < morfin> guys i had one silly question 14:34 < morfin> Minecraft asynchronously read data from socket for every session but does it handle packets sequentally? 14:35 < dav1d> I would assume so 14:35 <+Amaranth> For that one player yes 14:36 <+Amaranth> I don't remember the logic for how it decides what order to handle multiple players but it's not going to be in the order the packets arrived except by accident 14:37 < jast> the order is essentially undefined anyway 14:37 < morfin> for one player only 14:37 < morfin> i think it should be defined 14:37 < jast> sure, within a single connection the packets are handled in the order they were sent 14:37 < jast> this is actually enforced by TCP 14:37 <+ammar2> which isn't how games usually work 14:38 < morfin> because otherwise it will be prroblematic to handle 0xFF in the time 14:38 <+ammar2> Fenhl: hold on, I'll go check 14:38 <+ammar2> wat 14:38 < jast> most netcode in games uses UDP, so there is implementation-specific logic to deal with out-of-order packets 14:38 <+Amaranth> jast: We're talking about minecraft packets, not TCP 14:38 < jast> last time I checked, minecraft used TCP 14:39 < morfin> only PE use UDP as i know 14:39 <+Amaranth> I can't tell if you're not getting it or fucking with me 14:39 < morfin> but i was talking about desktop one 14:39 <+ammar2> yeah but that doesn't necessarily imply that the internal queue for the packet processing is ordered in the same way as its receieved lol 14:39 <+Amaranth> TCP doesn't even _have_ packets 14:39 < jast> point is, TCP ensures data arrives in the order it is sent 14:39 < morfin> i know) 14:39 <+ammar2> (re: minecraft using tcp) 14:39 < jast> and if you transport packets on top of that, you have to jump through hoops the size of mars to get the order wrong 14:39 < morfin> i call it packets because it's complete pieces of message 14:39 < morfin> not so hard for me 14:40 < jast> okay, that metaphor sucked 14:40 < jast> hoops the size of the Greek budget 14:40 < morfin> i can async_read, push into io_service and handle "Packets" not sequentally ) 14:40 < morfin> theoretically 14:40 < jast> suffice to say, it's not something one typically does by accident 14:40 <+Amaranth> You could process the most recent ones first and only handle the backlog when you have time 14:41 < jast> you have to receive the older data before you even get the newer data 14:41 <+Amaranth> There are things you could do to fuck this up :P 14:41 <+Amaranth> Minecraft used to do some of them 14:41 < jast> well the main fuck-up is using TCP in the first place 14:41 < morfin> don't forget there is shitloads of work except networking) 14:41 <+Amaranth> It used to have two queues for packets 14:41 <+ammar2> oh yeah the high priority qeueue 14:41 <+ammar2> *shudder 14:42 < morfin> UDP cause strange lags etc 14:42 < morfin> when you lose them 14:42 <+Amaranth> TCP cause strange lags when you miss them, UDP does whatever you programmed for that situation 14:42 <+Amaranth> With TCP you drop one packet and you've added a second of latency to your connection 14:43 <+ammar2> tcp aggravates situations when you miss packets >.> 14:43 <+Amaranth> That's head of line blocking for you 14:43 < jast> depending on how your protocol is implemented, you don't *need* all the packets sent by the other side 14:43 < morfin> you can look at SRCDS - it sends state frames to clients and if you lose some you will see what happens 14:43 < jast> and not necessarily in the right order, either 14:44 <+Amaranth> Sure dropping a packet always sucks 14:44 <+Amaranth> But it sucks harder with TCP 14:44 <+ammar2> uhh srcds handles packet loss perfectly fine 14:44 <+ammar2> it gets a bit jumpy but that's unavoidable 14:44 <+ammar2> you're literally dealing with missing information 14:45 < morfin> well, TCP will resend and increase traffic 14:45 <+Amaranth> Which makes it worse 14:45 <+Amaranth> Because if you interpolate when you're missing data then you're going to go back in time once you get it 14:45 <+Amaranth> But if you don't everything just freezes until you get it 14:45 <+ammar2> and you can't just not interpolate unless you want the worst rubberbanding exeprience ever 14:46 <+Amaranth> You're talking about interpolating the client's own position, I'm talking about everything else 14:46 <+Amaranth> MC gets around the first one by making the client rule where it is 16:18 < AlphaBlend> i don't want to repeat what i askeed earlier, but i did ask a question about spectating another entity 16:19 < AlphaBlend> i've been running in circles for a few days trying to find what works perfectly for my staff (even moderators), and to make a better spectating system than we have currently, so that's why i turned to minecraft's camera system, which doesn't seem to work properly, and i want to know if i need to do something extra than just send the camera packet with the target entity ID to whomever I want to 16:19 < AlphaBlend> spectate, like if it requires spectator mode or not 16:21 <+Thinkofdeath> pretty sure you need to be in spectator mode for it to work, also changing your gamemode whilst spectating causes issues too 16:22 <+Dinnerbone> A player needs to be in spectator mode or it'll deny the spectating 16:26 < AlphaBlend> i see 16:26 < AlphaBlend> thanks! 16:29 < Fenhl> ammar2: any results regarding the timestamp thing? 16:37 < Not-48e3> [wiki.vg] Edit by Fenhl to Server List Ping -> http://wiki.vg/index.php?title=Server_List_Ping&diff=6683&oldid=6682 16:43 <+ammar2> Fenhl: hmm, it doesn't seem like its the client uptime but its not epoch ms either. Ping: 320600914, Ping: 320611022 is what I got even after restarting the client 16:49 < Not-48e3> [wiki.vg] Edit by Fenhl to Server List Ping -> http://wiki.vg/index.php?title=Server_List_Ping&diff=6684&oldid=6682 16:50 < Not-48e3> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6686&oldid=6680 16:50 < Fenhl> this should do for now ¯\_(ツ)_/¯ 16:52 <+Dinnerbone> It's the system's current time in ms. 16:53 <+ammar2> System.currentTimeMillis? 16:55 < Fenhl> current time since boot? 16:55 <+Dinnerbone> Actually no sorry my mistake, that was too vague 16:55 <+Dinnerbone> It's *a* timer on that system, which counts in millis 16:56 <+Dinnerbone> When it started is arbitrary, depending on factors (mostly OS) 16:56 < Fenhl> hm okay 16:57 * Fenhl goes and updates the articles yet again 16:57 <+Dinnerbone> It used to do "now time - the time the server replied with" to get ping, which was silly, and people would shave a few numbers off (obviously) to make their server look more attractive 16:57 <+Dinnerbone> It doesn't need to send it now, but compatibility. It's just an arbitrary token that you should reply back with. 16:58 < Fenhl> yeah we got that part 17:01 < Not-48e3> [wiki.vg] Edit by Fenhl to Server List Ping -> http://wiki.vg/index.php?title=Server_List_Ping&diff=6688&oldid=6684 17:01 < Not-48e3> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6687&oldid=6680 17:02 < Fenhl> do current servers still correctly respond to server list ping from back in Beta 1.8? 17:03 < Fenhl> Beta 1.8 clients, that is. The article prior to my edits implied that but the desctiption of the protocol seems a bit off/not backwards compatible 17:21 < SopaXT> I wrote a webapp to check MC/MCPE servers 17:21 < SopaXT> https://github.com/SopaXorzTaker/gamecheck 17:21 < SopaXT> Be careful, python code. 17:25 < winny> SopaXT: is that the code you wanted reviewed in #python 17:25 < SopaXT> Yep 17:25 < SopaXT> It is 17:27 < winny> mind if i'm a little brutal 17:28 <+ammar2> no he doesn't :^) 17:28 < winny> SopaXT: ^ 17:28 < winny> :^) 17:28 < SopaXT> Okay :D 17:29 < SopaXT> Brb 17:29 < winny> you could use the api in your html pages btw, so one doesn't have to load another page 17:30 < winny> in order to keep structure you might want to checkout a js framework like angular, but imo it doesn't matter for such a small project 17:30 < winny> another point in the HTML, is that for html5 you don't need to have a root html element 17:30 < winny> but that's aesthetic 17:31 < winny> and for your /check route, consider using a template with jinja2 17:31 < winny> that way your view logic is divorced from your business logic 17:31 < winny> i have a (related) example app 17:31 < winny> oh 17:31 < winny> i'm being daft 17:31 < winny> you know what you're doing 17:31 < winny> disregard the part about templates 17:33 < winny> catching Exception or BaseException is really bad in general 17:33 < winny> you will mask errors that you may have intended to either recover from otherwise or just not anticipated 17:34 <+ammar2> winny: where is he doing that? 17:35 < winny> in quite a few places 17:35 <+ammar2> usually its only bad if you eat up the exception, over here its reraised/displayed in some way 17:35 <+ammar2> so I don't see it being too much of a concern 17:35 < winny> oh yeah 17:35 < winny> still it's ew :P 17:36 < winny> but like you said functionally irrelevant here 17:37 <+ammar2> I personally think his code is a bit too split up, like I don't see a good reason to seperate the pinging logic into seperate files when they're so simple and short 17:37 < winny> yeah i kind of agree 17:37 <+ammar2> or maybe I'm just biased because I'm viewing it on github 17:37 < winny> i think it's excessive having classes for everything 17:38 < winny> there are a few talks on python class design and when not to use classes -- basically you should only use a class if (1) you have state (2) you have operations that work on said state 17:39 < winny> that's cool, never seen abc used before 17:40 < winny> like these classes that contain only static methods are usually a bad idea since they're namespaced by module anyway 17:42 < winny> not sure but the mc serverlist ping in this implementation won't work with <1.7 17:44 <+ammar2> winny: I think most people don't use abc because it was only added in 2.6 17:44 <+ammar2> so if you're trying to go for 2.x coverage, nope 17:45 < winny> SopaXT: the biggest thing you can do here is add a requirements.txt and setup.py, and move your entire project into a subdir of the same name, and add a readme 17:45 < winny> there is a good article about project layout but i can't find it atm :c 17:45 < winny> ammar2: oh that makes sense 17:45 < winny> tbh i usually target 3.x 17:46 < winny> though most of my code is 2.7 compat 17:46 <+ammar2> I still have a habit of just raising NotImplementedError 17:46 < winny> oh i do that while prototyping 17:46 < winny> it's a good idea 17:46 < winny> is that missing from 3.x? 17:46 <+ammar2> nope 17:47 <+ammar2> its been in every version from like 1.5.something 17:47 < winny> oh good 17:54 < winny> SopaXT: in all fairness your code is much better than my php implementation 17:54 < winny> because php sucks 17:54 < winny> https://github.com/winny-/mcstat --- Log closed mar. juil. 07 17:54:44 2015 --- Log opened mar. juil. 07 17:54:55 2015 17:54 -!- Irssi: #mcdevs: Total of 149 nicks [1 ops, 0 halfops, 16 voices, 132 normal] 17:55 < shoghicp> winny: do you know about or lord and saviour PocketMine? It's written in the language of gods, PHP 17:55 < winny> :o no and it sounds scary (phphphphphphp) 17:56 <+ammar2> shoghicp: life is written in php 17:56 < winny> it's a proxy right 17:56 <+ammar2> full blown server iirc 17:56 <+ammar2> :^) 17:56 < winny> neat (bleh php) 17:56 < shoghicp> code that initializes everything to get something usable everywhere else: https://github.com/PocketMine/PocketMine-MP/blob/master/src/pocketmine/PocketMine.php 17:57 < shoghicp> > Startup code. Do not look at it, it may harm you. 17:58 < winny> ew tabs for indents 17:58 <+ammar2> first line, safe_var_dump 17:58 <+ammar2> 10/10 17:58 < winny> lmao 17:58 < shoghicp> did you know that doing var_dump crashes the server due to thread safety? 17:58 < shoghicp> neither did I 17:58 < winny> what does \ do prefixing a method call? 17:58 < shoghicp> also dummy() { 17:59 < winny> is that like a more evil @ 17:59 < shoghicp> winny: global namespace 17:59 -!- Irssi: Join to #mcdevs was synced in 253 secs 17:59 < winny> oh lol 17:59 < shoghicp> it's using namespaces 17:59 < winny> wait 17:59 < winny> so namespacing affects the scope of globals? 17:59 < shoghicp> no, constants 17:59 < shoghicp> and functions 17:59 < shoghicp> and classes 17:59 < shoghicp> not global variables which are bad 18:00 < shoghicp> you don't need the \ at the start 18:00 < winny> oh okay 18:00 < shoghicp> but sometimes the IDE adds it 18:00 < winny> gotcha 18:00 < winny> i mean global functions whatever 18:00 < winny> this is a painful read 18:00 < shoghicp> anyway, if you want to look at code that looks nice go to a different file 18:01 <+Thinkofdeath> but they all end in .php 18:01 < winny> :^) 18:01 < shoghicp> rename them to .tod and change .php in the auto loader :) 18:01 < winny> namespaces are crap anyway 18:01 < winny> :^) 18:01 < shoghicp> winny: not if you have plugins 18:02 < shoghicp> because people will find a way to collide all of their classes 18:02 < shoghicp> namespaces are like java packages :P 18:02 < winny> oh right because php 18:02 < shoghicp> it's like every other language, C++ also has namespaces 18:03 < winny> any language that doesn't namespace files as a unit 18:04 < shoghicp> anyway, MCPE code is worse than that file sometimes :P 18:06 < winny> https://en.wikipedia.org/wiki/Law_of_Demeter 18:06 <+ammar2> all code is bad :) 18:06 < winny> true 18:07 < winny> defenestrate all the things ! 18:07 < winny> tbh i haven't played mc in like half a year 18:07 < winny> is it even worth playing anymore 18:08 <+ammar2> half? last time I played minecraft properly was when pistons came out :| 18:09 < winny> :o 18:09 < winny> the best part is winning the game with minimal guesswork 18:10 < winny> like using a stronghold locator 18:55 <+Amaranth> shoghicp: Doesn't the \ hint to the interpreter that it can skip straight to the global level for the lookup? 18:55 < shoghicp> that as well :) 18:55 < shoghicp> so it's faster, that's one of the transformations done when converting the source tree to a .phar 18:56 < shoghicp> also has a cpp step :P 18:57 < shoghicp> example, https://github.com/PocketMine/PocketMine-MP/blob/9e4d88a85260999dba49add87dc1c800aed75639/src/pocketmine/network/protocol/PlayStatusPacket.php 18:57 < shoghicp> #include 18:58 <+Amaranth> *shudder* 18:59 < shoghicp> :P https://github.com/PocketMine/PreProcessor/blob/master/rules/Binary.h 18:59 < shoghicp> also I know about elif, but that broke something else 19:00 < shoghicp> anyway, let's not discuss hacky things :P 19:49 < olivervscreeper> Is there a list somewhere of the minimum packets needed to keep a connection alive? 20:10 <+ammar2> olivervscreeper: pretty much just doing the full log in and sending keep alive packets works fine iirc 20:57 < SopaXT> back 20:58 < SopaXT> winny, you made me vomit 20:58 < SopaXT> That is abuse of PHP 20:58 < SopaXT> shoghicp, this covers pocketmine too 20:58 < SopaXT> Why not write it in java? 20:59 < SopaXT> It is fast and reliable (java 20:59 < dx> SopaXT confirmed for troll attempting to start language flamewar 20:59 < SopaXT> Nope. 20:59 < dx> poor attempt though 21:00 < dx> try harder next time 21:00 < SopaXT> PHP is not for servers, it is for dynamic web apps 21:00 < SopaXT> That is all I wanted to say, lol 21:00 < dx> i'm not defending his usage of php 21:00 < winny> i chose php as a joke and it turned out to have an actual use case 21:00 < SopaXT> Using Java would be more reasonable, thoug 21:01 < winny> i'm serious lol 21:01 < dx> winny: i like you 21:01 < winny> :D 21:01 < SopaXT> winny, I chose python. 21:01 <+ammar2> dx, I choose you! 21:01 < winny> yeah python is a great choice for all sane things 21:01 < SopaXT> Also, want to laugh hard 21:01 < dx> pikapikapikapika 21:01 < winny> i wouldn't write something in java ever 21:01 < winny> lol 21:01 < winny> unless i was getting paid 21:01 <+ammar2> why not 21:02 < SopaXT> Guys, you gonna cry when you see this: https://github.com/SopaXorzTaker/irc-server 21:03 < winny> unsightly language requires a lot of boilerplate and private members unavailaible from subclasses pretty much makes it useless to do anything without writing an interface for every type of object you need 21:03 < dav1d> echo "[CRITICAL] Unable to find the pthreads extension." . PHP_EOL; 21:03 < dav1d> nice logging 21:03 < SopaXT> also this https://github.com/SopaXorzTaker/2dexplore 21:03 < SopaXT> I was 10 at the time of writing these 21:03 < shoghicp> dav1d: no logger set yet! 21:03 < dx> is PHP_EOL a constant for the date in which php will be discontinued? 21:03 < shoghicp> SopaXT: pocketmine was never intended to be like this, but people wanted it 21:04 < dx> when is 10? 21:04 < shoghicp> you are free to use the protocol info I dump there 21:04 < shoghicp> also, other server software devs get access to a private repo 21:04 < shoghicp> which has details for the next version 21:04 <+ammar2> dx: yes its set to Date.MAX 21:04 <+ammar2> because php will never end 21:04 < shoghicp> so they can update :) 21:04 <+ammar2> php is life 21:05 < dx> ammar2: life ends though 21:05 < winny> i'm gunna quote you ammar2 21:05 < winny> 'php is life' 21:05 < shoghicp> its original purpose was to document the protocol and help to reverse-engineer it 21:05 < shoghicp> I would say I made that happen :) 21:05 < dav1d> then shit it the fan 21:05 <+ammar2> dx: php will live on 21:05 < dav1d> *hit 21:05 <+ammar2> even when everything is dead 21:05 <+ammar2> did you know that php can reverse entropy 21:05 < dx> nice 21:06 < dav1d> You cannot kill PHP, PHP kills you 21:06 < dx> php confirmed to be better than cockroaches 21:06 < SopaXT> shoghicp, pocketmine servers make me cry 21:06 < shoghicp> then stop complaining and get something working 21:06 < SopaXT> They could be faster and have lesser bugs 21:06 < shoghicp> your attitude won't improve the community 21:06 < SopaXT> Ok, I am a stupid consumer. 21:07 < shoghicp> Also seems like you just hate it 21:07 < winny> php is one of the few language runtimes to support date as beattime 21:07 < SopaXT> No, I don't! 21:07 < winny> https://en.wikipedia.org/wiki/Swatch_Internet_Time 21:07 < winny> why do you ask, because php is a running joke 21:07 < shoghicp> people really tested it and found it really performant 21:08 < SopaXT> I bet a Java implementation would be faster. 21:08 < dx> yeah, despite his terrible choice of language, shoghicp is a very smart guy, he certainly got the best out of php. 21:08 < dav1d> SopaXT: then make one 21:08 <+ammar2> seriously, stop harassing him over it 21:08 * shoghicp uses less memory, supports more players on a CPU than java, etc. 21:08 < SopaXT> I like P/M, I hate PHP 21:08 < winny> oh no i'm not making fun of shoghicp's wonderful work 21:08 <+ammar2> its fine as some circlejerky jokes but gawd 21:08 < winny> i'm just making fun of php, i use it too, seriously 21:08 <+ammar2> realx 21:09 <+ammar2> realx. 21:09 < winny> lol 21:09 < winny> relax i think 21:09 <+ammar2> yes that's what we should do 21:09 < dx> realx. 21:09 < SopaXT> Okay, I will stop flaming 21:09 <+ammar2> no no 21:09 <+ammar2> realx 21:09 < shoghicp> I know that PHP is not the best tool for this job :) 21:09 < dav1d> let's realx guys 21:09 < winny> it's a tool tho 21:09 < winny> c: 21:09 <+ammar2> shoghicp: bby ur the best tool for this job ;) 21:09 < dx> fucking realx jesus christ WHY DON'T YOU REALX 21:09 < shoghicp> :D 21:09 < winny> lmao 21:09 < SopaXT> Sorry, shoghicp, I really dod not think before saying that. :P 21:09 < dav1d> I find PocketMine impressive 21:09 < SopaXT> PocketMine is nice, I agree 21:09 < winny> i'm sure that server is p impressive 21:10 < dav1d> I would have probably killed myself if I wrote that 21:10 < shoghicp> anyway, you will be happy to know that in the future prts of PocketMine will move to C++ 21:10 < winny> never ran it, but it obviously is the best choice 21:10 < dav1d> but hey I didnt 21:10 < winny> oh yay 21:10 < winny> to be honest you should stick to php then :^) 21:10 < shoghicp> while having PHP for plugins and developers that want to use that part 21:10 < winny> (personal opinion) 21:11 < shoghicp> anyway, got to see this movie! 21:11 < dav1d> shoghicp: can you just move over? I mean there is so much work already in it, that catching up with the current state would take a really long time 21:11 < winny> have fun there 21:11 < shoghicp> dav1d: I can move parts, starting with network (RakNet won't be used in the future) 21:11 < shoghicp> o/ 21:11 < dav1d> ah 21:12 < dav1d> mh yeah 21:12 < dav1d> hf at your movie 21:12 < SopaXT> shoghicp, I should really update the info on wiki dot vg 21:12 < dx> anyway as we were saying, php can reverse entropy 21:12 < dav1d> can php solve P=NP? 21:13 < dav1d> (I guess every turing complete language could do that) 21:13 < SopaXT> shoghicp, wait (missed), you will rewrite it in C++? Then be careful about buffer overflow vulnerabilities. 21:13 < dav1d> oO 21:14 < dx> ... 21:14 < dx> SopaXT: just, you know, be quiet 21:14 < dx> that comment screams "i've never touched c/c++" 21:15 <+ammar2> dav1d: yeah, $p = 0; $n = 0; $42 = $p === $p * $n; 21:15 <+ammar2> ez 21:15 < dav1d> omg 21:15 < dav1d> that's GENIUS 21:16 <+ammar2> dx: gotta be careful from that infamous hacker 4chan :^))) 21:16 < SopaXT> I have actually 21:16 < dx> either way, shoghicp is not a retard 21:16 < SopaXT> But that is damaging my reputation when I talk about it 21:16 < SopaXT> And BTW, anyone admin at WikiVG? 21:17 < SopaXT> I have forgot my password and did not set email 21:17 < dav1d> #rekt 21:17 <+ammar2> SopaXT: poke TkTech 21:18 < SopaXT> You have did this for me just now xD 21:19 < Fenhl> what is even 21:19 <+ammar2> or Sadimusi apparently but he doesn't hang around anymore :( 21:19 * Fenhl scrolls 21:19 < Fenhl> no really, what are you people on about 21:20 <+ammar2> we were making fun of you behind your back 21:20 <+ammar2> duh 21:20 < SopaXT> I have found the reason why MCPE 0.10.x servers do not show as local in 0.11.0, there is a new info string format 21:20 < dx> Fenhl: i was complaining about your lack of omnipresence lately 21:21 < Fenhl> in which of the channels? 21:21 < dx> Fenhl: that's the problem. it's only *some* channels, and not every single one of them. 21:21 <+ammar2> oh this is a major problem 21:21 < Fenhl> ooh I see 21:21 <+ammar2> you should work on it 21:22 < Fenhl> /join #* 21:22 < Fenhl> :( 21:22 < Fenhl> 7.8/10 no glob support, better switch to Slack 21:22 < dx> there's someone called [42] there 21:23 < SopaXT> Old info string: "MCCPP;Demo;", new is "MCPE;;;;;" 21:24 < SopaXT> My server checker does not support the old format 22:29 < Aragas> https://dl.dropboxusercontent.com/u/58476180/wowoh.png du u laek mani scrins? 22:29 <+ammar2> 60 fps? but the human eye can't see more than 24!! 22:31 < Aragas> 60 fps can't melt steel beams 22:32 <+AndrewPH> sure it can 22:33 < Aragas> four fully separate clients 22:34 < Aragas> wanted to do deferred rendering, but now i'm havin' fun with splitscreens 22:35 <+ammar2> oh so that's what it was 22:35 <+ammar2> I just thought you were bad at rendering 22:35 < Aragas> nah, that's too 22:37 < dav1d> ha 22:37 < dav1d> that looks like old screenshots of brala :D 22:38 <+ammar2> dav1d: pftt that's like the only screenshots of brala that exist >.> 22:38 <+ammar2> gib prettier screenshots pls 22:38 < dav1d> https://camo.githubusercontent.com/733e6300e2f2183a9a5bd1bf48257d39254b490e/68747470733a2f2f7261772e6769746875622e636f6d2f77696b692f446176316464652f4272614c612f73637265656e73686f74732f6272616c615f30332e706e67 22:38 < dav1d> :o 22:39 < dav1d> ammar2: ^ 22:39 < dav1d> I had basically all blocks 22:39 <+ammar2> dav1d: lighting where :( 22:40 < dav1d> I was working on physics and lighting before I stopped on it :o 22:40 < Aragas> Nope, mah screens should be better. I handle current sunlight, based on time. I'm just too lazy to color leaves and grass. And implement textures :DDD 22:40 <+ammar2> Aragas: well stop chatting and get back to work 22:40 <+ammar2> we don't pay you to talk 22:40 < dav1d> ^ 22:40 < Aragas> :DDDD 22:41 < dav1d> how do you handle sunlight? in the shader I guess? 22:41 < dav1d> mh 22:41 < Aragas> Yes 22:41 < dav1d> should be really easy actually 22:41 < dav1d> Aragas: what language? 22:41 < Aragas> can give you hlsl code, if you want 22:41 < dav1d> oh direct x :p 22:41 < dav1d> *d3d 22:41 < Aragas> nope. opengl with translator 22:41 < Aragas> lol 22:42 < dav1d> why? 22:42 < Aragas> I'm using monogame. It translates hlsl, dunno why they gont use opengl shaders 22:42 < dav1d> ahhh 22:42 < dav1d> I think SirCmpwn was working on something with monogame when he was still here 22:43 < Aragas> Actually, not anymore 22:43 < Aragas> they are writing their own monogame 22:44 < Aragas> not sure why, it's really stupid 22:44 <+ammar2> lol I like his description of the truecraft repo 22:44 <+ammar2> "Minecraft for hipsters" 22:44 <+ammar2> that describes it really well 22:44 < dav1d> Aragas: stairs will be fun :p 22:45 < Aragas> Guess they have fps problems. Saw their screen, debug info says truecraft draws 14 million vertices 22:45 < dav1d> WAIT 22:45 < dav1d> he actually still works on it 22:45 < Aragas> yes, it is not bad 22:46 < dav1d> holy shit 22:46 < dav1d> it is really good 22:46 < Aragas> They haven't optimized drawing 22:46 < Aragas> 10 sec 22:47 < Not-48e3> [wiki.vg] Edit by Fenhl to Protocol -> http://wiki.vg/index.php?title=Protocol&diff=6689&oldid=6687 22:48 < Aragas> TrueCraft is drawing 14 million vertices by consuming 74 chunks 22:48 <+ammar2> Fenhl: that works?!?! 22:48 < Aragas> I'm drawing 8 million vertices by consimung 441 chunks 22:48 <+ammar2> Aragas: good job 22:48 <+ammar2> but are you rendering everything 22:48 < dav1d> that sounds wrong 22:49 < dav1d> you either render good or you render shiity 22:49 < dav1d> rendering shitty makes no sense 22:49 < Aragas> Nope. final versio should use ~ 10-12 vertices. If i only draw all Visible blocks.. 22:49 < Aragas> 10 sec 22:49 < dav1d> so i dont believe that 22:49 < dav1d> you only render visible faces, which is not hard to check at all 22:50 < dav1d> took me a while to figure out the corner cases (especially since % negative numbers doesn't do the same as in python ...) 22:50 < Aragas> i render only visible blocks that have light. If i render non-lightened block i'll get 15 millions 22:51 < dav1d> like 80 lines of code, if you dont optimize it's like 50-60 22:52 < Aragas> 15 millions is lightened and non-lightened 22:52 < Aragas> are* 22:53 < dav1d> lol 22:53 < dav1d> I found code I cant remember I wrote 22:55 < Aragas> https://dl.dropboxusercontent.com/u/58476180/ohwowwow.png 22:55 < Aragas> is it shitty? 22:58 < dav1d> shitty is you render non visible faces like chunkborders or simply hidden blocks 22:58 < dav1d> so it isnt 22:58 < dav1d> Aragas: do you rely on the light values sent by the server? 22:58 < Aragas> yes 22:59 < Aragas> implementing occulision culling will reduce vertices 22:59 < dav1d> so is this going to be a renderer or an actual client? 23:00 < dav1d> meh 23:00 < dav1d> didnt even bother with stuff like that 23:00 < dav1d> frustum culling 23:00 < dav1d> I rendered everything in ~5ms at a 12 chunk radius 23:00 < dav1d> in a jungle 23:00 < morfin> ) 23:00 < dav1d> that's ~200fps 23:00 <+ammar2> seconds per frame 23:00 <+ammar2> mmmyes 23:00 < Aragas> It works with android, so drawing is expensive 23:01 < dav1d> on a 560ti 23:01 < Fenhl> ammar2: sure, why wouldn't it? 23:01 * dav1d should try the 970 23:01 <+ammar2> Fenhl: I don't know! Just never tried it 23:02 < Fenhl> it's how you can get info about a 1.7+ server with a 1.6 client 23:02 < Aragas> I'll say current renderer is temporarily. I'll write a better vertices builder and do deferred lightning 23:02 <+ammar2> yeah that makes sense, just never really thought about it 23:03 < Aragas> i'm curious how deferred will work on minecraft 23:03 < dav1d> yeah I just got everything together for the deferred renderer 23:03 <+ammar2> there was a lot of arguing and shouting around here over the state of the ping a few years ago 23:03 < Fenhl> if it doesn't actually work with the Notchian server anymore, feel free to fix that part 23:04 < Fenhl> but that doesn't mean other servers can't implement it, it's perfectly unambiguous 23:05 < Fenhl> (as always, I haven't tested anything, just cleaning up the wiki) 23:05 < Aragas> yep. different server ping protocols make it difficult to use. I mean, I wanna make my client to get server version based on server ping info and use needed protocol 23:05 <+ammar2> test in production ¯\_(ツ)_/¯ 23:06 < Aragas> without manually selecting version 23:06 <+Thinkofdeath> Aragas: good luck with that, you'll have issues with some servers 23:06 <+Thinkofdeath> mainly bungee and things like that 23:07 < Aragas> Yup :9 23:07 < Aragas> :( 23:08 <+Thinkofdeath> On the subject of renderers, mine: http://i.imgur.com/skiH34K.png 23:08 < Aragas> awesome 23:08 <+ammar2> lighting 23:08 <+ammar2> dav1d: pls 23:08 < Aragas> oh, unlocked fps? 23:08 <+Thinkofdeath> Aragas: its an option 23:09 < dav1d> ammar2: :o 23:09 < dav1d> maybe, but I dont feel like updating shit 23:09 < dav1d> also 23:09 < dav1d> fuck physics 23:10 < Aragas> You're writing a client, yes? 23:10 <+Thinkofdeath> my handling of physics is: wing it for the player and smooth the movement from the server for the rest 23:10 <+Thinkofdeath> works apart from NCP+ hates me 23:10 <+Thinkofdeath> Aragas: yep 23:11 < dav1d> Thinkofdeath: same lighting bugs as minecraft 23:11 <+Thinkofdeath> *lighting features 23:11 <+ammar2> lol 23:11 < Aragas> :DD 23:11 < dav1d> damn looks good 23:11 < dav1d> another reason to not continue brala^^ 23:11 <+ammar2> yeah that's p sexy 23:11 <+ammar2> your client was in go? 23:11 < Aragas> Aren't server handling all physics? 23:11 < dav1d> Aragas: no 23:12 < Aragas> oh shi~ 23:12 < dav1d> if you want your client to be useable 23:12 < dav1d> nope 23:12 <+Thinkofdeath> ammar2: yep 23:13 < Aragas> i guess client physics is needed for faster predicting stuff, yes? 23:13 <+Thinkofdeath> side note: doesn't really work well on amd 23:13 <+Thinkofdeath> amd's drivers are buggy as hell 23:13 < dav1d> Aragas: just for movement all around 23:13 <+ammar2> Thinkofdeath: featury as hell* 23:13 <+Thinkofdeath> :D 23:13 < dav1d> server only corrects position but doesn't actually make you move 23:13 < Aragas> ah, checking where you can move or not 23:14 <+Thinkofdeath> 'cause segfaults make for great features 23:14 < dav1d> Aragas: also falling 23:14 < dav1d> jumping 23:14 < dav1d> running 23:15 <+Thinkofdeath> the vanilla servers gives a lot of leway with your movement, you can speed hack and it wont care. Modded servers on the otherhand aren't so forgiving 23:16 < Aragas> the hard stuff is making all those borders. There can be used same algorithm that was for rendering, but it will be expensive 23:16 < Aragas> or parse vertices, dunno, may work 23:17 <+ammar2> Thinkofdeath: they actuall segfault internally? 23:17 <+ammar2> actually* 23:17 <+Thinkofdeath> yep 23:17 < Aragas> movement shouldn't be *too* hard 23:18 < dav1d> oh 23:18 < dav1d> TrueCraft is beta 1.7 23:18 <+ammar2> dav1d: the description of the repo is fantastic 23:18 < dav1d> movement is easy, if you're flying 23:18 < dav1d> :p 23:18 < dav1d> ammar2: yeah reading that atm 23:18 < Aragas> :DDD 23:19 < dav1d> "clean dev" 23:19 < dav1d> lel 23:19 < dav1d> I think I am half dirty 23:19 <+ammar2> yeah you dirty little dev 23:19 <+ammar2> stay out of my repo 23:19 < dav1d> ^^ 23:19 <+ammar2> anyway I meant the "Minecraft for hipsters" thing 23:19 < dav1d> I only decompiled it once for utf-8 support and for fixing a bug 23:19 < dav1d> hipster is overused 23:20 < Aragas> this clear dev stuff is dumb 23:20 < dav1d> Just my 2 hipster cents 23:20 <+ammar2> not really 23:20 < dav1d> ^ 23:20 <+ammar2> in the us cleanroom laws are super strict 23:20 <+ammar2> you can't have seen reverse engineered source and build upon it 23:20 <+ammar2> in other countries its a bit better in that the same person can make the specifications from reverse enegineering and build from them 23:20 < dav1d> " Under no circumstances may you ever share any code with a clean dev, decompiled or otherwise" :D 23:20 < dexter0> SirCmpwn takes his clean room seriously. 23:20 * Thinkofdeath feels like pasting decompiled code on the wiki in the past was a bad idea now that he thinks of it 23:20 <+ammar2> lol 23:21 < Aragas> lol 23:21 < dav1d> Good old SirCpwn 23:21 <+ammar2> mass send letters with decompiled source to cmpwn :^) 23:21 <+ammar2> don't uhh actually do that btw 23:22 < Aragas> so, if i decompiled it to see how utf-8 support works, but implement my sow font renderer with different concept, i'm gonna go to jail? 23:22 <+ammar2> in a US court, probably 23:23 < Aragas> wow 23:23 <+ammar2> someone else has to write the specifications for the utf8 support 23:23 <+ammar2> and then you write code based upon that 23:23 < Aragas> should check if russia's law won't kill me for that stuff 23:23 <+Thinkofdeath> minecraft's font rendering is pretty easy 23:23 <+Thinkofdeath> apart from the first page 23:24 <+Thinkofdeath> that one is in a different order than it should be 23:24 < Aragas> nonono don't tell me, i still haven't done it! 23:24 < Aragas> :DDDD 23:24 <+Thinkofdeath> :P 23:25 <+ammar2> Aragas: I mean really there's not much of a chance mojang is going to come after you 23:25 <+ammar2> I wouldn't worry too much 23:25 <+XorBoole> s/mojang/microsoft 23:25 * XorBoole runs 23:26 < Aragas> i don't really worry about it, i'mma a cleany dev. It's just not really fair 23:26 <+XorBoole> I'm dirty. very dirty 23:26 < Aragas> oh, wow, my english. Sorry 23:26 <+XorBoole> mostly because I work closely with spigot =) 23:26 * Thinkofdeath has read every single file in the 1.8 server 23:27 <+Thinkofdeath> might be slightly dirty 23:27 <+XorBoole> yes, you wrote the mappings, genius 23:27 <+ammar2> and if they did come after you the burden of proof would be on then. Just get rid of any records of you having decompiled code :^) 23:27 <+ammar2> them* 23:27 <+Thinkofdeath> XorBoole: psh it helped in the end anyway 23:27 < dexter0> like this IRC chat 23:27 <+Thinkofdeath> found a force op 23:27 <+Thinkofdeath> that counts 23:27 <+XorBoole> still mad I didn't get to shove you into the thames 23:27 <+ammar2> and then you can perjure your way out :D 23:28 < Aragas> internet doesn't forgive 23:28 <+ammar2> its not the internet you need to be worried about, its the big bad lawyers and court 23:28 <+Thinkofdeath> but as you in on reddit, it forgets. 23:28 <+Thinkofdeath> very quickly 23:28 <+XorBoole> Thinkofdeath not enough dedotated wam 23:28 <+ammar2> just make sure to get rid of these chat logs too in case they get subpoenad 23:29 <+XorBoole> how much dedotated wam does steven need? 23:29 * XorBoole runs 23:29 <+ammar2> XorBoole: around 4 23:29 <+ammar2> some people will tell you 5 23:29 <+ammar2> but thats just overkill 23:29 <+Thinkofdeath> still find it funny that that got asked again at md's panel :P 23:29 <+XorBoole> ammar2 > implying it's possible to get a subpoena for logs that only supposedly exist 23:29 <+XorBoole> they don't exist 23:29 <+ammar2> XorBoole: the topic 23:29 <+ammar2> ^_^ 23:30 <+XorBoole> ammar2 have you even tried to find them 23:30 <+Thinkofdeath> ammar2: I don't think anyone has found them yet 23:30 <+ammar2> they exist in my heart 23:30 <+ammar2> also TkTech probably knows 23:30 * XorBoole stabs ammar2 through the heart 23:30 < Aragas> I can say here that i fully studied the decompiled code. But first i'll ask, where is the delete message button? :DD 23:30 <+ammar2> XorBoole: that doesn't get rid of the logs 23:30 <+ammar2> Aragas: basically you have to kill tk's server 23:30 <+XorBoole> good night, sweet price 23:30 <+ammar2> burn his hard drives 23:30 * XorBoole contines stabing ammar2 23:30 <+ammar2> Thinkofdeath: those guys were copycats :( 23:31 <+ammar2> they should have upped the game 23:31 <+XorBoole> tbh the best part was how md decided to actually answer the question 23:31 <+ammar2> how much dedowated weepeeyou does bungee need 23:31 < Aragas> anyone knows where the server is hosted? Just, khm, curious 23:31 <+XorBoole> I tried to think of something embarassing to ask him but I didn't 23:31 <+XorBoole> Aragas just nuke every datacenter ever from orbit 23:32 <+Thinkofdeath> I'm just upset that I never said hi to gr_m or db 23:32 < Aragas> I don't have any metal gear for that 23:32 <+Thinkofdeath> didn't say hi to anyone really, just hid :3 23:32 <+XorBoole> Thinkofdeath are you /sure/ that doesn't ping him? 23:32 <+Thinkofdeath> oh it does 23:32 <+Thinkofdeath> just a habbit 23:33 <+XorBoole> probably everything with at least two of [gmru] pings him 23:33 <+XorBoole> then again 'xor' will always ping me, no whitespace lookaheads 23:34 < dav1d> a xor b 23:34 <+XorBoole> axorb works too 23:34 < dav1d> that's shitty 23:34 < dav1d> that's almost as shitty as the znc highlight plugin 23:35 <+XorBoole> it's almost as though g wants us to break the 'no pinging mojangstas rule' 23:35 * XorBoole runs 23:35 < dav1d> I ping your mum! 23:35 <+ammar2> XorBoole: r8 my preamble. \newcommand{\Kappa}{\includegraphics{Kappa.png}} 23:35 < dav1d> MEMES PogChamp 23:36 <+XorBoole> ammar2 pr to amssymb 23:36 <+ammar2> oh god 23:36 <+ammar2> they'll shot out at me 23:36 <+ammar2> shout* 23:37 < Aragas> ammar2: you just gave me one of the best ideas i had 23:37 <+ammar2> which part 23:37 <+XorBoole> $\frac{d\Kappa}{dt}$ 23:37 <+ammar2> I hope it wasn't the latex that gave you a good idea 23:37 < Aragas> kappa part 23:37 <+XorBoole> actually, isn't Kappa already taken? 23:37 <+ammar2> XorBoole: WAT 23:37 < Aragas> and latex 23:38 <+XorBoole> ammar2 Kappa isn't kappa is 23:38 <+ammar2> oh thank fuck 23:38 < Aragas> nah, maybe just kappa 23:38 <+XorBoole> thoguht there was an uppercase kappa 23:38 <+XorBoole> use use /renewcommand 23:38 * XorBoole runs 23:39 <+ammar2> \renewcommand{\renewcommand}{\renewcommand}