Time Nick Message 00:01 MTDiscord You could also just add a section to the readme, and mention that the documentation is on the wiki. 00:02 MTDiscord Hold on my phone's going to die, we'll talk later 👋 00:02 Helenah See you soon! 07:13 WoGoMo Hi. In mobs monsters mod, if a dirt monster dies on its own (like from water damage or fall damage), does the item drop get cancelled? 11:06 [MatrxMT] "1400 users online" on forums. All-time record: Also today: 2400. Immediately after: 503 (server crashed again) 11:06 [MatrxMT] bad bots really are everywhere in 2025 11:06 [MatrxMT] I wonder is it possible to install anubis to the forums? 11:10 sfan5 i bet it is 11:18 [MatrxMT] *that's http 503, not 503 users 11:28 MTDiscord the AI scraper pandemic 11:28 MTDiscord a day or so ago I tried to go onto the LÖVE forums but kept getting timeout errors. one time it loaded I saw on the index page that like upwards of 18000 guests were online (sure they are) 11:31 [MatrxMT] mark my words, the future of cybersecurity is in figuring out where the traffic is actually coming from and messing them up yourself 11:31 [MatrxMT] the internet is probably going to become less anonymous in order to (at least try to) make it more defensible 11:34 sfan5 unlikely to happen 11:36 [MatrxMT] yeah you're probably right. The places that aren't anonymous are all run by big tech anyway, who don't have our interests at heart 11:45 celeron55 well one thing countries can do is set up public services that allow authenticating as a human, and logging into services run by companies. finland (where i live) already has a system like this, altough currently it's still too expensive for forums and such. but there's no way it won't get cheaper over time 11:46 celeron55 (the reason it's too expensive is because the authentication is done mainly by banks, and it's used mainly for government stuff, so that ridiculously inflates the cost) 11:47 celeron55 in a system like that in theory you can request no info at all, just the implicit info of making sure it's a human you're dealing with... but of course companies, if they're paying for it, want the maximum amount of info and that's where it goes wrong again 11:48 celeron55 we'll see 11:54 [MatrxMT] I find it hard to imagine it working properly at the international level, or at least, between e.g. NATO and non-NATO nations 11:56 celeron55 sure. as a result, it might be that smaller more local websites will gain more users for the first time since 20 years ago, because larger ones have to deal with more bots with less effective tools 11:57 celeron55 it's going to be interesting seeing countries and megacorporations compete with each others in authentication 11:57 gry funny 11:59 celeron55 the US is a good breeding ground for international authentication services, because they don't have a good domestic system and probably never will 11:59 celeron55 on the other hand you'll never get one from e.g. finland, because our government does a reasonable job providing that for a decade already 12:00 sfan5 fwiw china basically has this kind of online verification for a lot of services already 12:01 celeron55 sure does 12:03 celeron55 anyway. anubis is tempting 12:04 celeron55 today many services are using verified phone numbers as their main bot countermeasure 12:04 celeron55 a phone number always costs something and there's generally a bit of a chain of trust, so it works reasonably 12:04 [MatrxMT] inevitably, someone who uses Minetest (probably not up to date enough for 5.10) will probably complain it won't work with their lynx or something 12:04 [MatrxMT] counterpoint: asking me for my phone number is a great way to get me to bugger off 12:05 celeron55 it depends on the services 12:05 [MatrxMT] that's like 1 step removed from my real name and address 12:05 celeron55 if you're registering to e.g. your local marketplace for second hand stuff, a phone number is reasonable. that means you can trust the other people the same amount 12:06 celeron55 but if it's a site you don't need any trust for yourself, you don't want to give it 12:06 sfan5 actually i belive anubis allows lynx through 12:07 sfan5 the first thing it does is decide on user agent, if you don't pretend to be a browser you don't get a js challenge 12:07 [MatrxMT] sfan: actually you're probably right, since I was just reading the article on it which says it only checks for "Mozilla" in the useragent, that lynx probably doesn't have 12:08 celeron55 >doesn't pretend to be a browser 12:08 celeron55 as if lynx isn't a browser! 12:08 [MatrxMT] it's not pretending to actually support JS without doing so 12:10 sfan5 https://github.com/TecharoHQ/anubis/blob/main/data/botPolicies.json#L18-L22 before I say something wrong here's actual rule 13:05 MTDiscord what does that have anything to do with bots? 13:05 [MatrxMT] the prevention/slowdown of scraper bots, see chat history 13:06 [MatrxMT] or https://xeiaso.net/blog/2025/anubis/ 13:10 Helenah I uploaded my code last night, finallly https://github.com/helenah2025/LuantiRPG/blob/main/init.lua 13:10 Helenah I also uploaded some screenshots. https://github.com/helenah2025/LuantiRPG/tree/main/images/screenshots 13:36 WoGoMo Those character creation screenshots remind me so much of MUDs which were popular in the 1990s. 15:13 repetitivestrain Regarding https://github.com/luanti-org/luanti/issues/16244, yes please, and it should apply to nodes also: solid mobs such as shulkers could stand to benefit from this, and Mineclonia has a powder snow block that is supposed to ensnare all players and mobs not equipped with leather armor, but to be solid to those which are 15:15 [MatrxMT] what kind of video game logic makes leather armour change the equation?? 15:29 repetitivestrain Blockhead256: Microsoft creative engineering 15:39 Helenah rubenwardy: I found this today, big thank you for this, it's well wrote and nice, my project (A Luanti mod) follows the same architecture in regards to event-based or as you put it, observer based, along with registration functions, just like how Luanti's API is, I did want to maintain uniformity to the Luanti API with my mod intending to be an API in itself that you code mods for, I was wondering, 15:39 Helenah incase this article is lost, may I archive it? I might even change it to base a "Project Architecture" document off. https://rubenwardy.com/minetest_modding_book/en/quality/clean_arch.html 15:40 Helenah If need be, I can attribute/reference. 15:41 [MatrxMT] the modding book is tracked on rubenwardy's github, so I sure hope it's not going anywhere 15:41 [MatrxMT] it's CC licensed, so you can do that 15:41 Helenah hmm 15:42 [MatrxMT] https://github.com/rubenwardy/minetest_modding_book CC BY-SA 3.0 15:42 MTDiscord (gitlab is the canonical source of it: https://gitlab.com/rubenwardy/minetest_modding_book ) 15:43 [MatrxMT] oops yeah ruben keeps his stuff on GL mainly, the github version is horridly out of date 15:43 Helenah By the way, a long time ago, I read your LinuxForks wiki user page, Blockhead, I liked it, you seemed to have soo much to write about, you sounded interesting, I watched some of your Youtube videos, heard your voice and I really liked how you got on with video tutorials and what not. Keep that up! 15:44 [MatrxMT] I only have the one video with my voice so far, but thank you 15:44 Helenah Was it an advtrains guide? :D 15:44 [MatrxMT] yes, ye olde interlocking tutorial 15:45 [MatrxMT] it's gotten a bit easier in advtrains 2.6.0 15:45 Helenah :D, that was it. 15:46 Helenah The moderators at LinuxForks seem to still direct those who want to use interlocking on their server to it, I noticed they have a pile of mods which contain older code, so I wouldn't be surprised that this video is still valid for them. 15:47 [MatrxMT] yeah unless it's changed in the past few days, they're still on 2.5.0. But the method shown still works, it's just the hard way to do it 15:47 [MatrxMT] sorry 2.4.0 15:48 Helenah hmm 16:23 [MatrxMT] Also there are not many Advtrains video guides (especially on interlocking) to begin with 16:24 [MatrxMT] for coverage of the update, http://advtrains.de/videos/ 19:34 Helenah Best way to stop a formspec from being closed in clients older than 5.12? The idea is that you'd re-open it. 19:44 Helenah This is my code https://github.com/helenah2025/LuantiRPG/blob/main/init.lua I have tried a statement of "if fields.quit and ... then" in minetest.register_on_player_receive_fields() however I am getting no where, there's two states I've managed to achieve but those are not what I want, one is I can close the dialog but it does not re-open, the other is, I can close the dialog and it re-open (that's 19:44 Helenah expected behaviour), but after character creation completion, it re-opens (this is not the behaviour that's expected). 19:45 Helenah I also think my code is a mess and needs refactoring, I am also going to remove that kick_player code at the bottom as that was silly. 19:48 Helenah I'm also going to come up with rpg.force_char_creation(bool), because some servers may want to be purely an MMORPG (I know I'd like that for a server), and others a hybrid where it's a choice for the player if they define a character to roleplay as or not (I know a server that wants this, and I play on there) 19:59 MTDiscord Forcing the player to be stuck inside a formspec is incredibly rude as it prevents them from being able to access menus like for changing keybinding or quitting. I think the engine will eventually give up showing a formspec if it's spammed by the server ... which might be a good thing actually (should game devs be allowed to have bugs so serious they trap players?) You could try adding a delay or something before reshowing to see if that 19:59 MTDiscord works. Or just kick the player out of the server if they refuse to create a character, so at least they aren't trapped. 20:03 Helenah Okay, I never thought of the whole Esc menu thing, you're right, I'm not intending to be rude. 20:03 Helenah I think I need to re-think on what I'm trying to achieve. 20:04 Helenah I've clearly missed out some important points. 20:05 Helenah What's the best approach for someone who wants a server to be purely MMORPG? 20:06 Helenah Actually, I just feel like I'm abusing an engine here... 20:06 Helenah Perhaps I'll be best just coding my own MMORPG from the ground up... but then that's more work. 20:08 Helenah I know people do all these workarounds in their mods but it just feels horrible. 20:08 MTDiscord https://tenor.com/view/first-time-meme-movie-james-cameron-western-gif-17538858 20:09 Helenah Also, if one has to exit a form spec to access the Esc menu, then what is the point of allow_close[] in 5.12? I don't get it... 20:10 MTDiscord The trick is: write an engine abuse api. I'm not kidding. If you have to do some obscure nonsense to do a thing and abuse the engine, just wrap it up on an api to be able to abuse it in a more streamlined fashion 20:13 Helenah My mod is an API, that's the point of how it will work, I'm even going to eventually be creating an rpg.force_char_creation() or rpg.pure_mmorpg() or something like that so that those writing mods that use my API can choose whether or not they want their server to work purely as an MMORPG or whether or not they would like for the player to be able to decide on whether or not they opt-into that 20:13 Helenah experience, so it is an API anyway, but, I can kind of struggling, it works like Luanti's API does in that it has things like registration functions and what not, or at least does in an around about way. 20:15 Helenah I can think of multiple ways to attempt that character creation, or I have already thought of this, if the server admin wants for the server to be a hybrid, the formspec can show a close button and even allow the Esc key to exit it, else will not show a Close button and can not be escaped, I also now thought of perhaps a Esc Menu button so they can bring that up, or as you pointed out, a timer or a 20:15 Helenah kick. 20:19 MTDiscord That's a great idea! Roll with it 20:20 Helenah Maybe I could just leave the entire behave down to the modder working with my API, whether they want that Esc Menu button, a kick, a timed re-opening, or a Close button, or whatever, I do intend to expose as much as possible to the API so as long as it makes sense to do so. 20:21 pgimeno Helenah, here's an idea: place the spawn for new players on a room where all blocks show the character formspec when clicked, don't let them go anywhere else until they complete the creation 20:23 Krock (which doesn't mean that you can simply assume that the player may access in-world stuff regardless on that completion because edited clients will still be able to force-close such dialogs) 20:24 Helenah Krock: Aware of the edited client thing though I'm not willing to attempt to go that far, and I know it would be unfeasible to go that far, completely impossible unless I was to fork the Luanti engine and do a complete re-write of a good chunk of it. 20:25 Krock such change would be in the neighbourhood of 2 - 5 lines of code 20:26 Helenah If I was to fork the engine, what I'd like to implement is... a stage after login but before world load. lol 20:31 Helenah I wonder if pressing the Esc key can close the form spec but open the Esc menu, and when they hit Esc again to exit that menu, the formspec pops right back up again... I guess I'll have to look into that but I need a break, I might even create a document listing all different potential scenarios I can think of, the ones I mentioned here and more, and maybe have a discussion with people who play 20:31 Helenah Luanti about it, to get opinions, so I'm not naive on anything, hmm... I do like collaboration, shame that at the moment this seems to be a one-person project, but I do understand that just because someone does something, that does not mean others will jump in and contribute, things take time, and also, things may never come, I get it. 21:11 MTDiscord tbh I've just tried to avoid formspecs wherever I can. For a character creation screen, I'd put them into a little individual cell somewhere deep underground with the options they have in 3D space. For simple stuff I might just give them a manequin to punch or a door to walk through to pick a character class; for more complex stuff, I might have a node they right-click and it opens up an interface to shop for eyebrows or whatever. The 21:11 MTDiscord key thing is that they are still making meaningful choices at the "top level" at least outside of formspecs, so there's a reason for them not to be in one, so they can access the main menu there. It might also give new players a bit of time to get used to the controls, like the intro to half-life did. 21:14 MTDiscord Everyone always jumps so quickly to "I can do this thing if I fork the engine" but you should always first ask "is doing this thing this way worth diverting a big chunk of my development time and energy away from the game"? Usually it's not. Innovation comes from compromise. 21:18 Helenah warr1024: I didn't say it would be a good idea or that it would be a walk in the park or that it would be quick. 21:19 Helenah I literally meant what I said which was "IF" I forked Luanti... "I WOULD" do X. rofl 21:22 Helenah I can think of a few things from doing that is I would now have a Luanti fork which I'd have to maintain, and it would be a one-person project at first and for god knows how long in that I would be doing all the work, and it would be time consuming, and it wouldn't be like I'd magically have my own Luanti variant, all the while, there's Luanti which is still actively maintained, which has a 21:22 Helenah development team that's active, it isn't a one-person project like it was when celeron55 started it, and so on, and so forth, I have been a child who had all such dreams, I have been there, tried it, learned what comes of that. 21:25 Helenah It's often said "Do not re-invent the wheel" and stuff, but lets face it, there are many people when young who are guilty of doing such sheer amount of DIY, and surely that's how one gets to understand when to and when not to reinvent the wheel and so on and so forth, I don't believe telling people these principles such as "Don't reinvent the wheel" is simply how it works. 21:29 MTDiscord Most engine forks end up as zero-person projects, as the original dev gets sick of them pretty quickly too. 21:30 Helenah warr1024, I used to try creating my own distro and kernel and everything, and the best I got was in my 20s, a nice BBS system, as in the old CLI ones, with own SSH implementation. rofl 21:31 Helenah People on IRC would be telling me it's re-inventing the wheel, it's more work than I think, but this approach did nothing. haha 21:31 Helenah Telling me these things did not stop me. 21:32 Helenah I strongly think most people have to be hit with the reality, not be told it. 21:34 MTDiscord If you want to stop somebody from making a mistake, you can tell them. It might work ... or the only value it might offer is setting up for a potential I-told-you-so later. Either way, doesn't cost me much to say, words are pretty cheap. There's also potential collateral benefit, as people sometimes pay attention to conversations in which they're not talking, and learn stuff that way. 21:35 MTDiscord Starting from nothing and building something interoperable is also a kinda different creature than starting from something interoperable and introducing changes. 21:42 Helenah I think with me, I was ambitious, I wanted experiences, so telling me not to or that it's a bad idea wouldn't have gotten into my noggin. 22:10 MTDiscord It depends on how important having something useful at the end is, vs how important the learning is. It's not wrong to end up with nothing but the learning.