Time |
Nick |
Message |
01:19 |
|
v-rob joined #minetest-dev |
02:28 |
|
queria joined #minetest-dev |
02:33 |
|
queria joined #minetest-dev |
04:00 |
|
MTDiscord joined #minetest-dev |
04:20 |
|
Alias joined #minetest-dev |
06:00 |
|
fluxionary joined #minetest-dev |
06:23 |
|
olliy joined #minetest-dev |
08:06 |
|
hendursa1 joined #minetest-dev |
09:21 |
|
YuGiOhJCJ joined #minetest-dev |
09:27 |
|
tekakutli joined #minetest-dev |
09:28 |
|
specing joined #minetest-dev |
10:27 |
|
calcul0n__ joined #minetest-dev |
10:56 |
|
Fixer joined #minetest-dev |
11:12 |
|
macaw joined #minetest-dev |
13:11 |
|
erlehmann joined #minetest-dev |
13:20 |
|
calcul0n_ joined #minetest-dev |
13:51 |
|
appguru joined #minetest-dev |
14:31 |
MTDiscord |
<luatic> Even if you're not using to_table and from_table it's a lot. From what I have seen, there is no incremental updating, no database usage - it periodically rewrites the full JSON. I advise against the use of mod storage until it gets a proper database backend: Data loss up to a couple seconds is possible (no kind of logging), performance is poor (full writeout), support for Lua data types is poor as well (flat k/v store, JSON-based). |
14:57 |
sfan5 |
I'm pretty sure it replaces the file atomatically |
14:57 |
sfan5 |
so the first point is not valid |
15:51 |
|
Extex joined #minetest-dev |
16:22 |
MTDiscord |
<josiah_wi> https://github.com/minetest/minetest/pull/11682 |
16:58 |
sfan5 |
that seems interesting but what's the usecase? |
17:19 |
|
hendursaga joined #minetest-dev |
17:31 |
|
tekakutli joined #minetest-dev |
17:35 |
|
fluxionary joined #minetest-dev |
17:46 |
MTDiscord |
<josiah_wi> I wrote it because we thought the client/server desync could be an OpenSSL issue at first, and we didn't use it but I thought since I wrote it, it was worth offering to contribute it to the repo. |
17:51 |
MTDiscord |
<josiah_wi> Credit goes to ExeVirus for the idea. I take responsibility for using Python though haha. |
18:35 |
MTDiscord |
<exe_virus> I need to read mod storage code a bit better I guess, seems like we aren't sure |
18:42 |
|
ShadowBot` joined #minetest-dev |
19:08 |
|
asdflkj_sh joined #minetest-dev |
19:08 |
|
asdflkj_sh joined #minetest-dev |
19:15 |
|
hendursaga joined #minetest-dev |
19:21 |
erlehmann |
josiah_wi it says lubcurses-dev here, it should say libcurses-dev https://github.com/minetest/minetest/pull/11682/files |
19:25 |
MTDiscord |
<josiah_wi> Good catch. |
19:26 |
MTDiscord |
<josiah_wi> Someone suggested to me a much better way to do this so I may rewrite it. |
19:36 |
|
tekakutli joined #minetest-dev |
19:38 |
|
appguru joined #minetest-dev |
19:46 |
MTDiscord |
<luatic> sfan5: You misunderstood my first point, perhaps because I phrased it poorly. I was not saying it might die while writing the file - which would be pretty problematically. I'm saying that if you do :set_something on mod storage, and it completes, you're not guaranteed persistence of that change if the server dies during the next couple seconds. |
19:47 |
sfan5 |
true |
19:47 |
sfan5 |
but that applies to just about everything |
20:20 |
MTDiscord |
<Jordach> silly question but i'm trying to set the field of a table from c++ and getting back bizzare userdata |
20:24 |
MTDiscord |
<luatic> somebody doesn't know how a stack works |
20:25 |
MTDiscord |
<Jordach> look i remember partially how it works |
20:25 |
MTDiscord |
<luatic> /s |
20:25 |
MTDiscord |
<Jordach> i've worked with it before and had it work no issue |
20:27 |
erlehmann |
sfan5 luatic the server not persisting everything is a GOOD THING. there are a number of conditions where you can cause a crash and only that is preventing a crashloop. |
20:28 |
sfan5 |
that's great, we should add even more bugs to prevent more crashloops |
20:28 |
MTDiscord |
<luatic> erlehmann: I demand ACID. |
20:28 |
erlehmann |
what i mean is that if you persist a condition that causes a crash deterministically, you have a problem |
20:29 |
MTDiscord |
<luatic> In your mod's logic the problem resides, not in the D of ACID |
20:29 |
MTDiscord |
<luatic> ass |
20:29 |
erlehmann |
? |
20:29 |
MTDiscord |
<luatic> my bro is |
20:29 |
erlehmann |
typing instead of you? |
20:29 |
MTDiscord |
<luatic> yep |
20:29 |
MTDiscord |
<luatic> standing right besides me -_- |
20:29 |
MTDiscord |
<luatic> sorry |
20:32 |
Krock |
@Jordach get the table, push key, push value, settable(L, -3) then pop(L, 1) at the end |
20:33 |
Krock |
not too difficult I'd say |
20:33 |
MTDiscord |
<Jordach> i've already created a table similar to get_sky textures |
20:33 |
MTDiscord |
<Jordach> newtable(L); lua_rawseti().... |
20:33 |
MTDiscord |
<Jordach> and i want to name the field by the end of it |
20:33 |
|
Guest69 joined #minetest-dev |
20:34 |
Krock |
then rawseti might not be the best choice |
20:34 |
MTDiscord |
<Jordach> i'm just setting it based on a simple for loop |
20:34 |
Guest69 |
@erlehmann Sorry for choosing such an unacceptable word... |
20:35 |
erlehmann |
which word? |
20:35 |
Guest69 |
a@# |
20:35 |
MTDiscord |
<Jordach> Krock: https://gist.github.com/Jordach/7e05e7a61f5e1aafcf08cb01ad158ddc |
20:36 |
Dragoni |
Now, I am gonna go watch a movie with LMD... NOW LMD!!! |
20:37 |
erlehmann |
are you th prson apologizing for writing “ass”? if so, don't do it to me. i like ass! and as long as you don't go on everyone's nerves with it by doing it all the time, writing a single “bad word” is a lesser sin. |
20:37 |
Dragoni |
Heh, thanks |
20:37 |
erlehmann |
rather ask everyone else what they are thinking |
20:37 |
erlehmann |
oh |
20:37 |
erlehmann |
that leaving was premature |
20:37 |
erlehmann |
lol |
20:38 |
MTDiscord |
<luatic> He'll see it on Discord |
20:38 |
Krock |
@Jordach looks about right. you could even pre-allocate the table size using lua_createtable |
20:38 |
MTDiscord |
<Jordach> ah |
20:38 |
Krock |
keep in mind that C++ is 0 indexed |
20:38 |
MTDiscord |
<Jordach> explains a lot |
20:39 |
Krock |
you never access index 0 |
20:39 |
MTDiscord |
<Jordach> fortunately that table is indexed to 0-25 |
20:39 |
MTDiscord |
<Jordach> sky_color |
20:39 |
MTDiscord |
<Jordach> 25 is the 11pm/midnight blend |
20:39 |
Krock |
then why is your "i" starting at 1? |
20:39 |
MTDiscord |
<Jordach> and "doesn't" exist |
20:40 |
MTDiscord |
<Jordach> i've used the same index hack as what atmos did with it's time calculation |
20:41 |
erlehmann |
sfan5 luatic i should probably be more precise: it is possible for mods to detect specific arrangements of blocks and trigger crashing behaviour in bad mod code. if the server map is reset to a few seconds before the crash (as it happens now) then you do not have a crashloop. |
20:41 |
erlehmann |
like, think of the various “magic structures” where you arrange blocks in a specific way and some logic triggers once they are arranged right |
20:41 |
erlehmann |
this is usually done via abm, so ofc the interval could be set to long enough that persistence bugs are not going to help (but usually they are not) |
20:52 |
|
tekakutli joined #minetest-dev |
21:15 |
MTDiscord |
<Jordach> Krock excuse me i'm a tool |
21:15 |
MTDiscord |
<Jordach> i was dumping the whole thing |
21:16 |
Krock |
dumping - as in - discarding? |
21:19 |
MTDiscord |
<Jordach> OH SHIT |
21:20 |
MTDiscord |
<Jordach> nope i'm being dumb |
21:20 |
MTDiscord |
<Jordach> this cold is ruining my process |
21:25 |
|
specing joined #minetest-dev |
21:27 |
MTDiscord |
<Jordach> fixed it |
21:27 |
MTDiscord |
<Jordach> forgot to add two extra newtable instances |
21:33 |
MTDiscord |
<Jordach> it all works as expected now |
21:52 |
|
v-rob joined #minetest-dev |
22:22 |
|
v-rob joined #minetest-dev |
23:26 |
|
AliasAlreadyTake joined #minetest-dev |