2017-01-15 02:31:47 Lazersmoke i didn't think it said anything I'll check again tho 2017-01-15 02:32:10 Lazersmoke oh it says something now 2017-01-15 02:32:17 Lazersmoke [19:30:56] [Client thread/ERROR]: Can't ping 127.0.0.1:8989: Disconnected 2017-01-15 02:32:20 Lazersmoke [19:30:59] [Client thread/ERROR]: Can't ping 127.0.0.1:8989: Internal Exception: java.io.IOException: An established connection was aborted by the software in your host machine 2017-01-15 02:33:04 Lazersmoke oh derp thats cause the server was down lol 2017-01-15 02:33:27 Lazersmoke ya with the server up it doesn't say anything :/ 2017-01-15 02:34:32 pokechu22 Alright, that that it's successfully decoding _a_ response, but not the version from the response. Hm. 2017-01-15 02:34:54 Lazersmoke i might have found the problem 2017-01-15 02:35:11 Lazersmoke I'm not 100% sure I'm padding the long that goes with the status pong to 8 bytes 2017-01-15 02:35:25 Lazersmoke so its probably just waiting for the last few or something 2017-01-15 02:36:00 pokechu22 Yea, that needs to be 8 bytes for it to work, but that still shouldn't cause the version to be "old" I'm pretty sure 2017-01-15 02:39:59 Lazersmoke ok i fixed the padding but its still "old" 2017-01-15 02:41:26 Lazersmoke lol wat 2017-01-15 02:41:37 Lazersmoke my encoding of longs is completely broken apparently 2017-01-15 02:43:19 pokechu22 What happens if you send just {"version":{"name":"1","protocol":1}} ? It's not valid, but it should probably show something... 2017-01-15 02:43:45 Lazersmoke nah I'm pretty sure this is whats going wrong 2017-01-15 02:43:56 Lazersmoke I'm encoding my longs like I'm encoding varints 2017-01-15 02:44:01 Lazersmoke but they are different endians 2017-01-15 02:50:04 Lazersmoke fuck, its still broken 2017-01-15 02:50:16 Lazersmoke and that response doesn't show anything in the log either 2017-01-15 02:51:47 pokechu22 Hm, how about sending malformed JSON? (EG, send "{lala"). If it still displays "Old" then then something really weird is happening. 2017-01-15 02:52:40 Lazersmoke hmm 2017-01-15 02:52:45 Lazersmoke it still says old 2017-01-15 02:52:51 Lazersmoke and it even still goes through with the ping 2017-01-15 02:55:23 <-- Meeeh (~Meeeh@65.ip-51-254-203.eu) a quitté (Quit: Ugh...) 2017-01-15 02:56:55 --> Meeeh (~Meeeh@65.ip-51-254-203.eu) a rejoint #mcdevs 2017-01-15 02:57:43 Lazersmoke ok i enabled debug mode 2017-01-15 02:58:01 Lazersmoke and now its staying stuff about malformed json, which is exactly what it should do 2017-01-15 02:58:07 Lazersmoke trying with actual json now 2017-01-15 03:07:09 Lazersmoke ok, so if i ping a normal server it says it gets a STATUS:0 kb and STATUS:1 ka 2017-01-15 03:07:28 Lazersmoke but on my server, its two STATUS:0 kb 2017-01-15 03:07:42 Lazersmoke so i guess that means I'm sending the response twice? 2017-01-15 03:08:05 pokechu22 Yea, or it's reading it as the response being sent twice 2017-01-15 03:08:14 pokechu22 You might be sending the wrong ID for the ping response 2017-01-15 03:08:26 pokechu22 (should be 0x01) 2017-01-15 03:09:09 Lazersmoke my pong is 0x09 0x01 [8 bytes from the ping] 2017-01-15 03:11:09 pokechu22 What happens if you just close the connection instead of sending a pong? 2017-01-15 03:11:47 Lazersmoke huh 2017-01-15 03:11:50 Lazersmoke same thing 2017-01-15 03:11:52 Lazersmoke 2x kb 2017-01-15 03:12:15 Lazersmoke thats super weird 2017-01-15 03:12:28 Lazersmoke :q 2017-01-15 03:13:53 pokechu22 You're sending it twice, then... Can you add a println or something like that to see when you're generating the status response? (Maybe you're generating it in 2 places - if it only prints once, that's probably the case) 2017-01-15 03:14:16 Lazersmoke hmm 2017-01-15 03:14:25 Lazersmoke i just commented out the line that sends the response 2017-01-15 03:14:28 Lazersmoke and it still got a kb 2017-01-15 03:14:34 Lazersmoke so i guess I'm doing it somewhere else lol 2017-01-15 03:14:59 Lazersmoke wow I'm retarded 2017-01-15 03:15:11 Lazersmoke I'm sending a disconnect packet before sending the status stuff 2017-01-15 03:15:12 Lazersmoke lol 2017-01-15 03:15:43 Lazersmoke AYYYYYYYYYY 2017-01-15 03:15:47 Lazersmoke it works now :D 2017-01-15 03:15:53 Lazersmoke thanks for your help :) 2017-01-15 03:16:08 pokechu22 No problem :P 2017-01-15 05:02:43 <-- Lazersmoke (~Lazersmok@2601:248:200:829b:14c7:f902:925b:b169) a quitté (Quit: Leaving) 2017-01-15 05:31:06 <-- AlphaBlend (AlphaBlend@cpe-172-250-134-111.socal.res.rr.com) a quitté (Ping timeout: 240 seconds) 2017-01-15 05:31:18 --> AlphaBlend (AlphaBlend@cpe-172-250-134-111.socal.res.rr.com) a rejoint #mcdevs 2017-01-15 06:11:17 --> redstonehelper_ (~redstoneh@p4FCCFE9C.dip0.t-ipconnect.de) a rejoint #mcdevs 2017-01-15 06:11:22 <-- redstonehelper_ (~redstoneh@p4FCCFE9C.dip0.t-ipconnect.de) a quitté (Changing host) 2017-01-15 06:11:22 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2017-01-15 06:13:36 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 240 seconds) 2017-01-15 06:13:36 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2017-01-15 06:24:58 --> zhuyifei1999_ (uid97661@wikimedia/zhuyifei1999) a rejoint #mcdevs 2017-01-15 06:31:08 GarethTheGreat a yoi yoi hoy 2017-01-15 06:31:21 GarethTheGreat sometimes i wish the minecraft protocol was UDP 2017-01-15 06:31:39 GarethTheGreat if a single packet has a dodgy length or other encoding error, whole session gets fucked up 2017-01-15 06:32:48 GarethTheGreat why oh why isn't something like SCTP more common? 2017-01-15 06:34:04 GarethTheGreat windows doesn't even support it, so it's microsoft's fault 2017-01-15 06:39:06 pokechu22 Well, even if it was UDP it still would complain about the length/encoding error. Those complaints aren't from TCP (IIRC) - if a TCP error occurs it gets re-sent; it's only when the payload is bad that it complains. 2017-01-15 06:42:06 GarethTheGreat the problem is if one packet is too long, it fucks up the decoding of following packets 2017-01-15 06:42:10 GarethTheGreat or if it's too short etc 2017-01-15 06:42:26 GarethTheGreat because TCP is stream orientated instead of message 2017-01-15 06:43:01 GarethTheGreat i am of course talking about minecraft packets by the way, not the underlying TCP packets 2017-01-15 06:46:40 pokechu22 Only if the length of the packet is wrong - in which case, it would be the same issue with a message-oriented protocol (since the wrong length of the message would be wrong, causing the same problems). Or maybe I'm misunderstanding you. 2017-01-15 06:47:46 pokechu22 Of course, with the pre-1.7 protocol (where packets weren't length-prefixed at all) that was a much bigger issue. But in 1.7+ wrong-size issues shouldn't be a problem if the length is correctly put into the packet/message... 2017-01-15 06:49:32 GarethTheGreat in a message based protocol other messages would get through fine 2017-01-15 06:49:46 GarethTheGreat you send one dodgy message, it could be ignored and the others still handled 2017-01-15 06:52:15 pokechu22 In MC others probably also could still be handled (again, assuming that the overall packet structure is fine and just the payload is wrong), but instead it intentionally stops on the first bad message (too short/too long/malformed). It's pretty deliberate that it rejects the first bad message. 2017-01-15 08:15:46 <-- Guest2802 (~Me4502@owexz.net) a quitté (Changing host) 2017-01-15 08:15:46 --> Guest2802 (~Me4502@unaffiliated/me4502) a rejoint #mcdevs 2017-01-15 08:22:58 -- Guest2802 est maintenant connu sous le nom Me4502 2017-01-15 11:07:11 --> Tachyon_ (~Thunderbi@95.76.184.120) a rejoint #mcdevs 2017-01-15 11:29:11 <-- protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a quitté (Quit: WeeChat 1.7-rc2) 2017-01-15 11:36:15 <-- Tachyon_ (~Thunderbi@95.76.184.120) a quitté (Quit: Tachyon_) 2017-01-15 13:17:44 --> Tachyon_ (~Thunderbi@95.76.184.120) a rejoint #mcdevs 2017-01-15 13:45:09 <-- Tachyon_ (~Thunderbi@95.76.184.120) a quitté (Quit: Tachyon_) 2017-01-15 14:59:42 --> Black-Hole (~BlackHole@p2003007E4F62A5002D5ACE16F51AB982.dip0.t-ipconnect.de) a rejoint #mcdevs 2017-01-15 15:02:22 <-- Guest75658 (~BlackHole@p2003007E4F62A5003D04E91683B662CD.dip0.t-ipconnect.de) a quitté (Ping timeout: 258 seconds) 2017-01-15 15:02:30 +Grum sometimes i wish the minecraft protocol was UDP <-- we'd have to implement TCP ontop of udp sadly :( and yes in theory that is faster/better but ... yes pain 2017-01-15 15:33:22 x10A94 The MCPE protocol is UDP and it is a pain 2017-01-15 15:33:56 x10A94 But honestly SCTP combines both so maybe that? 2017-01-15 15:35:16 x10A94 Wait, shit, no first-party windows support. Nevermind that then. 2017-01-15 16:54:35 GarethTheGreat UDP with confirms is the best of both worlds in my view 2017-01-15 16:54:44 GarethTheGreat message-based but still reliable 2017-01-15 16:58:07 dx how many times has this UDP thing been mentioned? 2017-01-15 16:58:39 dx half of those times it was suggested by someone who doesn't even understand the implications 2017-01-15 16:59:09 dx i'm probably being generous with "half" 2017-01-15 16:59:52 GarethTheGreat i'm aware of the reliability issues, but you don't need to literally reimplement all of TCP 2017-01-15 17:00:06 GarethTheGreat and the cool thing is you can use the unreliability semantics to mark certain packets as not needed 2017-01-15 17:00:24 GarethTheGreat for example so long as MOST of the player position packets get there, things should stay in sync 2017-01-15 17:00:54 dx yes yes i've heard it all 2017-01-15 17:01:05 dx i'm not sure why i still lurk this channel tbh 2017-01-15 17:01:22 GarethTheGreat heh 2017-01-15 17:03:45 --> protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a rejoint #mcdevs 2017-01-15 17:43:33 --> ghac (~ghac@2a01:4f8:171:1ae5::2) a rejoint #mcdevs 2017-01-15 17:47:39 <-- protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a quitté (Quit: WeeChat 1.7-rc2) 2017-01-15 17:47:58 --> protryon (~protryon@2601:647:ca03:600:16b9:8d47:200c:9a3a) a rejoint #mcdevs 2017-01-15 17:48:43 --> Lazersmoke_ (~Lazersmok@2601:248:200:829b:3943:c016:563f:8da2) a rejoint #mcdevs 2017-01-15 18:00:31 --> Amaranth (~Amaranth@ubuntu/member/Amaranth) a rejoint #mcdevs 2017-01-15 18:00:31 -- Mode #mcdevs [+v Amaranth] par ChanServ 2017-01-15 18:11:09 <-- Amaranth (~Amaranth@ubuntu/member/Amaranth) a quitté (Remote host closed the connection) 2017-01-15 18:13:31 --> Amaranth (~Amaranth@ubuntu/member/Amaranth) a rejoint #mcdevs 2017-01-15 18:13:31 -- Mode #mcdevs [+v Amaranth] par ChanServ 2017-01-15 19:48:16 <-- ShaRose (ShaRose@i.am.sharo.se) a quitté (Ping timeout: 252 seconds) 2017-01-15 19:48:32 --> ShaRose (ShaRose@i.am.sharo.se) a rejoint #mcdevs 2017-01-15 20:50:13 Lazersmoke_ How would I go about serializing an RSA public key for use in an Encryption Request packet (0x01) during the Login process? 2017-01-15 20:50:36 Lazersmoke_ The wiki says to put it in "ASN.1 format as defined by x.509" but I don't know what that means 2017-01-15 20:56:02 --> Tachyon_ (~Thunderbi@95.76.184.120) a rejoint #mcdevs 2017-01-15 21:22:26 --> clonejo_ (~clonejo@shakik2.shakik.de) a rejoint #mcdevs 2017-01-15 21:30:27 <-- Tachyon_ (~Thunderbi@95.76.184.120) a quitté (Quit: Tachyon_) 2017-01-15 21:43:34 <-- AlphaBlend (AlphaBlend@cpe-172-250-134-111.socal.res.rr.com) a quitté (Read error: Connection reset by peer) 2017-01-15 21:44:38 --> AlphaBlend (AlphaBlend@cpe-172-250-134-111.socal.res.rr.com) a rejoint #mcdevs 2017-01-15 22:20:46 <-- LiftLeft (~loser@im.from.the.gigamatrix.xyz) a quitté (Quit: Bye) 2017-01-16 00:23:26 <-- begin_end (admin@ho.by) a quitté (Read error: Connection reset by peer) 2017-01-16 00:29:42 --> begin_end (admin@ho.by) a rejoint #mcdevs 2017-01-16 00:29:44 -- begin_end est maintenant connu sous le nom EW8GU 2017-01-16 01:32:01 <-- Lazersmoke_ (~Lazersmok@2601:248:200:829b:3943:c016:563f:8da2) a quitté (Quit: Leaving) 2017-01-16 03:06:03 --> LiftLeft (~loser@67.205.149.187) a rejoint #mcdevs 2017-01-16 04:13:13 --> Lazersmoke (~Lazersmok@2601:248:200:829b:3943:c016:563f:8da2) a rejoint #mcdevs 2017-01-16 05:04:44 <-- bswartz (~bswartz@98.122.139.152) a quitté (Quit: Leaving.) 2017-01-16 05:32:41 --> bswartz (~bswartz@98.122.139.152) a rejoint #mcdevs 2017-01-16 05:33:54 <-- bswartz (~bswartz@98.122.139.152) a quitté (Client Quit) 2017-01-16 05:37:14 --> bswartz (~bswartz@98.122.139.152) a rejoint #mcdevs 2017-01-16 05:45:33 <-- bswartz (~bswartz@98.122.139.152) a quitté (Quit: Leaving.) 2017-01-16 05:55:32 --> bswartz (~bswartz@98.122.139.152) a rejoint #mcdevs 2017-01-16 06:09:20 --> redstonehelper_ (~redstoneh@p5795266C.dip0.t-ipconnect.de) a rejoint #mcdevs 2017-01-16 06:09:20 <-- redstonehelper_ (~redstoneh@p5795266C.dip0.t-ipconnect.de) a quitté (Changing host) 2017-01-16 06:09:20 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2017-01-16 06:11:11 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 240 seconds) 2017-01-16 06:11:11 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2017-01-16 06:43:24 Lazersmoke wow the encryption thingy for minecraft is super weird 2017-01-16 06:43:44 Lazersmoke in case anyone ever wants to write a server ever, here is how you encode the public key 2017-01-16 06:43:51 Lazersmoke trust me it will save you hours 2017-01-16 06:44:01 Lazersmoke imgur.com/a/LBjLs 2017-01-16 06:44:21 Lazersmoke also your e *must* be 65537, not 17 or it just doesn't work at all lol 2017-01-16 06:47:10 pokechu22 Ah, nice. I don't know what it means, but I couldn't figure out the protocol encryption article either (just never worked with that part before)... 2017-01-16 06:57:53 Lazersmoke ya actually I should update the wiki because the information on there is like 0.05% of what you need to implement anything useful in any language other than java 2017-01-16 07:09:27 <-- kev009 (~kev009@tempe0.bbox.io) a quitté (Remote host closed the connection) 2017-01-16 07:10:15 +ammar2 it's not really that weird, in most libraries its the standard DER format 2017-01-16 07:10:22 +ammar2 though I agree the language on that page is really obtuse 2017-01-16 07:10:34 +ammar2 no easy to google terms 2017-01-16 07:30:17 Lazersmoke if this is the standard DER format then 1) my library is broken and 2) DER format is complete shit and would benefit from an overhaul 2017-01-16 07:37:21 --> kev009 (~kev009@tempe0.bbox.io) a rejoint #mcdevs 2017-01-16 07:37:21 -- Mode #mcdevs [+v kev009] par ChanServ 2017-01-16 08:10:22 --> bildeamer1 (~bildramer@p2003004D2B28FF00AC9BCCA14258DFA9.dip0.t-ipconnect.de) a rejoint #mcdevs 2017-01-16 08:11:21 <-- bildramer (~bildramer@p2003004D2B28FF00218CBB50CD020745.dip0.t-ipconnect.de) a quitté (Ping timeout: 256 seconds) 2017-01-16 08:22:48 <-- kev009 (~kev009@tempe0.bbox.io) a quitté (Ping timeout: 245 seconds) 2017-01-16 08:25:18 --> kev009 (~kev009@tempe0.bbox.io) a rejoint #mcdevs 2017-01-16 08:25:18 -- Mode #mcdevs [+v kev009] par ChanServ 2017-01-16 08:30:24 --> kev009_ (~kev009@tempe0.bbox.io) a rejoint #mcdevs 2017-01-16 08:30:24 -- Mode #mcdevs [+v kev009_] par ChanServ 2017-01-16 08:31:06 <-- kev009 (~kev009@tempe0.bbox.io) a quitté (Ping timeout: 240 seconds) 2017-01-16 09:31:16 +Fador https://github.com/fador/mineserver/blob/master/src/mineserver.cpp#L370 openssl works just fine ;) 2017-01-16 09:35:08 <-- Lazersmoke (~Lazersmok@2601:248:200:829b:3943:c016:563f:8da2) a quitté (Read error: Connection reset by peer) 2017-01-16 09:36:05 <-- kev009_ (~kev009@tempe0.bbox.io) a quitté (Read error: Connection reset by peer) 2017-01-16 09:36:29 --> kev009_ (~kev009@tempe0.bbox.io) a rejoint #mcdevs 2017-01-16 09:36:29 -- Mode #mcdevs [+v kev009_] par ChanServ 2017-01-16 10:06:44 <-- ShaRose (ShaRose@i.am.sharo.se) a quitté (Ping timeout: 248 seconds) 2017-01-16 10:41:03 <-- protryon (~protryon@2601:647:ca03:600:16b9:8d47:200c:9a3a) a quitté (Quit: WeeChat 1.7-rc2) 2017-01-16 10:47:25 --> ShaRose (ShaRose@i.am.sharo.se) a rejoint #mcdevs 2017-01-16 11:17:42 --> ShaRose_ (ShaRose@i.am.sharo.se) a rejoint #mcdevs 2017-01-16 11:18:09 <-- ShaRose (ShaRose@i.am.sharo.se) a quitté (Read error: Connection reset by peer) 2017-01-16 11:19:04 -- ShaRose_ est maintenant connu sous le nom ShaRose 2017-01-16 11:40:33 <-- ShaRose (ShaRose@i.am.sharo.se) a quitté (Quit: I appear to have left for some reason.) 2017-01-16 11:40:43 --> ShaRose (ShaRose@i.am.sharo.se) a rejoint #mcdevs 2017-01-16 14:03:17 --> kamcio96 (~kamcio96@host-81-190-229-209.dynamic.mm.pl) a rejoint #mcdevs 2017-01-16 14:48:42 <-- kamcio96 (~kamcio96@host-81-190-229-209.dynamic.mm.pl) a quitté (Ping timeout: 255 seconds) 2017-01-16 14:59:04 --> barneygale (~barneygal@mail.thefoundry.co.uk) a rejoint #mcdevs 2017-01-16 15:20:37 --> kamcio96 (~kamcio96@156.17.37.194) a rejoint #mcdevs 2017-01-16 15:21:36 <-- kamcio96 (~kamcio96@156.17.37.194) a quitté (Client Quit) 2017-01-16 15:25:43 <-- ishitatsuyuki (ishitatsuy@gateway/shell/matrix.org/x-hayvfuegtzjfbsic) a quitté (Write error: Connection reset by peer) 2017-01-16 15:51:33 Not-63f6 [Charge] Wallbraker pushed 1 commit to master [+0/-0/±7] https://github.com/VoltLang/Charge/compare/af2b7a00533a...10827e2c6ddc 2017-01-16 15:51:34 Not-63f6 [Charge] Wallbraker 10827e2 - charge: Protection fixes 2017-01-16 15:55:35 --> ishitatsuyuki (ishitatsuy@gateway/shell/matrix.org/x-pmoqfnprffgksxwl) a rejoint #mcdevs 2017-01-16 16:14:31 <-- gurun (~gurun@c83-249-66-168.bredband.comhem.se) a quitté (Ping timeout: 240 seconds) 2017-01-16 16:42:24 <-- AlphaBlend (AlphaBlend@cpe-172-250-134-111.socal.res.rr.com) a quitté (Ping timeout: 240 seconds) 2017-01-16 16:43:05 --> AlphaBlend (AlphaBlend@cpe-172-250-134-111.socal.res.rr.com) a rejoint #mcdevs 2017-01-16 16:50:56 --> gurun (~gurun@c83-249-66-168.bredband.comhem.se) a rejoint #mcdevs 2017-01-16 16:53:38 --> Lazersmoke (~Lazersmok@2601:248:200:829b:7058:b9cd:91af:5830) a rejoint #mcdevs 2017-01-16 17:02:29 --> protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a rejoint #mcdevs 2017-01-16 17:34:50 --> Tachyon_ (~Thunderbi@95.76.184.120) a rejoint #mcdevs 2017-01-16 18:52:55 --> UUID00 (~UUID00@BSN-165-124-193.dynamic.siol.net) a rejoint #mcdevs 2017-01-16 18:55:29 <-- Tachyon_ (~Thunderbi@95.76.184.120) a quitté (Quit: Tachyon_) 2017-01-16 19:06:59 <-- KnownUnown (KnownUnown@die.in.firrre.com) a quitté (Ping timeout: 245 seconds) 2017-01-16 19:15:58 --> KnownUnown (KnownUnown@die.in.firrre.com) a rejoint #mcdevs 2017-01-16 19:18:08 --> Tachyon_ (~Thunderbi@95.76.184.120) a rejoint #mcdevs 2017-01-16 20:19:07 <-- Tachyon_ (~Thunderbi@95.76.184.120) a quitté (Quit: Tachyon_) 2017-01-16 20:36:21 <-- protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a quitté (Quit: WeeChat 1.7-rc2) 2017-01-16 20:36:39 --> protryon (~protryon@2601:647:ca03:600:16b9:8d47:200c:9a3a) a rejoint #mcdevs 2017-01-16 22:09:08 -- bildeamer1 est maintenant connu sous le nom bildramer 2017-01-16 23:16:26 <-- UUID00 (~UUID00@BSN-165-124-193.dynamic.siol.net) a quitté (Ping timeout: 240 seconds) 2017-01-16 23:30:29 --> bildramer1 (~bildramer@p2003004D2B28FF00F0304CF43923D2EC.dip0.t-ipconnect.de) a rejoint #mcdevs 2017-01-16 23:31:38 <-- bildramer (~bildramer@p2003004D2B28FF00AC9BCCA14258DFA9.dip0.t-ipconnect.de) a quitté (Ping timeout: 256 seconds) 2017-01-17 00:13:24 -- clonejo_ est maintenant connu sous le nom clonejo 2017-01-17 01:27:25 <-- zhuyifei1999_ (uid97661@wikimedia/zhuyifei1999) a quitté (Quit: Connection closed for inactivity) 2017-01-17 01:43:44 -- bildramer1 est maintenant connu sous le nom bildramer 2017-01-17 04:13:14 Lazersmoke mfw when everything about the minecraft protocol is so shitty that I'm actually learning stuff because I have to implement it rather than using the standard off-the-shelf library function 2017-01-17 04:13:29 Lazersmoke otoh I'll probably kms if I have to read another rfc 2017-01-17 05:05:16 pokechu22 It gets better once you've got the serialization handled (and aren't doing compression/encryption). 2017-01-17 06:05:30 +ammar2 if you think the current protocol is shitty, try implementing the one from years ago 2017-01-17 06:09:25 --> redstonehelper_ (~redstoneh@p4FCCE1AB.dip0.t-ipconnect.de) a rejoint #mcdevs 2017-01-17 06:09:25 <-- redstonehelper_ (~redstoneh@p4FCCE1AB.dip0.t-ipconnect.de) a quitté (Changing host) 2017-01-17 06:09:25 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2017-01-17 06:11:51 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 260 seconds) 2017-01-17 06:11:51 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2017-01-17 06:20:03 <-- Lazersmoke (~Lazersmok@2601:248:200:829b:7058:b9cd:91af:5830) a quitté (Read error: Connection reset by peer) 2017-01-17 06:30:15 --> UUID00 (~UUID00@BSN-165-124-193.dynamic.siol.net) a rejoint #mcdevs 2017-01-17 06:55:15 <-- _123DMWM (~123DMWM@pool-108-26-253-218.bstnma.fios.verizon.net) a quitté (Ping timeout: 246 seconds) 2017-01-17 06:56:10 --> _123DMWM (~123DMWM@pool-108-26-253-218.bstnma.fios.verizon.net) a rejoint #mcdevs 2017-01-17 08:01:21 --> zhuyifei1999_ (uid97661@wikimedia/zhuyifei1999) a rejoint #mcdevs 2017-01-17 08:37:55 --> |Blaze|_ (~scott@184.70.189.74) a rejoint #mcdevs 2017-01-17 08:38:06 <-- |Blaze| (~scott@184.70.189.74) a quitté (Read error: Connection reset by peer) 2017-01-17 08:50:48 chibill I have a question. I am having trouble decoding the chunk sections in the chunk data packet for 1.11 any idea? On what to look at for help? Mostly i am running into getting a number larger then the sent pellate. 2017-01-17 08:57:04 <-- chibill (~chibill@2602:306:ce43:b390:5d4f:6613:a01a:16c5) a quitté #mcdevs ("Quit message") 2017-01-17 09:07:44 GarethTheGreat pokechu22: if you use a library to handle it all, it becomes easy 2017-01-17 09:07:56 GarethTheGreat sadly i couldn't find an existing lib in C++ 2017-01-17 09:08:18 GarethTheGreat right now my server uses quarry and python embedding because i love me some abominations 2017-01-17 09:08:53 GarethTheGreat ever played minecraft story mode? 2017-01-17 09:09:06 GarethTheGreat my server is like the wither storm: some sort of unstoppable abomination 2017-01-17 09:09:10 GarethTheGreat or like something out of lovecraft 2017-01-17 09:09:43 <-- protryon (~protryon@2601:647:ca03:600:16b9:8d47:200c:9a3a) a quitté (Quit: WeeChat 1.7-rc2) 2017-01-17 09:11:07 GarethTheGreat erlang would make for a very very cool minecraft server 2017-01-17 09:11:20 GarethTheGreat if someone did the work to turn minecraft packets into erlang messages 2017-01-17 09:11:39 GarethTheGreat you'd get free distributed processing 2017-01-17 09:13:39 +SpaceManiac the problem is not the protocol, but the simulation 2017-01-17 09:13:45 +SpaceManiac every packet touches the single shared world 2017-01-17 09:16:42 GarethTheGreat that's easy though 2017-01-17 09:17:01 GarethTheGreat in erlang just broadcast the message to all nodes 2017-01-17 09:17:13 GarethTheGreat or only to those responsible for a particular chunk 2017-01-17 09:22:07 +SpaceManiac you could probably support a really big continuous world with one process per region or something like that 2017-01-17 09:22:24 +SpaceManiac the hard part is, as usual, feature parity 2017-01-17 09:25:15 +SpaceManiac not to mention trying to provide a gameplay experience compelling enough, which involves players spread out that far, to make your architecture worth it 2017-01-17 09:26:47 rom1504 pellate is not a thing really 2017-01-17 09:28:10 GarethTheGreat one huge world with parcels of land for rent instead of renting out servers - there's a business model there 2017-01-17 09:28:20 rom1504 GarethTheGreat: see https://github.com/McEx/McEx 2017-01-17 09:29:09 +SpaceManiac but why is it *better* than renting out servers? 2017-01-17 09:29:18 GarethTheGreat SpaceManiac: for some people it's better 2017-01-17 09:29:24 GarethTheGreat i'm very nostalgic about my second life days 2017-01-17 09:30:58 GarethTheGreat rom1504: that looks awesome 2017-01-17 09:31:19 GarethTheGreat i can imagine having multiple servers to which clients can connect 2017-01-17 09:31:29 GarethTheGreat and then chunks are divided among servers as well 2017-01-17 09:31:50 hansihe I'm the author of that, I have actually been working on it a bit locally lately 2017-01-17 09:32:00 GarethTheGreat a group of chunk columns would be like an SL region - each region is handled inside a process 2017-01-17 09:32:04 GarethTheGreat hansihe: nice work 2017-01-17 09:32:21 hansihe There is one process per chunk 2017-01-17 09:32:34 GarethTheGreat erlang LWP or OS level? 2017-01-17 09:32:39 GarethTheGreat OS level seems overkill 2017-01-17 09:32:59 hansihe Entity interactions are handled in shards, which contain 4x4 chunks iirc 2017-01-17 09:33:11 hansihe Erlang processes of course 2017-01-17 09:33:38 GarethTheGreat sane design 2017-01-17 09:33:59 GarethTheGreat my current project is eventually going to end up doing the opposite: multiple worlds per process 2017-01-17 09:34:08 GarethTheGreat that's OS-level process 2017-01-17 09:34:13 hansihe Ah 2017-01-17 09:34:15 GarethTheGreat see how many worlds i can cram into a single box 2017-01-17 09:34:26 GarethTheGreat i use a thread pool for doing work 2017-01-17 09:34:40 GarethTheGreat packets generate events, different components register event handlers 2017-01-17 09:34:45 GarethTheGreat those event handlers run in the thread pool 2017-01-17 09:34:58 GarethTheGreat then they spit out other events: for example "player joined", "entity moved" etc 2017-01-17 09:39:16 <-- samfty (~quassel@59-102-90-90.tpgi.com.au) a quitté (Remote host closed the connection) 2017-01-17 09:41:48 --> samfty (~quassel@59-102-90-90.tpgi.com.au) a rejoint #mcdevs 2017-01-17 09:48:26 GarethTheGreat :( planned to spend today getting to the point where i can begin scripting mobs but my son's just came back from walking to school due to being sick 2017-01-17 10:16:28 <-- gurun (~gurun@c83-249-66-168.bredband.comhem.se) a quitté (Read error: Connection reset by peer) 2017-01-17 10:17:16 --> gurun (~gurun@c83-249-66-168.bredband.comhem.se) a rejoint #mcdevs 2017-01-17 10:22:43 <-- samfty (~quassel@59-102-90-90.tpgi.com.au) a quitté (Remote host closed the connection) 2017-01-17 10:25:08 --> samfty (~quassel@59-102-90-90.tpgi.com.au) a rejoint #mcdevs 2017-01-17 10:44:36 <-- KnownUnown (KnownUnown@die.in.firrre.com) a quitté (Ping timeout: 258 seconds) 2017-01-17 10:54:42 --> KnownUnown (KnownUnown@die.in.firrre.com) a rejoint #mcdevs 2017-01-17 11:34:09 <-- kev009_ (~kev009@tempe0.bbox.io) a quitté (Read error: Connection reset by peer) 2017-01-17 11:34:36 --> kev009_ (~kev009@tempe0.bbox.io) a rejoint #mcdevs 2017-01-17 11:34:36 -- Mode #mcdevs [+v kev009_] par ChanServ 2017-01-17 11:35:28 ishitatsuyuki Threading is not always the best answer due to synchronization and NUMA overhead 2017-01-17 11:35:56 jast threading is also devilishly hard to get right 2017-01-17 11:37:02 jast with shared-nothing it's bearable but then you raise more questions about overhead 2017-01-17 12:16:20 --> qws-user-1229 (~quassel@2605:a000:110c:a019:dd5f:4482:4ce4:2181) a rejoint #mcdevs 2017-01-17 12:20:19 <-- qws-user-1228 (~quassel@2605:a000:110c:a019:a41e:57af:239c:5cbe) a quitté (Ping timeout: 245 seconds) 2017-01-17 12:28:36 --> Akaibu (uid118096@gateway/web/irccloud.com/x-boloxklvgiikldse) a rejoint #mcdevs 2017-01-17 13:08:29 <-- Tuxel (~irssi@84.200.81.170) a quitté (Quit: leaving) 2017-01-17 15:03:32 --> protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a rejoint #mcdevs 2017-01-17 15:27:41 --> Tachyon_ (~Thunderbi@95.76.184.120) a rejoint #mcdevs 2017-01-17 16:01:26 <-- samschaap (~samschaap@5469BF1F.cm-12-2c.dynamic.ziggo.nl) a quitté (Ping timeout: 240 seconds) 2017-01-17 16:03:51 <-- KnownUnown (KnownUnown@die.in.firrre.com) a quitté (Quit: Oh no, bouncer died) 2017-01-17 16:05:33 --> KnownUnown (KnownUnown@die.in.firrre.com) a rejoint #mcdevs 2017-01-17 16:08:32 --> samschaap (~samschaap@5469BF1F.cm-12-2c.dynamic.ziggo.nl) a rejoint #mcdevs 2017-01-17 16:20:52 <-- AlphaBlend (AlphaBlend@cpe-172-250-134-111.socal.res.rr.com) a quitté (Ping timeout: 240 seconds) 2017-01-17 16:45:22 <-- Tachyon_ (~Thunderbi@95.76.184.120) a quitté (Quit: Tachyon_) 2017-01-17 17:14:52 <-- bswartz (~bswartz@98.122.139.152) a quitté (Quit: Leaving.) 2017-01-17 17:32:43 --> bswartz (~bswartz@98.122.139.152) a rejoint #mcdevs 2017-01-17 17:55:04 --> AlphaBlend (AlphaBlend@cpe-172-250-134-111.socal.res.rr.com) a rejoint #mcdevs 2017-01-17 17:55:47 --> Tachyon_ (~Thunderbi@95.76.184.120) a rejoint #mcdevs 2017-01-17 17:59:22 <-- Tachyon_ (~Thunderbi@95.76.184.120) a quitté (Client Quit) 2017-01-17 18:19:00 --> bildramer1 (~bildramer@p2003004D2B28FF0075890358CBF06CF3.dip0.t-ipconnect.de) a rejoint #mcdevs 2017-01-17 18:21:53 <-- bildramer (~bildramer@p2003004D2B28FF00F0304CF43923D2EC.dip0.t-ipconnect.de) a quitté (Ping timeout: 258 seconds) 2017-01-17 19:03:42 --> Tachyon_ (~Thunderbi@95.76.184.120) a rejoint #mcdevs 2017-01-17 19:05:15 Tachyon_ so I wanted to make 3 layers of dirt .. didn't went so wel: http://i.imgur.com/tc3QQHC.jpg 2017-01-17 19:21:26 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 240 seconds) 2017-01-17 19:38:12 -- killmePI est maintenant connu sous le nom killme 2017-01-17 19:48:08 <-- AlphaBlend (AlphaBlend@cpe-172-250-134-111.socal.res.rr.com) a quitté (Ping timeout: 258 seconds) 2017-01-17 19:49:51 --> AlphaBlend (AlphaBlend@cpe-172-250-134-111.socal.res.rr.com) a rejoint #mcdevs 2017-01-17 19:55:05 --> redstonehelper (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2017-01-17 20:15:45 -- redstonehelper est maintenant connu sous le nom redstonehelper|a 2017-01-17 20:15:51 -- redstonehelper|a est maintenant connu sous le nom redstonehelper 2017-01-17 20:41:13 GarethTheGreat ishitatsuyuki: threading makes sense if you want to exploit multiple cores 2017-01-17 20:41:34 GarethTheGreat it seems like a waste of hardware NOT to use it 2017-01-17 20:46:05 --> Tuxel (~irssi@84.200.81.170) a rejoint #mcdevs 2017-01-17 20:58:44 --> chibill (~chibill@2602:306:ce43:b390:5d4f:6613:a01a:16c5) a rejoint #mcdevs 2017-01-17 21:00:43 --> chibi_ (~chibi@104.194.126.37) a rejoint #mcdevs 2017-01-17 21:01:00 <-- chibi_ (~chibi@104.194.126.37) a quitté (Client Quit) 2017-01-17 21:44:02 --> AndChat-702576 (~Tachyon_@95.76.184.120) a rejoint #mcdevs 2017-01-17 21:45:03 <-- Tachyon_ (~Thunderbi@95.76.184.120) a quitté (Quit: Tachyon_) 2017-01-17 21:49:29 <-- AndChat-702576 (~Tachyon_@95.76.184.120) a quitté (Ping timeout: 255 seconds) 2017-01-17 22:51:45 --> Lazersmoke (~Lazersmok@2601:248:200:829b:b8e7:a442:b216:3018) a rejoint #mcdevs 2017-01-17 23:00:03 Lazersmoke in all honesty, its not *that* bad, just really awkward to use in any language that's not java 2017-01-17 23:00:21 Lazersmoke like most of the algorithms use the standard off-the-shelf java solution 2017-01-17 23:25:37 Lazersmoke lol it turns out i'm an idiot 2017-01-17 23:26:22 Lazersmoke https://github.com/Lazersmoke/civskell/blob/master/src/Encrypt.hs#L81 2017-01-17 23:26:34 Lazersmoke 10/10 would use 10 lines to do twos complement again 2017-01-17 23:49:11 pokechu22 Yea, that's about right - with the libraries MC uses it's pretty standard, but re-implementing it without those libraries it gets messy. Same thing happens if you look at the PE protocol and RakNet... 2017-01-17 23:54:54 <-- UUID00 (~UUID00@BSN-165-124-193.dynamic.siol.net) a quitté (Ping timeout: 245 seconds) 2017-01-17 23:57:10 C4K3 Are Window IDs always unsigned? 2017-01-18 00:16:50 +md_5 yes, but it doesnt matter 2017-01-18 00:23:10 Lazersmoke magic number of the day is 730750818665451459101842416358141509827966271488 2017-01-18 01:00:01 protryon @pokechu22 OpenSSL is a godsend at MC protocoling in nonjava 2017-01-18 01:12:56 chibill any idea how to decode the chunk section data easily in python. even the ones the worked for 1.9 I can't figure out how to adapt them for 1.11 2017-01-18 01:15:11 pokechu22 What are you running into with decoding? Also IIRC I saw a recent python snippet - let me find it. 2017-01-18 01:22:50 Lazersmoke the bindings in the openssl library for the language I'm working in are pretty shitty (as in incomplete), so I'm implementing a lot of it myself 2017-01-18 01:23:09 Lazersmoke I'll update the wiki with useful information when I get around to it 2017-01-18 01:33:04 <-- Black-Hole (~BlackHole@p2003007E4F62A5002D5ACE16F51AB982.dip0.t-ipconnect.de) a quitté (Read error: Connection reset by peer) 2017-01-18 01:50:44 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 245 seconds) 2017-01-18 01:56:17 --> redstonehelper (~redstoneh@p4FD66B1F.dip0.t-ipconnect.de) a rejoint #mcdevs 2017-01-18 01:56:17 <-- redstonehelper (~redstoneh@p4FD66B1F.dip0.t-ipconnect.de) a quitté (Changing host) 2017-01-18 01:56:17 --> redstonehelper (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2017-01-18 02:25:37 <-- bswartz (~bswartz@98.122.139.152) a quitté (Quit: Leaving.) 2017-01-18 02:28:34 <-- samfty (~quassel@59-102-90-90.tpgi.com.au) a quitté (*.net *.split) 2017-01-18 02:28:34 <-- gurun (~gurun@c83-249-66-168.bredband.comhem.se) a quitté (*.net *.split) 2017-01-18 02:28:34 <-- zhuyifei1999_ (uid97661@wikimedia/zhuyifei1999) a quitté (*.net *.split) 2017-01-18 02:28:34 <-- _123DMWM (~123DMWM@pool-108-26-253-218.bstnma.fios.verizon.net) a quitté (*.net *.split) 2017-01-18 02:30:08 --> samfty (~quassel@59-102-90-90.tpgi.com.au) a rejoint #mcdevs 2017-01-18 02:30:08 --> gurun (~gurun@c83-249-66-168.bredband.comhem.se) a rejoint #mcdevs 2017-01-18 02:30:08 --> zhuyifei1999_ (uid97661@wikimedia/zhuyifei1999) a rejoint #mcdevs 2017-01-18 02:30:08 --> _123DMWM (~123DMWM@pool-108-26-253-218.bstnma.fios.verizon.net) a rejoint #mcdevs 2017-01-18 02:30:20 <-- samfty (~quassel@59-102-90-90.tpgi.com.au) a quitté (Max SendQ exceeded) 2017-01-18 02:30:36 --> samfty (~quassel@59-102-90-90.tpgi.com.au) a rejoint #mcdevs 2017-01-18 02:33:10 --> Black-Hole (~BlackHole@p2003007E4F62A500149E0B14A1ABACC8.dip0.t-ipconnect.de) a rejoint #mcdevs 2017-01-18 02:37:09 <-- ScruffyRules (~Scruff@2001:19f0:5800:8483:5400:ff:fe06:49ea) a quitté (*.net *.split) 2017-01-18 02:37:09 <-- Zachoz (~Zachoz@2001:19f0:5800:8483:5400:ff:fe06:49ea) a quitté (*.net *.split) 2017-01-18 02:37:09 <-- Owexz (~Owexz@2001:19f0:5800:8cc1:5400:ff:fe0c:f993) a quitté (*.net *.split) 2017-01-18 03:28:34 --> Owexz (~Owexz@2001:19f0:5800:8cc1:5400:ff:fe0c:f993) a rejoint #mcdevs 2017-01-18 03:30:18 --> Zachoz (~Zachoz@2001:19f0:5800:8483:5400:ff:fe06:49ea) a rejoint #mcdevs 2017-01-18 03:30:19 <-- LiftLeft (~loser@67.205.149.187) a quitté (Ping timeout: 245 seconds) 2017-01-18 03:33:47 --> ScruffyRules (~Scruff@i.am.huskehhh.com) a rejoint #mcdevs 2017-01-18 03:43:37 --> LiftLeft (~loser@67.205.149.187) a rejoint #mcdevs 2017-01-18 04:01:23 <-- kev009_ (~kev009@tempe0.bbox.io) a quitté (Remote host closed the connection) 2017-01-18 04:01:45 --> kev009_ (~kev009@tempe0.bbox.io) a rejoint #mcdevs 2017-01-18 04:01:45 -- Mode #mcdevs [+v kev009_] par ChanServ 2017-01-18 06:26:09 <-- Lazersmoke (~Lazersmok@2601:248:200:829b:b8e7:a442:b216:3018) a quitté (Read error: Connection reset by peer) 2017-01-18 06:43:24 --> redstonehelper_ (~redstoneh@p4FD66407.dip0.t-ipconnect.de) a rejoint #mcdevs 2017-01-18 06:43:24 <-- redstonehelper_ (~redstoneh@p4FD66407.dip0.t-ipconnect.de) a quitté (Changing host) 2017-01-18 06:43:24 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2017-01-18 06:46:46 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 255 seconds) 2017-01-18 06:46:47 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2017-01-18 07:05:20 --> UUID00 (~UUID00@BSN-165-124-193.dynamic.siol.net) a rejoint #mcdevs 2017-01-18 07:33:18 <-- protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a quitté (Quit: WeeChat 1.7-rc2) 2017-01-18 08:13:54 Akaibu https://api.mojang.com/users/profiles/minecraft/Herobrine so this account is still a legacy account, wonder why someone hasn't tried to bruteforce the password by now, its been done for hundreds of others accounts if you look on leak/hackfourms 2017-01-18 08:15:57 Akaibu anyway, nowadays herobrine is just something used to scare new players and for a villain in mc films like the haunting by theadminchickens 2017-01-18 08:16:41 Andrio And troll. 2017-01-18 08:16:52 Andrio There used to be mods that let him roam your game. 2017-01-18 08:16:57 Andrio Perhaps there still are. 2017-01-18 08:17:31 Akaibu Andrio: the troll part falls under scaring new players 2017-01-18 08:17:43 Akaibu https://www.youtube.com/user/RejectedShotgun/videos 2017-01-18 08:18:35 Akaibu the first two movies of the series aren't that good but still have some lore with the other seasons, its all pretty good tbh 2017-01-18 09:05:22 jast maybe the account doesn't actually have a password 2017-01-18 09:33:27 <-- Tuxel (~irssi@84.200.81.170) a quitté (Read error: Connection reset by peer) 2017-01-18 09:46:06 --> Tuxel (~irssi@84.200.81.170) a rejoint #mcdevs 2017-01-18 10:06:49 <-- ShaRose (ShaRose@i.am.sharo.se) a quitté (Ping timeout: 256 seconds) 2017-01-18 10:59:02 --> Syncazor (~Syncazor@ppp118-210-36-36.bras2.adl2.internode.on.net) a rejoint #mcdevs 2017-01-18 10:59:18 Syncazor Can any of you help me for $? 2017-01-18 11:00:27 GarethTheGreat Syncazor: depends 2017-01-18 11:00:36 GarethTheGreat what do you need doing and what's your budget? 2017-01-18 11:01:14 Syncazor I've managed to send a multi block change packet to make blocks air, but I'm not sure how I could turn the blocks back into their original block, it needs to support special blocks like signs, heads, chests etc. I tried world.refreshChunk but that makes entities disappear. 2017-01-18 11:01:44 GarethTheGreat when you send a multi block change you specify the block type, yes? 2017-01-18 11:01:49 Syncazor Yes 2017-01-18 11:01:59 GarethTheGreat so instead of air, set it to dirt or stone or whatever 2017-01-18 11:02:12 GarethTheGreat if you want an "undo" feature you need a stack of changes 2017-01-18 11:02:19 Syncazor I need that undo feature yeah 2017-01-18 11:02:26 GarethTheGreat push changes onto a stack 2017-01-18 11:02:47 GarethTheGreat each change being a simple record of the block coordinates, old block type and new block type 2017-01-18 11:02:58 Syncazor I managed the simplest 2017-01-18 11:03:02 GarethTheGreat to undo, pop changes off the stack and set the block type back to the old block type 2017-01-18 11:03:06 Syncazor of block type and data 2017-01-18 11:03:17 Syncazor But what about objects like signs and player heads 2017-01-18 11:03:22 Syncazor Special blocks 2017-01-18 11:03:37 GarethTheGreat consider them as changes too - they're block values i believe 2017-01-18 11:04:00 GarethTheGreat what language are you working in? 2017-01-18 11:04:09 Syncazor Java with Spigot-API 2017-01-18 11:04:19 Syncazor and ProtocolLib 2017-01-18 11:04:21 GarethTheGreat i'm not familiar with it 2017-01-18 11:04:35 GarethTheGreat signs etc are entities though 2017-01-18 11:04:46 Syncazor https://hastebin.com/ihakoboliq.swift 2017-01-18 11:04:46 GarethTheGreat so just record what entities were in the block in the change stack 2017-01-18 11:04:51 Syncazor signs are not entities 2017-01-18 11:04:53 Syncazor They're blocks 2017-01-18 11:05:02 GarethTheGreat i'm sure they're classed as entities 2017-01-18 11:05:13 GarethTheGreat i'm new to the minecraft protocol though so i may be wrong 2017-01-18 11:05:29 Syncazor Entities are like item frames and banners 2017-01-18 11:05:32 Syncazor armor stands 2017-01-18 11:05:38 GarethTheGreat the basic idea stays the same: keep a stack of changes and pop changes off the stack to undo them 2017-01-18 11:05:54 GarethTheGreat you just need to make sure you record enough info in the stack to reverse the type of change 2017-01-18 11:06:24 GarethTheGreat the OOP way to do it would be to have a BaseChange class and inherit from it for changes of different types 2017-01-18 11:06:43 GarethTheGreat add a .undo() method that can undo the specific type of change 2017-01-18 11:06:55 Syncazor someone said to set the meta 2017-01-18 11:07:04 Syncazor but I don't know how to do that with protocollib 2017-01-18 11:07:05 GarethTheGreat yeah, the meta is basically the block value 2017-01-18 11:07:53 GarethTheGreat there's a list somewhere, one sec 2017-01-18 11:08:14 GarethTheGreat ah screw it, use burger to get the values 2017-01-18 11:08:41 GarethTheGreat https://github.com/mcdevs/Burger 2017-01-18 11:08:52 GarethTheGreat that spits out a JSON file with all the blocks and other data from the game 2017-01-18 11:11:02 GarethTheGreat as for doing it with protocollib - you should be able to inject a packet with it 2017-01-18 11:12:48 GarethTheGreat relevant packets: Update Block Entity, Block Action, Block change, Multi block change - they all reference the global pallette which is a weird format that combines the block ID and meta into one number 2017-01-18 11:13:19 GarethTheGreat http://wiki.vg/SMP_Map_Format < info on the pallette here 2017-01-18 11:14:58 GarethTheGreat https://docs.oracle.com/javase/7/docs/api/java/util/Stack.html < info on the standard java Stack class here 2017-01-18 11:18:10 GarethTheGreat http://stackoverflow.com/questions/49755/design-pattern-for-undo-engine < first google result for building an undo system 2017-01-18 11:19:36 GarethTheGreat https://hub.spigotmc.org/javadocs/spigot/org/bukkit/block/BlockState.html < could use this to handle the palette stuff for you 2017-01-18 11:19:51 GarethTheGreat have an OldState and NewState in your change class 2017-01-18 11:25:12 GarethTheGreat Syncazor: that help? 2017-01-18 11:25:17 GarethTheGreat my fee is 1 million dollars 2017-01-18 11:25:19 GarethTheGreat ;) 2017-01-18 11:25:19 Syncazor Oh shit 2017-01-18 11:25:23 Syncazor I didn't see this 2017-01-18 11:26:11 GarethTheGreat hmm, the undo idea is kinda cool, might implement in my own server 2017-01-18 11:26:47 Syncazor Do you use spigot 2017-01-18 11:26:48 Syncazor ? 2017-01-18 11:26:56 GarethTheGreat no, i'm writing a server from scratch 2017-01-18 11:27:01 Syncazor Oh wow 2017-01-18 11:27:09 GarethTheGreat well.... not totally from scratch: i'm depending on lots of other people's code 2017-01-18 11:27:21 GarethTheGreat there's a few other guys on this channel doing their own server projects 2017-01-18 11:28:01 MiniDigger this is where the cool kids hang out syncazor ;) 2017-01-18 11:28:12 Syncazor Oh hey MiniDigger 2017-01-18 11:28:25 Syncazor Still trying to find a simpler way of doing it 2017-01-18 11:28:44 MiniDigger and yes, signs are entities. tile entities 2017-01-18 11:28:53 --> ShaRose (ShaRose@i.am.sharo.se) a rejoint #mcdevs 2017-01-18 11:29:32 GarethTheGreat yay, i was right 2017-01-18 11:29:46 Syncazor oh rip 2017-01-18 11:29:55 GarethTheGreat Syncazor: the simplest way to do an undo system, and the correct way, is ALWAYS to use a stack 2017-01-18 11:29:57 Syncazor They're handled as blocks in Spigot though? 2017-01-18 11:30:07 GarethTheGreat anything else is going to be a hacky mess 2017-01-18 11:30:38 MiniDigger client handles them as blocks too iirc. they just have a lil extra stuff 2017-01-18 11:30:41 GarethTheGreat i'm sure spigot lets you hook block change events, so push the change onto your stack in the event hook 2017-01-18 11:30:55 GarethTheGreat if you want to undo the change, you pop it off the stack 2017-01-18 11:31:34 GarethTheGreat i'm not much of a java guy myself (i can code in java, i just dislike it) but this strikes me as the simplest approach you can get 2017-01-18 11:31:40 MiniDigger he wants to do it all client side. 2017-01-18 11:31:55 MiniDigger the server doesn't know about the changes. only one client sees them 2017-01-18 11:32:06 GarethTheGreat ok, so that client needs a hook before it makes the change 2017-01-18 11:32:12 Syncazor https://hastebin.com/ihakoboliq.swift 2017-01-18 11:32:13 GarethTheGreat same basic approach 2017-01-18 11:32:16 Syncazor That's what I have 2017-01-18 11:32:52 GarethTheGreat so you've got your event hooks already 2017-01-18 11:33:12 GarethTheGreat is it only TNT you want to undo? 2017-01-18 11:34:00 MiniDigger the way I see it he wants to make the explosion only to be visible for one client 2017-01-18 11:34:07 GarethTheGreat interesting idea 2017-01-18 11:34:31 GarethTheGreat surely that's as simple as not sending the initial placement to the server? 2017-01-18 11:34:36 GarethTheGreat though you will get consistency errors 2017-01-18 11:34:46 MiniDigger well, no. he sends the packets to everyone. what's you actual goal syncazor? 2017-01-18 11:35:05 MiniDigger client does not predict tnt explosion 2017-01-18 11:35:05 GarethTheGreat to make it an undo, store the blocks around where the TNT is placed and push them onto the stack 2017-01-18 11:35:22 GarethTheGreat then when you want to undo the explosion, pop from the stack 2017-01-18 11:35:29 Syncazor I need to undo the client side block changes 2017-01-18 11:35:43 Syncazor world.refreshChunk worked well, but it made entities vanish 2017-01-18 11:35:56 MiniDigger why do you make the block changes only client side in the first place? 2017-01-18 11:36:43 Syncazor Server side is dangerous, blocks break and drop items, lava and water floods everywhere, if server crashes, however, I can prevent the permanent damage 2017-01-18 11:37:18 GarethTheGreat basic algorithm: before placing the TNT, iterate through all the blocks and entities that will be altered 2017-01-18 11:37:31 GarethTheGreat store their current state into a list or vector of some kind 2017-01-18 11:37:50 GarethTheGreat push that onto the stack, or just store it without a stack if you don't want multilevel undo 2017-01-18 11:38:03 Syncazor I don't need to store the blocks data 2017-01-18 11:38:12 GarethTheGreat to perform the undo, pop from the stack or just grab the list, iterate through it and put the blocks back to how they were 2017-01-18 11:38:18 Syncazor It's client side 2017-01-18 11:38:27 Syncazor so when i do block.getType() 2017-01-18 11:38:34 Syncazor it will show the servers version of the block 2017-01-18 11:38:40 Syncazor not the client's, which is air 2017-01-18 11:39:02 GarethTheGreat if you're confident of that, then just save the entities then 2017-01-18 11:39:14 Syncazor The issue I'm having with the way I have it now is blocks such as signs lose their text, player heads become skulls 2017-01-18 11:39:28 GarethTheGreat the basic algorithm is still the same: store current state, do destructive operation, restore old state to undo destructive operation 2017-01-18 11:39:43 MiniDigger I doubt that it is a good idea to do that client side. think about: what happens if the client wants to walk into a client site explosion hole? 2017-01-18 11:39:56 Syncazor That's the only downside i can see 2017-01-18 11:40:03 MiniDigger client will be stuck in the air. 2017-01-18 11:40:04 GarethTheGreat i can see how it could be useful for checking out what's below 2017-01-18 11:40:17 GarethTheGreat place TNT, move out of blast radius 2017-01-18 11:40:26 GarethTheGreat then take a look and restore 2017-01-18 11:40:26 MiniDigger and be picked for flying 2017-01-18 11:40:30 MiniDigger kickef 2017-01-18 11:40:48 Syncazor I just think being unable to jump in it is better than controlling tnt explosions server side 2017-01-18 11:40:54 GarethTheGreat that depends on the server and all sorts of other stuff 2017-01-18 11:40:56 Syncazor I have no idea to combat against the flowing water and lava 2017-01-18 11:40:59 GarethTheGreat i can see some use cases 2017-01-18 11:41:10 GarethTheGreat flowing water and lava is definitely implemented server side 2017-01-18 11:41:28 GarethTheGreat the key here is preventing the block changes from reaching the server AND logging the changes locally 2017-01-18 11:41:29 Syncazor client side eliminates the problem of flowing water and lava 2017-01-18 11:41:41 Syncazor Don't need to log the changes locally 2017-01-18 11:41:48 GarethTheGreat how do you intend to reverse them? 2017-01-18 11:41:51 Syncazor Just need the player to load the server's version of the blocks 2017-01-18 11:42:04 GarethTheGreat you said yourself that you end up with things like missing sign text etc 2017-01-18 11:42:08 Syncazor It was as simple as change[i] = new MultiBlockChangeInfo(block.getLocation(), WrappedBlockData.createData(block.getType(), block.getData())); 2017-01-18 11:42:17 Syncazor That makes it place the block 2017-01-18 11:42:26 GarethTheGreat why not store the sign text that's missing and anything else missing? 2017-01-18 11:42:29 Syncazor but special blocks which are more than just a type and data stuff up 2017-01-18 11:42:44 MiniDigger if you do it server side in spigot, it would just be as easy as saveing all affected block states and updateing the states when you want to undo 2017-01-18 11:42:58 Syncazor MiniDigger, items drop when you dont want them to 2017-01-18 11:43:05 MiniDigger cancel the event 2017-01-18 11:43:11 GarethTheGreat can you force unload the chunk and then reload it? 2017-01-18 11:43:30 Syncazor GarethTheGreat, I don't know how to do that, but world.refreshChunk made entities disappear 2017-01-18 11:43:33 MiniDigger you would have to resend all entities if you refresh the chunk 2017-01-18 11:43:48 GarethTheGreat Syncazor: ok, so use refreshChunk AND save entity state 2017-01-18 11:43:57 Syncazor Is sending all entities difficult? 2017-01-18 11:44:21 GarethTheGreat it shouldn't be too difficult unless the API on the server side is a lot weirder than it looks 2017-01-18 11:44:22 MiniDigger no. you need to take care that you don't miss anything tho 2017-01-18 11:44:44 MiniDigger Gareth spigot does not offer a packet level api at all ^^ 2017-01-18 11:44:55 GarethTheGreat again, repeating myself: the basic algorithm is to store the current state, do the destructive operation, and then load the old state again 2017-01-18 11:45:19 MiniDigger he uses a 3rd party lib so even be able to listen to and send packets 2017-01-18 11:46:03 GarethTheGreat MiniDigger: i presume it offers a higher level API for manipulating world state though, right? 2017-01-18 11:46:07 GarethTheGreat in fact.... 2017-01-18 11:46:16 GarethTheGreat can't you save the chunk to disk server side? 2017-01-18 11:46:33 GarethTheGreat save chunk to disk, do TNT explosion, reload chunk from disk 2017-01-18 11:47:05 Syncazor That wouldn't work for many tnt explosions 2017-01-18 11:47:20 MiniDigger you can do chunk io async 2017-01-18 11:47:25 Syncazor oh 2017-01-18 11:47:41 GarethTheGreat Syncazor: no matter what, whenever you want to undo an operation it always boils down to storing the old state SOMEWHERE 2017-01-18 11:47:42 MiniDigger it's done async most of the time already in spigot 2017-01-18 11:48:10 Syncazor MiniDigger I want to try the refreshChunk method, what does sending the entities involve? 2017-01-18 11:48:12 GarethTheGreat you wouldn't want to do it async for this - store the chunk to disk BEFORE you do the TNT block placement 2017-01-18 11:49:24 MiniDigger well, I guess the client purges all data of old chunks if you refresh it 2017-01-18 11:49:37 MiniDigger so you need to send everything again 2017-01-18 11:50:33 Syncazor if you refresh one chunk, it purges all? 2017-01-18 11:50:48 MiniDigger no. it purges all stuff for that chunk 2017-01-18 11:51:14 Syncazor What else gets purged besides entities? 2017-01-18 11:51:22 MiniDigger so client sees a completely empty chunks, just with blocks (and potentially tile entities, not to sure if spigot resends that) 2017-01-18 11:52:18 Syncazor trying sign now 2017-01-18 11:53:11 MiniDigger look at what packets the refreshchunk method sends 2017-01-18 11:53:28 Syncazor Yep, signs text gets cleared 2017-01-18 11:53:29 Syncazor rip 2017-01-18 11:54:12 Syncazor Okay, let's say I do this server side, how could I combat water and lava falling? 2017-01-18 11:54:48 MiniDigger did you try saving all affected block states and just calling update on them? 2017-01-18 11:55:17 MiniDigger you could also save all block states in a radius and update them to be completely sure that no water changed 2017-01-18 11:55:47 MiniDigger but block states contain all meta information about the blocks 2017-01-18 11:55:56 MiniDigger so you don't need to fiddle with that 2017-01-18 11:56:28 Syncazor Wait 2017-01-18 11:56:43 Syncazor Couldn't this apply my client side way though? 2017-01-18 11:57:04 Syncazor Just save block's states 2017-01-18 11:57:24 Syncazor then just update them 2017-01-18 11:57:38 Syncazor After setting the block back through packets 2017-01-18 11:58:04 Syncazor ? 2017-01-18 11:59:13 GarethTheGreat on the server do this: 2017-01-18 11:59:28 GarethTheGreat 1 - save the chunk the TNT is to be placed in, and possibly surrounding chunks if they'll be hit 2017-01-18 11:59:40 GarethTheGreat that save should store EVERYTHING just like a normal savegame 2017-01-18 11:59:55 GarethTheGreat 2 - handle placing the TNT block and exploding 2017-01-18 12:00:06 GarethTheGreat 3 - wait for the user to send an /undo command or whatever 2017-01-18 12:00:16 GarethTheGreat 4 - on the /undo command, reload those chunks from disk 2017-01-18 12:01:01 GarethTheGreat don't do the save async - make it simple and just save before placing the block - user might see some lag but it's the quickest way to handle it 2017-01-18 12:01:19 GarethTheGreat or you can iterate through all blocks and entities and save those states - but that's going to take longer to implement 2017-01-18 12:01:27 Syncazor I'll do that way 2017-01-18 12:01:43 Syncazor I know I can do it, but it's just water and lava, if they flow it ruins everything 2017-01-18 12:02:02 GarethTheGreat anytime you want to implement an undo in software, it's like a basic fundamental law of computer science that there's only 2 ways to do it 2017-01-18 12:02:23 GarethTheGreat you do it by saving and reloading state, or you mathematically infer previous state and rollback the simulation - which may not be possible with random elements 2017-01-18 12:02:37 GarethTheGreat the first method is always going to be simpler 2017-01-18 12:02:57 GarethTheGreat saving and restoring the chunks will also restore position of lava and water 2017-01-18 12:03:05 GarethTheGreat you just need to ensure your radius is big enough 2017-01-18 12:03:48 GarethTheGreat if you want to get faster performance, "save" the chunks to a RAM buffer - but make sure it is definitely a copy and not a reference 2017-01-18 12:05:24 Syncazor I still think the states of each block and entity is better for my case 2017-01-18 12:06:07 GarethTheGreat remember those states are part of the chunk state 2017-01-18 12:06:09 Syncazor MiniDigger Is there a way to make water and lava not flow? 2017-01-18 12:06:27 GarethTheGreat if you save the chunk state to RAM it'll both be quick to implement AND shouldn't lag too badly 2017-01-18 12:06:39 Syncazor Can't do that with spigot i dont think 2017-01-18 12:07:05 GarethTheGreat you should be able to suspend the spreading of lava and water SOMEHOW, but that's just overcomplicating matters 2017-01-18 12:07:40 Syncazor Well if I'm doing it server side I want to keep it in the bounds of spigot 2017-01-18 12:07:46 GarethTheGreat an undo is always a save/restore or an "infer past state from present state" 2017-01-18 12:08:11 GarethTheGreat inferring the past state is going to be really difficult and silly and take way longer to implement and probably buggy and laggy 2017-01-18 12:08:42 GarethTheGreat so just save the chunk and any surrounding chunks affected into a RAM buffer and then restore them 2017-01-18 12:13:33 GarethTheGreat random topic change: when working on a project i tend to jump around between different parts, so i'm thinking of writing an "opencraft client" to go with my server - thoughts? 2017-01-18 12:16:02 <-- _123DMWM (~123DMWM@pool-108-26-253-218.bstnma.fios.verizon.net) a quitté (Read error: Connection reset by peer) 2017-01-18 12:16:03 MiniDigger finish your server first ^^ 2017-01-18 12:16:23 GarethTheGreat MiniDigger: trust me, if i don't jump around to keep my interest up i'll never finish anything 2017-01-18 12:16:30 GarethTheGreat and working on a client still helps me learn the protocol 2017-01-18 12:16:49 GarethTheGreat my end goal is a total free software stack of client+server that reimplements minecraft 2017-01-18 12:16:59 MiniDigger syncazor, why do you care that the love flows? just restore it and let the lava do its thing. 2017-01-18 12:17:06 MiniDigger I do the same ^^ 2017-01-18 12:17:17 Syncazor How could you restore it ? 2017-01-18 12:17:21 MiniDigger started to work on the website for my current project. 2017-01-18 12:17:26 GarethTheGreat Syncazor: look into how savegames work 2017-01-18 12:17:28 MiniDigger update the saved block states 2017-01-18 12:17:31 GarethTheGreat you do a partial save 2017-01-18 12:17:37 GarethTheGreat save the affected chunks only 2017-01-18 12:17:39 Syncazor If lava creates a new block MiniDigger 2017-01-18 12:17:43 Syncazor or starts fire 2017-01-18 12:18:02 GarethTheGreat Syncazor: have you ever been playing minecraft and saved on purpose before blowing up your creations? 2017-01-18 12:18:21 GarethTheGreat it's the same thing, just restricted to a smaller set of chunks and using a RAM buffer instead of disk 2017-01-18 12:18:46 Syncazor I don't want the chunk to become unusable until rollback 2017-01-18 12:18:47 GarethTheGreat cleanest and quickest way to implement it and i promise it'll have far less weird glitches and bugs than if you try to save single block states and entities 2017-01-18 12:19:13 GarethTheGreat you need to be more clear on your goals then 2017-01-18 12:19:27 GarethTheGreat we all got the impression you want to basically be able to undo a TNT explosion 2017-01-18 12:19:45 Syncazor I do 2017-01-18 12:19:58 GarethTheGreat is that ALL you want to do? 2017-01-18 12:20:08 GarethTheGreat because saving and then reloading the chunks will do that for you 2017-01-18 12:20:12 MiniDigger what could go wrong if you save all block states in a radius and update them after the explosion? 2017-01-18 12:20:32 MiniDigger lava and fire and stuff like that would just get set back to air 2017-01-18 12:20:48 GarethTheGreat MiniDigger: i suggest saving whole chunks into a RAM buffer instead of trying to basically reimplement what already exists in the savegame code 2017-01-18 12:20:49 Syncazor What if water falls out of the bounds 2017-01-18 12:21:14 Syncazor I don't want players to not be able to place while tnt is about to rollback 2017-01-18 12:21:43 GarethTheGreat Syncazor: if you want players to be able to place within the affected chunks AND still be able to rollback.... that gets VERY VERY complex 2017-01-18 12:21:47 MiniDigger Gareth, saving block states is a get into a list. updating them is calling update on a state. spigot already has block states implemented 2017-01-18 12:21:49 Syncazor no no no 2017-01-18 12:21:56 Syncazor Wait 2017-01-18 12:21:58 Syncazor It shouldn't be 2017-01-18 12:22:02 GarethTheGreat i'm not talking about doing a full savegame 2017-01-18 12:22:06 GarethTheGreat only save the specific chunks 2017-01-18 12:22:12 Syncazor I should only deal with the blocks blown up 2017-01-18 12:22:17 GarethTheGreat and save them into a RAM buffer assigned for that exact purpose 2017-01-18 12:22:19 Syncazor But water and lava are the only two blocks that can ruin everything 2017-01-18 12:22:37 GarethTheGreat because chunk saving is already implemented, it's the fastest way to do this 2017-01-18 12:24:07 MiniDigger syncazor: on explosion: for all blocks in range around the tnt: save block.getState into a list. 2017-01-18 12:24:42 MiniDigger on restore: savedstates.forEach(BlockState::update) 2017-01-18 12:25:13 MiniDigger those 10 lines of code should handle everything 2017-01-18 12:25:21 Syncazor What if lava starts a fire somewhere and destroys everything 2017-01-18 12:25:23 MiniDigger I used that in production before 2017-01-18 12:25:45 MiniDigger make rage high enough ^^ 2017-01-18 12:25:48 MiniDigger range 2017-01-18 12:26:06 Syncazor Then unnecessary blocks get replaced? 2017-01-18 12:26:08 rom1504 Syncazor: I read "java" instead of "lava", it made sense 2017-01-18 12:26:11 Syncazor and players cant place 2017-01-18 12:26:24 MiniDigger yes 2017-01-18 12:27:05 Syncazor This is why client side seems a better option 2017-01-18 12:27:23 MiniDigger do you want players to place blocks? 2017-01-18 12:27:23 GarethTheGreat Syncazor: unnecessary blocks get replaced, yes - but the only other option is going to be VERY complex 2017-01-18 12:27:44 MiniDigger save the blocks players place into your block state list then 2017-01-18 12:27:44 GarethTheGreat seriously, we're talking "you could write an academic thesis on it" type complex 2017-01-18 12:27:51 MiniDigger so you don't roll back those 2017-01-18 12:28:17 Syncazor What about watching worldedits? 2017-01-18 12:28:21 GarethTheGreat 1 - save chunk 2017-01-18 12:28:35 GarethTheGreat 2 - do explosion 2017-01-18 12:28:43 GarethTheGreat 3 - save player block changes 2017-01-18 12:28:44 MiniDigger we are entering extrem edge use cases now syncazor 2017-01-18 12:28:48 GarethTheGreat 4 - wait for /undo command 2017-01-18 12:28:52 GarethTheGreat 5 - restore chunk 2017-01-18 12:28:58 MiniDigger why would you use WorldEdit on a prod server? 2017-01-18 12:28:59 GarethTheGreat 6 - restore player block changes 2017-01-18 12:29:11 Syncazor This is for a creative server 2017-01-18 12:29:18 Syncazor GarethTheGreat that works 2017-01-18 12:29:32 Syncazor How do you restore chunks in spigot MiniDigger 2017-01-18 12:29:38 Syncazor and save 2017-01-18 12:29:52 GarethTheGreat there'll be some way to do it based on savegames 2017-01-18 12:30:01 MiniDigger that solution looses blocks placed by players 2017-01-18 12:30:08 MiniDigger I thought you didn't want that. 2017-01-18 12:30:13 GarethTheGreat MiniDigger: look at point 6 2017-01-18 12:30:23 Syncazor oh that creates shit agian 2017-01-18 12:30:31 Syncazor Because if they place a special block.. 2017-01-18 12:31:03 MiniDigger why would you even restore explosions on a creative server? 2017-01-18 12:31:19 GarethTheGreat do you actually NEED to restore player blocks placed between the explosion and the undo? 2017-01-18 12:31:23 Syncazor Because I want this to work so you can blow other peoples stuff up for fun 2017-01-18 12:31:43 GarethTheGreat who's placing blocks after the explosion that they want to stick around after undoing the explosion? 2017-01-18 12:31:57 Syncazor All players will be able to place tnt anywher 2017-01-18 12:32:02 GarethTheGreat and? 2017-01-18 12:32:02 Syncazor So if someone else is building 2017-01-18 12:32:08 Syncazor and they place a tnt, you can't build 2017-01-18 12:32:24 GarethTheGreat why would you want to build over an area that just exploded? 2017-01-18 12:32:31 MiniDigger if you have overlapping explosions you will be completely fucked 2017-01-18 12:32:48 GarethTheGreat MiniDigger: not really - just more chunks to save the state of 2017-01-18 12:32:54 Syncazor It works well with my client side way right now 2017-01-18 12:32:59 MiniDigger you save invalid state 2017-01-18 12:33:00 Syncazor but i cant rollback 2017-01-18 12:33:06 GarethTheGreat when the /undo command is sent, just look for the nearest explosion site 2017-01-18 12:33:18 GarethTheGreat save the coordinates of explosions next to the saved chunk state 2017-01-18 12:33:38 GarethTheGreat overlapping explosions: just revert one and then revert the other 2017-01-18 12:33:42 --> _123DMWM (~123DMWM@pool-108-26-253-218.bstnma.fios.verizon.net) a rejoint #mcdevs 2017-01-18 12:34:00 Syncazor oh btw, undo happens 5 seconds after each explosion 2017-01-18 12:34:57 GarethTheGreat so who the hell is building on explosion sites within those 5 seconds? 2017-01-18 12:35:20 * Andrio often fills it in with stone in his survival world. 2017-01-18 12:35:21 GarethTheGreat just save/restore the chunks within a particular radius, don't wait for an undo command 2017-01-18 12:35:50 GarethTheGreat if it's just to blow shit up for fun, don't bother saving new player blocks 2017-01-18 12:36:25 Syncazor But then players cant build if someone just blew their stuff up 2017-01-18 12:36:36 GarethTheGreat how would that even work? 2017-01-18 12:36:39 GarethTheGreat imagine i build a house 2017-01-18 12:36:44 GarethTheGreat someone blows my house up 2017-01-18 12:36:54 GarethTheGreat 5 seconds later my house is back 2017-01-18 12:37:09 GarethTheGreat what possible work am i doing on my house in those 5 seconds while waiting for my house to return? 2017-01-18 12:37:26 Syncazor Sorry, what i meant is if they build not in the affected area, but the rollback radius takes into consideration the larger area 2017-01-18 12:37:27 GarethTheGreat i won't even know where to place the blocks as i won't see my original build, i'd have to memorise it and be really careful 2017-01-18 12:37:29 Andrio hm 2017-01-18 12:37:44 Andrio What if a chest gets blown up? 2017-01-18 12:37:59 Syncazor ^ reason why client side is easier 2017-01-18 12:38:03 GarethTheGreat can you scrap the default explosion handler? 2017-01-18 12:38:08 GarethTheGreat or override it 2017-01-18 12:38:11 Syncazor Yeah 2017-01-18 12:38:18 Syncazor I did it in my code 2017-01-18 12:38:19 GarethTheGreat then you just have the explosion handler save the states of all blocks it touches 2017-01-18 12:38:52 Syncazor let's say water flows 2017-01-18 12:39:00 Syncazor What then 2017-01-18 12:39:01 GarethTheGreat take a particular radius of blocks, add some randomness on each side of your 3D cube to roughen it up, replace with air 2017-01-18 12:39:11 GarethTheGreat for each block you replace, first push to the undo stack i mentioned earlier 2017-01-18 12:39:23 GarethTheGreat to undo, pop from the stack until you get back to the "place TNT" block 2017-01-18 12:39:41 GarethTheGreat make the stack only track changes within that radius 2017-01-18 12:39:56 GarethTheGreat that way, you ONLY reverse blocks touched by the explosion 2017-01-18 12:40:26 Syncazor I guessss i could just blow up water and lava 2017-01-18 12:41:03 MiniDigger you could also freeze lava and water flow for 5 seconds 2017-01-18 12:41:09 Syncazor ^ I want to do that 2017-01-18 12:41:12 Syncazor But I don't know how 2017-01-18 12:41:15 Syncazor If I could do that 2017-01-18 12:41:17 Syncazor I'm set 2017-01-18 12:41:25 MiniDigger there is a event 2017-01-18 12:41:37 MiniDigger blockfromtoevent? idk 2017-01-18 12:42:08 GarethTheGreat i saw something about block spreading in the docs 2017-01-18 12:42:23 Syncazor BlockFromToEvent 2017-01-18 12:42:30 Syncazor I could just use CreeperHeal and edit 2017-01-18 12:42:39 Syncazor https://github.com/nitnelave/CreeperHeal 2017-01-18 12:42:56 Syncazor It only doesn't support water and lava, armorstands, minecarts 2017-01-18 12:44:04 MiniDigger fork and pr 2017-01-18 12:44:12 Syncazor pr? 2017-01-18 12:44:35 MiniDigger fork, do you changes, submit changes back to upstream so everybody can use it 2017-01-18 12:44:49 Syncazor Ahhh, if I can get it working myself lol 2017-01-18 12:54:30 <-- Syncazor (~Syncazor@ppp118-210-36-36.bras2.adl2.internode.on.net) a quitté (Quit: My Mac has gone to sleep. ZZZzzz…) 2017-01-18 12:57:03 GarethTheGreat on the wiki what does "SMP" client mean? 2017-01-18 12:57:52 MiniDigger simple multi player 2017-01-18 12:57:55 GarethTheGreat ah 2017-01-18 12:58:12 GarethTheGreat oh lol, "compiles" listed as a feature 2017-01-18 13:01:17 MiniDigger well, some projects never get further than that milestone ^^ 2017-01-18 13:01:38 --> Syncazor (~Syncazor@ppp118-210-36-36.bras2.adl2.internode.on.net) a rejoint #mcdevs 2017-01-18 14:08:08 Andrio I believe it used to stand for 'survival multiplayer' 2017-01-18 14:08:17 Andrio but refers to multiplayer in general. 2017-01-18 14:34:47 <-- Syncazor (~Syncazor@ppp118-210-36-36.bras2.adl2.internode.on.net) a quitté (Quit: Textual IRC Client: www.textualapp.com) 2017-01-18 15:03:14 --> protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a rejoint #mcdevs 2017-01-18 15:19:12 pokechu22 It's from back when you had SMP and CMP - survival multiplayer and _classic_ multiplayer. Not a common distinction anymore, but the name's stuck. 2017-01-18 15:29:08 Andrio Mostly 2017-01-18 15:45:36 +Fenhl I thought CMP was Creative Multiplayer 2017-01-18 16:14:02 chibill question anyone have any information on reading the ChunkData packet. I can read most of it but the ChunkSections. 2017-01-18 16:17:43 <-- ashka (~postmaste@pdpc/supporter/active/ashka) a quitté (Excess Flood) 2017-01-18 16:17:48 Andrio Well, I have a fork of a client that seems to work. 2017-01-18 16:17:48 Andrio Does that count? 2017-01-18 16:17:50 --> kev009__ (~kev009@tempe0.bbox.io) a rejoint #mcdevs 2017-01-18 16:17:58 <-- I9hdkill (~quassel@2a01:4f8:171:1ae5::2) a quitté (Write error: Broken pipe) 2017-01-18 16:18:36 chibill ? 2017-01-18 16:18:54 --> I9hdkill (~quassel@2a01:4f8:171:1ae5::2) a rejoint #mcdevs 2017-01-18 16:19:05 --> Tuxel_ (~irssi@84.200.81.170) a rejoint #mcdevs 2017-01-18 16:19:31 chibill I just need a way to read the data from the chunk sections that are sent in a Chunk Data packet. 2017-01-18 16:19:36 --> ashka (~postmaste@server2.shellgratuit.com) a rejoint #mcdevs 2017-01-18 16:19:36 <-- ashka (~postmaste@server2.shellgratuit.com) a quitté (Changing host) 2017-01-18 16:19:36 --> ashka (~postmaste@pdpc/supporter/active/ashka) a rejoint #mcdevs 2017-01-18 16:19:39 <-- kev009_ (~kev009@tempe0.bbox.io) a quitté (Write error: Broken pipe) 2017-01-18 16:19:52 <-- Akkarin (~Akkarin@bnc.basinmc.org) a quitté (Max SendQ exceeded) 2017-01-18 16:19:59 --> PotatOS (~Akkarin@bnc.basinmc.org) a rejoint #mcdevs 2017-01-18 16:20:17 <-- Tuxel (~irssi@84.200.81.170) a quitté (*.net *.split) 2017-01-18 16:20:17 <-- LiftLeft (~loser@67.205.149.187) a quitté (*.net *.split) 2017-01-18 16:20:18 <-- Amaranth (~Amaranth@ubuntu/member/Amaranth) a quitté (*.net *.split) 2017-01-18 16:20:19 <-- balrog (~balrog@unaffiliated/balrog) a quitté (*.net *.split) 2017-01-18 16:20:20 <-- M4GNV5 (~M4GNV5@v22015123214830522.bestsrv.de) a quitté (*.net *.split) 2017-01-18 16:20:20 <-- cindy_k (~cindy_k@irc.cindyscats.com) a quitté (*.net *.split) 2017-01-18 16:20:21 <-- Thinkofname (Think@oops.i.broke.thinkofdeath.uk) a quitté (*.net *.split) 2017-01-18 16:20:21 <-- Dinnerbone (dinnerbone@i.like.butts.and.my.name.is.dinnerbone.com) a quitté (*.net *.split) 2017-01-18 16:20:22 <-- winny (~winny@unaffiliated/winstonw) a quitté (*.net *.split) 2017-01-18 16:20:22 <-- x56 (0x56@unaffiliated/x56) a quitté (*.net *.split) 2017-01-18 16:20:22 <-- matthewprenger (sid27821@gateway/web/irccloud.com/x-nbzghukytxjolqfe) a quitté (*.net *.split) 2017-01-18 16:20:23 <-- Fenhl (sid30770@gateway/web/irccloud.com/x-qduauqquiqdziupj) a quitté (*.net *.split) 2017-01-18 16:20:23 <-- yosafbridge (~yosafbrid@68.ip-149-56-14.net) a quitté (*.net *.split) 2017-01-18 16:20:23 <-- yawkat (~yawkat@cats.coffee) a quitté (*.net *.split) 2017-01-18 16:20:23 <-- Z750 (~Z750@2001:41d0:1:68a3::45) a quitté (*.net *.split) 2017-01-18 16:20:23 <-- Botched (~Botched@unaffiliated/mustek/bot/botched) a quitté (*.net *.split) 2017-01-18 16:20:23 <-- dav1d (~dav1d@volt/developer/dav1d) a quitté (*.net *.split) 2017-01-18 16:20:24 <-- joethei (~joethei@37.114.61.198) a quitté (*.net *.split) 2017-01-18 16:20:24 <-- mundus2018 (~mundus201@ec2-54-196-58-236.compute-1.amazonaws.com) a quitté (*.net *.split) 2017-01-18 16:20:24 <-- Byteflux (~Byteflux@ns530119.ip-149-56-107.net) a quitté (*.net *.split) 2017-01-18 16:20:25 <-- Jeebiss (sid25046@gateway/web/irccloud.com/x-dzexpouubfxetadq) a quitté (*.net *.split) 2017-01-18 16:20:25 <-- JeanSebTr_ (sid50581@gateway/web/irccloud.com/x-kgvzdecdyscyopgj) a quitté (*.net *.split) 2017-01-18 16:20:26 -- PotatOS est maintenant connu sous le nom Akkarin 2017-01-18 16:20:28 --> Dinnerbone (dinnerbone@i.like.butts.and.my.name.is.dinnerbone.com) a rejoint #mcdevs 2017-01-18 16:20:28 -- Mode #mcdevs [+v Dinnerbone] par ChanServ 2017-01-18 16:20:43 chibill dang! so many people leaving. 2017-01-18 16:20:48 --> mundus2018 (~mundus201@ec2-54-196-58-236.compute-1.amazonaws.com) a rejoint #mcdevs 2017-01-18 16:20:50 Andrio http://wiki.vg/SMP_Map_Format? 2017-01-18 16:20:51 --> M4GNV5_ (~M4GNV5@v22015123214830522.bestsrv.de) a rejoint #mcdevs 2017-01-18 16:20:58 chibill Yeah.. I read that. 2017-01-18 16:20:59 Andrio oh hey, netsplit. 2017-01-18 16:21:02 --> winny (~winny@unaffiliated/winstonw) a rejoint #mcdevs 2017-01-18 16:21:03 --> cindy_k (~cindy_k@irc.cindyscats.com) a rejoint #mcdevs 2017-01-18 16:21:08 --> x56 (0x56@unaffiliated/x56) a rejoint #mcdevs 2017-01-18 16:21:09 -- M4GNV5_ est maintenant connu sous le nom M4GNV5 2017-01-18 16:21:19 Andrio Didn't help much? 2017-01-18 16:21:30 chibill I keep getting values for block ids / pallete ids that are larger then the pallete it self... 2017-01-18 16:21:49 Andrio Is it a vanilla server? 2017-01-18 16:21:54 chibill Yes 2017-01-18 16:21:59 Andrio hm 2017-01-18 16:22:40 chibill I have even tried using code from a 1.9 client someone made. (Because this packet has not changed much in format) and no luck. 2017-01-18 16:22:42 Andrio I'd like to see the code you're using there. 2017-01-18 16:23:01 --> balrog (~balrog@unaffiliated/balrog) a rejoint #mcdevs 2017-01-18 16:23:06 chibill Well Right now its a very mess thing I am adding to pycraft. (The library) 2017-01-18 16:23:28 chibill I based it off of the python file linked at the bottom of the page you linked. 2017-01-18 16:23:40 --> Thinkofname (Think@oops.i.broke.thinkofdeath.uk) a rejoint #mcdevs 2017-01-18 16:23:40 --> dav1d (~dav1d@2001:41d0:1:f6c4::1) a rejoint #mcdevs 2017-01-18 16:23:40 --> LiftLeft (~loser@67.205.149.187) a rejoint #mcdevs 2017-01-18 16:23:40 --> Z750 (~Z750@2001:41d0:1:68a3::45) a rejoint #mcdevs 2017-01-18 16:23:40 --> Botched (~Botched@unaffiliated/mustek/bot/botched) a rejoint #mcdevs 2017-01-18 16:23:40 --> joethei (~joethei@37.114.61.198) a rejoint #mcdevs 2017-01-18 16:23:40 --> Byteflux (~Byteflux@ns530119.ip-149-56-107.net) a rejoint #mcdevs 2017-01-18 16:23:56 --> yosafbridge (~yosafbrid@68.ip-149-56-14.net) a rejoint #mcdevs 2017-01-18 16:23:59 <-- joethei (~joethei@37.114.61.198) a quitté (Max SendQ exceeded) 2017-01-18 16:23:59 Andrio mm 2017-01-18 16:24:02 -- Mode #mcdevs [+v Thinkofname] par ChanServ 2017-01-18 16:24:02 <-- dav1d (~dav1d@2001:41d0:1:f6c4::1) a quitté (Changing host) 2017-01-18 16:24:02 --> dav1d (~dav1d@volt/developer/dav1d) a rejoint #mcdevs 2017-01-18 16:24:10 --> joethei_ (~joethei@37.114.61.198) a rejoint #mcdevs 2017-01-18 16:24:26 -- LiftLeft est maintenant connu sous le nom Guest64635 2017-01-18 16:24:27 chibill dang what is with so many people leaving and re-joining.... 2017-01-18 16:24:39 --> yawkat (~yawkat@cats.coffee) a rejoint #mcdevs 2017-01-18 16:25:16 chibill And in the client src code. (MC it self) it does some weird stuff to read it... (Mostly wrapping it in all sort of other classes.) 2017-01-18 16:25:55 chibill I based it off of https://github.com/SpockBotMC/SpockBot/blob/0535c31/spockbot/plugins/tools/smpmap.py#L144-L183 2017-01-18 16:26:08 Andrio A freenode server either went down or lost connection to the rest of the network 2017-01-18 16:26:12 Andrio that's called a netsplit. 2017-01-18 16:26:23 Andrio So everyone on that side of the network disappears 2017-01-18 16:27:00 chibill lol 2017-01-18 16:27:37 --> matthewprenger (sid27821@gateway/web/irccloud.com/x-plwpktuosceejbdl) a rejoint #mcdevs 2017-01-18 16:27:39 PolarizedIons yawkat: love that domain name :D 2017-01-18 16:27:50 PolarizedIons (your host) 2017-01-18 16:28:27 Andrio chibill, does that code work? 2017-01-18 16:28:28 <-- Byteflux (~Byteflux@ns530119.ip-149-56-107.net) a quitté (Quit: ZNC - http://znc.in) 2017-01-18 16:28:42 --> Fenhl (sid30770@gateway/web/irccloud.com/x-pbwehhktpbqyklos) a rejoint #mcdevs 2017-01-18 16:28:42 -- Mode #mcdevs [+v Fenhl] par ChanServ 2017-01-18 16:29:20 chibill Well it did back in 1.9 but its not working now for some reason. Getting numbers back that are large then the pallete. 2017-01-18 16:29:58 --> JeanSebTr_ (sid50581@gateway/web/irccloud.com/x-jipuzvidohvcrqim) a rejoint #mcdevs 2017-01-18 16:30:28 --> Jeebiss (sid25046@gateway/web/irccloud.com/x-xjrfjcyylndkgnwn) a rejoint #mcdevs 2017-01-18 16:32:52 chibill Why did Mojang use longs to store the block data so oddly in packets..... 2017-01-18 16:33:06 chibill It makes it so much of a pain to deal with. 2017-01-18 16:34:45 --> bswartz (~bswartz@98.122.139.152) a rejoint #mcdevs 2017-01-18 16:35:54 Andrio Is the >> operator signed? 2017-01-18 16:36:06 Andrio Also it's probably to be as compact as possible. 2017-01-18 16:36:24 chibill not sure. 2017-01-18 16:37:06 chibill right now I am making sure I read all the stuff before the data. Maybe i missed something. 2017-01-18 16:39:13 chibill I might have found at my problem.. "You will get several fragments of chunks at first that are very far away from your location. Ignore these, since the chunks they are in will be loaded fully later. Full chunks load spiraling outward from your location in a circular (not square) pattern, eventually creating a 20x20 square for a total of 400 chunks." 2017-01-18 16:39:21 chibill Under http://wiki.vg/How_to_Write_a_Client 2017-01-18 16:42:01 * Andrio needs sleep. 2017-01-18 16:44:53 <-- ShaRose (ShaRose@i.am.sharo.se) a quitté (Ping timeout: 240 seconds) 2017-01-18 16:45:19 --> ShaRose (ShaRose@i.am.sharo.se) a rejoint #mcdevs 2017-01-18 17:14:55 chibill So anyone else here right now? 2017-01-18 17:20:29 <-- kashike (kashike@unaffiliated/kashike) a quitté (Remote host closed the connection) 2017-01-18 17:27:49 --> kashike (kashike@unaffiliated/kashike) a rejoint #mcdevs 2017-01-18 17:49:43 <-- Tuxel_ (~irssi@84.200.81.170) a quitté (Quit: Reconnecting) 2017-01-18 17:49:49 --> Tuxel (~irssi@84.200.81.170) a rejoint #mcdevs 2017-01-18 17:56:15 ishitatsuyuki Do not ask to ask if anyone is alive or use something, just ask and go on. 2017-01-18 18:15:01 --> Byteflux (~Byteflux@ns530119.ip-149-56-107.net) a rejoint #mcdevs 2017-01-18 19:57:06 rom1504 There are differences in the chunk format between 1.9 and 1.11 ? 2017-01-18 20:12:34 -- wlp1s1 est maintenant connu sous le nom TheInternet 2017-01-18 20:12:40 -- TheInternet est maintenant connu sous le nom wlp1s1 2017-01-18 20:53:39 <-- gurun (~gurun@c83-249-66-168.bredband.comhem.se) a quitté (Ping timeout: 255 seconds) 2017-01-18 20:53:43 --> Tachyon_ (~Thunderbi@95.76.184.120) a rejoint #mcdevs 2017-01-18 20:58:43 <-- Tachyon_ (~Thunderbi@95.76.184.120) a quitté (Quit: Tachyon_) 2017-01-18 21:01:45 --> gurun (~gurun@c83-249-66-168.bredband.comhem.se) a rejoint #mcdevs 2017-01-18 21:55:56 -- r04r est maintenant connu sous le nom brie 2017-01-18 21:55:59 -- brie est maintenant connu sous le nom r04r 2017-01-18 22:17:17 pokechu22 chibill: There shouldn't be any differences in the packet structure. On the other hand: If you're getting numbers that are far out of bounds... there's a few things that might be wrong. You're probably reading items from the data array wrong - maybe not dividing by the size of a long? Stuff like that. 2017-01-18 22:17:56 pokechu22 We'd have to see your specific implementation to find the bug, as there's a bunch of ways that it can be slightly incorrect and thus broken. But you should only ever get an incorrect palette index when the data is being read wrong. 2017-01-18 22:50:40 chibill I am using the code that using 2017-01-18 22:50:55 chibill Is linked on the wiki page for it. 2017-01-18 22:51:07 --> Lazersmoke (~Lazersmok@2601:248:200:829b:dd13:b4eb:49e4:302d) a rejoint #mcdevs 2017-01-18 22:51:21 chibill I am getting number 2017-01-18 22:51:42 chibill Like 31 when my pallete is only 19 long. 2017-01-18 22:57:49 pokechu22 What's the bits per block value you're getting when that happens? 2017-01-18 23:01:52 pokechu22 Oh, the other thing to consider: are you reading skylight? The python example there reads most of the chunk data, but it only covers the blocks, not the 2 skylight arrays. 31 might mean you're reading into a skylight table (which would be 0xFF mostly and thus you'd get a full 31). 2017-01-18 23:05:13 pokechu22 (if you don't care about skylight, just read 2048 bytes of blocklight and then 2048 more bytes of skylight if in the overworld) 2017-01-18 23:05:53 pokechu22 I keep saying "skylight" when I mean light in general - there's 2 lighting arrays, one of which is only present in the overworld. 2017-01-18 23:24:05 Lazersmoke chibill could you post a hexdump of the packet that you are getting and the code that is parsing it? 2017-01-18 23:39:09 Lazersmoke is the AES setup really using the shared secret as both the IV and the key? 2017-01-19 00:09:51 <-- UUID00 (~UUID00@BSN-165-124-193.dynamic.siol.net) a quitté (Ping timeout: 255 seconds) 2017-01-19 00:10:07 <-- jamierocks_ (~jamierock@2a03:b0c0:1:a1::18f:3001) a quitté (Quit: ZNC 1.6.3 - http://znc.in) 2017-01-19 00:19:50 --> jamierocks_ (~jamierock@2a03:b0c0:1:a1::18f:3001) a rejoint #mcdevs 2017-01-19 00:21:51 Akaibu found a new XXX browser game, attempting to decode the code so i can make a cheat for it, anyone want to help lol 2017-01-19 00:22:39 <-- jamierocks (jamierocks@bnc.lol768.com) a quitté (Disconnected by services) 2017-01-19 00:22:43 -- jamierocks_ est maintenant connu sous le nom jamierocks 2017-01-19 00:23:23 --> jamieroc- (jamierocks@bnc.lol768.com) a rejoint #mcdevs 2017-01-19 00:23:34 <-- EW8GU (admin@ho.by) a quitté (Read error: Connection reset by peer) 2017-01-19 00:25:31 <-- Byteflux (~Byteflux@ns530119.ip-149-56-107.net) a quitté (*.net *.split) 2017-01-19 00:25:31 <-- winny (~winny@unaffiliated/winstonw) a quitté (*.net *.split) 2017-01-19 00:25:32 <-- protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a quitté (*.net *.split) 2017-01-19 00:25:32 <-- zhuyifei1999_ (uid97661@wikimedia/zhuyifei1999) a quitté (*.net *.split) 2017-01-19 00:25:48 --> Byteflux (~Byteflux@ns530119.ip-149-56-107.net) a rejoint #mcdevs 2017-01-19 00:25:48 --> winny (~winny@unaffiliated/winstonw) a rejoint #mcdevs 2017-01-19 00:25:48 --> protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a rejoint #mcdevs 2017-01-19 00:25:48 --> zhuyifei1999_ (uid97661@wikimedia/zhuyifei1999) a rejoint #mcdevs 2017-01-19 00:29:44 --> EW8GU (admin@ho.by) a rejoint #mcdevs 2017-01-19 00:44:29 Akaibu >decode the code 2017-01-19 00:44:44 Akaibu ouch, did i really type that 2017-01-19 00:45:13 Akaibu deobfuscate the code* 2017-01-19 01:03:28 Lazersmoke WEW LADS 2017-01-19 01:03:36 Lazersmoke I JUST REIMPLEMENTED CFB8 IN HASKELL 2017-01-19 01:04:22 Lazersmoke WHICH MEANS I'M ACTUALLY DONE WITH ALL THE BITFIDDLING SHIT (HOPEFULLY) 2017-01-19 01:09:02 pokechu22 GG 2017-01-19 01:12:18 <-- Hink (~Hink@hink.me) a quitté (Read error: Connection reset by peer) 2017-01-19 01:58:31 Lazersmoke decode the code = backspace 2017-01-19 02:22:50 Lazersmoke hold on 2017-01-19 02:23:14 Lazersmoke if the client encrypts the verify token wrong, there's no way to get them to disconnect normally 2017-01-19 02:23:33 Lazersmoke because they are waiting for an encrypted message using a key that presumably got fucked up somewhere 2017-01-19 02:23:48 Lazersmoke because if the key was working ok then their verify token would be right 2017-01-19 02:23:55 Lazersmoke hmm 2017-01-19 02:30:25 --> Hink (~Hink@hink.me) a rejoint #mcdevs 2017-01-19 02:47:59 pokechu22 You can still close the socket, but you probably wouldn't be able to set a disconnect message in that case. 2017-01-19 02:50:08 Lazersmoke yeah, that's the conclusion I reached as well 2017-01-19 03:17:25 <-- zhuyifei1999_ (uid97661@wikimedia/zhuyifei1999) a quitté (Quit: Connection closed for inactivity) 2017-01-19 03:33:56 --> Lazersmoke_ (~Lazersmok@2601:248:200:829b:dd13:b4eb:49e4:302d) a rejoint #mcdevs 2017-01-19 03:34:28 --> kev009 (~kev009@tempe0.bbox.io) a rejoint #mcdevs 2017-01-19 03:34:28 -- Mode #mcdevs [+v kev009] par ChanServ 2017-01-19 03:36:08 --> Fenhl_ (sid30770@gateway/web/irccloud.com/x-cxkgefxskwvuvxxv) a rejoint #mcdevs 2017-01-19 03:36:08 -- Mode #mcdevs [+v Fenhl_] par ChanServ 2017-01-19 03:38:19 --> samfty_ (~quassel@59-102-90-90.tpgi.com.au) a rejoint #mcdevs 2017-01-19 03:39:41 --> Aikar_ (~quassel@2604:4500::5102) a rejoint #mcdevs 2017-01-19 03:39:41 <-- Aikar_ (~quassel@2604:4500::5102) a quitté (Changing host) 2017-01-19 03:39:41 --> Aikar_ (~quassel@wikia/Aikar) a rejoint #mcdevs 2017-01-19 03:40:37 --> LaxWasThere (~Lax@2607:5300:60:48d7::) a rejoint #mcdevs 2017-01-19 03:41:22 --> Morrolan_ (morrolan@znc.morrolan.ch) a rejoint #mcdevs 2017-01-19 03:41:43 --> Matsv- (~Matsv@i.am.matsv.nl) a rejoint #mcdevs 2017-01-19 03:41:43 --> Me4502- (~Me4502@2001:19f0:5800:8cc1:5400:ff:fe0c:f993) a rejoint #mcdevs 2017-01-19 03:41:49 --> TheUnnamedDude|b (~TheUnname@2001:41d0:1:68a3::37) a rejoint #mcdevs 2017-01-19 03:42:51 <-- Lazersmoke (~Lazersmok@2601:248:200:829b:dd13:b4eb:49e4:302d) a quitté (*.net *.split) 2017-01-19 03:42:52 <-- Fenhl (sid30770@gateway/web/irccloud.com/x-pbwehhktpbqyklos) a quitté (*.net *.split) 2017-01-19 03:42:52 <-- kev009__ (~kev009@tempe0.bbox.io) a quitté (*.net *.split) 2017-01-19 03:42:53 <-- samfty (~quassel@59-102-90-90.tpgi.com.au) a quitté (*.net *.split) 2017-01-19 03:42:53 <-- KnownUnown (KnownUnown@die.in.firrre.com) a quitté (*.net *.split) 2017-01-19 03:42:54 <-- Deaygo (Deaygo@i.let.this.bloody.dropbear.in) a quitté (*.net *.split) 2017-01-19 03:42:54 <-- AndrewPH (Butts@omega.classicube.net) a quitté (*.net *.split) 2017-01-19 03:42:54 <-- chibill (~chibill@2602:306:ce43:b390:5d4f:6613:a01a:16c5) a quitté (*.net *.split) 2017-01-19 03:42:55 <-- LaxWasHere (~Lax@deathtopennies.org) a quitté (*.net *.split) 2017-01-19 03:42:55 <-- TheUnnamedDude (~TheUnname@2001:41d0:1:68a3::37) a quitté (*.net *.split) 2017-01-19 03:42:55 <-- r04r (r04r@unaffiliated/r04r) a quitté (*.net *.split) 2017-01-19 03:42:55 <-- Me4502 (~Me4502@unaffiliated/me4502) a quitté (*.net *.split) 2017-01-19 03:42:55 <-- Aikar (~quassel@wikia/Aikar) a quitté (*.net *.split) 2017-01-19 03:42:55 <-- pokechu22 (~pokechu22@50.35.71.198) a quitté (*.net *.split) 2017-01-19 03:42:56 <-- angal (angal@elmo.stole-your.pw) a quitté (*.net *.split) 2017-01-19 03:42:56 <-- ammar2 (admin@i.diddled.with.the.opers.so.they.klined.me) a quitté (*.net *.split) 2017-01-19 03:42:56 <-- Matsv (~Matsv@i.am.matsv.nl) a quitté (*.net *.split) 2017-01-19 03:42:56 <-- Morrolan (morrolan@znc.morrolan.ch) a quitté (*.net *.split) 2017-01-19 03:43:12 --> ammar2 (admin@i.diddled.with.the.opers.so.they.klined.me) a rejoint #mcdevs 2017-01-19 03:43:12 -- Mode #mcdevs [+v ammar2] par ChanServ 2017-01-19 03:43:41 -- Fenhl_ est maintenant connu sous le nom Fenhl 2017-01-19 03:43:56 --> r04r (r04r@unaffiliated/r04r) a rejoint #mcdevs 2017-01-19 03:49:29 --> pokechu22 (~pokechu22@50.35.71.198) a rejoint #mcdevs 2017-01-19 04:00:39 --> Deaygo (Deaygo@i.let.this.bloody.dropbear.in) a rejoint #mcdevs 2017-01-19 04:00:46 --> chibill (~chibill@2602:306:ce43:b390:791b:16ce:aa38:3f0b) a rejoint #mcdevs 2017-01-19 04:01:54 --> AndrewPH (Butts@omega.classicube.net) a rejoint #mcdevs 2017-01-19 04:01:55 -- Mode #mcdevs [+v AndrewPH] par ChanServ 2017-01-19 04:05:26 --> KnownUnown (KnownUnown@die.in.firrre.com) a rejoint #mcdevs 2017-01-19 04:06:00 --> zhuyifei1999_ (uid97661@wikimedia/zhuyifei1999) a rejoint #mcdevs 2017-01-19 04:08:16 <-- Lazersmoke_ (~Lazersmok@2601:248:200:829b:dd13:b4eb:49e4:302d) a quitté (Quit: Leaving) 2017-01-19 04:31:12 --> Meeeh_ (~Meeeh@65.ip-51-254-203.eu) a rejoint #mcdevs 2017-01-19 04:32:46 <-- Meeeh (~Meeeh@65.ip-51-254-203.eu) a quitté (Ping timeout: 240 seconds) 2017-01-19 04:41:48 --> angal (angal@elmo.stole-your.pw) a rejoint #mcdevs 2017-01-19 06:06:36 <-- ghac (~ghac@2a01:4f8:171:1ae5::2) a quitté (Remote host closed the connection) 2017-01-19 06:06:36 <-- I9hdkill (~quassel@2a01:4f8:171:1ae5::2) a quitté (Read error: Connection reset by peer) 2017-01-19 06:23:08 --> I9hdkill (~quassel@2a01:4f8:171:1ae5::2) a rejoint #mcdevs 2017-01-19 06:23:09 --> ghac (~ghac@2a01:4f8:171:1ae5::2) a rejoint #mcdevs 2017-01-19 06:42:30 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2017-01-19 06:46:09 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 260 seconds) 2017-01-19 06:46:09 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2017-01-19 07:34:51 --> UUID00 (~UUID00@BSN-165-124-193.dynamic.siol.net) a rejoint #mcdevs 2017-01-19 07:37:15 <-- protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a quitté (Quit: WeeChat 1.7-rc2) 2017-01-19 07:54:09 <-- zml (~zml@minions.aoeu.xyz) a quitté (Ping timeout: 256 seconds) 2017-01-19 08:04:07 --> zml (~zml@minions.aoeu.xyz) a rejoint #mcdevs 2017-01-19 08:07:25 <-- zhuyifei1999_ (uid97661@wikimedia/zhuyifei1999) a quitté (Quit: Connection closed for inactivity) 2017-01-19 09:15:45 <-- dexter0 (~dexter0@2601:647:4502:8c00:d030:375e:6721:78ae) a quitté (Ping timeout: 256 seconds) 2017-01-19 09:17:12 --> dexter0 (~dexter0@2601:647:4502:8c00:8d1b:5890:e52e:a478) a rejoint #mcdevs 2017-01-19 09:20:30 <-- ShaRose (ShaRose@i.am.sharo.se) a quitté (Quit: I appear to have left for some reason.) 2017-01-19 09:23:06 --> ShaRose (ShaRose@i.am.sharo.se) a rejoint #mcdevs 2017-01-19 09:59:31 <-- joethei_ (~joethei@37.114.61.198) a quitté (Ping timeout: 276 seconds) 2017-01-19 10:00:43 <-- Tuxel (~irssi@84.200.81.170) a quitté (Ping timeout: 258 seconds) 2017-01-19 10:01:26 --> Tuxel (~irssi@84.200.81.170) a rejoint #mcdevs 2017-01-19 10:04:26 --> joethei (~joethei@37.114.61.198) a rejoint #mcdevs 2017-01-19 11:46:35 <-- Guest64635 (~loser@67.205.149.187) a quitté (Ping timeout: 245 seconds) 2017-01-19 11:59:49 --> Guest64635 (~loser@67.205.149.187) a rejoint #mcdevs 2017-01-19 12:09:05 <-- Guest64635 (~loser@67.205.149.187) a quitté (Ping timeout: 245 seconds) 2017-01-19 12:09:42 --> Guest64635 (~loser@67.205.149.187) a rejoint #mcdevs 2017-01-19 13:23:18 <-- balrog (~balrog@unaffiliated/balrog) a quitté (Read error: Connection reset by peer) 2017-01-19 13:31:20 --> balrog (~balrog@unaffiliated/balrog) a rejoint #mcdevs 2017-01-19 14:18:25 --> zhuyifei1999_ (uid97661@wikimedia/zhuyifei1999) a rejoint #mcdevs 2017-01-19 15:03:42 --> protryon (~protryon@c-50-131-132-225.hsd1.ca.comcast.net) a rejoint #mcdevs 2017-01-19 15:43:14 <-- Hink (~Hink@hink.me) a quitté (Ping timeout: 248 seconds) 2017-01-19 15:51:55 --> Hink (~Hink@hink.me) a rejoint #mcdevs 2017-01-19 16:36:51 ishitatsuyuki Is the deauthentication when changing network (tethering) normal? 2017-01-19 16:37:17 ishitatsuyuki My friend always gets "invalid token" on a network switch 2017-01-19 16:53:01 <-- Hink (~Hink@hink.me) a quitté (Ping timeout: 240 seconds) 2017-01-19 16:56:38 --> Hink (~Hink@hink.me) a rejoint #mcdevs 2017-01-19 18:12:11 --> Lazer (32ca53b6@gateway/web/freenode/ip.50.202.83.182) a rejoint #mcdevs 2017-01-19 18:16:56 <-- Lazer (32ca53b6@gateway/web/freenode/ip.50.202.83.182) a quitté (Ping timeout: 260 seconds) 2017-01-19 19:22:23 chibill I am reading the longs for the blocks just. (It sends the number of them) and getting a random 31.. 2017-01-19 19:24:34 chibill I am not sure how to get a hex dump of it for you. 2017-01-19 19:25:35 chibill pokechu22 I am not try to read the block light even. I just want the block data. (Which is in the messy longs....) 2017-01-19 19:26:51 chibill Unless I am some how not reading the pallet fully... 2017-01-19 19:33:39 -- Aikar_ est maintenant connu sous le nom Aikar 2017-01-19 19:34:36 chibill I am going to try using an API that has the packet already defined nicely for me. 2017-01-19 19:45:14 <-- barneygale (~barneygal@mail.thefoundry.co.uk) a quitté (Quit: Leaving) 2017-01-19 20:49:41 -- Morrolan_ est maintenant connu sous le nom Morrolan