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 |