Time |
Nick |
Message |
01:47 |
|
Jordach joined #minetest-dev |
01:47 |
|
Jordach joined #minetest-dev |
01:48 |
|
NakedFury joined #minetest-dev |
02:09 |
|
ssieb joined #minetest-dev |
03:09 |
|
NakedFury joined #minetest-dev |
05:28 |
sfan5 |
idea for /clearobject taking too long, eating all ram fix: /clearobjects only clears the loaded chunks, the unloaded ones will get an "clearobejcts=1" flag and the objects will be cleared once they are loaded |
05:29 |
VanessaE |
sounds fine to me |
05:29 |
VanessaE |
if anyone cares to actually code it |
05:30 |
kahrl |
it could even be done without loading all mapblocks to set a flag on them |
05:31 |
sfan5 |
yeah |
05:31 |
kahrl |
store a setting in the map metadata that stores when the clearobjects command was run the last time |
05:31 |
sfan5 |
BUT wouldn't that break the map format? |
05:31 |
kahrl |
map metadata is extensible |
05:31 |
sfan5 |
oh right, good |
05:32 |
kahrl |
and mapblocks already store the time they were saved |
05:35 |
|
VanessaE joined #minetest-dev |
05:38 |
kahrl |
hmm, map metadata is currently only used for mapgen stuff so it's tied into the EmergeManager |
05:39 |
kahrl |
but I guess env_meta would work |
05:39 |
VanessaE |
the problem isn't how long it takes, the problem is the fact that it doesn't take 10GB of RAM to store one mapblock (i.e. it should never have to keep more than one in memory, plus whatever's already loaded) |
05:42 |
kahrl |
the intent between /clearobjects may also have been to immediately reduce the size of the map on disk |
05:42 |
kahrl |
that's why it would immediately load and modify all blocks |
05:44 |
VanessaE |
perhaps |
05:49 |
celeron55 |
the intent of /clearobjects is to immediately get rid of all objects (many objects in random places can arise from bugs) |
05:49 |
celeron55 |
it should be just fixed so that it doesn't load everything into memory at the same time |
05:52 |
kahrl |
suggestion for an improved /clearobjects: http://paste.dy.fi/Ac3 |
05:55 |
kahrl |
/clearobjects -i would work as it does currently but ideally fixed as celeron55 said |
06:03 |
kahrl |
I haven't done stuff in map.cpp in a long time but I might try to add the unloading code for /clearobjects -i right now |
06:20 |
hmmmm |
hey guys |
06:20 |
hmmmm |
i think it's great somebody's doing something about clearobjects, |
06:20 |
hmmmm |
http://dev.minetest.net/TODO#Other |
06:20 |
hmmmm |
it was kind of on the todo list for quite a while |
06:21 |
hmmmm |
and yeah, env_meta is the best place to put that IMO |
06:22 |
VanessaE |
evening, hmmmm. |
06:25 |
celeron55 |
i don't agree at all with the at-load clearing of mapblocks |
06:25 |
celeron55 |
it's useless |
06:25 |
hmmmm |
useless?? |
06:25 |
celeron55 |
or what would people use it for? |
06:25 |
hmmmm |
it'd fix clearblocks |
06:25 |
celeron55 |
clearblocks? |
06:26 |
hmmmm |
clearobjects |
06:27 |
celeron55 |
not at least for it's original usage, not at all |
06:28 |
celeron55 |
if i would have had that kind of /clearobjects on the server flooded with DMs, it would have been completely useless |
06:35 |
kahrl |
that's why I won't just implement directly what sfan5 suggested |
06:35 |
kahrl |
sometimes clearing at-load is useless so I want to give users the option |
06:41 |
hmmmm |
oh, you're talking about that idea |
06:41 |
hmmmm |
i meant putting a limit on the number of mapblocks that can be loaded at once, and if it hits the limit, in order to load that new one it'd have to clear the oldest one or something |
06:50 |
|
ImQ009 joined #minetest-dev |
06:54 |
kahrl |
I'm not sure that would work well with clearobjects |
06:54 |
kahrl |
All the mapblocks that are newly loaded by clearobjects would be newer than the ones that were already loaded |
06:55 |
kahrl |
So after clearobjects all the "important" mapblocks (near players) would be unloaded |
06:55 |
hmmmm |
yeah, it would wipe out what was loaded already, you can easily make an exception for this if you'd like |
06:56 |
hmmmm |
you'd just have to add a new flag or something |
06:56 |
kahrl |
I think even just calling addRef/dropRef on the already loaded blocks at the beginning and end of clearobjects would do the trick |
06:57 |
hmmmm |
what are those? |
06:57 |
kahrl |
each mapblock has a reference count |
06:57 |
kahrl |
I think it's currently used for the draw list |
06:57 |
hmmmm |
they'd have to be unloaded immediately though |
06:58 |
kahrl |
yeah obviously just doing that wouldn't unload the rest of the mapblocks |
06:58 |
kahrl |
s/addRef/refGrab, s/dropRef/refDrop |
06:59 |
celeron55 |
hmm, so if there was a "clear objects in older blocks than <environment timestamp>" in env_meta.txt, it could simulate the result of a full /clearobjects |
07:26 |
|
proller joined #minetest-dev |
07:48 |
kahrl |
for the glob idea I just wrote a portable glob http://paste.dy.fi/8nB |
07:49 |
kahrl |
needs some testing but seems to work |
07:58 |
celeron55 |
or you could just directly pass it to lua's pattern matcher 8) |
07:58 |
kahrl |
hehe |
07:58 |
kahrl |
well programming this was fun anyway ;) |
07:58 |
celeron55 |
it supports a good portion of what regexes usually do |
09:10 |
|
Calinou joined #minetest-dev |
09:47 |
|
ImNotQ009 joined #minetest-dev |
10:00 |
|
Jordach joined #minetest-dev |
10:00 |
|
Jordach joined #minetest-dev |
10:12 |
|
rubenwardy joined #minetest-dev |
11:02 |
|
Calinou joined #minetest-dev |
11:13 |
|
proller joined #minetest-dev |
11:35 |
|
PilzAdam joined #minetest-dev |
11:42 |
|
ImNotQ009 joined #minetest-dev |
12:07 |
PilzAdam |
celeron55, if someone throws a massive amount of items out of his inventory then he would like to run a /clearobjects for the active area |
12:11 |
Calinou |
or add a /clearinventory |
12:11 |
Calinou |
better |
12:11 |
Jordach |
isnt there a mod for that |
12:12 |
PilzAdam |
and what happens if I call add_entity() in an unloaded mapblock after its marked to be cleared? will it be removed too when its activated? |
12:12 |
Jordach |
or even, have a clear all slot which clears all of the item in that slot and in the inv |
12:12 |
Jordach |
so i could put default:cobble and it clears all the cobble |
12:29 |
sfan5 |
PilzAdam: add_entity doesn't load an unloaded mapblock, so there will be no entity added |
12:35 |
thexyz |
or /pulverize |
12:35 |
thexyz |
wait, i'm a bit slow |
12:37 |
sfan5 |
"a bit" |
12:56 |
sfan5 |
has anyone seen erlehmann this/last year |
12:58 |
PilzAdam |
yes |
13:05 |
|
troller joined #minetest-dev |
13:32 |
rubenwardy |
!seen erlehmann |
13:33 |
sfan5 |
rubenwardy: minetestbot is not in here |
13:33 |
sfan5 |
<MinetestBot> sfan5: Sorry, I haven't seen erlehmann around. |
13:33 |
rubenwardy |
hmm |
13:43 |
|
proller joined #minetest-dev |
13:50 |
Jordach |
hes logged in |
14:18 |
|
PilzAdam joined #minetest-dev |
14:34 |
|
Anchakor_ joined #minetest-dev |
15:04 |
|
Calinou joined #minetest-dev |
15:04 |
|
ImNotQ009 joined #minetest-dev |
15:31 |
|
hmmmm joined #minetest-dev |
15:47 |
|
dexter0 joined #minetest-dev |
16:11 |
|
iqualfragile joined #minetest-dev |
16:16 |
|
dexter0 joined #minetest-dev |
16:23 |
|
serengeor joined #minetest-dev |
17:24 |
|
jin_xi joined #minetest-dev |
17:37 |
|
sapier joined #minetest-dev |
17:41 |
sapier |
how would incremental clearobjects behave if a new object moves from a marked block? |
17:41 |
sfan5 |
I guess it wouldn't clear the object then |
17:42 |
sapier |
but the block is still marked as toclear? |
17:42 |
sfan5 |
But while /clearobjects is running there should be no env steps |
17:42 |
sapier |
with incremental there would |
17:43 |
sfan5 |
the MapBlock would remain flagges as toclear |
17:43 |
sfan5 |
*flagged |
17:44 |
sapier |
thus the new object will be removed once this block is loaded? |
17:47 |
sfan5 |
if it moves to a block that was already cleared, no |
17:48 |
sapier |
that's not what I was asking ;-) |
17:48 |
sfan5 |
oh.. |
17:48 |
sfan5 |
it won't be cleared then |
17:49 |
sfan5 |
(if it moved to a block that is not marked) |
17:49 |
sfan5 |
*moves |
17:49 |
sapier |
I don't think so .. I guess it will be cleared although it was created after clearobjects has been called |
17:49 |
sfan5 |
the toclear flag is intended for unloaded blocks anyway |
17:50 |
sapier |
yes that's exactly what I'm talking about |
17:50 |
sapier |
a mob for example can walk from an loaded to an unloaded block beeing unloaded at that moment |
17:50 |
sapier |
if that block was marked toclear the mob will be deleted once the block is loaded |
17:51 |
sfan5 |
yeah |
17:51 |
sapier |
unless the block is loaded to store the mob ... not quite best thing but I'd not be surprised if minetest did handle it that way |
18:25 |
sapier |
https://github.com/minetest/minetest/pull/724 squashed again ... hope it's good to merge now |
18:46 |
|
sweetbomber joined #minetest-dev |
18:46 |
sweetbomber |
hello |
18:47 |
sweetbomber |
i have discovered minetest project a few days ago, and i am willing to collaborate |
18:49 |
sapier |
http://dev.minetest.net/TODO |
18:50 |
PilzAdam |
https://github.com/minetest/minetest/issues?labels=bug&page=1&state=open |
18:51 |
sweetbomber |
how can i actively collaborate? I have decent programming skills but i can also improve (G)UI and textures |
18:51 |
PilzAdam |
code a new features/fix something and then open a pull request |
18:51 |
PilzAdam |
put I recommend talking about what you want to do first here |
18:51 |
sapier |
do you know forum already? have a look whats going on there |
18:52 |
sapier |
https://github.com/minetest/minetest/issues/346 I guess this one is to be closed atm isn't it? |
18:53 |
sweetbomber |
ill take a look in the forum. the pull requests are made on git or somewhere else? |
18:53 |
PilzAdam |
on github |
19:17 |
|
sweetbomber joined #minetest-dev |
19:52 |
|
Guest57660 joined #minetest-dev |
20:03 |
|
proller joined #minetest-dev |
20:07 |
|
ssieb joined #minetest-dev |
20:15 |
|
proller joined #minetest-dev |
20:41 |
|
troller joined #minetest-dev |
21:03 |
troller |
after server crash i have env_meta.txt with 0 size |
21:03 |
troller |
and Automatically selecting world at [/home/proller/.minetest/worlds/world] |
21:03 |
troller |
terminate called after throwing an instance of 'SerializationError' |
21:03 |
troller |
Abort trap: 6 (core dumped) |
21:05 |
celeron55 |
known bug (happens randomly at crashes); just insert something valid in there like this: http://paste.dy.fi/i8U/plain |
21:06 |
troller |
yes, but something else stops... |
21:07 |
troller |
wooow |
21:07 |
troller |
world/players |
21:07 |
troller |
all files 0 size |
21:08 |
troller |
0 bytes in 1736 files |
21:08 |
troller |
its because they saves every minute or faster |
21:08 |
celeron55 |
ouch 8) |
21:09 |
troller |
started after deleting |
21:10 |
celeron55 |
i'm surprised nobody has fixed the file saving things |
21:10 |
troller |
nobody knows 8) |
21:10 |
celeron55 |
people do all kinds of useless stuff but never touch those |
21:10 |
celeron55 |
all that would need to be done is saving to a temporary file and then moving them with filesystem commands in place |
21:10 |
troller |
i now no time to it |
21:11 |
troller |
have no |
21:11 |
sapier |
lol :-) I didn't even know about that bug |
21:11 |
troller |
simpler save only on change |
21:12 |
celeron55 |
troller: it doesn't fix it, just makes problems more rare |
21:12 |
troller |
on powerloss can lost only last users |
21:12 |
celeron55 |
but it'd need to be done too (for players, that is) |
21:12 |
troller |
move can loss too |
21:12 |
celeron55 |
when MT crashes, it can't |
21:13 |
sapier |
solutions not solving a problem entirely aren't worth the work ... at least if there IS a solution solving the issue |
21:13 |
celeron55 |
if you crash your whole computer, nobody can save you anyway so why even mention it |
21:13 |
|
emptty joined #minetest-dev |
21:13 |
celeron55 |
(except that a proper journaling filesystem *will* save you) |
21:14 |
celeron55 |
(as long as it's done in the move way) |
21:14 |
troller |
tunefs: gjournal: (-J) disabled 8( |
21:21 |
|
jin_xi joined #minetest-dev |
22:49 |
|
sapier left #minetest-dev |