Time |
Nick |
Message |
00:11 |
|
Dr_Frankenstone joined #minetest |
00:26 |
|
erstazi joined #minetest |
00:27 |
tuedel |
i keep seeing a lot of these messages lately on our server (0.4.17) |
00:27 |
tuedel |
ServerEnv: Trying to store id = 0 statically but block (0,35,0) already contains 2070 objects. |
00:28 |
tuedel |
how can i print the objects inside that mapblock to see what's going on? |
00:29 |
paramat |
maybe go to the block to see what's going on? multiply those block coords by 16 to get the node coords |
00:32 |
paramat |
if there is an excess of objects in a mapblock MT can't store them all in the database and prints that message |
00:52 |
|
Dr-Frankenstone joined #minetest |
00:57 |
|
argyle77 joined #minetest |
01:06 |
|
Player-2 joined #minetest |
01:14 |
GreenDimond |
cheapie, what happened with colored box and unified dyes? |
01:23 |
cheapie |
GreenDimond: What do you mean by "colored box"? I have a few mods that fit that description. |
01:23 |
GreenDimond |
er |
01:23 |
GreenDimond |
plastic box |
01:24 |
GreenDimond |
my brain isnt functioning today |
01:24 |
cheapie |
And what's the problem with it? |
01:24 |
GreenDimond |
cut boxes cant be dyed |
01:24 |
cheapie |
That's always been the case, AFAIK. |
01:25 |
GreenDimond |
But why? |
01:25 |
GreenDimond |
The normal node can be dyed, the cut nodes just need a param2 value as well |
01:25 |
cheapie |
Because sharing param2 between facedir and color, while possible, is a massive pain in the butt. |
01:50 |
|
Dr_Frankenstone joined #minetest |
02:08 |
|
piesquared joined #minetest |
02:10 |
VanessaE |
GreenDimond: because she's too lazy to make it use the split palettes ;) |
02:50 |
|
Dr-Frankenstone joined #minetest |
03:26 |
|
erstazi joined #minetest |
03:31 |
|
Dr_Frankenstone joined #minetest |
03:35 |
|
milkt joined #minetest |
03:44 |
|
Dr-Frankenstone joined #minetest |
03:44 |
MinetestBot |
[git] ClobberXD -> minetest/minetest: README: Remove references to Minecraft and InfiniMiner (#8260) ed78499 https://git.io/fhArX (2019-03-02T03:44:35Z) |
03:48 |
|
DI3HARD139 joined #minetest |
03:50 |
|
Dr_Frankenstone joined #minetest |
04:10 |
|
RichardTheTurd joined #minetest |
04:44 |
|
Dr-Frankenstone joined #minetest |
04:49 |
|
Cornelia joined #minetest |
04:50 |
|
Dr_Frankenstone joined #minetest |
05:13 |
|
Dr-Frankenstone joined #minetest |
05:15 |
|
DrFrankenstone joined #minetest |
05:19 |
|
Dr_Frankenstone joined #minetest |
05:21 |
|
Dr-Frankenstone joined #minetest |
05:32 |
|
Dr_Frankenstone joined #minetest |
05:35 |
|
DrFrankenstone joined #minetest |
05:44 |
|
tuedel_ joined #minetest |
05:45 |
|
Dr_Frankenstone joined #minetest |
05:47 |
|
Ruslan1 joined #minetest |
05:49 |
|
tuedel joined #minetest |
05:51 |
|
Dr-Frankenstone joined #minetest |
06:22 |
|
lumberJ joined #minetest |
06:30 |
|
twoelk left #minetest |
06:58 |
|
proller joined #minetest |
07:01 |
|
est31 joined #minetest |
07:02 |
|
milkt joined #minetest |
07:19 |
rodskagg |
i have just been experimenting with deleteblocks. |
07:19 |
rodskagg |
originally i thought it would delete blocks, leaving air, but it didn't do that. |
07:19 |
rodskagg |
at first i thought it wasn't working. |
07:20 |
rodskagg |
later, i dug some holes and made a building. then used deleteblocks nearby. |
07:20 |
rodskagg |
i was surprised to noticed my hole and house were gone. |
07:20 |
rodskagg |
everything had returned to the way it had been originally. |
07:21 |
lumberJ |
rodskagg: you deleted map blocks no nodes |
07:21 |
rodskagg |
lumberJ: it filled in holes too. |
07:21 |
lumberJ |
meaning you basically reverted that block of the map back to its original state |
07:22 |
rodskagg |
lumberJ: so the original untouched map data is always there? and everything that people add or subtract is recorded separately? |
07:22 |
rodskagg |
deleteblocks basically removes new stuff. showing the orginal map? |
07:23 |
lumberJ |
not sure exactly how it works, but i'm guessing it refers back to the mapseed and the way in which the orginal map is generated |
07:23 |
lumberJ |
and regenerates that block as such |
07:23 |
rodskagg |
ooooh. |
07:23 |
rodskagg |
yeah, that would make sense. |
07:24 |
rodskagg |
so deleteblocks just recalculates a certain area again. |
07:24 |
rodskagg |
that is so cool. |
07:24 |
lumberJ |
yeah, its come in handy for me, but as you have seen its potentially destructive |
07:24 |
rodskagg |
if you have a map and someone makes an ugly mess, you just fly in, deleteblocks the area and that part of the map is regenerated. |
07:25 |
rodskagg |
lumberJ: luckily i have .minetest under revision control. i'll just roll back. :) |
07:25 |
lumberJ |
yes, a lot quicker than trying to clean everything up as long as nothing else is nearby you are worried about |
07:25 |
rodskagg |
lumberJ: what a fantastic tool. |
07:26 |
rodskagg |
without that maps would get old and messy. |
07:26 |
rodskagg |
but with deleteblocks you are free to regenerate as many times as you want. |
07:26 |
rodskagg |
i love it. :D |
07:29 |
lumberJ |
worldedit is powerful stuff |
07:30 |
rodskagg |
i wish minetest had a console where you could import text files of commands, like i used to in autocad. :) |
07:31 |
rodskagg |
minetest uses lua scripts, is that correct? |
07:31 |
lumberJ |
yes |
07:31 |
lumberJ |
worldedit takes lua commands |
07:31 |
|
CWz joined #minetest |
07:32 |
rodskagg |
can they be ran from the command line in minetest? |
07:32 |
rodskagg |
/exec buildstuff.lua |
07:32 |
cheapie |
rodskagg: //lua dofile("/path/to/whatever.lua") |
07:33 |
rodskagg |
cheapie: thank you so much. i will have fun with this. :) |
07:33 |
lumberJ |
keep those backups safe ;) |
07:33 |
cheapie |
They might need to be in the world directory to stop mod security from throwing a fit. Dunno for sure. |
07:34 |
lumberJ |
yeah, was going to say, i think world edit puts some restrictions on the scripts you run, but you should be able to do most things you would actually have a valid use case for |
07:34 |
rodskagg |
cool. |
07:34 |
cheapie |
lumberJ: The restrictions come from MT itself, via mod security. |
07:35 |
cheapie |
Of course, you can always turn mod security off... |
07:35 |
rodskagg |
i want to help my nephew get into coding. this would be perfect. |
07:35 |
lumberJ |
was thinking there were some additional protections built in but i could be confusing it with another mod |
07:35 |
rodskagg |
we need to work on python, because it's what he is studying at school. we could write python scripts that generate lua. |
07:36 |
lumberJ |
its been a while since i've really looked at it |
07:36 |
cheapie |
Nah, as long as you have the server and worldedit privs, //lua will let you run anything you want. |
07:36 |
|
SanskritFritz joined #minetest |
07:36 |
rodskagg |
python script > lua script > minetest |
07:36 |
lumberJ |
cool |
07:36 |
cheapie |
rodskagg: That sounds... not real fun :P |
07:36 |
lumberJ |
python has a lot more overhead than lua |
07:36 |
lumberJ |
don't see that getting official support |
07:37 |
|
kaeza joined #minetest |
07:37 |
rodskagg |
cheapie: my nephew has minecraft on a raspberry kano and is already automating stuff that way. |
07:37 |
lumberJ |
but nothing to stop you from generating mods that way if you want :) |
07:37 |
cheapie |
Well, good luck :P |
07:37 |
lumberJ |
probably be a lot easier to just learn lua though |
07:37 |
rodskagg |
cheapie: if i teach him python scripts that make stuff happen in minetest he would love that. |
07:38 |
lumberJ |
why not teach him lua scripts instead? |
07:38 |
cheapie |
FWIW, this is the sort of stuff mods can do if you completely disable mod security *and* some of your OS's security :P https://www.youtube.com/watch?v=jf_ZC346lEM |
07:38 |
rodskagg |
because he needs python for school. |
07:38 |
cheapie |
(turn your volume up, my phone microphone sucks) |
07:38 |
rodskagg |
i am looking at good visual feedback for python coding. |
07:39 |
rodskagg |
to make it easier for him. |
07:39 |
rodskagg |
metacoding lua with python ticks all the boxes. |
07:39 |
rodskagg |
he'll obviously pick up a bit of lua as we go along. |
07:39 |
rodskagg |
but python is the objective. |
07:41 |
lumberJ |
i see |
07:42 |
rodskagg |
cheapie: o_O |
07:45 |
|
Dr_Frankenstone joined #minetest |
07:45 |
rodskagg |
it will be so nice to get my nephew from using proprietary minecraft to open source minetest. he is super into the computer club at his school and if i can get him doing cool stuff in minetest then he will get his classmates using it too. :) |
07:51 |
lumberJ |
that'd be good. just introduce him to some good mods to get started with |
07:52 |
lumberJ |
if they are comparing minecraft to a vanilla mt_game they may be underwhelmed |
07:53 |
lumberJ |
at least that was my experience teaching kids using mt |
07:55 |
rodskagg |
lumberJ: i like how minetest has stayed minimal, as a blank canvas for mods to run on. it is a good model. |
07:55 |
lumberJ |
i do too personally, but little kids don't understand that |
07:55 |
rodskagg |
i will experiment with some mods before i introduce him. make sure it is fun. :) |
07:56 |
rodskagg |
then teach him how to install and run mods himself. :) |
07:57 |
|
Krock joined #minetest |
07:57 |
lumberJ |
yep good stuff |
07:57 |
rodskagg |
:) |
07:57 |
lumberJ |
just keep an eye out for f-bombs in the license info |
07:57 |
rodskagg |
will do. |
07:57 |
lumberJ |
might be tricky in the school environment |
07:57 |
GreenDimond |
(WTFPL) |
07:58 |
lumberJ |
while i get the sentiment of the license its a bit unfortunate for application in what is otherwise a pretty useful educational tool |
07:58 |
Krock |
o/ |
07:58 |
GreenDimond |
\o |
07:59 |
lumberJ |
howdy Krock, GreenDimond |
07:59 |
rodskagg |
lumberJ: yeah, i think i will just say it is open source and not mention the license. :) |
07:59 |
lumberJ |
yeah, the kids have a way of digging around in the mod files and finding the license though |
08:00 |
lumberJ |
just something to look out for |
08:00 |
lumberJ |
i think that license is not in the actual game or default game mods anymore but i might be mistaken |
08:00 |
lumberJ |
but its around in the community mods fairly commonly |
08:08 |
|
ulamthelucky_ joined #minetest |
08:14 |
rodskagg |
noted. thanks. |
08:53 |
|
Dr-Frankenstone joined #minetest |
08:56 |
|
DrFrankenstone joined #minetest |
09:13 |
rodskagg |
minetest.set_node({ x = 1, y = 3, z = 4 }, { name = "default:mese" }) |
09:13 |
Krock |
valid code |
09:13 |
rodskagg |
so simple. |
09:25 |
|
p_gimeno joined #minetest |
09:27 |
rodskagg |
with open (lua_script, 'w') as output: output.write("minetest.set_node({{ x = {:d}, x = {:d}, z = {:d} }}, {{ name = \"{:s}\" }})".format(x,y,z,name)) |
09:27 |
rodskagg |
python that prints lua. :) |
09:27 |
rodskagg |
sorted. |
09:28 |
|
est31 joined #minetest |
09:29 |
|
sec^nd joined #minetest |
09:30 |
|
Fusl joined #minetest |
09:32 |
Krock |
rodskagg: just wondering - what's the final plan? Self-modifying code? |
09:32 |
rodskagg |
//lua dofile("/home/minetest/teset.lua") |
09:32 |
rodskagg |
that gives an error. |
09:33 |
|
milkt joined #minetest |
09:33 |
rodskagg |
-!- Invalid command: lua |
09:34 |
rodskagg |
Krock: simple stuff like showing him python for loops. the for loops stuff in minetest, he gets visual feedback. |
09:34 |
rodskagg |
do i need to isntall lua for this to work? |
09:34 |
rodskagg |
*install |
09:36 |
p_gimeno |
maybe you need to update worldedit? |
09:37 |
Krock |
enable worldedit_chatcommands |
09:39 |
|
jluc joined #minetest |
09:40 |
rodskagg |
grep worldedit minetest.conf |
09:41 |
rodskagg |
/enable worldedit_chatcommands |
09:41 |
rodskagg |
not seeing that in minetest.conf or as a command. |
09:43 |
rodskagg |
Krock: how do i do that? |
09:44 |
rodskagg |
Krock: i'm running basic minetest, no mods. |
09:47 |
Krock |
!mod worldedit |
09:47 |
MinetestBot |
Krock: WorldEdit [worldedit] by sfan5 - https://forum.minetest.net/viewtopic.php?t=572 |
09:47 |
Krock |
!wiki Installing Mods |
09:47 |
MinetestBot |
"Mods on the Mod Releases forum and the ContentDB are verified to be safe by the community." - http://wiki.minetest.net/Installing_Mods |
09:47 |
Krock |
You'll need to install worldedit in order to use that command |
09:48 |
Krock |
double slash (//) indicates that it's a worldedit command. I don't know about another mod which uses that notation |
09:48 |
rodskagg |
ah, thanks Krock. :) |
09:48 |
Krock |
np. If you're running into problems/questions, don't hesitate to ask :D |
09:49 |
rodskagg |
much appreciated. :) |
09:54 |
|
Lymkwi joined #minetest |
09:56 |
MinetestBot |
[git] adrido -> minetest/minetest: Don't include and link to gettext if gettext is not found (#8305) ad0f208 https://git.io/fhAid (2019-03-02T09:56:01Z) |
10:02 |
rodskagg |
$ ls ~/.minetest/mods |
10:02 |
rodskagg |
Minetest-WorldEdit |
10:03 |
rodskagg |
so i've cloned the worldedit git repo to the right place. |
10:03 |
rodskagg |
how to i start the server running that mod? |
10:03 |
rodskagg |
not seeing any --mod options. |
10:09 |
rodskagg |
ah, world.mt! |
10:09 |
Krock |
yeah. or use the GUI to configure it (if there's a graphical backend) |
10:11 |
rodskagg |
ok. //lua works now. :) |
10:11 |
Krock |
!next |
10:11 |
MinetestBot |
Another satisfied customer. Next! |
10:11 |
rodskagg |
:) |
10:12 |
rodskagg |
i got a blocked attempted read error for dofile. do i need to put my lua file in .minetest? |
10:15 |
|
proller joined #minetest |
10:17 |
lumberJ |
probably needs to be in a loaded mod or your world folder rodskagg, otherwise you will have mod security issues |
10:17 |
rodskagg |
makes sense |
10:18 |
lumberJ |
you can request an insecure environment to act outside of those areas, but probably not worth the hassle unless their is pressing reason to access files elsewhere |
10:21 |
|
kaeza joined #minetest |
10:21 |
rodskagg |
yep. works now. |
10:21 |
rodskagg |
thanks again. :) |
10:21 |
lumberJ |
no problem |
10:24 |
|
Beton joined #minetest |
10:26 |
rodskagg |
ok, the script is running, but i'm getting "not allowing to place content_ignore while trying to replace "default:dirt" at (0,100,0)(block 0,6,0) |
10:27 |
lumberJ |
check for typeo in the itemstring you are trying to place |
10:27 |
rodskagg |
minetest.set_node({ x = 0, y = 100, z = 0 }, { name = "default:goldbrick" }) |
10:27 |
lumberJ |
and that its a valid registered node |
10:27 |
rodskagg |
ah |
10:29 |
rodskagg |
default:dirt worked. |
10:29 |
rodskagg |
i have a column of dirt in minetest! :D |
10:29 |
rodskagg |
woo |
10:29 |
lumberJ |
yeah, there isn't a goldbrick |
10:29 |
lumberJ |
there is a goldblock though |
10:29 |
rodskagg |
ah. |
10:29 |
rodskagg |
sweet. i now have all the tools i need. |
10:30 |
lumberJ |
excellent |
10:30 |
rodskagg |
just need to get it all documented and do it again. |
10:30 |
rodskagg |
huge thanks to everyone. you have been amazing. :) |
10:30 |
lumberJ |
anytime. there's usually a few folks around |
10:31 |
rodskagg |
:) |
10:33 |
Krock |
if you're using 5.0.0-dev, then you can enable the itemname tooltip setting so that you can see the name of each item stack as soon you hover over them |
10:33 |
Krock |
it's also shown when you select a recipe in unified_inventory |
10:34 |
Krock |
after all, for most of the vanilla-provided nodes you can find the list here: https://github.com/minetest/minetest_game/blob/master/mods/default/nodes.lua |
10:48 |
|
sec^nd joined #minetest |
10:52 |
|
FreeFull joined #minetest |
11:03 |
rodskagg |
thanks Krock |
11:19 |
Krock |
np |
11:24 |
|
Fixer joined #minetest |
11:59 |
|
calcul0n joined #minetest |
12:00 |
|
nowhereman joined #minetest |
12:27 |
|
est31 joined #minetest |
13:11 |
tuedel |
i'm still looking for a way to list the objects stored inside a specific mapblock |
13:11 |
tuedel |
i've been seeing a lot of these messages lately: ServerEnv: Trying to store id = 0 statically but block (0,35,0) already contains 2215 objects. |
13:12 |
tuedel |
at these (mapblock) coordinates i've been trying to build a spaceship using https://github.com/thomasrudin-mt/jumpdrive |
13:13 |
tuedel |
so i'm suspecting some entities are getting duplicated while jumping back and forth |
13:15 |
tuedel |
gdb is already attached, i'm just not sure where to look |
13:18 |
Krock |
it's a mod issue |
13:19 |
Krock |
it spawns too many entities. use minetest.get_objects_in_range (or similar) to get a list of them |
13:25 |
VanessaE |
Krock: no, it's an engine issue, too |
13:26 |
VanessaE |
2215 is WAY WAY more than the engine should have been able to store -- notice it "already contains", not "wants to store" or so. |
13:26 |
VanessaE |
default is what, 49? |
13:26 |
VanessaE |
even my servers cap out at 500 per. |
13:26 |
VanessaE |
if the engine allows more than the configured max, it's a bug in the engine. |
13:26 |
VanessaE |
whether or not a mod is trying to add too many |
13:27 |
VanessaE |
which is also a mod bug |
13:27 |
Krock |
VanessaE: that means there were many entities generated within a short period of time |
13:27 |
Krock |
mod bug |
13:27 |
Krock |
it allows more because it might be temporary |
13:28 |
VanessaE |
Krock: but the engine successfully stored more than the configured max.. what's the point of having a max if a mod is allowed to disregard it? |
13:28 |
tuedel |
i've upped max_objects_per_block due to massive pipeworks constructions |
13:28 |
VanessaE |
Krock: remember, these stored entities are persistent across reboots |
13:28 |
Krock |
huh? it doesn't store them |
13:28 |
VanessaE |
yes it does. |
13:28 |
Krock |
bug |
13:29 |
VanessaE |
tuedel: afaik pipeworks no longer uses static/stored entities |
13:29 |
tuedel |
at that point max_objects_per_block was set to 2048 |
13:29 |
VanessaE |
however, I know the LCD in digilines mod had an entity leaking problem |
13:29 |
VanessaE |
maybe that's the source of your issue |
13:30 |
VanessaE |
(pretty sure the leak has since been fixed, I think by GreenDimond) |
13:30 |
tuedel |
VanessaE: i'm also using display_api from display_modpack, it could be either of those |
13:30 |
tuedel |
fixed inside the engine or the mod? |
13:30 |
VanessaE |
in the mod. |
13:31 |
tuedel |
so an upgrade to 5.0-dev probably won't magically fix everything? :) |
13:31 |
VanessaE |
no. |
13:32 |
VanessaE |
afaik 5.0.0 hasn't much effect on entities. |
13:32 |
VanessaE |
update all of your mods from their upstream repos |
13:32 |
VanessaE |
(make sure you get them right) |
13:32 |
VanessaE |
I dunno about display_modpack though; LCD's problem was that it would re-create its text entity every time it's updated, even if the mapblock containing the LCD isn't loaded yet, and then the engine would reload the stored entit[y|ies] as well, leading to a leak. |
13:32 |
VanessaE |
isn't fully-loaded yet* |
13:33 |
VanessaE |
LBMs would trigger as soon as the mapblock terrain data is loaded, but before the entities stored there have been loaded |
13:35 |
VanessaE |
Krock: can you tell I've been around the block a few times regarding tuedel's "already contains" messages? :) |
13:36 |
Krock |
huh, what's your question? |
13:36 |
tuedel |
for digilines i'm currently using https://github.com/12Me21/digilines after running into issues with duplicate messages |
13:37 |
VanessaE |
tuedel: now all of that said, 5.0.0 does seem to work okay now, in general |
13:37 |
VanessaE |
Krock: ? I have no question. |
13:37 |
VanessaE |
tuedel: that's not the upstread digilines...... |
13:37 |
VanessaE |
upstream* |
13:38 |
Krock |
well, there's a question mark |
13:38 |
VanessaE |
Krock: oh. that was a rhetorical question; the implied answer is "yes". :) |
13:38 |
tuedel |
yes, i'm aware of that. switching back to upstream would break my build because of the duplicate messages |
13:39 |
Krock |
ah, because I didn't get what you meant there lol |
13:40 |
tuedel |
does digilines/mesecons_luacontroller use objects to handle events? |
13:40 |
VanessaE |
idk, tuedel. |
13:43 |
|
argyle77 joined #minetest |
13:44 |
tuedel |
but back to my original question. if try to use get_objects_inside_radius to find the objects causing this, it returns a lot of userdata objects which can't be serialized using minetest.serialize() |
13:45 |
tuedel |
i can call object:get_luaentity() for each, but many of them don't seem to have names |
13:46 |
tuedel |
so i'm looking for a way to print as much information as possible |
13:46 |
Krock |
get_luaentity().name or something like that |
13:46 |
Krock |
dump() should now also print userdata (as of 5.0.0-dev) |
13:47 |
sfan5 |
tuedel: in case you haven't figured stuff out yet: |
13:47 |
tuedel |
yes, it's nil for many objects |
13:47 |
sfan5 |
https://gist.github.com/sfan5/52917a0e1338bcda2176edbc416dae60 can read mapblock data and display entities contained |
13:47 |
sfan5 |
there's even a script that does so for the N largest mapblocks in your db |
13:47 |
sfan5 |
but you can just feed it data from a specific position |
13:48 |
tuedel |
sfan5: awesome, this seems to be exactly what i'm looking for |
13:49 |
tuedel |
i'll give it a try |
14:09 |
|
milkt joined #minetest |
14:12 |
|
CWz_ joined #minetest |
14:34 |
|
riff-IRC joined #minetest |
14:58 |
|
LMD joined #minetest |
15:08 |
|
turtleman joined #minetest |
15:15 |
|
cyberarm joined #minetest |
15:16 |
|
Foz joined #minetest |
15:20 |
|
Krock joined #minetest |
15:38 |
tuedel |
ok, looks like i've found the culprits |
15:39 |
tuedel |
digidisplay and digiterms (the latter is using display_api) seem to have created lots of duplicates for their text entities |
15:42 |
tuedel |
also mods_redo seems to be out of control, i'm currently counting a total of 4628 mobs_mr_goat:goat stored inside the ~200 biggest mapblocks |
15:42 |
tuedel |
so many goats |
15:57 |
tuedel |
Krock, VanessaE, sfan5: thanks a lot for your help! |
15:57 |
Krock |
!next |
15:57 |
MinetestBot |
Another satisfied customer. Next! |
15:57 |
tuedel |
:) |
16:06 |
|
argyle77 joined #minetest |
16:11 |
tuedel |
does the /clearobjects chat command only delete objects from loaded mapblocks? |
16:11 |
|
MindUser0_0 joined #minetest |
16:11 |
|
MindUser0_0 joined #minetest |
16:13 |
tuedel |
after i executed '/clearobjects full', text entities are gone but mobs are still present in the db |
16:45 |
|
Hawk777 joined #minetest |
17:35 |
|
kuldeep joined #minetest |
17:36 |
|
Cornelia joined #minetest |
17:48 |
|
Cornelia joined #minetest |
18:03 |
tuedel |
ok, apparently it deletes the objects on next mablock load |
18:04 |
|
fwhcat joined #minetest |
18:11 |
|
Copenhagen_Bram joined #minetest |
18:39 |
|
calcul0n joined #minetest |
18:54 |
|
Dr_Frankenstone joined #minetest |
18:54 |
|
Milan[m]2 joined #minetest |
19:23 |
|
calcul0n joined #minetest |
19:29 |
|
Markow joined #minetest |
19:30 |
|
Noogah joined #minetest |
19:30 |
Noogah |
Hey |
19:30 |
Noogah |
Who has a backup of Redcrab? |
19:31 |
Noogah |
Or who knows where to find one? Anyone? :/ |
19:32 |
Noogah |
If you do, please contact me at Noogahoogahgmail.com |
19:33 |
rubenwardy |
Noogah: Sokomine does |
19:38 |
|
riff-IRC joined #minetest |
19:57 |
|
argyle77 joined #minetest |
20:05 |
|
Ruslan1 joined #minetest |
20:05 |
Ruslan1 |
hello |
20:15 |
|
makayabou joined #minetest |
20:20 |
makayabou |
@VanessaE thanks I got what you pointed me to change hud on key pressed. I also realized it was the very same solution given by Arcelmi in his controls mode, so I used his code |
20:21 |
makayabou |
But I was wondering if it is not consuming too much on a server. That's why I was first thinking of exiting a global step function.. |
20:24 |
|
Sveta joined #minetest |
20:24 |
Sveta |
https://wiki.minetest.net/Privileges there is no gui for managing users privs? |
20:30 |
Krock |
hello, and by default: no. |
20:31 |
Krock |
a mod could be written to do that, though. |
20:36 |
|
Blo0D joined #minetest |
20:40 |
argyle77 |
I'm writing a mod that needs to protect an area. I see the register_on_protection_violation, is_protected, record_protection_violation, and is_area_protected functions, but I'm having difficulty seeing what I would use to actually mark an area as protected. |
20:42 |
makayabou |
maybe you should use existing mod for that : https://forum.minetest.net/viewtopic.php?t=7239 |
20:44 |
makayabou |
for example, you type /area_pos set and punch the two corner nodes to set them (from https://github.com/ShadowNinja/areas/README) |
20:45 |
argyle77 |
Thank makayabou. I'll have a look at that code and see how they do it there. |
20:48 |
argyle77 |
Oh, I think I see it. I think I just have to override the is_protected function globally and determine if I'm protecting that position in there. |
20:51 |
makayabou |
you're welcome. have fun |
20:55 |
|
Fixer joined #minetest |
21:01 |
|
FreeFull joined #minetest |
21:02 |
|
benrob0329 joined #minetest |
21:06 |
|
BillyS joined #minetest |
21:09 |
Krock |
argyle77: protection mods overwrite the function "minetest.is_protected", as stated in the lua_api.txt file |
21:10 |
Krock |
here's also a recent mod which nobody uses: |
21:10 |
Krock |
!mod simple_protection |
21:10 |
MinetestBot |
Krock: Simple protection [simple_protection] by Krock - https://forum.minetest.net/viewtopic.php?t=9035 |
21:11 |
argyle77 |
Thanks Krock. I'm actually confused now why there is a separate register_on_protection_violation function. It seems to me that the stuff you'd put in there could have just been placed in your overrided is_protected function. |
21:12 |
Krock |
it's not directly the same |
21:12 |
Krock |
in some places you only want to check whether it's protected. punishing the player (record violation) is another usecase |
21:13 |
|
Lone-Star joined #minetest |
21:13 |
Krock |
but I see that the API design there is confusing. one is a callback and the other a function to overwrite |
21:14 |
argyle77 |
The callback would always be called if the overrided function returns true, right? |
21:14 |
Krock |
only if it's called by mods or the Lua builtin code |
21:15 |
Krock |
for example, node placement and digging will execute the callback |
21:15 |
Krock |
but opening a shared chest (from other mods) which uses is_protected - won't. |
21:15 |
argyle77 |
But just checking is_protected won't necessarily cause a violation? |
21:15 |
Krock |
exactly |
21:16 |
Krock |
it's up to the mods to decide whether a failed is_protected check should result in a violation |
21:16 |
Krock |
since the mod might use it internally for random item placement which is accessible to the current player |
21:17 |
Krock |
or the sapling protection overlap check: minetest_game returns a chat message if you cannot place the sapling |
21:18 |
Krock |
the check is performed by doing many is_protected checks inside the given volume - recording a violation for each would not make sense |
21:19 |
argyle77 |
Ah that would be a good reason for their separation. |
21:22 |
argyle77 |
But if is_protected returns a true, and register_on_protection_violation is only called once for a set of those... How does the engine know when it is appropriate to make the callback and when not? Is that just a decision made in the is_area_protected function? |
21:23 |
argyle77 |
Can a mod (and how) return the differentiation between when a node is protected, and when a violation has occurred? |
21:24 |
rodskagg |
i have been using minetest.set_node( in a lua script and it is pretty cool. is there a list of other worldedit lua commands? |
21:25 |
Krock |
argyle77: I don't understand your question. If the violation callback is executed, then it's very likely after a is_protected call |
21:26 |
Krock |
rodskagg: with /lua you're executing Minetest API functions. It's not related to worldedit |
21:26 |
rodskagg |
ah, got it. |
21:27 |
rodskagg |
ok, i will look for minetest api functions. thanks Krock. :) |
21:27 |
Krock |
here are a few things more: https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L3879 |
21:27 |
rodskagg |
Krock: that's great. thanks bud. :D |
21:28 |
Krock |
/lua core.chat_sent_all(dump(core.get_node( <position> ))) |
21:28 |
argyle77 |
Don't worry about it. I may be asking a question without understanding some of the terminology, but I'm close to having a working experiment that will answer the question. |
21:28 |
Krock |
dump() will.. well.. dump the table into a readable string |
21:29 |
Krock |
if you run Minetest from the console/terminal window, then you can also use print(dump( <data> )) |
21:29 |
rodskagg |
oh cool. |
21:30 |
Krock |
and if you want to go insane with that, try this 5.0.0-dev mod to print the world's biomes: https://gist.github.com/SmallJoker/03c92442c4b81a6d2e7573c7950a10cc |
21:31 |
Krock |
sample image link in L3 |
21:34 |
rodskagg |
i should get round to building from source at some point. |
21:34 |
rodskagg |
thanks for the link. looks interesting. :) |
21:37 |
Krock |
it's easy. just punching though some long commands to install the libraries and then build the stuff |
21:38 |
|
puzzlecube joined #minetest |
21:38 |
Krock |
the gitlab pipeline even provides up-to-date builds for debian, windows and a few more |
21:47 |
|
milkt joined #minetest |
21:54 |
argyle77 |
It seems like, if I protect a node and then dig it, I can often walk through where it was before the engine manages to put it back. |
21:56 |
argyle77 |
Hmmm... maybe not often, but at least sometimes. |
22:01 |
|
Player-2 joined #minetest |
22:06 |
argyle77 |
This seems like a bug to me. I'm inclined to open an issue on github. Objections? |
22:07 |
Calinou |
argyle77: that's been an issue for a long time and there's no fix for it, save for using actually unbreakable nodes in the first place |
22:07 |
Calinou |
(or making thicker walls) |
22:08 |
Calinou |
Map Tools offers some unbreakable nodes with the same appearance as default nodes like cobble or wood |
22:08 |
Calinou |
(in addition to things like invisible walls) |
22:09 |
argyle77 |
It seems like if the contingency replacement for a dug block was an ignore block until the server agreed, could this fix the issue? |
22:11 |
|
Cornelia joined #minetest |
22:17 |
|
diemartin joined #minetest |
22:22 |
argyle77 |
If you can point me in the direction of where blocks get dug on the client side, I'll have a look at the code. |
22:22 |
p_gimeno |
wouldn't that mean that you have to wait for the server to respond while e.g. digging tunnels? |
22:26 |
sofar |
the client predicts node digs |
22:27 |
sofar |
it has an idea of each node that allows it to assume some nodes are diggable |
22:27 |
sofar |
later on the server may correct it |
22:28 |
|
GreenDimond joined #minetest |
22:34 |
|
andyo joined #minetest |
22:38 |
|
benrob0329 joined #minetest |
22:42 |
argyle77 |
I dunno p_gimeno. If you can dig through ignore nodes, it would probably mainly mean that you'd have to wait for the server response to move forward, but not necessarily to dig further. |
22:43 |
argyle77 |
sofar, if the server makes a correction that a node isn't diggable, shouldn't the player's position be reset? |
22:44 |
|
Blo0D_ joined #minetest |
22:44 |
argyle77 |
I'm spit-balling because I'm not entirely familiar with the engine yet, but I'd love to look into it. |
22:47 |
|
YuGiOhJCJ joined #minetest |
22:52 |
|
Blo0D joined #minetest |
23:00 |
|
nowhereman joined #minetest |
23:00 |
rodskagg |
am i understand this right? minetest.set_node() is part of the api of the base minetest engine. installing the worldedit mod just gave me the lua interpreter that allows me to call that function? |
23:02 |
GreenDimond |
Yes |
23:03 |
GreenDimond |
//luatransform (or //lt) will run whatever you input on every coordinate in the selected area |
23:03 |
GreenDimond |
//lua will run whatever you input |
23:03 |
GreenDimond |
luatransform provides the pos variable while //lua doesnt provide any |
23:05 |
rodskagg |
that's really interesting. thanks GreenDimond. :) |
23:05 |
GreenDimond |
np |
23:13 |
|
NathanS21 joined #minetest |
23:29 |
argyle77 |
Calinou, you mention this is a long-time issue... is there a github tracker for it? |
23:35 |
|
paramat joined #minetest |
23:35 |
MinetestBot |
paramat: Mar-02 06:33 UTC <luk3yx> Is it safe to create a GitHub issue for that bug/exploit (along with lua code to work around it)? |
23:37 |
paramat |
rodskagg 'deleteblocks' will regenerate all entire mapchunks (80^3 nodes) that intersect with the requested 'deleteblocks' volume, so regeneration can happen up to 80 nodes away |
23:40 |
paramat |
the command description may need added warnings |
23:40 |
paramat |
it's misleading too |
23:42 |
paramat |
the requested mapblocks are deleted, but then mapgen sees the gaps and thinks 'that needs generating!' and generates entire mapchunks to fill the gaps |
23:44 |
paramat |
also "map blocks" may be misinterpreted as 'nodes', bad documentation |
23:44 |
paramat |
should be 'mapblocks' |
23:45 |
paramat |
luk3yx best keep it secret for now, a dev can always diretly merge the fix without creating a public issue |
23:46 |
paramat |
(directly) |
23:53 |
|
Dr_Frankenstone joined #minetest |
23:57 |
|
Dr-Frankenstone joined #minetest |