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&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 |