Minetest logo

IRC log for #minetest-dev, 2022-05-07

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

All times shown according to UTC.

Time Nick Message
00:09 Cosmosis[m] I'm a game engine developer interested in contributing to minetest! I have experience with C/C++ and Lua (and a whole bunch of other languages) and want to help make SSCSM a reality
00:10 Cosmosis[m] Last I checked people aren't in agreement as to whether SSCSM should even exist
00:48 v-rob joined #minetest-dev
01:10 wsor4035 joined #minetest-dev
01:15 MTDiscord <Jordach> ways to just client side predict entities or just client side entities as visual things like particles or physics objects without added network load
03:19 paradust On Github, is it customary to "Resolve" a comment when you believe you've addressed it, or write a reply and wait for the other party to resolve it?
04:00 MTDiscord joined #minetest-dev
04:19 erle Cosmosis[m] no one knows how to implement SSCSM a) securely b) in a performant way. a) follows from LANGSEC b) follows mainly from that the most common requests for SSCSMs are from peope who want, as jordach said, client side movement prediction and client side animations.
04:21 erle Cosmosis[m] the thing is, both movement/physics prediction and animations can most likely be solved without executing a turing-complete language on the client. i suggest to start reading the discussion here: https://forum.minetest.net/viewtopic.php?p=406477&amp;sid=d21e935cf12caf7a63acd244baed7978#p406477
04:22 Pexin Cosmosis[m]: tldr; you just stepped in a mess, congrats  :]
04:22 erle Cosmosis[m] i prefer client-sent server-side mods, but sadly, support for that was removed with minetest 5.4 ;)
04:28 v-rob joined #minetest-dev
04:28 erle Cosmosis[m] maybe as a first step you can resurrect this? https://github.com/minetest/minetest/pull/10039
06:40 calcul0n joined #minetest-dev
07:38 Fixer joined #minetest-dev
07:52 Zughy[m] Cosmosis: welcome! If you want to start slowly, you could start by addressing one of the "Bug" labelled issues, as as you can see there are plenty of it, and a tidy desk helps core devs tackle everything more easily
07:58 calcul0n joined #minetest-dev
08:21 proller joined #minetest-dev
09:04 YuGiOhJCJ joined #minetest-dev
09:48 sfan5 Cosmosis[m]: you can also start reading here https://github.com/minetest/minetest/issues/10594
09:49 sfan5 and a word of advice from experience: don't listen to erlehmann too much
09:50 HuguesRoss joined #minetest-dev
09:51 sfan5 in that issue I posted a list of items that'd have to happen for SSCSM and if there is agreement in the team that it should work like this then someone could potentially start working on it right now
09:51 sfan5 but it's no simple task
09:53 sfan5 starting with a MVP is probably good idea, also so it can be merged as early as possible
09:53 sfan5 paradust: I usually do that, yeah
09:53 sfan5 if unclear you can wait for the reviewer to come back and resolve it themselves
09:54 sfan5 BuckarooBanzai: did you ever get a chance to see how this option performed https://github.com/minetest/minetest/pull/11976/commits/856365e12b5073a979977510def139b0d3362638
10:24 erle sfan5 did i say something wrong? if so, what?
10:27 erle also, was this ever discussed more? https://github.com/minetest/minetest/issues/10594#issuecomment-1001118578
10:30 sfan5 you often say lots of stuff which I don't consider relevant, which derails discussions
10:35 erle oh i see
10:37 erle regarding CSM i say the prediction thing so often because there are things that *can not* be done well using prediction, like “clicking a button in a formspec and getting an immediate result” or “having a search entry that does not require a server round-trip”
10:38 rubenwardy SSCSM is supported, the problem is more with the practical and real world issues
10:38 rubenwardy *practicality
10:38 erle meanwhile, the movement/animation prediction thing can arguably not be done well using CSM (judging by the coding skills of people who yell for CSM to fix their laggy server-side code haha)
10:38 rubenwardy Security and performance
10:38 erle rubenwardy any plans hosting CSMs on CDB? can i make it happen if i help code something?
10:38 rubenwardy Cosmosis[m]: the beginner friendly tag will also be helpful
10:39 rubenwardy erle: only when the engine supports them
10:39 erle fleckensteins cheatdb is useless and often down. also it only contains cheats.
10:39 erle rubenwardy oh, so what do i need to do to, for example, put a mod like rumble or waypoints or secure chat on cdb?
10:40 erle like is there development work to be done or is “support” a policy question?
10:41 rubenwardy Policy first then development
10:42 erle so what can i do about it?
10:42 erle i can try to revive #10039 if that helps
10:42 ShadowBot https://github.com/minetest/minetest/issues/10039 -- Add in client modding menu by oilboi
10:43 erle (assuming “neglect closure” means that oilboi just never polished it)
10:55 MTDiscord <luatic> Why is there both game/async.lua and async/game.lua loöl
10:58 MTDiscord <luatic> Should I attempt to implement minetest.deserialize for a subset of Lua?
10:58 erle luatic same kind of feature parity where if you have bedrock block in java edition, a user will file a bug for a java block in bedrock edition ;)
10:58 erle luatic what sense would it make to only serve a subset?
10:58 MTDiscord <luatic> erle: to fix #7574
10:58 ShadowBot https://github.com/minetest/minetest/issues/7574 -- `minetest.deserialize()` fails on big inputs with LuaJIT
10:59 MTDiscord <luatic> deserialize basically only uses literals, table constructor expressions and assignments
10:59 MTDiscord <luatic> (and the return statement, obv.)
10:59 erle yes, i have seen items with hacked meta hehe
11:00 erle first time i saw that i was like “return oh no”
11:00 erle luatic is this an xban problem or what?
11:00 erle like what is the bug input
11:01 erle the big input i mean (both works haha)
11:03 MTDiscord <luatic> it's not specific to xban
11:03 MTDiscord <luatic> it is now triggering crashes in MT because the async env uses the serializer
11:04 MTDiscord <luatic> Using https://github.com/appgurueu/modlib/blob/master/bluon.lua instead would be a quick fix but there are float precision issues :/
11:06 MTDiscord <luatic> It's about time I fix Bluon.
11:07 sfan5 @luatic it would be helpful to have a Lua part that transforms a table with potentical recursion into 1) a table with no recursion 2) instructions to reassemble the original table
11:07 sfan5 basically a subset of what core.serialize does
11:07 sfan5 the result of that can then be transferred fine with the engine packer
11:08 MTDiscord <luatic> hmmm
11:08 MTDiscord <luatic> why can't the engine table handle recursion?
11:08 MTDiscord <luatic> engine packer*
11:10 MTDiscord <luatic> I'd rather attempt to fix the engine packer
11:10 MTDiscord <luatic> Should be pretty easy
11:19 sfan5 I had a design in mind for the packer which didn't work out in the end so I dropped it
11:23 erle i think i may have had this type of problem at work, and a coworker solved it in typescript, and i did not envy him.
11:23 erle (it was years ago though, so i doubt i can apply anything)
11:24 erle how do other projects solve this? except for not using cursed tables, i mean.
11:26 erle i mean there's this, but i guess it's stupid in some way https://love2d.org/forums/viewtopic.php?t=8458
11:29 sfan5 @luatic you can take a look at it. getting this to work should be possible within the constraints of the current unpacker see https://0x0.st/om-5.txt
11:30 sfan5 the design I had in mind relied on the virtual indexes never needing to change, this could still work out if you push all the tables that need reusing first
11:32 sfan5 my tip is to read through c_packer.h first and think about how you would do things before taking a look at c_packer.cpp
11:33 sfan5 you can also use your understanding to spot the mistake in the last example ;)
12:01 erle sfan5 is it intended that https://github.com/minetest/minetest/pull/12280 basically replaces the server crash with a new griefing method (book banning)?
12:02 erle the thing is, if these are server crashes, server operators and game devs fix the item sizes
12:03 erle (you, anon5. me have done this in the past)
12:03 erle but if only a single user can be reliably kicked, it opens the door to “throw a shulker chest full of garbage at the user to make their account unusable”
12:04 erle admins don't really care
12:05 erle AFAIK this was one of the reasons why anon5 developed the minetest inventory proxy
12:05 erle (you could lag users with big inventories without crashing the server)
12:10 MTDiscord <luatic> looks like the precision issue in Bluon is gone
12:11 erle luatic, gone as in “mysteriously disappeared” or in “fixed”?
12:11 MTDiscord <luatic> There is a commit that presumably fixed it
12:11 MTDiscord <luatic> Yet there is a comment that claims that it was still there
12:11 MTDiscord <luatic> But the comment is wrong because the number works
12:11 erle i hope your lua library is compiled using -mpc64 or SSE2 on x86 :D
12:12 erle because otherwise it is entirely possible that it is an architecture-specific precision error
12:14 MTDiscord <luatic> anyways https://github.com/appgurueu/modlib/commit/ead91a1e5d041f88224900c2c65de4bafbab47b9
12:15 MTDiscord <luatic> sfan5: If you're looking for a hot fix, swap out MT's serializer with Bluon ;)
12:27 MTDiscord <luatic> sfan5: wouldn't circular stuff support be about as simple as keeping a map [ref] = id in stack?
12:28 BuckarooBanzai sfan5: about the async commit in postgres: i always have that enabled (https://github.com/pandorabox-io/pandorabox.io/blob/master/docker-compose.yml#L39) haven't tested if it performs better or worse
12:28 BuckarooBanzai in any case: i don't think minetest should mess with those database settings
13:25 sfan5 i see, thanks
13:26 sfan5 @luatic a map of what to what
13:29 erle i bet it's “a map to some other intermediate table, we'll fix that in a postprocessing step“
13:30 erle (i kinda doubt that works)
14:05 MTDiscord <luatic> sfan5: map of Lua table reference to ID in the stack
14:05 MTDiscord <luatic> There is no need for a postprocessing step?
14:05 sfan5 you need such a table in a packing step yes
14:06 sfan5 but this requires that you push all relevant tables first (and never pop them) or the indices will constantly change
14:06 MTDiscord <luatic> yes
14:07 MTDiscord <luatic> some kind of "preprocessing" step is required
14:07 sfan5 given that not many tables will be affected by this maybe keeping track of changing indices is not so bad
14:08 MTDiscord <luatic> https://github.com/minetest/minetest/pull/11427/files#diff-3da5b2efdbbbc5c47197b6f509cedd3b79a5ccf6487a7a75ef78a40a0c7155e6R85-R108 this step basically
14:38 tekakutli joined #minetest-dev
14:57 tekakutli joined #minetest-dev
14:57 MisterE[m] joined #minetest-dev
14:57 programmerjake joined #minetest-dev
14:57 paradust joined #minetest-dev
14:57 Krock joined #minetest-dev
15:02 sfan5 rubenwardy: the "PRs you've reviewed yourself" link is identical
15:07 rubenwardy updated
15:25 rubenwardy sfan5: I want to refactor  src/content/ and pkgmgr.lua to reduce redundancy, and make it easier to show information in the UI
15:27 rubenwardy to rephrase, this solves:   1) there's been lots of bugs where lua != C++    2) makes it easier to expose helpful information in the UI   3) reduces code
15:27 rubenwardy I suppose I should make a full issue about everything
15:28 rubenwardy one thing I'm exploring with now is splitting ModConfiguration from ServerModManager, and allowing the Select Mods dialog to use it to display mod cycles. Will also make testing easier
15:37 sfan5 I've never looked into src/content but that's probably useful
15:42 sfan5 speaking of content: have you looked at #12253 and #12244 yet
15:42 ShadowBot https://github.com/minetest/minetest/issues/12253 -- Fix enabling of dependencies with identical names by TurkeyMcMac
15:42 ShadowBot https://github.com/minetest/minetest/issues/12244 -- Fix nested modpacks and some other stuff by TurkeyMcMac
15:45 rubenwardy yeah, this is part of the reason I want to do this
15:46 rubenwardy those are on my review list though
15:50 erle oh, i think https://github.com/minetest/minetest/pull/12253 might actually solve the problem of the mnt reform mod depending on redstone?
15:51 fluxionary joined #minetest-dev
18:01 rubenwardy Is it possible to add a tooltip on a particular row/cell of a table[]?
18:02 MTDiscord <LandarVargan> I think by manually specifying the tooltip area
18:05 Guest17 joined #minetest-dev
18:29 MTDiscord <luatic> It definitely is possible without such hacks
18:37 Alias joined #minetest-dev
20:27 sfan5 @x2048 this is equivalent right? http://sprunge.us/I8gb4y?diff
20:28 sfan5 I noted this during review of 11696 and crossed it out again but I don't remember why
20:46 Cosmosis[m] Do you guys think it would be better to put the CSM interface in the 'All Settings' menu for right now?
20:47 MTDiscord <Jonathon> there is no csm interface because its experimental
20:48 MTDiscord <Jonathon> and its debatable if it will exist after sscsm
20:48 sfan5 well going by the discussion in #10039 (assuming you're referring to that) it's supposed to be somewhere a bit hidden
20:48 ShadowBot https://github.com/minetest/minetest/issues/10039 -- Add in client modding menu by oilboi
20:50 Cosmosis[m] yes I'm referring to that PR, I think having it in the settings menu would still be much better than what it is right now, but would avoid having a more experimental feature front and center in the Minetest interface.
20:58 erle Cosmosis[m] what do you mean with experimental?
20:59 Cosmosis[m] As people have stated previously the CSM API is still experimental
21:00 erle i mean, CSMs have been there for a while now, and they work well enough that several people have added additional APIs in their forks (this is not represnented on the forums because of the “no talk about anything that looks like cheating” rule)
21:00 MTDiscord <Jonathon> they still are experimental, which means not support/can have breaking changes
21:00 erle well, i think you should distinguish mechanism and policy. as a mechanism they work. the question if they should be advertised is entirely a policy question. this is not like shadows or so.
21:00 MTDiscord <Jonathon> same with hypertext
21:03 erle i doubt there is a need to convince me or anyone else of the danger that minetest might change APIs randomly, even if they have been the same for years.
21:04 erle also “enable the menu if CSMs are enabled in advanced settings” is not “putting it front and center” ig
21:06 sfan5 true
21:07 rubenwardy erle: "experimental" means that we do not guarantee backwards compatibility. We can break the API at any point
21:09 erle yes, you can. and it has not prevented peope from making CSMs. or server-side mods.
21:10 erle what i am saying is: i know quite a few people who expect that for basically any API once some dev takes a look at it. that it will incompatibly change, i mean. it does make people angry, but it does not discourage them from using it.
21:11 erle and from all the APIs i know, everything minetest is where people expect it the most that something might break, regardless of if it was declared as stable or not.
21:11 erle not because it happens so often btw
21:11 sfan5 how does that relate to adding a CSM menu?
21:12 Cosmosis[m] My point was having the option to enable CSM stuff inside the Advanced Settings menu
21:12 erle sfan5 well the argument is “oh no it is not stable, maybe people might put too much trust in it” right?
21:12 erle Cosmosis[m] you already have to go into some advanced menu to enable CSMs AFAIK
21:13 sfan5 whose argument? where? I have no idea what you are talking about
21:13 sfan5 wait I think I know what you mean, it's just put weirdly
21:13 sfan5 but I still don't see the point you're making
21:15 erle my point is: people are already using CSMs, have been since a while now
21:15 erle everyone who checks the “enable CSMs” box could have a slightly better experience
21:15 erle with that menu
21:15 erle i mean, the GUI to enable/disable CSMs
21:16 sfan5 I don't see anyone arguing we should not have this menu
21:16 erle i doubt anyone will be more enthusiastic about CSMs. the people who are already run minetest forks.
21:16 erle i thought the question was should it be default or not. maybe i should be silent and wait a bit what others say and then do some hot take (i.e. hot mistake) again.
21:22 sfan5 Cosmosis[m]: I think having the menu on the main screen is fine since you already have to go to advanced settings to enable CSM support
21:23 Taoki joined #minetest-dev
21:43 Cosmosis[m] I'll put the menu there and It will only show if you enable CSM in advanced settings
21:49 sfan5 if you serialize MapBlocks with disk=true in multiple threads at the same time there is a global static buffer that will mess it up
21:49 sfan5 LOL
21:50 behalebabo joined #minetest-dev
21:53 tekakutli joined #minetest-dev
22:06 rubenwardy merging trivial bug fix in 5: https://github.com/rubenwardy/minetest/commit/e0e897832c5acf29eef03cc4303c85a0a17f9983
22:06 rubenwardy sfan5 ^
22:09 sfan5 :+1:
22:09 rubenwardy I only tested uses CDB, which edits texture_pack.conf to add the title
22:10 rubenwardy turns out users don't always install stuff through CDB, weird
22:10 sfan5 I am not most users
22:15 Zughy[m] about #12223 : A is not a bug, B is a duplicate, C and D no idea. What to do?
22:15 ShadowBot https://github.com/minetest/minetest/issues/12223 -- arm issue, block placing issues
22:15 Zughy[m] also very bad title
22:30 YuGiOhJCJ joined #minetest-dev
22:34 panwolfram joined #minetest-dev
22:44 fluxionary joined #minetest-dev
23:00 Taoki joined #minetest-dev
23:09 AliasAlreadyTake joined #minetest-dev
23:28 CoolJar10 joined #minetest-dev
23:50 erle Zughy[m] D is an think not only on android, just FYI if you make it a separate issue. the thing is, it's safer that way, really.
23:51 erle because if you mess up settings so that the game crashes, you get a known-good state
23:51 erle i.e. „fixing“ it could make it so that you have to edit minetest.conf to get rid of the bad value

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