Time |
Nick |
Message |
00:20 |
benrob0329 |
GreenDimond: thanks |
00:24 |
|
Miner_48er joined #minetest-hub |
00:24 |
GreenDimond |
Mhm |
00:26 |
GreenDimond |
paramat: Since you made boats and have worked with other entities, any idea why mobs redo get_staticdata returns a string but on_activate receives an empty string? |
00:27 |
IhrFussel |
GreenDimond, are you sure that this happens on every mob_activate()? |
00:27 |
IhrFussel |
Or only on the first? |
00:27 |
GreenDimond |
Every |
00:28 |
xerox123 |
this guy might be the next to strike your server: https://www.twitch.tv/matchoguy |
00:28 |
xerox123 |
"Trolling Because, I Must." |
00:28 |
xerox123 |
also happy new year everyone :P |
00:29 |
IhrFussel |
I can look into the api.lua for a sec |
00:29 |
GreenDimond |
Ive been looking at it and debugging it for the past few hours |
00:29 |
sofar |
GreenDimond: that's the implementation design |
00:29 |
sofar |
a new entity will not have saved data |
00:29 |
GreenDimond |
sofar: its not new |
00:30 |
GreenDimond |
Its every on_activate |
00:30 |
GreenDimond |
The first time I expect it to be empty |
00:30 |
sofar |
then the mod isn't properly serializing the data for storage |
00:30 |
GreenDimond |
but every time it reactivates it isn't given any staticdata |
00:30 |
GreenDimond |
Well afaik it is |
00:30 |
GreenDimond |
At least thats what it looks like |
00:30 |
GreenDimond |
Btw IhrFussel dont use the latest 2 commits of mobs redo, they broke it in another way |
00:31 |
IhrFussel |
Maybe something broke with "setmetatable"? |
00:31 |
GreenDimond |
They passed def instead of self to a few functions so now all the entity functions with self are bricked |
00:31 |
paramat |
no idea sorry |
00:31 |
GreenDimond |
IhrFussel: Nope, that doesnt exist in the commit prior |
00:31 |
GreenDimond |
2 commits prior* |
00:31 |
IhrFussel |
I have my own (old) version of api.lua cause I heavily modified it for my server features |
00:34 |
|
rud0lf joined #minetest-hub |
00:34 |
GreenDimond |
sofar: `mobs_staticdata()` (the function used in get_staticdata) returns `minetest.serialize(tmp)`. I added a chat_send_all before the return sending the same thing which returns a serialized table (aka success). Inside mob_activate (the function used for on_activate) AND inside on_activate I chat_send_all'd `staticdata` which returned nothing (empty string). |
00:36 |
GreenDimond |
IhrFussel: The commit I am using, in case you care https://notabug.org/TenPlus1/mobs_redo/src/aeb802ad409e59c62cdf394248a6f4a671ff3c49/api.lua |
00:36 |
IhrFussel |
What I can see is that mob_activate() takes different parameters now compared to my version "return mob_activate(self, staticdata, def)" |
00:37 |
IhrFussel |
And in newest version -> return self:mob_activate(staticdata, def, dtime) |
00:37 |
GreenDimond |
In the commit I am using it is mob_activate(self, staticdata, def, dtime) |
00:37 |
IhrFussel |
But could be the same |
00:38 |
GreenDimond |
er |
00:39 |
GreenDimond |
so yeah it would be the same |
00:39 |
IhrFussel |
GreenDimond, did you try to add a print/.log after this line? https://notabug.org/TenPlus1/mobs_redo/src/aeb802ad409e59c62cdf394248a6f4a671ff3c49/api.lua#L2737 |
00:39 |
GreenDimond |
I debugged at the beginning of the function |
00:40 |
GreenDimond |
tmp isnt going to have anything if staticdata is empty in the first place |
00:40 |
IhrFussel |
So 'staticdata' is already empty at the top? |
00:40 |
GreenDimond |
Yes |
00:41 |
IhrFussel |
Then add some debug info here https://notabug.org/TenPlus1/mobs_redo/src/aeb802ad409e59c62cdf394248a6f4a671ff3c49/api.lua#L2673 |
00:41 |
IhrFussel |
After each step |
00:41 |
IhrFussel |
To see where it is lost |
00:41 |
GreenDimond |
It isnt |
00:42 |
GreenDimond |
Like I said, I already added debug right before returning minetest.serialize(tmp) |
00:42 |
benrob0329 |
hm, default carts mod gets really buggy at higher speeds :-( |
00:42 |
GreenDimond |
benrob0329: As expected |
00:42 |
IhrFussel |
benrob0329, use boost_cart |
00:42 |
benrob0329 |
It is boot_cart |
00:42 |
IhrFussel |
Default is not boost_cart though |
00:42 |
benrob0329 |
default carts is literally merged from boot_cart |
00:42 |
IhrFussel |
Noo |
00:42 |
IhrFussel |
Wait |
00:42 |
GreenDimond |
...yes |
00:42 |
IhrFussel |
Maybe it is in 5.0.0 |
00:42 |
GreenDimond |
..no |
00:43 |
IhrFussel |
It wasn't the same in 0.4.17 |
00:43 |
GreenDimond |
carts mod was always boost_cart |
00:43 |
IhrFussel |
No |
00:43 |
IhrFussel |
It has some things carts doesn't have |
00:43 |
benrob0329 |
its slightly modified |
00:43 |
GreenDimond |
boost_carts has mesecon support |
00:43 |
GreenDimond |
yippee |
00:43 |
IhrFussel |
Yes for example a "lag detection/correction" |
00:43 |
GreenDimond |
They are basically the same |
00:44 |
GreenDimond |
staticdata isnt though :) |
00:44 |
IhrFussel |
You should still try boost_cart to see if the same happens there... I cannot recall the same bugs on my server...and I set cart speed to 18! |
00:45 |
GreenDimond |
Maybe benrob is crazy and set it to upwards of 50 |
00:45 |
GreenDimond |
Sounds like something he'd do |
00:45 |
GreenDimond |
<u< |
00:45 |
IhrFussel |
At 50 the game possibly can't even load mapblocks fast enough |
00:45 |
benrob0329 |
I had it at 20, then 15 |
00:46 |
GreenDimond |
Who said you were loading new mapblocks |
00:46 |
benrob0329 |
can't handle direction changes |
00:46 |
GreenDimond |
if you have a 2x2 track you are certainly in one mapblock :) |
00:46 |
benrob0329 |
10 works though |
00:46 |
IhrFussel |
I can only say that doesn't really happen on my server...it can happen but it's rare and mostly caused by lots of server lag |
00:49 |
IhrFussel |
GreenDimond, do you make sure this return 'true'? https://notabug.org/TenPlus1/mobs_redo/src/aeb802ad409e59c62cdf394248a6f4a671ff3c49/api.lua#L2720 |
00:53 |
GreenDimond |
IhrFussel: Why would it? |
00:53 |
GreenDimond |
Its a string |
00:54 |
IhrFussel |
Then check if it returns the correct string |
00:54 |
GreenDimond |
... |
00:54 |
GreenDimond |
I just said it does |
00:54 |
benrob0329 |
IhrFussel: does boost_cart override the default stuff? |
00:55 |
GreenDimond |
benrob0329: From the forum thread: "You can still use boost_cart as before, it will simply overwrite the other mod." |
00:55 |
GreenDimond |
IhrFussel: <GreenDimond> Like I said, I already added debug right before returning minetest.serialize(tmp) |
00:55 |
GreenDimond |
^which returned a serialized table |
00:55 |
GreenDimond |
which is correct |
00:56 |
IhrFussel |
Wait you added the debug BEFORE that call right? You have to put the call into a new var and debug THAT |
00:57 |
GreenDimond |
I put minetest.chat_send_all(minetest.serialize(tmp)) |
00:57 |
GreenDimond |
It should be the same thing |
00:57 |
GreenDimond |
Not even should, it *is* the same thing |
00:58 |
GreenDimond |
Doing `minetest.chat_send_all(minetest.serialize(tmp))` right before `return minetest.serialize(tmp)` should be just fine |
00:59 |
IhrFussel |
Yeah that way it's the same |
00:59 |
GreenDimond |
..that is what I already did |
00:59 |
IhrFussel |
Is 'def' empty too? |
00:59 |
GreenDimond |
I have no idea |
00:59 |
IhrFussel |
Then check it |
00:59 |
IhrFussel |
I mean in mob_activate() |
00:59 |
GreenDimond |
And if you meant put mob_staticdata(self) (in get_staticdata) in a local var and debug that, it also has the same result (it works) |
01:00 |
benrob0329 |
IhrFussel: yeah, looks like boost_carts has added anti-lag code from the version in stable mtg |
01:00 |
benrob0329 |
works great, thanks |
01:01 |
GreenDimond |
IhrFussel: def is not nil |
01:01 |
GreenDimond |
and not empty either |
01:01 |
GreenDimond |
if def were empty that would be my fault :P |
01:04 |
* benrob0329 |
sets the max speed to 100 n/s just for the heck of it :P |
01:04 |
IhrFussel |
benrob0329, if you adjust the "lag correction" distance that might work :P |
01:05 |
GreenDimond |
this makka no sense |
01:05 |
IhrFussel |
GreenDimond, what's your version? |
01:05 |
IhrFussel |
MT version |
01:05 |
GreenDimond |
0.4.17.1 |
01:05 |
benrob0329 |
its actually handling it fine |
01:06 |
GreenDimond |
You know this bug could have existed for a while |
01:06 |
GreenDimond |
mobs redo is supposed to default to def settings if staticdata isnt found |
01:06 |
IhrFussel |
It works on my server which also runs 0.4.17.1 so it is 99% no engine bug |
01:06 |
GreenDimond |
And no mobs that I know set custom staticdata |
01:06 |
GreenDimond |
so no one would notice it breaking |
01:07 |
GreenDimond |
Until someone needs to set staticdata to modify the mob |
01:08 |
benrob0329 |
but yeah, 20 is nice and smooth now |
01:08 |
GreenDimond |
which happens to be me :I |
01:08 |
GreenDimond |
But still, it doesn't make sense as to why it isnt working |
01:08 |
IhrFussel |
GreenDimond, I modified my api.lua to have levels, exp, ratings, gender ... it works just fine in my version |
01:09 |
GreenDimond |
IhrFussel: But you arent using staticdata to do so |
01:09 |
GreenDimond |
You are adding that to the def |
01:09 |
IhrFussel |
But my version is also somewhat old (2017) |
01:09 |
GreenDimond |
Er go, it defaults to the def values because staticdata is empty |
01:10 |
GreenDimond |
Have you actually added debug to your version and tested? |
01:10 |
IhrFussel |
https://paste.ee/p/tT2fJ |
01:11 |
IhrFussel |
The self variables actually are the staticdata |
01:11 |
GreenDimond |
I know |
01:11 |
GreenDimond |
In my mob I am setting a self value |
01:11 |
GreenDimond |
Which is checked later |
01:11 |
IhrFussel |
I use self.gender self.level self.exp self.rating |
01:11 |
GreenDimond |
But do you set it in after_activate or on_spawn? |
01:12 |
GreenDimond |
Of the actual mob def? |
01:12 |
IhrFussel |
It was too much work to modify every mob separately so I added it inside mob_activate() |
01:12 |
GreenDimond |
Exactly |
01:12 |
GreenDimond |
So every time it activates it doesnt need to have updated staticdata |
01:12 |
GreenDimond |
it defaults |
01:12 |
IhrFussel |
No |
01:12 |
IhrFussel |
It has my updated data |
01:13 |
IhrFussel |
The rating can change, the level changes when the mob levels up |
01:14 |
IhrFussel |
Check the name tag...is it reset too? |
01:14 |
IhrFussel |
Whe you name a mob |
01:14 |
IhrFussel |
When* |
01:14 |
GreenDimond |
In my mob I set a self value to true if it's nil on_activate. When staticdata is saved it should be saved with it. It then checks that self value and does stuff with it. In debugging, I found that the self value is always nil after reactivating |
01:16 |
IhrFussel |
GreenDimond, try to set the self variable inside mob_activate() directly |
01:16 |
IhrFussel |
Just for testing |
01:16 |
GreenDimond |
I dont think I can use a nametag on a monster |
01:16 |
GreenDimond |
And I cant set the variable inside mob_activate because this is specific to this mob |
01:17 |
IhrFussel |
You can for testing |
01:17 |
IhrFussel |
Just to see if the bug is in on_activate() somehow |
01:18 |
IhrFussel |
Just add after the "load self variables" loop this -> if self.name == "specific:mob" and not self.yourcustomvar then self.yourcustomvar = true end |
01:18 |
GreenDimond |
I fail to see how that would determine if the bug is in on_activate but ok |
01:19 |
GreenDimond |
works as expected |
01:21 |
IhrFussel |
So it IS saved there? |
01:21 |
GreenDimond |
No there is no staticdata to be had |
01:21 |
GreenDimond |
It just sets the value |
01:22 |
IhrFussel |
WAIT |
01:23 |
IhrFussel |
on_activate() has NO custom handler to call from the mob definition file |
01:23 |
IhrFussel |
on_step() has do_custom() |
01:23 |
IhrFussel |
But where is the custom on_activate()? |
01:23 |
GreenDimond |
on_activate has on_spawn and after_activate |
01:24 |
IhrFussel |
Wait do you use after_activate() in your mob file? |
01:24 |
GreenDimond |
I tried using both |
01:25 |
IhrFussel |
It should work with after_activate() ... I just didn't see that at the bottom of mob_activate() |
01:25 |
GreenDimond |
both provide self after staticdata is loaded and applied so they should both work |
01:26 |
IhrFussel |
And you say when you add self.customvar = true after loading of other self's it still isn't stored? |
01:27 |
GreenDimond |
after_activate if self.customvar == nil then self.customvar = true |
01:27 |
IhrFussel |
It should be stored...staticdata is just the collection of self variables... def is the actual definition of the mob |
01:27 |
GreenDimond |
it runs every activation |
01:27 |
GreenDimond |
I know it should be |
01:27 |
GreenDimond |
Thats why I am so confused |
01:28 |
GreenDimond |
every time it activates self.customvar is nil |
01:28 |
GreenDimond |
So I looked into the api and started debugging it |
01:28 |
IhrFussel |
Add a debug line to after_activate() in api.lua |
01:28 |
IhrFussel |
Check if it really runs |
01:28 |
GreenDimond |
Oh it does |
01:28 |
GreenDimond |
I dont need to debug that |
01:28 |
GreenDimond |
I debugged that in the actual after_activate function |
01:29 |
GreenDimond |
I told it to print self.customvar every after_activate (which it does - and always prints nil) |
01:29 |
GreenDimond |
when I debugged the api I told on_activate to print staticdata |
01:29 |
GreenDimond |
which did nothing |
01:29 |
GreenDimond |
aka empty string |
01:30 |
GreenDimond |
the bug is in mobs redo somewhere |
01:31 |
GreenDimond |
I suppose it could be in Minetest but I highly doubt it |
01:31 |
benrob0329 |
ngl, irrevokable privs is really annoying for testing |
01:31 |
GreenDimond |
The only way for it to be Minetest is if it isnt saving the staticdata right |
01:31 |
GreenDimond |
benrob0329: local server w/ 2 clients |
01:32 |
IhrFussel |
on_activate = function(self, staticdata, dtime) << isn't def missing? |
01:32 |
IhrFussel |
https://notabug.org/TenPlus1/mobs_redo/src/aeb802ad409e59c62cdf394248a6f4a671ff3c49/api.lua#L3189 |
01:32 |
benrob0329 |
GreenDimond: that both have to be restarted every time I change something |
01:32 |
GreenDimond |
no |
01:32 |
GreenDimond |
def is earlier in the scope |
01:32 |
GreenDimond |
benrob0329: What? No |
01:32 |
GreenDimond |
Just your server client |
01:32 |
GreenDimond |
Your test client just has to reconnect |
01:33 |
benrob0329 |
s/restarted/reconnected and/or rehost |
01:33 |
GreenDimond |
IhrFussel: def is provided by register_mob(name, def) |
01:38 |
IhrFussel |
staticdata cannot be nil else health wouldn't work |
01:39 |
IhrFussel |
Does health work? |
01:39 |
IhrFussel |
health is stored in self.health |
01:39 |
GreenDimond |
let me test |
01:39 |
IhrFussel |
Hurt a mob, run away, come back and see if it has full HP again |
01:40 |
GreenDimond |
It.. does not. |
01:40 |
GreenDimond |
>:v |
01:40 |
IhrFussel |
get_staticdata() is only called when map saves or you unload the mob from the map |
01:40 |
GreenDimond |
Right |
01:40 |
GreenDimond |
No |
01:40 |
IhrFussel |
Health does not work? |
01:41 |
GreenDimond |
Health works fine, yes |
01:41 |
GreenDimond |
but no, get_staticdata() doesnt run when it unloads |
01:41 |
IhrFussel |
Then self variables are not broken...did you make sure to unload the mob from map first? |
01:41 |
IhrFussel |
Yes it does |
01:41 |
GreenDimond |
reloading the world does that |
01:41 |
IhrFussel |
No |
01:41 |
IhrFussel |
That too |
01:41 |
GreenDimond |
? |
01:41 |
IhrFussel |
It runs on map save interval and when it unloads from the map |
01:41 |
GreenDimond |
"No that too"? |
01:41 |
GreenDimond |
Right |
01:42 |
GreenDimond |
and it unloads when you close the world |
01:42 |
GreenDimond |
If not then entities would be fundamentally flawed :) |
01:42 |
IhrFussel |
Yes...and because it also runs when DB saves (default is every 15 secs I think) it does not work as actual "unload" callback |
01:42 |
GreenDimond |
hm |
01:43 |
GreenDimond |
well this is weird |
01:43 |
IhrFussel |
Did you debug 'tmp' yet? |
01:43 |
GreenDimond |
I put a chat_send_all in get_staticdata in the api, and it doesnt send anything when I go far enough away for the mob to unload |
01:43 |
IhrFussel |
local tmp = minetest.deserialize(staticdata) |
01:44 |
GreenDimond |
Why would I debug tmp?.... |
01:44 |
IhrFussel |
Or print all self variables within the loop |
01:44 |
GreenDimond |
I already printed minetest.serialize(tmp) |
01:44 |
GreenDimond |
and it returns a serialized table |
01:44 |
GreenDimond |
logically tmp exists :P |
01:45 |
IhrFussel |
So the actual issue is that custom created 'self' variables are not stored |
01:45 |
IhrFussel |
And I think that makes sense because api.lua has to call the REAL register_entity() |
01:45 |
IhrFussel |
Which doesn't know about your custom variable |
01:46 |
GreenDimond |
? |
01:46 |
GreenDimond |
It stores all self variables as long as they arent functions nil or userdata |
01:46 |
IhrFussel |
https://notabug.org/TenPlus1/mobs_redo/src/aeb802ad409e59c62cdf394248a6f4a671ff3c49/api.lua#L3073 |
01:46 |
IhrFussel |
No |
01:46 |
GreenDimond |
Yes |
01:46 |
GreenDimond |
It does |
01:46 |
IhrFussel |
But you see it has to define owner again for example |
01:46 |
IhrFussel |
'owner = def.owner' |
01:47 |
GreenDimond |
And? |
01:47 |
GreenDimond |
thats part of def |
01:47 |
IhrFussel |
And your 'customvar = def.customvar' is not part of it |
01:47 |
GreenDimond |
and has nothing to do with this |
01:47 |
GreenDimond |
Ok? |
01:47 |
GreenDimond |
That has nothing to do with this |
01:47 |
GreenDimond |
It saves every self value https://notabug.org/TenPlus1/mobs_redo/src/aeb802ad409e59c62cdf394248a6f4a671ff3c49/api.lua#L2707-L2717 |
01:48 |
IhrFussel |
I recall having trouble with registering custom self vars from within a mob lua file BECAUSE it was not known in api.lua |
01:48 |
GreenDimond |
and is supposed to load them all but tmp is nil because staticdata is empty https://notabug.org/TenPlus1/mobs_redo/src/aeb802ad409e59c62cdf394248a6f4a671ff3c49/api.lua#L2739-L2743 |
01:48 |
IhrFussel |
staticdata can't be empty cause health works you just said |
01:48 |
GreenDimond |
Well it is |
01:48 |
GreenDimond |
health works sure |
01:48 |
GreenDimond |
but staticdata is an empty string |
01:49 |
IhrFussel |
Then test other self variables |
01:49 |
IhrFussel |
self.damage, self.range, self.tamed |
01:49 |
IhrFussel |
not range reach |
01:50 |
GreenDimond |
in the api I added minetest.chat_send_all(staticdata) at the beginning. After if tmp then I added a chat_send_all("got tmp"). Nothing was sent |
01:50 |
GreenDimond |
beginning of mob_activate* |
01:51 |
IhrFussel |
But self.damage etc exist and are not empty right? |
01:53 |
GreenDimond |
IhrFussel: All the default self values exist |
01:53 |
GreenDimond |
but thats to be expected |
01:53 |
GreenDimond |
self is what is set by def |
01:53 |
IhrFussel |
No I set my self.gender inside mob_activate() |
01:54 |
GreenDimond |
Thats fine |
01:54 |
GreenDimond |
That means nothing |
01:54 |
GreenDimond |
Look |
01:54 |
IhrFussel |
But the mob keeps its gender |
01:54 |
GreenDimond |
Yeah cool great |
01:55 |
GreenDimond |
In mob_activate it gets staticdata. if it exists, it sets whatever staticdata has. Notice self[_] = stat. Otherwise the self values remain the same |
01:55 |
GreenDimond |
the self values are from the entity definition |
01:55 |
GreenDimond |
unless set by staticdata |
01:56 |
GreenDimond |
Right now add minetest.chat_send_all(staticdata) at the beginning of mob_activate |
01:56 |
GreenDimond |
or print() or whatever |
01:57 |
IhrFussel |
If you add to the register_entity() for *testing* customvar = def.customvar and then add that customvar to your mob file definition... and that should work ... so the issue is something about after_activate() maybe |
01:57 |
GreenDimond |
Try the debug please |
01:58 |
GreenDimond |
Id like to see if yours prints nothing |
02:01 |
IhrFussel |
Wait I will have to make a test world locally and download the mod |
02:07 |
GreenDimond |
IhrFussel: rembmer to checkout aeb802ad409e59c62cdf394248a6f4a671ff3c49 |
02:08 |
GreenDimond |
remember* |
02:09 |
IhrFussel |
I'm not using git, I will test if it works on the last official release from Oct |
02:09 |
GreenDimond |
Alright |
02:09 |
|
sys4 joined #minetest-hub |
02:12 |
IhrFussel |
'dump(tmp)' actually shows nil |
02:14 |
GreenDimond |
Of course |
02:14 |
GreenDimond |
because tmp is obtained from deserializing staticdata |
02:14 |
GreenDimond |
which is empty |
02:14 |
GreenDimond |
IhrFussel |
02:17 |
IhrFussel |
It HAS staticdata when you unload it once |
02:17 |
IhrFussel |
You have to go away from it and come back |
02:17 |
GreenDimond |
Have you put minetest.chat_send_all(staticdata) at the beginning of mob_activate? |
02:18 |
IhrFussel |
I see the entire staticdata in my chat now after unloading the mob once |
02:18 |
GreenDimond |
wat |
02:19 |
GreenDimond |
alright time to test on an old mobs_redo version |
02:19 |
IhrFussel |
You don't know what I mean with unloading? It means flying away 50 nodes until it disappears from the map |
02:19 |
GreenDimond |
... |
02:19 |
GreenDimond |
When did I say I dont know what you mean by unloading? |
02:20 |
GreenDimond |
Im saying when I put minetest.chat_send_all(staticdata) at the beginning of mob_activate nothing is ever sent |
02:20 |
GreenDimond |
ever |
02:20 |
GreenDimond |
not when I reload the world |
02:20 |
GreenDimond |
not when I unload the entity and reload it |
02:20 |
GreenDimond |
not when it first spawns |
02:20 |
IhrFussel |
Did you try dump(tmp) ? |
02:21 |
GreenDimond |
... |
02:21 |
GreenDimond |
Do you not get |
02:21 |
GreenDimond |
it will be nil |
02:21 |
GreenDimond |
tmp is a deserialization of staticdata |
02:21 |
IhrFussel |
Yes the first time it is nil for me too |
02:22 |
GreenDimond |
I already told you |
02:22 |
GreenDimond |
staticdata is empty every time |
02:22 |
GreenDimond |
Therefore, tmp is nil every time |
02:22 |
GreenDimond |
Just for you I added dump(tmp) anyway and yes, every time it is in fact, nil |
02:23 |
IhrFussel |
Then the bug must've been happened since Oct |
02:23 |
GreenDimond |
Which is why I am going to test with an older version ;p |
02:23 |
GreenDimond |
Where are the releases? |
02:25 |
GreenDimond |
Where did you get the "last official release"? |
02:25 |
GreenDimond |
IhrFussel^ |
02:26 |
IhrFussel |
Wait it looks like there is something wrong...when I collect the mob and spawn it from my hand staticdata is nil again |
02:28 |
GreenDimond |
IhrFussel: Where did you get your "last official release" from though |
02:28 |
IhrFussel |
GreenDimond, I clicked on Releases |
02:28 |
IhrFussel |
On his repo |
02:28 |
GreenDimond |
ah right |
02:29 |
GreenDimond |
Yeah nope still not fixed |
02:31 |
IhrFussel |
But it should work with unloading |
02:31 |
GreenDimond |
Not for me |
02:32 |
IhrFussel |
Can you decscribe how you unload them? So I can try to do it exactly as you |
02:32 |
GreenDimond |
literally flying up til they disappear, and flying back down til they reappear |
02:32 |
GreenDimond |
Or exiting and rejoining |
02:33 |
IhrFussel |
Does it happen with all mobs? |
02:34 |
GreenDimond |
I dont know |
02:34 |
GreenDimond |
Im only testing with this one |
02:34 |
IhrFussel |
Spawn another |
02:35 |
GreenDimond |
sent you the mod so you can test |
03:34 |
|
Ruslan1 joined #minetest-hub |
04:08 |
|
FrostRanger joined #minetest-hub |
05:14 |
|
ANAND joined #minetest-hub |
05:22 |
|
jas_ joined #minetest-hub |
05:41 |
|
james joined #minetest-hub |
06:38 |
|
paramat joined #minetest-hub |
06:38 |
jas_ |
hi |
06:39 |
jas_ |
!mod |
06:39 |
MinetestBot |
jas_: Prevent new accounts from joining [nonew] by taikedz - https://forum.minetest.net/viewtopic.php?t=19720 |
06:40 |
jas_ |
aw |
09:32 |
|
jluc joined #minetest-hub |
10:55 |
|
Krock joined #minetest-hub |
11:18 |
|
DI3HARD139 joined #minetest-hub |
11:25 |
|
_Xenon joined #minetest-hub |
12:35 |
|
Fixer joined #minetest-hub |
12:41 |
Peppy |
hi |
12:42 |
Krock |
hi Peppy |
12:43 |
Peppy |
Axinite server had some problems with domain name and shitty registar so, we had to change DNS |
12:43 |
Peppy |
now, the server wouldn't announce |
12:43 |
Peppy |
may it be blacklisted ? |
12:47 |
Peppy |
we use "axinite.rafi59.codelib.re" as a temporary fix |
12:50 |
Krock |
!up axinite.rafi59.codelib.re |
12:50 |
MinetestBot |
axinite.rafi59.codelib.re:30000 is up (78ms) |
12:51 |
Krock |
Peppy: are you sure it's announcing to the server list with the right domain name? |
12:52 |
Peppy |
checking |
12:53 |
Peppy |
server_address = axinite.rafi59.codelib.re |
12:55 |
Peppy |
from that machine, "curl servers.minetest.net" works |
12:56 |
Krock |
try restarting it, maybe announcing failed (see debug.txt) |
13:00 |
Peppy |
server restarts everyday at 2am, but an error about annoucment only occurs hours later |
13:00 |
Peppy |
servers.minetest.net/announce not found (Timeout was reached) (response code 0) |
13:01 |
Peppy |
at 2 am, it just says "Announcing to servers.minetest.net" |
13:03 |
Krock |
try increasing the curl timeout |
13:04 |
Peppy |
restarted with curl_timeout = 10000 |
13:06 |
Peppy |
hey, it's there :) |
13:06 |
Peppy |
thanks Krock |
13:06 |
Krock |
np yw |
13:07 |
Krock |
!next |
13:07 |
MinetestBot |
Another satisfied customer. Next! |
13:07 |
Peppy |
:) |
13:08 |
Peppy |
btw, what is curl_timeout time, seconds, server ticks, something else ? |
13:10 |
Peppy |
when the problem appeared, I first wanted to try increasing this value |
13:11 |
Peppy |
then I told myself "hey, 5000 should be enough, this must be something else" xD |
13:15 |
Peppy |
If nobody replies, i'll go for miliseconds ;) |
13:19 |
Peppy |
something else : |
13:19 |
Peppy |
some mods will probably require fixing for 5.0 migration, is there a list of deprecated functions I should I try to catch and replace ? |
13:20 |
Peppy |
I mean 0.4.17.1 > 5.0 |
13:32 |
Krock |
https://gist.github.com/SmallJoker/cb89c3f9e4be27a0e8bc10ced1c5fc31 |
13:32 |
Krock |
otherwise just look at your debug.txt |
13:33 |
Krock |
yes it's in milliseconds |
13:33 |
Krock |
https://github.com/minetest/minetest/blob/master/minetest.conf.example#L1584 |
13:34 |
Krock |
Peppy: mods should work as long they don't use undocumented functions like nodeupdate |
13:34 |
Krock |
those with player models already have alternatives ready |
13:37 |
Peppy |
bookmarked, thanks |
13:38 |
Peppy |
looks like treecapitator and maptools use nodeupdate |
14:03 |
Krock |
git pull them all |
14:04 |
Krock |
or replace with minetest.check_for_falling |
14:12 |
Krock |
Peppy: updated my script accordingly |
14:18 |
|
CWz joined #minetest-hub |
15:17 |
rdococ |
What if you had food items that healed you differently based on your HP? That sugary candy is okay if you need an energy boost, but if you're already fine, it'll cause more harm than good. |
15:38 |
|
benrob0329 joined #minetest-hub |
15:44 |
Krock |
sounds good |
16:06 |
|
Andrey01 joined #minetest-hub |
16:07 |
|
Andrey01 joined #minetest-hub |
16:09 |
Andrey01 |
hi, can i get a position of that point that i "click" at the node side? |
16:09 |
Andrey01 |
as i know i can get under and above positions, but could i get it? |
16:22 |
benrob0329 |
you could get the camera info from the clicker object |
16:22 |
jas_ |
raycast? idk not tried it |
16:22 |
jas_ |
look at stairs mod for reference |
16:26 |
Krock |
Andrey01: https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L2393 |
16:27 |
Krock |
if you're working towards 5.0.0-dev, then use Raycast |
16:29 |
Andrey01 |
Krock, thanks! |
16:29 |
Krock |
!next |
16:29 |
MinetestBot |
Another satisfied customer. Next! |
16:31 |
|
Ruslan1 joined #minetest-hub |
16:37 |
Andrey01 |
i have a problem with rendering of image on mesh model in blender |
16:37 |
Andrey01 |
it displays image on it wrong |
16:39 |
Andrey01 |
if somebody wants to help me, download below the blend file and try "Rendered" mode and you`ll see image is built wrong on it |
16:39 |
Andrey01 |
https://ufile.io/qjk8u |
16:39 |
Andrey01 |
^ blender file |
16:40 |
Andrey01 |
https://ufile.io/txmvp |
16:40 |
Andrey01 |
^ and texture for it |
16:40 |
Andrey01 |
and say how i need to do correctly its to display correctly |
16:51 |
|
scr267 joined #minetest-hub |
16:56 |
jas_ |
movement probably sucks in that game. that reminds me i should look and see if mtg really doesn't have anything with gain > 1. it really is offtopic to that issue/pr, i don't even understand the whole queing thing. but pretty sure falling sand/gravel and tnt have gain > 1 |
16:57 |
jas_ |
but i think i tried, IcyDiamond, and i didn't like the physics |
16:57 |
jas_ |
probably a mod, surely |
16:58 |
IcyDiamond |
I don't like minecraft either |
16:58 |
jas_ |
in minetest you need a mod for sneak jumping, so it's really the same situation for me there |
16:59 |
jas_ |
hm, nodebreaker. i guess that's just a removal of whatever node at some position repeatedly on a timer. |
16:59 |
jas_ |
hm xiong isnt in this channel |
17:04 |
Andrey01 |
does anybody know how to fix laying the image on mesh model as i said above? |
17:37 |
Fixer |
hi Krock |
17:58 |
benrob0329 |
Can anyone tell me why fast never gets revoked with this code? https://gitlab.com/snippets/1794471 |
17:58 |
|
IhrFussel joined #minetest-hub |
18:09 |
rubenwardy |
Peppy: see the deprecated and breaking changes list in the change log |
18:10 |
rubenwardy |
!dev Changelog |
18:10 |
MinetestBot |
"Note that not all changes made to the code between releases are listed here." - http://dev.minetest.net/Changelog |
18:16 |
nerzhul |
#8001 |
18:16 |
ShadowBot |
https://github.com/minetest/minetest/issues/8001 -- 'Soft' feature freeze for 5.0.0 |
18:20 |
|
nerzhul joined #minetest-hub |
18:21 |
nerzhul |
#8002 |
18:21 |
ShadowBot |
https://github.com/minetest/minetest/issues/8002 -- Server Provided Client Mods: Required features |
18:21 |
nerzhul |
#8001 |
18:21 |
ShadowBot |
https://github.com/minetest/minetest/issues/8001 -- 'Soft' feature freeze for 5.0.0 |
18:21 |
nerzhul |
MinetestBot laggs :) |
18:21 |
|
scr267a joined #minetest-hub |
18:21 |
MinetestBot |
scr267a: Dec-28 19:59 UTC <Ruslan1> I’m here |
18:24 |
|
aerozoic joined #minetest-hub |
18:31 |
BillyS |
Is it possible to access another player's inventory in a formspec? |
18:31 |
BillyS |
It seems that I could use the inventory location 'player:<name>' |
18:32 |
BillyS |
But when I try that it says "The selected inventory location doesn't exist" |
18:36 |
Krock |
for the server: yes |
18:36 |
Krock |
for the client: no |
18:36 |
BillyS |
Hmm, okay |
18:36 |
BillyS |
I must be doing something wrong then ... |
18:37 |
Krock |
https://github.com/minetest/minetest/issues/4859 |
18:37 |
Krock |
https://github.com/minetest/minetest/issues/7795$ |
18:37 |
Krock |
s/\$// |
18:39 |
BillyS |
Krock: Judging by the workaround used in the "frisk" mod, there is some sort of issue there ... |
18:40 |
Krock |
copy it to a detached inventory |
18:40 |
BillyS |
Indeed, that's what they did |
18:40 |
BillyS |
At least I know now |
18:40 |
BillyS |
thx for the help! :D |
18:40 |
Krock |
!next |
18:40 |
MinetestBot |
Another satisfied customer. Next! |
18:47 |
Krock |
aagh VanessaE why is biome_lib so slow |
18:48 |
Krock |
it takes endless long time.. probably to find the surface nodes - but my lua mapgen already provides a heightmap |
18:48 |
VanessaE |
*shrug* |
18:49 |
VanessaE |
I've made it run as fast as I can |
18:49 |
Krock |
does it make use of the heightmap? |
18:50 |
VanessaE |
no, it was written with mgv6 in mind, and since it has no choice but to evaluate the terrain after the engine generates it, well.. |
18:50 |
Krock |
then take the heightmap if possible, fallback to manual searching otherwise |
18:50 |
VanessaE |
pull requests welcome :P |
18:50 |
Krock |
currently waiting since 30s for the 16 mapblock check entries |
18:51 |
Krock |
eh, your init.lua file is a 1000 line monster |
18:51 |
VanessaE |
yup. |
18:51 |
Krock |
768 but it feels like 1000 |
18:51 |
Krock |
will split it up first |
18:53 |
aerozoic |
BillyS, there is a mod called inventory hack that allows admins to view and take items from other players. |
18:53 |
aerozoic |
idk if that's helpful to you? |
18:53 |
BillyS |
Sadly its not |
18:54 |
aerozoic |
alrighty |
18:54 |
BillyS |
As it displays the inventory as a bunch of imagebuttons |
18:54 |
BillyS |
Not a list |
18:54 |
BillyS |
Thx for the tip tho |
18:54 |
aerozoic |
yw |
18:55 |
VanessaE |
Krock: one thing I had in mind for that shutdown loop, is to put in some code to limit the final playout to say 10s, then abort it, write the log to disk. reload that log and start adding onto it as more terrain is generated. |
18:55 |
Krock |
triggered by LMBs maybe |
18:55 |
Krock |
*LBMs |
18:55 |
VanessaE |
perhaps |
18:56 |
Krock |
what kind of plants use aircheck, which don't? |
18:56 |
VanessaE |
os just go through the normal globalstep playout |
18:56 |
VanessaE |
pretty much everything uses air check. only one or two things in dreambuilder (f.ex) don't, but I don't remember what they are offhanf |
18:56 |
VanessaE |
offhand* |
18:57 |
VanessaE |
(maybe the woodsoils mod in plantlife) |
18:57 |
Peppy |
back, I found deprecated code in a few more mods (3d_armor, simple_skins, stamina, bags) |
18:57 |
Peppy |
I think we use non modified versions for those |
18:57 |
Peppy |
thanks Krock and Rubenwardy |
18:59 |
VanessaE |
Krock: anyway, if you were to save, load such a log and pipe it through the regular globalstep playout code, you'd just need to use a VM to force-load each needed block. |
18:59 |
Krock |
inb4 there's minetest.load_block |
18:59 |
VanessaE |
heh |
19:00 |
VanessaE |
technic, pipeworks, and mesecons all have a routine to do that I think :) |
19:00 |
Krock |
ikr |
19:02 |
Krock |
and (not biome.near_nodes or #(minetest.find_nodes_in_area({x=pos.x-biome.near_nodes_size, y=pos.y-biome.near_nodes_vertical, z=pos.z-biome.near_nodes_size}, {x=pos.x+biome.near_nodes_size, y=pos.y+biome.near_nodes_vertical, z=pos.z+biome.near_nodes_size}, biome.near_nodes)) >= biome.near_nodes_count) |
19:02 |
Krock |
wtf is that |
19:03 |
VanessaE |
if the target has something near it that it needs to grow, such as spawning near water. |
19:03 |
Krock |
it's a monstrosity |
19:03 |
VanessaE |
yep I know |
19:04 |
VanessaE |
I never claimed to be the world's best coder :) |
19:07 |
VanessaE |
if I remember right, that particular line makes it possible to turn a pond into marshland, swamp, that sorta thing |
19:08 |
VanessaE |
(but I don't think anything actually uses it :) ) |
19:08 |
Krock |
but I cannot simply remove it |
19:08 |
VanessaE |
of course not :P |
19:09 |
VanessaE |
in the end, it's an old-ass mod that came about when we had no decorations system |
19:10 |
VanessaE |
if a "shim mod" could be made to just translate everything to engine-supported features, biome_lib could be retired, but it has far more controls than the engine does, afaik. |
19:11 |
Krock |
I'm currently sorting the statements by complexity to speed things up |
19:12 |
VanessaE |
don't just sort by complexity, consider the controls that are most- and least-likely to apply to a given target |
19:12 |
Krock |
math.random(1, 100) > biome.rarity |
19:12 |
Krock |
this surely comes above any find_nodes_in_area call |
19:12 |
VanessaE |
yeah. |
19:13 |
Krock |
and above the surface ceck |
19:14 |
Krock |
oh boy alone this function has so much optimizing potential |
19:17 |
VanessaE |
heh |
19:23 |
Sokomine |
uff. down to less than 1000 unread messages! when will i have caught up with the forum? |
19:24 |
Sokomine |
oh? working on biome lib to speed it up? that's fine. the landscape it creates is beautiful |
19:24 |
Krock |
Sokomine: hello. check out GitHub first |
19:25 |
Sokomine |
oh? what news in particular? i need to check if there's anything regarding my mods. and most likely mt and mtg have changed in the meantime as well. and there's that work vanessae has for me (fixing a mod) |
19:25 |
* Sokomine |
hides behind a tree :-) |
19:26 |
* VanessaE |
digs the tree |
19:28 |
Sokomine |
hmpf :-) hope you'll plant a new one |
19:28 |
Sokomine |
but...er...tricky hiding behind a sapling! |
19:28 |
* VanessaE |
plants Sokomine |
19:28 |
VanessaE |
:) |
19:28 |
* Sokomine |
tries to grow :-) |
19:30 |
VanessaE |
now go fix your busted-ass colormachine ;) |
19:32 |
Sokomine |
trouble is that that's not so easy. those...er...hardware colors are great. just not very cooperative in some ways |
19:32 |
Sokomine |
any way to read a color palette in lua? without implementing reading png files as such? |
19:33 |
VanessaE |
*shrug* |
19:33 |
* Fixer |
hacks Sokomine and extracts hidden and forgotten River Crab server files |
19:33 |
Sokomine |
river crab? |
19:34 |
Fixer |
RedCrab* |
19:34 |
Sokomine |
ah :-) that sounds better |
19:34 |
Sokomine |
i think i uploaded them once. but with about 100mb, that's tricky with my slow line |
19:35 |
VanessaE |
100 millibits? what are you using, a 300 baud modem? ;) |
19:42 |
benrob0329 |
rubenwardy: your modding book should mention that privs need to be set to Nil in order to be revoked |
19:42 |
benrob0329 |
also irrevokable privs suck |
19:42 |
Fixer |
she is on dial up or smth |
19:43 |
benrob0329 |
the only priv that should be irrevokable is basic_privs for the admin/singleplayer |
19:43 |
Sokomine |
i still have an old modem somewhere lying around :) |
19:47 |
rubenwardy |
Setting them to nil won't do anything |
19:47 |
rubenwardy |
It's false you want |
19:49 |
|
garywhite joined #minetest-hub |
19:49 |
rubenwardy |
Well, it'll work for set_privs |
20:11 |
benrob0329 |
rubenwardy: not from what I've just witnessed |
20:16 |
sofar |
https://forum.minetest.net/viewtopic.php?f=14&t=18951&p=339751#p339751 |
20:37 |
sofar |
rubenwardy: one reason you may have gotten 404's is that the PRMS wasn't running updates on mods for a bit, if you only got those 404s for specific (few) images that may explain it (it's still weird if you got tons of those with a new client) |
20:37 |
rubenwardy |
It's probably a fallback when the hash doesn't exist |
20:37 |
rubenwardy |
Maybe |
20:38 |
sofar |
I don't think it should fallback that way, though |
20:38 |
sofar |
might have to fix it if that's really the case |
20:42 |
rubenwardy |
Offtopic: are there any projects for Linux which have fancy file system security? For example, programs need to ask for permission to read my personal files, and the permission is finely tuned |
20:51 |
sofar |
smack/selinux have that |
20:51 |
sofar |
smack is lightweight, selinux isn't :) |
20:58 |
Krock |
VanessaE: custom method is ~80ms per chunk. find_node_below_air is 125ms |
20:59 |
Krock |
not a bad start I'd say |
20:59 |
Krock |
but yet I have no idea where the lag comes from |
21:01 |
Krock |
mmh |
21:01 |
Krock |
now I'm only getting 20ms faster results |
21:10 |
|
xXNicoXx joined #minetest-hub |
21:11 |
|
xXNicoXx left #minetest-hub |
21:25 |
|
_Xenon joined #minetest-hub |
21:34 |
|
GreenDimond joined #minetest-hub |
22:13 |
Krock |
benrob0329: https://i.imgur.com/PNTOQnv.png |
22:14 |
Krock |
1 year old. code still exists but I suck at rendering stuff, hence it's just a 128px texture to make it feel smooth |
22:14 |
benrob0329 |
looks like you need to adjust the texture mapping |
22:15 |
benrob0329 |
or make a new texture |
22:16 |
Krock |
these are new textures |
22:16 |
Krock |
it would require to rotate, stretch and chop the straight rail in order to look acceptable |
22:16 |
GreenDimond |
You could get away with mapping the old textures |
22:16 |
benrob0329 |
I see |
22:48 |
Krock |
Other topic: Is there yet no gettext for android? |
22:48 |
Krock |
Context: https://forum.minetest.net/viewtopic.php?f=42&t=21719 |
22:52 |
|
paramat joined #minetest-hub |
22:53 |
longerstaff13 |
o/ |
23:13 |
rubenwardy |
what's the best software to encrypt a USB stick using a password on Linux? |
23:14 |
rubenwardy |
not just password protect, it needs to be secure as it will be a backup of my secret keys and such |
23:15 |
benrob0329 |
rubenwardy: LUKS probably |
23:15 |
rubenwardy |
what about cryptsetup? https://help.ubuntu.com/community/EncryptedFilesystemsOnRemovableStorage |
23:16 |
benrob0329 |
rubenwardy: it uses LUKS under the hood |
23:16 |
rubenwardy |
ah nice, cryptsetup does use LUKS |
23:16 |
rubenwardy |
lol |
23:16 |
benrob0329 |
so, yes |
23:19 |
|
FrostRanger joined #minetest-hub |
23:22 |
rubenwardy |
should I unencrypt and unextract any encrypted 7zip archives beforehand? |
23:22 |
rubenwardy |
probably |
23:23 |
benrob0329 |
if you want, it won't hurt unless you need them in a pinch |
23:32 |
rubenwardy |
that worked, thanks! |
23:45 |
|
Gael-de-Sailly joined #minetest-hub |
23:53 |
IhrFussel |
GreenDimond, still trying to figure out why it doesn't work for you regarding mobs? |
23:54 |
GreenDimond |
Currently looking into why digtron keeps mis-placing it's metadata because it keeps crashing my server |
23:54 |
GreenDimond |
But mobs is next after that |