Time Nick Message 10:34 repetitivestrain Is it not possible to remove dynamic media that has been sent to a client? 11:06 Krock repetitivestrain: you can use "ephemeral" parameter, but afaik every media file is kept in RAM until the world is exited. 11:06 Krock because you never know when the media file is needed again 11:07 repetitivestrain Yeah, that's a problem 11:07 repetitivestrain the context is that i'm considering how to implement dynamically generated maps 11:08 Krock also generated textures using modifiers will have the same effect btw. 11:09 Krock you could split the map into chunks to update individually, then don't use [combine but multiple images (if using formspecs) 11:09 repetitivestrain Unfortunately it's supposed to be an HUD 11:09 repetitivestrain technically it is supposed to be a scene node attached to the player's two hands, but that is not feasible without client modifications... 11:09 Krock then the normal minimap + HUD waypoints might be the only memory-efficient way 11:10 repetitivestrain Yeah 11:10 repetitivestrain What a bummer 11:14 ltuyen What do you think about Wikipedia? 11:14 ltuyen I don't really use Wikipedia anymore and i don't really like it. 11:16 Krock random comment. Wikipedia is the 2nd best source of information, following after reliable news portals and other original sources 11:18 MTDiscord I like wikipedia when it agrees with me and I don't like wikipedia when it does not agree with me 11:21 Krock I agree 11:25 MinetestBot 02[git] 04PtiLuky -> 03luanti-org/luanti: Fix downward shadows at time 12000 (#16326) 13f71e144 https://github.com/luanti-org/luanti/commit/f71e1447c93743321fa6beadba5780228f5e75c7 (152025-07-12T11:23:17Z) 11:25 MinetestBot 02[git] 04PtiLuky -> 03luanti-org/luanti: Include header files in CMake sources (#16297) 13ce2380b https://github.com/luanti-org/luanti/commit/ce2380b58e9855e964f140397deb096870169083 (152025-07-12T11:23:35Z) 11:25 MinetestBot 02[git] 04appgurueu -> 03luanti-org/luanti: Improve script_log_add_source: Log full path for files 138e03e94 https://github.com/luanti-org/luanti/commit/8e03e94ea9a1c8e9b4be2d72caa9c04086f520dc (152025-07-12T11:23:49Z) 11:25 MinetestBot 02[git] 04appgurueu -> 03luanti-org/luanti: Improve some deprecation warnings 1337f922b https://github.com/luanti-org/luanti/commit/37f922b500a8953ef48b755f6befe3705b555c84 (152025-07-12T11:23:49Z) 11:45 MinetestBot 02[git] 04nauta-turbidus -> 03luanti-org/luanti: Translated using Weblate (Polish) 13b8f870f https://github.com/luanti-org/luanti/commit/b8f870f0e26aa467f01f3c279743c0fc22752e30 (152025-07-12T11:42:18Z) 11:45 MinetestBot 02[git] 04SkyBuilder1717 -> 03luanti-org/luanti: Translated using Weblate (Russian) 1384b1399 https://github.com/luanti-org/luanti/commit/84b13998e6bcca441adebd47e89f1e2cb36122b2 (152025-07-12T11:42:18Z) 11:45 MinetestBot 02[git] 04phaidtheodcoc@gmail.com -> 03luanti-org/luanti: Translated using Weblate (Greek) 1322c3c04 https://github.com/luanti-org/luanti/commit/22c3c04f24d0b583161043d0b1b906d82ef92635 (152025-07-12T11:42:18Z) 11:45 MinetestBot 02[git] 04hezemisverycool@proton.me -> 03luanti-org/luanti: Translated using Weblate (Kazakh) 13751bfad https://github.com/luanti-org/luanti/commit/751bfad09daa67dc53dabe700756a96197b2dc4d (152025-07-12T11:42:18Z) 11:45 MinetestBot 02[git] (7 newer commits not shown) 13:59 ltuyen Hello from the Luanti player again. 14:10 gry hi :) 14:12 ltuyen :)) 14:15 [MatrxMT] Hi :D 14:18 ltuyen Welp, i'm not on discord or matrix. 14:18 ltuyen I'm just hanging out on the IRC channel instead 14:19 [MatrxMT] Maybe I should get IRC too 14:20 ltuyen Me too. 14:20 ltuyen I'm still using IRC for fun. 14:38 ltuyen Welp, goodbye! 16:13 MTDiscord I'd like to get community feedback on a new project that has come to our attention, https://github.com/markopetrovi/eBPFLuanti @mpetrovic2006 16:14 MTDiscord It's designed as mitigation against certain forms of network based attack, specifically initialization step flooding. 16:15 MTDiscord As well as starting a discussion on similar attacks perpetrated on servers so mitigations can be created stop them for everyone. 16:38 Krock this seems familiar. I've only recently heard a discussion about eBPF, but in relation to CSMs 16:57 MTDiscord How would CSM be affected by a network filtering, you can't send arbitrary network packets or even do anything as dangerous as indexing a directory from CSM 👻 16:57 MTDiscord What was the context behind that discussion? 17:14 ireallyhateirc What would be the most optimal way to implement funny t-shirts in Luanti? 17:14 ireallyhateirc as in same shape but different prints 17:14 ireallyhateirc texture overlays? 17:14 MTDiscord core.encode_png maybe 17:15 MTDiscord and you would [png: most optimal for what? texture overlays or [combine should work okay, a separate plane in the model is also an option 17:28 ireallyhateirc right now I have a separate, transparent plane 17:28 ireallyhateirc that adds geometry though 17:28 MTDiscord unless you're about to spawn one grillion NPCs, this doesn't really matter 17:30 ireallyhateirc my model is around 25K triangles right now, could get it down to 21K after some tweaking 17:40 Krock two triangles must suffice for a model 17:51 ireallyhateirc Minecraft philosophy which directly steams from the UNIX manifesto 17:51 ireallyhateirc stems* lol 18:05 MTDiscord ireallyhateirc: oh i thought you wanted to have the players be able to make their own t-shirts or something sorry 19:09 ilikecats Anybody know how I can make all the players in a game invincible? 19:10 ilikecats I may just be bad at searching online today... seems like something easy 19:10 MTDiscord There's an easy version and there's a thorough version 19:10 MTDiscord Easy is just turn off enable_damage. You can make this the default (or even disallow enable_damage from being turned on) in game settings, though servers ignore this. 19:11 MTDiscord More thorough, you can add an on_hp_change hook as a modifier to nullify damage, and also set immortal and fall_damage_add_percent values on player "armor" types. 19:13 ilikecats So if I disabled enable_damage in game.conf, it will still have damage enabled if I ran it on luantiserver? 20:08 Krock ilikecats: game.conf only contains metadata and not minetest.conf-like settings 20:09 Krock you'd have to add a "minetest.conf" file next to the game.conf file, which will override the default values given by defaultsettings.cpp 20:10 Krock however, those settings will in turn be overwritten by the main minetest.conf, which always has the highest priority. 20:10 Krock for reference: src/settings.h _> SettingsLayer (setting slayer heh) 20:44 MTDiscord game.conf can contain advisory settings that informs the main menu whether to present certain options at the time of SP/LAN world launch, and what default/forced values should be. It's probably a good idea to set these if you want options to be a certain way. These are only advisory however, and there are ways, both accidental and intentional, to set values other than those you specify this way. 20:47 MTDiscord As far as I know there's no way to force values for some of these other than by polluting settings (i.e. which poisons settings against other games on the same luanti instance that want the opposite setting). The most correct thing to do is to avoid setting these settings at all in the user's conf file and let the game's default conf decide it, but if the user has already set a value for it (or if the game supports both without preference 20:47 MTDiscord and forces the user to choose) then whichever games rely on the opposite value are basically screwed into either accepting the wrong setting, or starting a feud with other games that leads to everyone writing back settings against the user's choice. 20:48 MTDiscord The best "good citizen" approach I've found is to use all the game.conf and minetest.conf options to try to default the setting and UI to the one your game wants, and then detect and warn the user about overrides that break the game's functionality, but avoid ever writing anything to settings from mod code. 20:54 ireallyhateirc Luanti DELUXE when 20:56 ireallyhateirc written in Rust, moddable in JavaScript with a modular microkernel design 20:58 MTDiscord Why would you want to embed one of the most slapped together languages, into a language so performant it's compared to C. Besides Lua is basically JavaScript with an addiction to tables and a weird obsession with indexing by the number one, and it seems to be more performant and more usable anyway (at least when you're not artificially limiting functions for the sake of security) 20:59 Krock please add Visual Basic scripting support /s 20:59 MTDiscord Shout out to Tech age, for making me investigate Lua controllers only to realize you can't use them to program sign bots. 21:01 ireallyhateirc redundantcc, are you replying seriously to my joke/troll post? 21:02 ireallyhateirc javascript is dumpster fire, I agree 21:02 ireallyhateirc as for real Luanti deluxe I want fixed bugs and materials API 21:02 MTDiscord That depends, are you genuinely arguing that JavaScript should be used for anything other than tech bros pretending that it's anything other than a front end dumpster fire of bad ideas and react over complications. 21:02 Krock relevant https://javascriptwtf.com/assets/the-javascript-trinity.jpg 21:03 MTDiscord Cuz from what I heard the specification was originally written on the backside of a napkin, and it does not signify confidence to think that the design document was covered in beer and ketchup at the time of its conception. 21:03 ireallyhateirc Krock, lol @ the trinity 21:03 ireallyhateirc originally the language was supposed to be a Scheme 21:04 MTDiscord Anything is falsy if you negate it enough. 21:04 ireallyhateirc then the guy was told to write "Java but like a script, bro" 21:04 ireallyhateirc and he did so in 10 days 21:05 MTDiscord And we're arguing that this should be the basis for our new engine, the messiah to end all our problems... yeah x to doubt please. 21:06 ireallyhateirc again, I was just joking 21:06 ireallyhateirc you need to be drunk to want to rewrite a 10 years old project in Rust for the sake of it 21:06 ireallyhateirc especially with JS modding support 21:07 MTDiscord No please, if you find it funny to waste your limited hundred years on Earth on a meme go for it. But I don't think embedding JavaScript in anything (including the web browser) what's a good idea. gopher://luanti.com when? 21:08 MTDiscord Wait a minute does gopher even use a root server for DNS, I'm realizing I was woefully unprepared to make this joke. 21:08 ireallyhateirc ok I don't know who's trolling who at this point 21:09 bgstack15 Are we the baddies, er, trolls? 21:09 MTDiscord Parts cynicism, part sarcasm... the ratios called by the recipe is left as an exercise to the reader. 21:10 MTDiscord We are most definitely the baddies, that's what makes it so good at catching them. We know how they think. 21:44 MTDiscord Just to get something straight: LuaJIT might be able to compete with V8, but I wouldn't be surprised if V8 blows it out of the water despite JS being an uglier language as a crazy amount of work has been put into V8 and a singular stable genius (Mike Pall) probably can't compete with that 21:50 ireallyhateirc how many programs are there which are extensible with JS? 21:51 ireallyhateirc other than bloated Electron webshit apps 21:53 MTDiscord So not to defend JavaScript, but it would be disingenuous not to mention: https://github.com/tauri-apps/tauri 21:55 MTDiscord Especially cuz I've seen it used more than once, and I can't say it's particularly slow. So your mileage may vary since it uses your native renderer and that's heavily dependent on what your operating system has decided that's going to be. 21:55 MTDiscord Last I heard they were planning on embedding their own renderer, but that was a couple months away when I last heard. 22:13 MTDiscord Also @luatic V8 is not so well optimized as to be better in all cases, see table below: https://github.com/kostya/benchmarks 22:16 sfan5 the js base64 implementation uses (new Date()) for timing benchmarks 22:17 sfan5 I can spot a bug in the C one from a single read through 22:17 sfan5 pretending that V is a real language is also funny 22:18 sfan5 the c++ one apparently tests how fast libcrypto is 22:21 sfan5 though how that's apparently slower than php, nodejs, java, scala and Go is a mystery 22:22 sfan5 could be allocation differences or parts of the benchmarks being optimized out 22:24 ireallyhateirc my intrusive thoughts tell me it would be interesting to see Luanti which would be instead based on Godot 22:25 ireallyhateirc idk how practical that would be (hypothetically speaking, I don't propose it) 22:27 MTDiscord those benchmarks are not very useful. luajit isn't even on all of them. and on the three ones where it is, we have: 0.2 vs 0.3, 3.2 vs 5.7, 34.4 vs 31.9. so we have two benchmarks were luajit is substantially slower and one where it is slightly faster (mandel.b) 22:28 MTDiscord i think this proves my point. V8 is generally better, though not by a lot. 22:29 MTDiscord Agreed to disagree on which data we should cherry pick I suppose, but I only wanted to note that such a statement as it is faster (or even that it is generally faster) is not necessarily true and requires both testing and context as to the nature and specific implementation. 22:31 ireallyhateirc hypothetically speaking speed does not matter as much with one over another. Having more libraries to pick from would be an improvement 22:32 ireallyhateirc more libraries for 2-5% slowdown could be acceptable imo 22:32 MTDiscord C: which is why i do not make such statements. still, if you look at the "average" code produced in the language to solve a problem, different implementations will have different performance characteristics, and it is important to be able to talk about average case performance. 22:34 MTDiscord this includes statements like "C is 'generally faster' than Lua". it just is. you can write a dozen programs and you'll see a big difference most of the time. sure, there may be a few outliers where LuaJIT beats a C implementation. 22:34 ireallyhateirc but I doubt there would be heroes(villains) wanting to rewrite Luanti to support other scripting languages 22:35 MTDiscord but generally C is much more suitable for high performance computing, simply because much of the information required for optimizations is available to the compiler. 22:35 MTDiscord I wouldn't know, I compile my C code using nim. 22:35 MTDiscord nim is still in the "traditionally compiled languages camp" 22:35 ireallyhateirc I like scripting languages 22:35 ireallyhateirc *interpreted 22:35 MTDiscord Yes this is the joke, thank you for explaining it for the rest of the class. 22:36 MTDiscord ireallyhateirc: so do i 22:36 MTDiscord I think I wrote an entire pre-processor in nim for wis 1, honestly that entire project was it daze. 22:36 MTDiscord though for big projects, and projects with lots of users and stuff - for serious projects - i do sometimes long for static types. 22:37 MTDiscord refactoring code in a dynamic language is a big pain in the ass because you get close zero help from the language 22:37 MTDiscord you can work your way through runtime errors 22:37 MTDiscord you must play compiler 22:38 MTDiscord Can't you do in execution type checking, so like passing the expected type and the actual variable as a list to a function that checks them conditional on some kind of debug variable that can be disabled for performance before publishing. 22:38 MTDiscord It just feels like such a solvable problem? 22:40 MTDiscord Plus it doesn't lua specifically have meta-tables, couldn't you just check at the variable is a specific type when you write to it and throw an error if it's not respected? 22:40 MTDiscord It feels like there's nothing about types that can't be implemented with some duct tape and a dream.