Time Nick Message 01:02 cheapie Don't tell SFDOT I blew up the engine in one of their service trucks: https://cheapiesystems.com/media/2025-04-17%2019-43-04.webm 03:54 tzenfore Ugh, my memory is starting to fail me 03:55 tzenfore What is the timeout conf line that is supposed to make a server run better? 03:55 tzenfore minetest.conf line with the word timeout in it * 05:34 MTDiscord So Sfan 5 was the one who did it 07:29 sfan5 tzenfore: i don't think such a magic setting exists 07:30 sfan5 I can recommend sqlite_synchronous = 1 however 07:45 Guest68 Greetings! I'm new to Luanti/Minetest and I have a hard time to find good/suitable games and mods. I come with a Minecraft experience (I guess many do) but want to give Luanti a go. Can you please give me a suggestion on what game to start with? I'm looking for open survival, with support for sprinting =). 07:46 whosit you can try out public survival servers and see what mods they use... 07:46 sfan5 the two obvious choices: https://content.luanti.org/packages/Wuzzy/mineclone2/ or https://content.luanti.org/packages/ryvnf/mineclonia/ 07:48 Guest68 Ah, good suggestion whosit, I'll check that out. 07:49 Guest68 sfan5, thanks, I'll try them both. Do they have support for sprinting, or do I get a separate mod for that? In that case, can you recommend any particular? 07:51 sfan5 afaik both do it out-of-the-box 07:52 Guest68 Ok, thanks sfan5 07:54 whosit Guest68: sprint is also confusingly called "aux1" in the controls settings 07:54 whosit it's E key by default 07:54 whosit (I gues technically it's really just "aux", but still) 07:59 SwissalpS (for now yes, but when aux2 and aux3 come along.... it'll make sense that it is aux1 and not aux) 08:07 Guest68 Ok, tanks! 08:07 Guest68 Ok, thanks! 09:43 [MatrxMT] sfan5: Two notes on the framerate tests 09:44 [MatrxMT] 1) A lot of people don't have the client mesh chunk cache on so get worse FPS with default settings 09:44 [MatrxMT] 2. LinuxForks `/spawn` location has a soviet lag factory nearby that really really doesn't help. Actually one should visit just to find out how bad a framerate can get 09:44 [MatrxMT] MisterE: I can't see it on the IRC log website, but the bridge doesn't seem to be working today 09:44 [MatrxMT] or maybe it's on the matrix side... 09:44 sfan5 fortunately I have client_mesh_chunk = 1 set :) 09:51 [MatrxMT] default mesh chunk off by default -> more people get worse framerates -> more complaints about low framerate spawns 09:57 sfan5 i mean it should definitely be on by default 11:39 [MatrxMT] about the earlier issues.. I think perhaps my homeserver was lagging. Or some other part of Matrix 15:04 cheapie Blockhead256: I get no results when searching for "cache" in the settings. I do have a client mesh chunk*size* option, but IME turning that up past 1 just gives more stuttering and no frame rate increase 16:57 MTDiscord Has v-rob's formspec replacement been finalized and merged yet, I'd like to take a look at the documentation for it? 16:58 MTDiscord merged no, you could see this by looking at the pr where you would also see the docs for it 17:00 MTDiscord Damn, navigating GitHub is still kind of confusing for me. Let me see if I can find the link to it. 17:01 MTDiscord hm #15971, okay now I just got to find the documentation 17:01 ShadowBot https://github.com/luanti-org/luanti/issues/15971 -- Add `allow_close[]` element to formspecs by v-rob 17:04 MTDiscord hm, well that didn't work. https://github.com/v-rob/minetest/tree/uncloseable-formspecs 17:05 MTDiscord I'll just wait until it's finalized, shouldn't be that long. 17:05 MTDiscord skill issue: https://github.com/luanti-org/luanti/pulls/v-rob 17:05 MTDiscord https://github.com/luanti-org/luanti/pull/14263 17:07 MTDiscord 100%, thanks. 17:41 schubisu hi everyone! I currently have issues with my luanti server; clients receive timeouts. I can see that the connection request is made in the logs, the server is responding with multiple lines of "RE-SENDING timed-out RELIABLE". I cannot see anything in the logs that would tell me what's going wrong, does anyone know that problem? 17:42 MTDiscord what version are the server and clients? 17:43 schubisu both on 5.11. I've just updated the server from 5.8 or something 17:44 schubisu I'm not sure though, if I have to migrate my mods first. But I get the same results when deactivating all mods altogether 17:49 MTDiscord https://github.com/luanti-org/luanti/issues/15627 sounds more like https://github.com/luanti-org/luanti/issues/9107, been a few others, but iirc there where all "solved" 17:52 schubisu hm, not sure. Here's a full log of a client connection with --verbose as logged from server. Do I miss something? https://share.riseup.net/#vu7y9Rn5nClOS_IQlcvS3A 19:12 MTDiscord I'm getting "PC LOADLETTER" vibes from that error message. 19:52 sfan5 schubisu: did you confirm that the network has no problems between client and server 19:54 sfan5 also ipv4 or ipv6? 19:54 sfan5 the log suggests that clients literally don't even receive the very first non-trivial packet sent by the server 19:54 sfan5 so likely not a packet loss issue 19:55 sfan5 rather something werd like firewalling 19:55 sfan5 weird* 19:57 MTDiscord Hi 19:57 MTDiscord I'd like help with the function lua local function loadNamespace(_namespace, _func, ...) local gcm = core.get_current_modname local gmp = core.get_modpath core.get_current_modname = function() return _namespace end core.get_modpath = function(_modname) return table.concat({modpath, "test_plugins", _namespace},DIR_DELIM) end _func(...) core.get_current_modname = gcm core.get_modpath = gmp end called as 19:57 MTDiscord pcall(loadNamespace, ":foo:", function(){}) which allows the code to pass execution to a untested/broken code, while avoid crashing errors the problem is any globals and/or state is persistent between failures. How can i Fix this unwanted behaviours. 19:59 sfan5 the answer to your question is probably setfenv 19:59 sfan5 however the way you're overring core methods is broken, don't do that 19:59 sfan5 overriding* 20:01 MTDiscord how should i overwrite them "correctly", the example is simplified. i need to be able to overload arbitrary core functions? 20:01 sfan5 wanting to override core.get_modpath sounds weird to me in the first place 20:04 MTDiscord Right because i could beanything like say core.register_item or any other function. I'm looking to generalize the solution to provide this as a error handle library fo new programers so they can test code without crashing luanti. 20:04 MTDiscord *be anything 20:06 exoticalexo Is Hindi recommended for locale tr? 20:06 sfan5 so you want to intercept all api function calls? I don't think that will be easy 20:07 MTDiscord Ive done it 20:07 MTDiscord it wasn't particularly beautiful of course 20:07 MTDiscord didn't hurt performance as much as you might expect though. 20:07 MTDiscord I was thinking I could copy the _G global, and replace it to a "know state", but that could interfere with libraries and other state outside of my control? 20:08 exoticalexo No, like for text translation for my mod on my private server. 20:08 MTDiscord I had a blanket check against core:func(...) when it's supposed to be core.func(...), since there's never a case when you want to pass core itself as the first param. 20:08 MTDiscord That depends... Are any of your friends indians? 20:08 exoticalexo Like 4? 20:09 MTDiscord If not, then it seems pretty clear. There's no reason to include hindi translations... 20:09 MTDiscord reminder to Discord bridge users that which message you're replying to does not go across the bridge so you might have to "quote manually" if you want to be specific about which message you're replying to. Or just embrace the ambiguity I suppose. 20:09 exoticalexo If I do add it, what would it be called? mod.hi.tr? 20:10 MTDiscord Warr1024: insert why now both meme. 20:10 MTDiscord Luanti has a bunch of language codes it supports, I think. There are a few that don't agree with what Weblate calls them, but simple stuff mostly matches. There are a few "blocked" languages, like RTL ones, that Luanti can't render, but you can try any of the rest probably. 20:10 exoticalexo Ok 20:10 exoticalexo So like arabic? 20:11 MTDiscord Yeah, I don't think Luanti can render arabic text at all, it'd be a disaster. So it's disabled. 20:14 MTDiscord If you have English, French, and Spanish, it'll probably be understandable by anyone who is capable of using the internet. 20:14 MTDiscord I wouldn't worry too much about translations... 20:14 exoticalexo ok 20:15 MTDiscord People who know French or Spanish are also more likely to know English. If you really want universality, far-flung languages that are each very influential in their speheres, like English, Russian, and Chinese, might be better bets. 20:16 MTDiscord Wait why French, I thought that was a Quebec thing? Is French an interlang? 20:16 schubisu sfan5: I can reach the server just fine via ssh and other services. I've tried with and without ufw enabled without any difference. But I read that port forwarding may be an issue. It's still weird, because it used to work fine with that set-up 20:16 MTDiscord The best thing to do, translation-wise, is to just let people contribute whatever languages they want, and make it as easy for contributors as you can. 20:16 MTDiscord It's spoken in parts of africa... 20:16 MTDiscord lol, C, that's a good one 20:17 MTDiscord French used to be the Lingua Franca of international everything before English took over. 20:17 exoticalexo 03Ok, but so far, I do have french, Chinese(traditional and taiwan), 03 20:17 MTDiscord Literally "Lingua Franca"... 20:17 MTDiscord hence the joke of calling English the Lingua Franca, yes 20:18 MTDiscord Warr1024: Damn France taking l after l on the international stage. 20:18 MTDiscord At least they still have the best food. 20:19 MTDiscord I've got two games that are very widely translated: NodeCore and Piranesi Restoration Project. Both of them are to a pretty significant extent because I've been able to use Weblate for it. It's just hard to get setup with an instance. I was originally using a self-hosted version, moved to cloud-hosted. 20:19 exoticalexo (I am working on getting spanish, german and russian translations.)03 03 20:19 MTDiscord Yeah, France has some of the best food outside of Asia :-D 20:20 MTDiscord I've found it easier than I'd have expected to get Russian translations. It seems like people who speak both languages are eager to bridge the gap and get things accessible to Russian language users. 20:21 MTDiscord The Russians just read it in English. 20:21 MTDiscord Ok wait can someone explain Weblate, I've only ever seen it explained in passing and it's always been this magic box that spits out translation thru "community effort"? 20:21 MTDiscord Some languages are easy to translate though. If you've got Spanish and want Italian, just make a copy of the .tr file and people can muddle through until they start submitting fixes 😆 20:23 MTDiscord Weblate is a system where people can submit translations on an individual string basis, allowing people to do useful translation work even if they don't have the time to do a whole project. It also simplifies the interfaces for them so they don't need to know how to use git and open a pull request. Overall, lowering the barrier to participation brings in quite a lot more participants. 20:24 MTDiscord And you have to self host, what about access control or bad actors translating "stone" into various curse words? 20:25 MTDiscord Seems like a hassle? 20:25 MTDiscord That's a risk that you have to live with. 20:25 MTDiscord Also, that's very easy to do by accident. 20:26 [MatrxMT] You don't need to self-host Weblate; there is the "Hosted Weblate" instance, and e.g. Codeberg also has its own instance 20:26 MTDiscord If you make some random sound or combination of letters, chances are it at least somewhat resembles a swear word in at least some language. 20:27 MTDiscord does luanti or cdb have an instance used internally? 20:27 [MatrxMT] Getting wrong/malicious translations is an inherent risk regardless of the platform; you also have this same risk if the translations are sent with e.g. git-send-email 20:30 MTDiscord Yeah but git or snail-mail is more easy to corollate bad actors, after the first time you get (stone => peepeepoopoo) you can just blacklist the account and filter contribution or spam. 20:31 MTDiscord Its alot harder then everything is ip or god forbid cookie based 20:31 [MatrxMT] Weblate provides edit logs that show the changes to the translation (including the user that made the last edits) 20:32 sfan5 weblate does have accounts 20:33 MTDiscord See this is why I need someone to explain it fully, is there like a demo I can look at? 20:33 MTDiscord Weblate actually stores stuff internally in a git repo, which you can either sync and merge from, or you can pull stuff via their web API. Git commits all have metadata about contributors. 20:33 [MatrxMT] https://hosted.weblate.org/projects/minetest/minetest/ 20:34 [MatrxMT] ^ if you want an example (Luanti engine without builtin) 20:35 MTDiscord Warr1024: Ok so its git with a nice ui, made for non-programers to write configs without needing to know about a backend or json/sql/etc.? 20:36 MTDiscord y5nw: thank you I'll take a look at it fully at home. 20:36 MTDiscord But from a glance 48% is less than half, why so low? 20:37 MTDiscord and why lgpl 😢 20:37 [MatrxMT] Some languages don't have a large player base or have rendering problems? 20:38 exoticalexo That doesn’t mean that we can make a translation for it… 20:42 MTDiscord huh somebody really ought to make that work properly 20:43 MTDiscord Translations tend to happen based on supply, not so much based on demand. 20:44 MTDiscord @Warr1024 I don't know why your project is locked, but the restoration proj is at 99% and Sessions => Sesion(es) is so easy. 20:44 MTDiscord and yes, properl LTR support in Luanti would be awesome for the large populations affected, it's just apparently Hard. 20:44 MTDiscord shouldn't be locked 20:44 MTDiscord Actually that might not be the correct spelling, sesión(es) 20:45 MTDiscord Sorry my keyboard is English 20:47 MTDiscord Says "closed due to maintenance, no idea what that means 20:47 MTDiscord broken on my machine. 20:47 MTDiscord https://cdn.discordapp.com/attachments/749727888659447960/1362892337042296992/2025-04-18_16_46_12-Minetest_Game__Piranesi_Restoration_Project_Spanish__Hosted_Weblate__Session.png?ex=68040be6&is=6802ba66&hm=00c8ae1fe32c700c488684f5bcd4538e6e3b24bc52775a6f1e1ecc378fcbe520& 20:47 MTDiscord well i tried 20:48 MTDiscord you'll have 100% when they fix it i guess? 20:48 sfan5 i think its intentionally locked 20:49 MTDiscord By who, if warr doesn't know? 20:49 MTDiscord Who else can even do that but the game dev? 20:51 sfan5 the luanti team 20:54 MTDiscord It'd be a person within the luanti team. Not the whole team. Or else presumably sfan5 would already know and not be talking about this speculatively. 20:55 sfan5 no I also have access 20:55 MTDiscord I actually suspect it was Weblate itself that did it, like, trying to do a pull, hitting a conflict, and automatically locking it 20:55 sfan5 no that doesn't happen 20:56 MTDiscord well telling me what you think it isn't doesn't really help much with the actual question of what it IS. 20:56 MTDiscord and I'm not so sure I care about the why anyway. 20:56 sfan5 i think we wanted to deprecate the game translations there so we locked it a while ago 20:57 MTDiscord I'm learning so much about this translation technique, mainly the reason why Android uses strings.json in a repository somewhere instead. 20:57 MTDiscord If that were the case then it seems like I should have heard about it 😄 20:57 sfan5 🤷 20:58 MTDiscord Well, I unlocked it for now since it sounds like people want to continue translating the projects, and otherwise the project is just sitting there taking up space and doing nobody any good. 20:59 MTDiscord I MIGHT take another swing at self-hosting eventually, I'm not sure. I've learned a bit more about other workflows for Weblate that I didn't know last time I tried it. 21:00 [MatrxMT] I suppose it's easier to use Weblate now that you don't have to perform po/tr file conversion anymore? (and xgettext can be used for extracting strings) 21:02 MTDiscord Yay! 21:02 MTDiscord https://cdn.discordapp.com/attachments/749727888659447960/1362896045952209003/2025-04-18_17_01_36-Minetest_Game__Piranesi_Restoration_Project_Spanish__Hosted_Weblate_-_Vivaldi.png?ex=68040f5a&is=6802bdda&hm=c65e764c6744f074043b07483ccdd580d22feeb9cf88d3c6c45f3ae449dd239e& 21:02 MTDiscord Found a message that says "Alert created" right next to "Component locked" in a log, but that's all it says, and I don't see any other alert. 21:03 MTDiscord I know I've seen other components get automatically locked for the same reason though, i.e. something failing during a git repo operation, so that's why I suspected it. 21:10 MTDiscord Someone's translation must have failed to compile. 21:13 [MatrxMT] Weblate should handle translation files correctly so that is IMO very unlikely compared to e.g. a git-related conflict 21:13 MTDiscord I was just kidding. 21:15 [MatrxMT] Seriously though, if you want to accept translations from other sources it would make sense to have a CI pipeline to check for errors in translation files 21:29 cheapie Maybe the mods on this other server are a bit more out of date than I thought: https://cheapiesystems.com/media/2025-04-18%2011-10-20.webm 21:30 cheapie (that's the old motor sound, before the initial ContentDB release even - it was just in there as a placeholder until I got sounds I could actually ship, which I eventually did) 22:49 MTDiscord Can dynamic_add_media overwrite the file_name parameter/value, so that you can dynamically change what a texture references to as it changes on disk? Or does this cause issues/technical limitations? 22:49 MTDiscord Cuz I noticed it gives me an error, but is that just cuz it's not implemented or cuz implementation would be hard / impossible? 22:50 sfan5 did you check the docs? 22:51 MTDiscord a little, https://discord.com/channels/369122544273588224/369128039738638338/1362914935935340787 22:51 MTDiscord Oh wait you can't see that can you, sorry yeah I did. 22:52 MTDiscord (you can't and it's documented in lua_api.md if you look at the full dynamic_add_media documentation there) 22:52 MTDiscord (there are also a bunch of issues requesting something like this on GH) 22:53 MTDiscord Damn, well thanks anyway. Really thought I was going to do something clever here, but I guess not.