Code Review vs. Dynamic Testing explained with Minecraft

  Рет қаралды 100,898

LiveOverflow

LiveOverflow

Күн бұрын

Maybe you are wondering how people can figure out crazy stuff in Minecraft. Generally there are two techniques: dynamic testing or reading code. So which method is better?
2No2Name (original finder) Zombie AI: • Zombie AI vs. BlockPos...
docm77: • Hermitcraft Season 9 -...
Episode 10:
00:00 - Let's Play: Building Timelapse
01:16 - Code Review vs. Dynamic Testing
02:29 - Example #1: Creeper Farm Code Review
04:10 - Example #2: Fall Damage Dynamic Testing
05:45 - docm77 Zombie Prank on Hermitcraft
06:55 - How to Find The Zombie AI Bug
10:03 - Does it Affect Other Mobs?
11:16 - Other Players on the Server
12:00 - Let's Play: Bee Farm Timelapse
=[ ❤️ Support ]=
→ per Video: / liveoverflow
→ per Month: / @liveoverflow
=[ 🐕 Social ]=
→ Twitter: / liveoverflow
→ Instagram: / liveoverflow
→ Blog: liveoverflow.com/
→ Subreddit: / liveoverflow
→ Facebook: / liveoverflow

Пікірлер: 131
@Craftminer2000
@Craftminer2000 Жыл бұрын
Have you considered doing a video on the behind-the-scenes of Update Suppression? In case you are unaware, It involves an actual Java Stack Overflow triggered from within Minecraft to allow you to do stuff that isn't possible normally, like slicing nether portals in halve etc. Highlights some deeper digging into Minecraft and edge cases to consider when writing code and can be integrated into some kind of story you want to tell in your Minecraft videos. Also lets you do some code comparison, how Mojang (attempted) to fix it in different versions of the game. Love your content!
@thebuildcraft42
@thebuildcraft42 Жыл бұрын
yes. very good topic idea!
@begga9682
@begga9682 Жыл бұрын
There's also now obtaining any block in survival like bedrock and command blocks, which abuses a single async getBlockState call in the beacon refresh code
@madghostek3026
@madghostek3026 Жыл бұрын
Can somebody recommend me good place to start learning about the very advanced techs to mess with Minecraft (update suppression, tick manipulations)? I saw some scraps of information around the internet, but I'm still missing some fundamental parts I think
@superslimanoniem4712
@superslimanoniem4712 Жыл бұрын
Patched in 1.19
@superslimanoniem4712
@superslimanoniem4712 Жыл бұрын
@@begga9682 1.12 only
@real1cytv
@real1cytv Жыл бұрын
If you ever go on the hunt for player bases, do the 2b2t method. This does not require access to the server (which would be kinda lame for finding bases...) and instead they look for whether chunks have been already generated and with that you can follow paths of players. (The technique is called newchunks in most modded clients)
@SKBotNL
@SKBotNL Жыл бұрын
It's patched in 1.13 though
@amberglass7397
@amberglass7397 Жыл бұрын
@@SKBotNL might be patched in chunk information, but its still possible if you have the seed, and 2b2ts seed is known
@SKBotNL
@SKBotNL Жыл бұрын
@@amberglass7397 I'm talking about lifeoverflow's server
@inv41id
@inv41id Жыл бұрын
@@SKBotNL That seed is also known
@SKBotNL
@SKBotNL Жыл бұрын
@@inv41id nvm
@illusion2362
@illusion2362 Жыл бұрын
Plugin developer here: At 3:25 you go over the goals that the creeper goes through. There are 2 goal selectors, one for targetting, and the other for world interaction. The targetSelector is for selecting a target, which is then set on the creeper's navigation. The goalSelector is for world interaction, so things like ocelots and floating in water have priority over targets. Regardless, the "isVisible" visibility check only checks if the creeper can pathfind to the target mob, and not if it has direct line of sight.
@ciecz
@ciecz Жыл бұрын
10:10 Zombie Pigmen also target turtle eggs, so maybe they extend Zombie class in some way? 🤔
@cookiecan10
@cookiecan10 Жыл бұрын
Maybe the trick could also work in the nether somehow?
@271anonym
@271anonym Жыл бұрын
I just tested it. Yes, it also applies to Zombified Piglins and it also works in the nether. However, in survival you would need to break some Bedrock since 0, 0, 0 is of course a Bedrock block in the nether dimension.
@wChris_
@wChris_ Жыл бұрын
@@271anonym you would also need to place turtle eggs floating over the void, so its actually impossible.
@kebien6020
@kebien6020 Жыл бұрын
@@wChris_ Couldn't you place a trapdoor or similar at 0,0,0 and then place the egg on top of it?
@wChris_
@wChris_ Жыл бұрын
@@kebien6020 NO because the egg would be on top of the trapdoor at 0 1 0 not 0 0 0 where the trapdoor itself is! Also the Neather doesnt have the extra 64 blocks below it as the overworld got.
@EssaAlshammri
@EssaAlshammri Жыл бұрын
I was thinking why wasn't he using binary search when you were testing the creep fall those red blocks where at the perfect place :)
@slimeistdev
@slimeistdev Жыл бұрын
Note during your creeper code review: there are actually TWO different sets of priorities: the goalSelectors, and the targetSelectors; these don't block each other.
@nezby3945
@nezby3945 Жыл бұрын
Hey! I’m sorry to respond to a 4 month old comment out of the blue, but could you please tell me how to get minecraft source code. Thank you
@NeverSnows
@NeverSnows Жыл бұрын
We get really used to start our variables with 0, that we forget the cases in which 0 is used before getting set to something else.
@victor-a
@victor-a Жыл бұрын
You’ve nailed the concept and made it approachable for newbies like myself. Brilliant and thank you!!
@itskdog
@itskdog Жыл бұрын
I love that you kept in Doc's singing for added humour - can't believe that was almost 6 months ago already.
@htkevo5273
@htkevo5273 Жыл бұрын
This is by far one of my favorite videos by you, Minecraft’s source is so cleanly written in my opinion and it made me want to play MineCraft
@alvesvaren
@alvesvaren Жыл бұрын
3:25, a higher priority seems to indicate that lower goals are ignored. Having cats scares creepers away, so them having a higher priority means they will flee before trying to target players
@terroflys
@terroflys Жыл бұрын
Nice video as always!
Жыл бұрын
0 0 coordinates are often good for funny bugs. Until very recently, all foxes started walking towards 0 0 during thunderstorms. Which is extra weird, because foxes aren't even supposed to have any special behaviour for thunderstorms.
@tomsterbg8130
@tomsterbg8130 Жыл бұрын
Maybe their goal is to hide somewhere, but they don't see anything suitable or a feature was forgotten so their goal just stays at the origin
@sfsdfvf
@sfsdfvf Жыл бұрын
luv ur video😆. may dis research will play an important role in future
@THExRISER
@THExRISER Жыл бұрын
Self-taught programmer who stumbled on this by chance, thank you for explaining these concepts with very simple Minecraft examples.
@patrickwalter8175
@patrickwalter8175 Жыл бұрын
Krass! Da guckt man einmal ein paar Jahre nicht auf deinen Channel und schon bist du "famous" :) Herzlichen Glückwunsch :)
@nicolajlarsen3184
@nicolajlarsen3184 Жыл бұрын
This was actually really interesting to watch, I've seen a couple of your videos and good job! - Keep it up! :D
@Pikachu-oo5ro
@Pikachu-oo5ro Жыл бұрын
My man, this is one of the most interesting videos ever.
@floridarosie2760
@floridarosie2760 Жыл бұрын
Nice Vid!
@piecaruso97
@piecaruso97 Жыл бұрын
i think this is my favorite minecraft channel now
@ecruz99
@ecruz99 Жыл бұрын
great video
@jojosba2523
@jojosba2523 Жыл бұрын
WOW! BItte mach mehr Videos wie dieses! Mein Lieblings spiel + mein lieblings hobby = 12/12
@sevret313
@sevret313 Жыл бұрын
You've become my favourite Minecraft KZbinr. Good work!
@veaxvoid
@veaxvoid Жыл бұрын
this is really strange video man, but I'm all here for it
@wrathofainz
@wrathofainz Жыл бұрын
That's a damn good LiveOverflow intro with the blocks. Was that command blocks or stills or... ?? Is that onscreen text phrased correctly at 3:47? You're talking about what creepers are scared of but it's asking what a creeper scares, which is interesting enough. The answer may be "play minecraft" because the only thing creepers scare is the player 😂
@user-ko7oo2qg1g
@user-ko7oo2qg1g Жыл бұрын
Waiting!
@lixou
@lixou Жыл бұрын
I was thinking if it would be cool to hear your way of the new chat reporting system. When seeing the Minecraft community a lot of users just say it is stupid and mojang should remove it. I guess your view as an technical competent security person (or whatever it’s called sry 😅) is an interesting perspective because you always get clear with facts and the code and don’t just blame mojang for making „stupid“ decisionsy
@FuzzyLitchi
@FuzzyLitchi Жыл бұрын
I love your minecraft era. 10/10
@Marenthyu
@Marenthyu Жыл бұрын
Let's go
@Krisler12
@Krisler12 Жыл бұрын
Supposing you installed a Linux system and want to use it as your personal PC doing important stuff on it. How to check if it has backdoors or not for sure? Thank you in advance!
@MichaelVx
@MichaelVx Жыл бұрын
about the 0 0 0 egg will attarct zombies its seems like it may not be still working or im doing something wrong
@Mikairuu
@Mikairuu Жыл бұрын
👏🏼👏🏼👏🏼
@jesusqc
@jesusqc Жыл бұрын
There was a spanish player that recently got the first bedrock block in survival, you could take a look at that.
@DemonixTB
@DemonixTB Жыл бұрын
people on the scicraft server have gotten bedrock quite some time ago, congrats to whoever this is though as the setup is incredibly convoluted and hard to pull off!
@Tigerseye
@Tigerseye Жыл бұрын
I’d love to see a video of you playing with prismarineJS mineflayer and Minecraft account automation
@Lampe2020
@Lampe2020 Жыл бұрын
You say only zombies are affected by the 0/0/0 bug. If giants inherit this class (although they have no AI, but maybe...) could you then make them also track to spawn?
@enc4p
@enc4p Жыл бұрын
5:02 even better would be to use binary search instead of going 1 block up each time ;)
@bubblefoil
@bubblefoil Жыл бұрын
When you obfuscate your code by misusing inheritance... Key takeaway: never ever, under no circumstance, use inheritance to share methods and allow overriding them. Tracing the flow going up and down the inheritance tree is the most painful experience. Instead, move the logic into separate classes and use polymorphism (declare interfaces with just accessors or use abstract classes) to allow passing instances of various classes into the functions. That's how you reuse code in a flexible, readable and testable way.
@KingRabbitDev
@KingRabbitDev Жыл бұрын
Is the IP public at all? I don’t want to create an IP searcher just to play survival but would love to join and play for a bit
@jaspermeggitt9934
@jaspermeggitt9934 Жыл бұрын
Go for it. The server is still running and is not whitelisted. A discord server was created with a link on a sign by spawn. At the moment that discord has 53 people in it.
@admin2695
@admin2695 Жыл бұрын
going to go make my first soft! My first soft!! Here I go! Wish luck.
@redacted8220
@redacted8220 Жыл бұрын
what did ImALolNoob use for playing noteblocks? some baritone?
@clonetalk
@clonetalk Жыл бұрын
Will you be playing on the server anytime in the future? I scanned a server about 2 weeks ago that looks like yours and the world looked more or less identical to what I saw in the videos (bee farm and all when I first joined). However, I haven't seen you online on the server so the more skeptical side of me wonders if it really was the right server or just a clone of it. It would be nice if we had some way to confirm if we found the correct server. I suspect some people want to build stuff, but are hesitant to invest the time since they have not seen you online. I sent a twitter DM after I found it explaining my approach and asking if I had the right IP, but didn't get a response. For anyone that wants to try scanning for it: - Yes it is still up - There is no whitelist - There are more buildings now than in the video - Roughly 50 people have found it and left a sign by spawn
@nitrowo
@nitrowo Жыл бұрын
Hey. Can i get a guide on how to find his server
@sakoro
@sakoro Жыл бұрын
@@nitrowo 3 weeks ago was video about this
@mypaxa003
@mypaxa003 Жыл бұрын
Could someone point me on where could I found source code of minecraft?
@lastprism147
@lastprism147 Жыл бұрын
How are you able to view all the Minecraft code?
@test-tz8uw
@test-tz8uw Жыл бұрын
u should do an ep on anarchy servers, dynamic testing is all you do when looking for exploits in game or patches, but also not really since you can also look for exploits in paper or whatever the server is being hosted with
@XRatedPoetry
@XRatedPoetry Жыл бұрын
Really jamming to silence there huh? 🤣
@Khusyasy
@Khusyasy Жыл бұрын
sooo anarchy server when? i think it would be very interesting seing all those mind bending exploit
@echtertill
@echtertill Жыл бұрын
5:36 Daran, wie du choose ausgesprochen hast, kann man direkt merken, dass du deutsch sprichst xD
@TOX1COP
@TOX1COP Жыл бұрын
Can someone tell me the code editor he is using.Thanks in advance and what an awesome video totally understandable by noobs like me.
@TOX1COP
@TOX1COP Жыл бұрын
@João Francisco Cocca Fukuda thanks a lot sir
@ducouscous2867
@ducouscous2867 Жыл бұрын
Imagine if the fall damage was really calculated with the fall speed lol
@Verrisin
@Verrisin Жыл бұрын
the egg: this is why not using an explicit Option as type is bad. (of course, in Java, it's harder because of performance, but still) (and why nulls are bad, as they are only useful to mean Option.None or for initializing of mutable stuff)
@gameglitcher
@gameglitcher Жыл бұрын
I don't know if this was meant as a question or not, but nulls are generally not advised as they require testing for null instead of performing an inert action. So if a value is set to null and you try to do something with it like (object.getData()) and this would cause a nullpointerexception, which actually takes more time to handle because of behind the scenes things and is generally bad to rely on error handling as a method of processing. If (object) is set to a generic value where (object.getData()) has no effect on the running process there is no need to do a (object == null); if you did have that check it would cause branching instructions to be interrupted throwing away processing cycles in the CPU leading to a reduction in performance. so instead of having if (object == null) doNothing(); you have object.getData() = doNothing(); Edit: The above line doesn't mean an assignment, it means the call is doing nothing to the process, as in having no effect.
@Verrisin
@Verrisin Жыл бұрын
@@gameglitcher I'm talking about the _functional_ type Option(/Maybe). Using it does not help performance, only correctness. - I've never said one should trigger nullptr ex. - My comment is about preventing bugs, when people use null as an Option type. - Unless your code is on hot path (in some (tight) loop, likely) it's premature optimization to worry about branch prediction, and one should always prioritize correctness first. (Admittedly, in games / rt, maybe not, but still: correctness comes first) - Having "inert impls" is often problematic, and having virtual calls is on average not significantly cheaper than branching. virtual calls on an interface are often more expensive than explicit branching. - And I'm confused: o.getX() should never have effect (beyond maybe realizing something lazy) as it breaks intuition of what a getter is.
@Verrisin
@Verrisin Жыл бұрын
@@gameglitcher in java called Optional
@gameglitcher
@gameglitcher Жыл бұрын
@@Verrisin Oh my bad I misread it. Yeah, they could/should have done that. I know the type you are referring to, That was released in java 1.8 and there is no reason they couldn't have refactored the code to include it once that was released. They just continued to operate with the old method since Minecraft came out before that type existed. Java 1.8: 2014 Minecraft: 2011
@Verrisin
@Verrisin Жыл бұрын
@@gameglitcher I wouldn't say they should have done that. It can make it more expensive. Sometimes, it's even more annoying to work with it. - I was simply arguing for the usefulness of modelling ways it's used in the type. (with focus on Option) - Pointing out a nice example that shows it. - Depending on how it's optimized, I might not have used it myself.
@LazorFriend
@LazorFriend Жыл бұрын
As a programmer when you are getting new thing you check the completion on zeros, so this could be found within gameplay… I barely understood code part, but instantly understood why it happens when shown. Or it’s just me who prioritise gameplay over reading? XD
@espero_dev
@espero_dev Жыл бұрын
Nvm I got the app you used thanks
@sasgarb
@sasgarb Жыл бұрын
I think you should do a video drinking REAL mate, greetings from Argentina!!!
@dayvie9517
@dayvie9517 Жыл бұрын
Wow, those are long spaghettis
@hazzxd
@hazzxd Жыл бұрын
"I really like this hole behind me and I wanted to make something with it" god I'm such a child......
@minecraftermad
@minecraftermad Жыл бұрын
The ai code is probably the only allright piece of code in mc.
@mastermax7777
@mastermax7777 Жыл бұрын
3:00 wait what? I thought minecraft source code is closed source. where did he get the source code?
@anon_y_mousse
@anon_y_mousse Жыл бұрын
How did you get the source code to Minecraft?
@anon_y_mousse
@anon_y_mousse Жыл бұрын
@Sebastian Moser I'll have to find that video then. Also, Mojang can't prevent you from decompiling, the courts have backed this up that it's perfectly legal to reverse engineer something. It's a large part of why we have emulators still, thankfully.
@noarcc
@noarcc Жыл бұрын
whats the server ip?
@el7440
@el7440 Жыл бұрын
that idea of dynamic vs code review has bit me square in the butt several times with bug bounty. APK testing is better for that kind of thing
@miniontoby
@miniontoby Жыл бұрын
Can you help me and my friend? We got a minecraft server and someone is hacking it. It runs on minehut, but yeah he is charching $20 and even then he aint gonna stop crashing the server. Can you maybe help us find the exploid? We really need your help!
@SWOEN
@SWOEN Жыл бұрын
Hi, I am the owner of the server he is talking about, we really need your help!
@happycord3613
@happycord3613 Жыл бұрын
1. I feel like you should enable a whitelist so that player doesn’t join 2. If you are able to do /timings report (only works on paper servers) you can see what part of minecraft generally taking the longest to tick 3. It could be a lag machine 4 (probably not). Log4shell exploit still works on your server software I hope that helps a bit :) I don’t know what else to say
@miniontoby
@miniontoby Жыл бұрын
1. we are a public server. Also the player has a lot of alts and also uses a VPN. Also the exploit has been found by the minehut support and they say the only solution is to use 1.18.2 or 1.19 (not the 1.17 that we use now). But still thx for your thoughts
@spencerpogo
@spencerpogo Жыл бұрын
Why am I not getting notifications for your videos
@espero_dev
@espero_dev Жыл бұрын
How do I look at the code ? I need help please help me
@rivenissmart
@rivenissmart Жыл бұрын
u can use modcoderpack
@espero_dev
@espero_dev Жыл бұрын
@@rivenissmart ? Use the one he uses IntelliJ
@rivenissmart
@rivenissmart Жыл бұрын
@@espero_dev you have to download the code from modcoderpack, then import it into intellij.
@espero_dev
@espero_dev Жыл бұрын
@@rivenissmart why?
@espero_dev
@espero_dev Жыл бұрын
@@rivenissmart I bet you I don’t have to
@Alex35983
@Alex35983 Жыл бұрын
Fucking Great video ! Thanks
@aniksamiurrahman6365
@aniksamiurrahman6365 Жыл бұрын
But how do you read codes? It feels like learning to read again. I know quite a few languages, I'm not coding ignorant.
@int4_t
@int4_t Жыл бұрын
theres also another method, googling
@mr.mythoclast4451
@mr.mythoclast4451 7 ай бұрын
das ist ja lustig und das kannte ich noch nicht.
@romanemul1
@romanemul1 Жыл бұрын
Hey wait. Is this some minecraft channel ?
@mrtz187
@mrtz187 Жыл бұрын
He uses Minecraft to teach general hacking knowledge
@276-
@276- Жыл бұрын
But how are you flying???
@neo8
@neo8 Жыл бұрын
Good video. :) I reached out via mail some months ago but didn't get a response... :(
@Hristian123
@Hristian123 Жыл бұрын
I learned how and scanned 3.7B ip addresses with masscan, then I setup and modify the Minecraft-Server-Scanner script to process with mcstatus 300k potential addresses. 18 hours later I have a list with 460 active servers, but none of them have motd "LiveOverflow". feelsbadman.jpg
@PixelYT-ts2fe
@PixelYT-ts2fe Жыл бұрын
redstone.
@JonasGranel
@JonasGranel Жыл бұрын
5:15 but the answer is 23 blocks to kill a creeper, not 24 blocks. Did you see the part in the code with (FallDistance - 3.0F - f)? Creepers have 20 health (10 hearts). f will be 0.0F, as long as the creeper doesn't have a status effect. Falldistance - 3.0F -0.0F = 20.0F | + 3.0F Falldistance = 23.0F A creeper needs to fall 23 blocks to die and will be at half a heart when Falling 22 blocks.
@billymays8864
@billymays8864 Жыл бұрын
u should look for vulnerabilites in the player chat reporting system
@zerojesse261
@zerojesse261 Жыл бұрын
?? Not everyone who codes can read code??? I assumed everyone could.
@espero_dev
@espero_dev Жыл бұрын
Hey can I have source code to your hack client please I need it to troll a friend that’s the most secret hack out their please I am looking on your githu what one is it?
@judgeomega
@judgeomega Жыл бұрын
please dont use blurring in your videos, it hurts my eyes
@imaflyinmiget5499
@imaflyinmiget5499 Жыл бұрын
“Hackers have no skill so they use hacks” This guy builds better then me and he's somewhat new to minecraft. IVE BEEN PLAYING FOR 3 YEARS AND I CAN BARELY EVEN BUILD A GOOD HOUSE!? 💀💀
@jonathanschenck8154
@jonathanschenck8154 Жыл бұрын
Translation for script readers..?
@WhoIsFishie
@WhoIsFishie Жыл бұрын
Early
@BleachWizz
@BleachWizz Жыл бұрын
9:30 - that's the reason why nullable variables are considered unsafe code.
@espero_dev
@espero_dev Жыл бұрын
How the fuck do I read the code?
@ericssooooon
@ericssooooon Жыл бұрын
You need to decompile it and remap. I suggest to use MaxPixelStudios/MinecraftDecompiler for getting source code of newer versions. If you're going to edit it and compile, use Hexeption/MCP-Reborn
@espero_dev
@espero_dev Жыл бұрын
@@ericssooooon I am not using that shit I’m using the code viewer that he used IntelliJ
@bubundas17
@bubundas17 Жыл бұрын
And yes, your video got copyrighted.
WorldGuard Bypass
19:29
LiveOverflow
Рет қаралды 140 М.
The State of log4shell in Minecraft Months Later
27:05
LiveOverflow
Рет қаралды 66 М.
Double Stacked Pizza @Lionfield @ChefRush
00:33
albert_cancook
Рет қаралды 81 МЛН
Spot The Fake Animal For $10,000
00:40
MrBeast
Рет қаралды 142 МЛН
Эффект Карбонаро и нестандартная коробка
01:00
История одного вокалиста
Рет қаралды 9 МЛН
Minecraft, But It's Reverse Engineered...
18:02
LiveOverflow
Рет қаралды 138 М.
Someone improved my code by 40,832,277,770%
28:47
Stand-up Maths
Рет қаралды 2,4 МЛН
Dangerous Code Hidden in Plain Sight for 12 years
18:00
PwnFunction
Рет қаралды 1,6 МЛН
How Minecraft ACTUALLY Works 💎⛏️
46:02
Alan Zucconi
Рет қаралды 1,5 МЛН
How Microsoft Accidentally Backdoored 270 MILLION Users
14:45
Daniel Boctor
Рет қаралды 250 М.
I coded your DUMBEST Minecraft ideas
15:03
Element X
Рет қаралды 422 М.
They Cracked My Server!
33:37
LiveOverflow
Рет қаралды 90 М.
The Circle of Unfixable Security Issues
22:13
LiveOverflow
Рет қаралды 113 М.
Naming Things in Code
7:25
CodeAesthetic
Рет қаралды 2 МЛН
Passive infrared motion sensors: a two-bit camera powered by crystals
16:13
Technology Connections
Рет қаралды 247 М.
Double Stacked Pizza @Lionfield @ChefRush
00:33
albert_cancook
Рет қаралды 81 МЛН