Minetest logo

IRC log for #minetest, 2023-12-18

| Channels | #minetest index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:00 MTDiscord <jordan4ibanez> The rust ide integration makes the confusion of modules 100x easier
00:14 Guest49 joined #minetest
00:15 Guest49 hi, I'm looking nether mod doc but i can't find where starts and ends the mapgen, someone knows?
00:22 fling joined #minetest
00:38 appguru joined #minetest
00:44 amfl2 joined #minetest
00:46 Warr1024 joined #minetest
00:49 ShadowBot joined #minetest
01:12 diceLibrarian joined #minetest
01:23 smk joined #minetest
01:34 vampirefrog joined #minetest
02:00 MTDiscord1 joined #minetest
02:23 Blockhead256 joined #minetest
02:23 Blockhead256 As funny as Keith the C++ mascot is, the source is Uncyclopedia. You know, the most reliable encyclopedia on the net
02:24 Blockhead256 I have to ask though, if you wanted the project(s) in question, Minetest-rust, or Minetest-go or whatever, to actually be associated with Minetest,
02:24 Blockhead256 wouldn't the most important thing be Lua API compatibility?
02:25 muurkha yeah
02:25 Blockhead256 I mean the first target is getting a 3D world with an avatar, nodes, blocks and chunks running, but after that.. Lua API right?
02:27 MTDiscord <jordan4ibanez> No, typed lua
02:27 MTDiscord <jordan4ibanez> Similar, but not the same
02:27 MTDiscord <jordan4ibanez> Already have the base of that atm
02:27 muurkha what's typed lua?
02:27 MTDiscord <jordan4ibanez> Luaujit
02:27 Blockhead256 right, you made a game for existing minetest recently didn't you? transpiled from typescript (that was you right?)
02:27 MTDiscord <jordan4ibanez> Yes
02:28 Blockhead256 I'm going to ask one of the obvious questions: isn't dynamic typing one of the stated "newbie" benefits to Lua?
02:28 muurkha the way we got Linux was Linus not doing a megaproject: "Hello everybody out there using minix -
02:29 MTDiscord <jordan4ibanez> It's dangerous
02:29 MTDiscord <jordan4ibanez> Had the same issue in common lisp
02:29 muurkha "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.  This has been brewing since april, and is starting to get ready.  I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat"
02:29 MTDiscord <jordan4ibanez> https://github.com/jordan4ibanez/minetest-rust/blob/master/api/__internal.lua typed lua
02:29 muurkha LuaJIT?
02:29 MTDiscord <jordan4ibanez> LuauJIT
02:29 muurkha oh, I though that was a typo
02:29 muurkha sorry
02:30 MTDiscord <jordan4ibanez> It's okay, I thought it was a typo at first too
02:30 Blockhead256 that's most peoples first reaction, good branding lul
02:30 muurkha Blockhead256: I think it's plausible that dynamic typing makes languages more approachable for newbies
02:30 muurkha but I think the opposite is also plausible
02:30 Blockhead256 but isn't the project (which is from Roblox Corp btw) just called Luau?
02:30 MTDiscord <jordan4ibanez> It's open source
02:31 Blockhead256 I'm not calling that into question, just I didn't think it had "JIT" in the name
02:31 MTDiscord <jordan4ibanez> See mlua's luaujit implementation https://github.com/khvzak/mlua
02:31 MTDiscord <jordan4ibanez> mlua is wild
02:32 muurkha did they fix the problem where Lua indexes arrays from 1?
02:32 MTDiscord <jordan4ibanez> I think that's a lua "feature"
02:32 muurkha how about making variables global by default instead of local?
02:32 Blockhead256 muurkha: they are......
02:33 muurkha I know, that's the problem
02:33 MTDiscord <jordan4ibanez> That's another base lua "feature"
02:33 muurkha to fix it you'd make them local by default
02:33 MTDiscord <jordan4ibanez> you get an error in linting if you don't localize them
02:33 muurkha yeah but dynamic typing is also a base lua feature
02:33 Blockhead256 ..then need to add a global keyword and retrofit all existing code to use that
02:34 Blockhead256 jordan4ibanez: I'm trying to pick apart your train of thought here. So you started looking into Lua runtimes with type support and came across mlua,
02:34 MTDiscord <jordan4ibanez> muurkha: there is also a secret, typing, like TS -> JS, is optional
02:34 muurkha did they fix the problem where accessing a nonexistent variable gives you nil instead of raising an error?
02:34 Blockhead256 liked it because of the feature set size and because of Rust, and now you decided the whole engine should go Rust?
02:34 MTDiscord <jordan4ibanez> I already wrote a minetest/minecraft like using mlua as the base
02:34 muurkha oh, I see.  so compatibility with existing Lua 5.1 code is a design goal?
02:35 Blockhead256 Consider the following: The Linux kernel has Rust module support nowadays, but it's not getting re-written entirely in that langauge
02:35 MTDiscord <jordan4ibanez> I wanted to use it again, but I found out it has now introduced typed lua, and it is amazing
02:35 muurkha aha, yes:
02:35 muurkha > Whenever possible, Luau aims to be backwards-compatible with Lua 5.1 and at the same time to incorporate features from later revisions of Lua. However, Luau is not a full superset of later versions of Lua - we do not always agree with Lua design decisions, and have different use cases and constraints. All post-5.1 Lua features, along with their support status in Luau, are documented here.
02:36 muurkha jordan4ibanez: so what's the type system like?  it sounds like you like it
02:36 MTDiscord <jordan4ibanez> It feels like someone combined the base featureset of lua 5.1 with typescript typings
02:36 MTDiscord <jordan4ibanez> The typescript typings has allowed me to integrate a full pseudo operating system as a minetest game
02:37 MTDiscord <jordan4ibanez> without that, I can guarantee I would have not even attempted that
02:37 Mantar I have to say, if you build a "minetest but in rust" and I have to rewrite all of Exile to be able to use it, that's a non-starter for me. I'd stay with standard Minetest.
02:37 muurkha they support typescript things like using the value of one property of an object to decide what other properties should exist?
02:38 muurkha jordan4ibanez: to be fair people *have* written operating systems in dynamically-typed Lisps
02:39 Blockhead256 define "operating system"
02:39 muurkha I was thinking of Symbolics Genera
02:39 MTDiscord <jordan4ibanez> I can't really explain this insanity, you must try it for yourself, it is quite silly https://github.com/jordan4ibanez/mineos
02:40 MTDiscord <jordan4ibanez> Do not run boom for too long, minetest has a memory leak
02:40 Mantar that is insane, I like the cut of your jib.
02:42 Blockhead256 rustc --version -> 1.63.0
02:42 Blockhead256 hmm is that new enough to compile it I wonder?
02:42 muurkha oh, you wrote mineos with TypeScript and TypeScriptToLua, not Luau
02:42 muurkha is Luau's type system as powerful as TS's?
02:43 MTDiscord <jordan4ibanez> It's pretty powerful, no classes though, I'm sure you could get around that with some tricks
02:43 MTDiscord <jordan4ibanez> I was going to make the base use TS but that incurs a 10+ minute compilation time with deno
02:43 Blockhead256 classes? just use metatables :) (please no, performance...)
02:44 Blockhead256 aaand nope I need rustc 1.71.. thanks Debian
02:44 Blockhead256 say what you want about Minetest C++, you don't need a newer compiler than Debian 12 has to ship it..
02:44 Blockhead256 s/to ship it/to compile it
02:46 MTDiscord <jordan4ibanez> I just use the rust install script on the website because I always like to keep it updated
02:57 muurkha it seems like Luau doesn't have JIT: https://luau-lang.org/performance
02:58 muurkha "Luau eventually plans to implement JIT on some platforms, but this is subject to careful memory safety analysis and is likely to not be deployed for client-side scripts, as the extra risk involved in JITs is much more pronounced when it may affect players."
03:00 MTDiscord <jordan4ibanez> Well you'll have to ask mlua how they did it then
03:00 muurkha mlua says they support both LuaJIT and Luau, but presumably not at the same time
03:00 MTDiscord <jordan4ibanez> Look into the options, luau-jit backend
03:02 muurkha where?
03:03 MTDiscord <jordan4ibanez> https://github.com/khvzak/mlua#feature-flags
03:04 MTDiscord <jordan4ibanez> There's that vec4 one, I'm not really sure what that's referring to. Maybe avx512? They need to improve that description
03:04 muurkha oh hey, look at that
03:04 muurkha you're right
03:04 muurkha that's Luau with a JIT backend
03:05 MTDiscord <jordan4ibanez> I would like to meet them one day and give them a firm handshake
03:08 MTDiscord <jordan4ibanez> It's quite neat yes, in the .vscode file I have already pre-configured everything. Disabling roblox features was the major one, the rest are just QOL fluff
03:16 Trifton joined #minetest
03:18 diceLibrarian2 joined #minetest
04:07 YuGiOhJCJ joined #minetest
05:00 MTDiscord joined #minetest
05:02 jaca122 joined #minetest
05:15 Sobinec joined #minetest
06:21 Leopold joined #minetest
06:45 s20 joined #minetest
06:51 Sobinec joined #minetest
06:56 Alnotz joined #minetest
07:14 fling joined #minetest
07:33 Baytuch| joined #minetest
07:34 MTDiscord <jordan4ibanez> A game needs a game.conf. It needs a mods folder with folders that contains mods. The game needs at least one mod to function. Each mod needs a main.lua (I'm just throwing that one in there because it's cooler than init.lua). Each mod needs a mod.conf. Is there anything I'm missing for the base of a mod?
07:49 MTDiscord <jordan4ibanez> So this is basically part 1 https://github.com/jordan4ibanez/minetest-rust/blob/master/src/game/lua_engine/lua_file_helpers.rs#L166 where we can check the entire game's skeleton in one shot
07:52 DeepThgt https://www.theguardian.com/us-news/2023/dec/14/georgia-teacher-arrested-threatening-student-israel-flag
07:52 DeepThgt oops
07:52 DeepThgt sorry
07:55 calcul0n joined #minetest
08:01 TomTom joined #minetest
08:39 Sobinec joined #minetest
09:32 Sobinec joined #minetest
09:41 Baytuch| joined #minetest
10:13 appguru joined #minetest
10:39 Sobinec joined #minetest
10:42 diceLibrarian joined #minetest
11:29 ___nick___ joined #minetest
11:32 Blockhead256 joined #minetest
11:32 Blockhead256 Is there any other existing polyfill mod for Minetest? https://github.com/Montandalar/bhpolyfill
11:32 Blockhead256 do you think polyfill are a good idea y/n?
11:34 ___nick___ joined #minetest
11:42 MTDiscord <jordan4ibanez> I think we should let the old versions rest in peace my friend
11:42 MTDiscord <jordan4ibanez> They were here, they did their job, gave us good memories, but they're out of date
11:44 Blockhead256 that's nice but not everybody is in control of their software stack to be able to update to the latest and greatest
11:45 Blockhead256 that's exactly why polyfills exist for browsers, though maybe lesser than they used to be since the m$ internet exploder days
11:46 MTDiscord <jordan4ibanez> Not even the latest and greatest, just the stable release
11:46 MTDiscord <rollerozxa> debian users will do anything except updating their precious outdated software
11:46 Blockhead256 for instance, imagine Minetest for education. As the IT guy, I'd much prefer to just use whatever version is on Ubuntu than manage my own Minetest package
11:47 MTDiscord <jordan4ibanez> But as for the idea in general, where does the polyfill cut off?
11:47 Blockhead256 the benefit of stable software is it's set and forget
11:47 Blockhead256 well with Minetest, there are just inherent limits to what can be done with Lua mods, so I'd say it cuts off where it's impossible to do with Lua
11:49 MTDiscord <jordan4ibanez> Well this is kind of what we're stepping into, there have been quite a lot of earth shattering changes from 5.7-5.8. But then we get into a new realm where you'd have to polyfill into a polyfill and do a "lua compilation flag" to check the version number for polyfills, and then that can become a linter headache
11:49 MTDiscord <luatic> I wonder how risky just transplating builtin would be
11:49 MTDiscord <jordan4ibanez> I like that insanity
11:50 Blockhead256 would work fine until it crashes because the C++ environment is missing something
11:50 MTDiscord <luatic> I think in principle, polyfills are a decent compromise. A few modlib utils have developed into de-facto polyfills, like modlib.minetest.encode_png.
11:51 Blockhead256 jordan4ibanez: I hadn't thought far enough in advance about incremental changes to a function with polyfills
11:51 Blockhead256 only "is this function available or not? if not, here's the definition"
11:51 MTDiscord <luatic> you can't polyfill the "earth shattering changes" anyways
11:51 MTDiscord <jordan4ibanez> I say: Don't listen to anything we're saying at all and follow your dreams
11:52 MTDiscord <luatic> all you can polyfill are those teensy weensy convenience lua thingies, and since that isn't too much work, it doesn't seem unreasonable, given that it can be a cheap ticket to making mods compatible with older Minetest versions
11:52 Blockhead256 Since Debian was mentioned: Friends don't let friends use the Minetest mods packaged in Debian
11:52 MTDiscord <jordan4ibanez> Wait what is the lowest version you're targeting?
11:52 MTDiscord <luatic> want me to deal you some Minetest .debs with a recent LuaJIT?
11:53 MTDiscord <luatic> some recent LuaJIT .debs actually, but then you can build a proper Minetest yourself
11:53 Blockhead256 oh I'm not the person in need of recent .debs, I built 5.8.0 myself the day it came out or the next thereabouts, and I have built LuaJIT before
11:54 Blockhead256 the scenario I imagine is "rushed sysadmin who isn't prepared to build for source". What's the most reliable but up to date version?
11:55 Blockhead256 probably the Ubuntu PPA
11:55 MTDiscord <jordan4ibanez> 20.04 5.1.1
11:55 MTDiscord <jordan4ibanez> I'm sweating reading that, there have been a lot of security patches since then
11:56 Blockhead256 anyway my personal opinion is if you're supporting anything lower than 5.0 you're actually mentally and/or doing retro computing
11:56 Blockhead256 s/mentally/mental
11:56 Blockhead256 but 5.2 seems like a pretty decent minimum. I think Debian 11 had that or something. And that's still lowballing it
11:56 MTDiscord <jordan4ibanez> It appears that if the user is running https://packages.ubuntu.com/search?keywords=minetest up to date ubuntu they get 5.6.1, someone better talk to the ubuntu people
11:57 Blockhead256 I'm no expert, haven't got much experience with old client version problems, just my intuition
11:57 MTDiscord <jordan4ibanez> buster = 0.4.17, bullseye = 5.3.0, bookwork = 5.6.1
11:57 Blockhead256 bookworm
11:58 MTDiscord <jordan4ibanez> So that means someone better talk to the debian peoples
11:58 MTDiscord <jordan4ibanez> Even sid is using 5.6.1
12:00 MTDiscord <jordan4ibanez> So this means, you'll have to look into a github version diff of added features from 5.6.1 to 5.8.0 and take some notes
12:00 MTDiscord <jordan4ibanez> And then you can probably just duct tape things together, I'm sure no one will notice though
12:00 Blockhead256 github diff? nah just run your mods and wait until it breaks
12:00 MTDiscord <jordan4ibanez> The unspeakable horrors
12:01 Blockhead256 my development approach for polyfills is JAUNI: Just after you need it. If someone's game crashes I'll add a polyfill
12:01 MTDiscord <jordan4ibanez> LuaJAT
12:02 Catars_EISHU joined #minetest
12:03 Blockhead256 anyway server issues aren't that big in my mind. The headscratcher for me is how rotating selection boxes seemingly can't be backwards-compatible with old clients
12:03 MTDiscord <jordan4ibanez> You could try to run literally every command documented in the minetest api.md
12:03 Blockhead256 I ideally want all the trains to act like this https://www.youtube.com/watch?v=2GpfXWYeS2g but I don't want the massive selection boxes not to be perpendicular the train on old clients..
12:04 MTDiscord <jordan4ibanez> we have rotating selection boxes now?
12:04 Blockhead256 since 5.7
12:04 MTDiscord <jordan4ibanez> I've been gone for a bit eh?
12:05 Blockhead256 oh yah for sure bud
12:05 MTDiscord <jordan4ibanez> That is a pure in engine feature, there is quite literally no way to emulate that unless you find a way to hijack the executable and inject the code directly into it by some miracle
12:06 Blockhead256 I love it. Who wants to find an RCE for all clients <5.6 so we can patch the client at runtime?
12:06 Blockhead256 <5.7, 5.6 or earlier..
12:07 Blockhead256 now *that* would hopefully get patched even on the stable distros.
12:08 MTDiscord <jordan4ibanez> That train's simulation is simply a thing of beauty
12:08 Blockhead256 Also.. why do I get ads on my channel? It ain't monetised..
12:08 MTDiscord <jordan4ibanez> You get ads after XY views, youtube is a vampire
12:09 MTDiscord <jordan4ibanez> We need that simulation stability patch so your next video on trains is ultra smooth in singleplayer
12:09 MTDiscord <jordan4ibanez> Not mine of course, that was just showing how to fix it, but the one everyone was like "yeeeah how about this one instead"
12:10 Blockhead256 would that solve the way the train lurches just before coming to a complete stop?
12:12 MTDiscord <jordan4ibanez> Yeah, your time delta is going up to 0.3 when you stop moving
12:12 MTDiscord <jordan4ibanez> This is why it's jittery when you're still
12:22 Catars_EISHU joined #minetest
13:44 peterz joined #minetest
13:49 peterz joined #minetest
14:01 Sobinec joined #minetest
14:24 sagax joined #minetest
14:35 cataraaa joined #minetest
14:38 Edlrvo joined #minetest
14:47 Niklp9 joined #minetest
14:53 s20 joined #minetest
14:58 json joined #minetest
15:00 json I wonder what games will be released at the end of the year?
16:02 jaca122 joined #minetest
16:07 definitelya joined #minetest
16:20 cataraaa joined #minetest
16:29 mrkubax10 joined #minetest
16:32 MTDiscord <luatic> I expect the games that will be released to be rather unexpected
16:41 Baytuch| joined #minetest
17:36 Mantar jordan: current debian stable release is bookworm, and that has Minetest 5.6.1
17:37 rubenwardy 1.5 years old. Postivitely futuristic for debian's standards!
17:38 MTDiscord <rollerozxa> round of applause to debian for finally having updated past 0.4.17
17:50 Mantar they were on 5.3.0 for years before that, 0.4.17 was like two stable releases ago
17:51 lumidify joined #minetest
18:01 fluxionary joined #minetest
18:04 CRISPR joined #minetest
18:09 Talkless joined #minetest
18:21 grouinos joined #minetest
19:00 diceLibrarian2 joined #minetest
19:53 amfl2 joined #minetest
19:58 appguru joined #minetest
20:03 Baytuch| joined #minetest
20:36 loggingbot_ joined #minetest
20:36 Topic for #minetest is now The official Minetest channel | Latest version: 5.8.0 (2023-12-04) | General, player and modding discussion is on-topic. If in doubt, post here | Responses may take a while, be patient | Rules: https://wiki.minetest.net/IRC#Rules | Development: #minetest-dev | Server list: https://minetest.net/servers | IRC logs: https://irc.minetest.net/minetest
20:37 EISHU-Catars joined #minetest
20:38 Niklp9 joined #minetest
20:40 Niklp9 joined #minetest
20:59 sparky4 joined #minetest
21:01 Niklp9 joined #minetest
21:58 Borley joined #minetest
21:59 Borley Is there a way to create world boundaries? Like a wall that is impassable?
22:04 Mantar yes, undiggable nodes are easy enough to do
22:05 Mantar in Exile we have an invisible barrier generated as an ore sheet at y=9000,to cordon off the upper region
22:05 Borley Do you handle that through a mod? Or is that a server config option?
22:07 Mantar it's a mod thing
22:07 Mantar you need some code to generate the barrier somehow
22:07 Baytuch| By the way, Minetest have limits on ranges from −30912 to 30927 to X, Y, Z koordenates
22:08 Baytuch| Mantar, you update your server to 5.8 or more?
22:08 MTDiscord <rollerozxa> you can shrink a world with mapgen_limit
22:09 Mantar I think we're still on 5.7.0, I'd have to check
22:09 Borley I set that, it seems to prevent creation of new blocks beyond the specified range.
22:28 vampirefrog joined #minetest
22:35 appguru joined #minetest
22:39 Baytuch| left #minetest
22:58 calcul0n joined #minetest
23:30 cataraaa joined #minetest
23:34 panwolfram joined #minetest
23:40 cataraaa joined #minetest
23:51 sparky4 joined #minetest

| Channels | #minetest index | Today | | Google Search | Plaintext