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 01:15 MTDiscord 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: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&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 erle Cosmosis[m] maybe as a first step you can resurrect this? https://github.com/minetest/minetest/pull/10039 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 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: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 Why is there both game/async.lua and async/game.lua loöl 10:58 MTDiscord 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 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 deserialize basically only uses literals, table constructor expressions and assignments 10:59 MTDiscord (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 it's not specific to xban 11:03 MTDiscord it is now triggering crashes in MT because the async env uses the serializer 11:04 MTDiscord 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 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 hmmm 11:08 MTDiscord why can't the engine table handle recursion? 11:08 MTDiscord engine packer* 11:10 MTDiscord I'd rather attempt to fix the engine packer 11:10 MTDiscord 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 looks like the precision issue in Bluon is gone 12:11 erle luatic, gone as in “mysteriously disappeared” or in “fixed”? 12:11 MTDiscord There is a commit that presumably fixed it 12:11 MTDiscord Yet there is a comment that claims that it was still there 12:11 MTDiscord 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 anyways https://github.com/appgurueu/modlib/commit/ead91a1e5d041f88224900c2c65de4bafbab47b9 12:15 MTDiscord sfan5: If you're looking for a hot fix, swap out MT's serializer with Bluon ;) 12:27 MTDiscord 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 sfan5: map of Lua table reference to ID in the stack 14:05 MTDiscord 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 yes 14:07 MTDiscord 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 https://github.com/minetest/minetest/pull/11427/files#diff-3da5b2efdbbbc5c47197b6f509cedd3b79a5ccf6487a7a75ef78a40a0c7155e6R85-R108 this step basically 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? 18:01 rubenwardy Is it possible to add a tooltip on a particular row/cell of a table[]? 18:02 MTDiscord I think by manually specifying the tooltip area 18:29 MTDiscord It definitely is possible without such hacks 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 there is no csm interface because its experimental 20:48 MTDiscord 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 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 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: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 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 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