Time |
Nick |
Message |
00:08 |
IhrFussel |
When were formspecs added? Before 0.4.11 right? |
00:35 |
Fixer |
^____^ |
00:36 |
Fixer |
tenplus1 is on notabug |
02:04 |
|
scr267a joined #minetest-hub |
04:32 |
|
GreenDimond joined #minetest-hub |
04:35 |
GreenDimond |
minetest.decompress fails after re-joining the world |
04:40 |
GreenDimond |
when I compress data and decompress it while in the same 'session' it works fine |
04:41 |
GreenDimond |
but when I exit and rejoin, it fails |
04:41 |
GreenDimond |
"decompressZlib: inflate failed" |
05:50 |
|
GreenDimond joined #minetest-hub |
05:55 |
GreenDimond |
no clue as to why it happens |
06:11 |
rdococ |
pffffghthhtt |
06:31 |
|
Ruslan1 joined #minetest-hub |
08:13 |
|
ANAND joined #minetest-hub |
08:20 |
|
CWz joined #minetest-hub |
09:11 |
|
ANAND_ joined #minetest-hub |
10:17 |
|
nerzhul joined #minetest-hub |
10:44 |
|
FrostRanger joined #minetest-hub |
11:31 |
|
Fixer joined #minetest-hub |
11:34 |
|
Gael-de-Sailly joined #minetest-hub |
13:13 |
|
jas_ joined #minetest-hub |
14:18 |
|
scr267 joined #minetest-hub |
14:24 |
|
_Xenon joined #minetest-hub |
14:45 |
|
TenPlus1 joined #minetest-hub |
14:45 |
MinetestBot |
TenPlus1: Dec-12 04:27 UTC <paramat> please restrain offtopic on -hub. you've had many warnings and kicks but repeatedly and conciously break the rules, i'll move to temp bans soon |
14:45 |
TenPlus1 |
hi folks |
14:47 |
VanessaE |
hey |
14:48 |
TenPlus1 |
hi Vanessa, how's things? |
14:48 |
VanessaE |
eh, things just is. :) |
14:48 |
TenPlus1 |
same :P |
14:49 |
VanessaE |
<insert off-topic stuff here just to irritate paramat> ;) |
14:49 |
TenPlus1 |
I've already been threatened with a ban, why not :P |
14:49 |
TenPlus1 |
saw the mc furniture mod, didn't seem complete... just many colour of the same things |
14:49 |
VanessaE |
nothing's as complete as homedecor ;) |
14:50 |
TenPlus1 |
heh very true :) |
14:50 |
IhrFussel |
I just upgraded my server cause it only had 250 MB space left... my hoster did CPU/RAM upgrade automatically...but I had to increase the partition size myself... i NEVER did something like that before and thankfully they offer optional GParted Live ... now I'm all set for another year or so |
14:50 |
TenPlus1 |
popularmmo's did a video on it... |
14:50 |
TenPlus1 |
hi fussel |
14:51 |
IhrFussel |
Hey there TenPlus1 |
14:52 |
IhrFussel |
You know what's rude? They even charge me $20 JUST for upgrading and then they don't offer me to increase the hard disk to the new size ... I don't know, kinda shitty |
14:52 |
TenPlus1 |
half assed support |
14:53 |
IhrFussel |
They say "you are responsible for your server, we don't help with that" |
14:53 |
IhrFussel |
"if you need help managing a server, choose a managed server instead" |
14:54 |
IhrFussel |
A managed server costs up to $50 more per month lol |
14:54 |
TenPlus1 |
you'd think the least they would do was increase current partition size to new size... it's not tht hard |
14:55 |
IhrFussel |
It is extremely hard via command line... but thanfully I found that my server control panel had a virtual DVD-drive and they shipped it with a few pre-installed tools (that's how I found Gparted Live) |
14:56 |
IhrFussel |
With Gparted Live all I had a simple GUI and it was only 5 mouse clicks |
14:57 |
TenPlus1 |
it's a handy iso to have around :D fixed many a pc using that one |
14:58 |
IhrFussel |
I wonder what they need those $20 for...probably just "cause they can" |
14:58 |
TenPlus1 |
exactly, if they can they will... |
14:59 |
IhrFussel |
I doubt that increasing a KVM instance's resources is a difficult task to do |
14:59 |
jas_ |
so how about that new debian? |
14:59 |
jas_ |
hi tenplus1 |
14:59 |
TenPlus1 |
hi jas :) |
14:59 |
jas_ |
\:D/ |
14:59 |
TenPlus1 |
new debian ? am already using latest kubuntu using deb |
14:59 |
jas_ |
yes! |
14:59 |
jas_ |
it's the best |
15:00 |
jas_ |
(i have no idea, never used anything else.) |
15:00 |
TenPlus1 |
ehehe |
15:00 |
jas_ |
but i did install buster alpha 4, gonna see how that goes, on a headless pc. mm, not using it yet tho |
15:00 |
jas_ |
it's just sitting there, on. whatchu been up to? |
15:00 |
IhrFussel |
I don't like the command to install packages... it's that "yum" crap or something...right? |
15:01 |
TenPlus1 |
working over xmas and chilling :P |
15:01 |
jas_ |
i dunno, i think it varies for different os's. and some that aren't debian-based use apt, as well |
15:01 |
jas_ |
oh yeah, gotta do it ten |
15:01 |
jas_ |
r & r |
15:01 |
TenPlus1 |
deb uses apt |
15:01 |
jas_ |
it has super cow abilities |
15:01 |
jas_ |
whatever that means |
15:02 |
jas_ |
i didn't know for the longest time you could `apt' instead of `apt-get', that it was a frontend |
15:02 |
jas_ |
i'm trying to do areastore with protector redo, tenplus1 |
15:02 |
jas_ |
it's a bit challenging for me, but fun anyway |
15:02 |
TenPlus1 |
area store as in shops ? or saving positions ? |
15:02 |
jas_ |
instead of checking all nodes in radius, their meta, for ownership |
15:03 |
jas_ |
check against AreaStore |
15:03 |
TenPlus1 |
oh right, just cacheing the owner/player names |
15:03 |
jas_ |
i suppose so, you make it sound easy when you say it like that |
15:03 |
IhrFussel |
Oh wait...the issue I had with Debian is that it doesn't natively support PPAs |
15:03 |
jas_ |
frankendebian? |
15:03 |
TenPlus1 |
ppa's are an ubuntu thing mostly |
15:04 |
jas_ |
that pr, that hybrid dog had, to speed up meta... i wonder how it would improve protector redo |
15:04 |
jas_ |
it was never merged, or not thought to be a big improvement, i think. or maybe it was? i haven't checked over the holidays |
15:05 |
TenPlus1 |
last pull for protector redo was areas hud compatibility, but doing that lagged servers |
15:05 |
jas_ |
six million ways to lag a server, choose one |
15:05 |
TenPlus1 |
hah yeah |
15:06 |
|
scr267a joined #minetest-hub |
15:06 |
TenPlus1 |
I tried adding a cache at one point and gave more issues, when to renew cache if protectors removed/changed hands etc. was easier to check live |
15:06 |
IhrFussel |
What's the default HUD update interval of 'areas'? I made mine 1.5 secs and it helps quite a bit |
15:06 |
jas_ |
there's a lot of options, hard without a coordinated plan |
15:06 |
TenPlus1 |
hi scr |
15:06 |
jas_ |
brb |
15:07 |
jas_ |
i'm back! |
15:07 |
IhrFussel |
It's also good that it doesn't update the HUD if the previous string of protections is the same as the current |
15:07 |
jas_ |
it'll take me time and testing and i may fail |
15:07 |
jas_ |
but it's fun to try anyway |
15:07 |
jas_ |
i got it working in conjunction with meta check at the moment, but so many bugs and |
15:08 |
TenPlus1 |
definitely, always worth trying... might find better ways of doing things :) |
15:08 |
jas_ |
the way you say i almost should start over |
15:08 |
jas_ |
i must have been raging earlier because i just started deleting newlines |
15:08 |
jas_ |
mm, oh well. it's hard to merge but i could try to put it back. |
15:08 |
jas_ |
i should start over |
15:09 |
jas_ |
it's great to have an in-game item to protect with |
15:09 |
jas_ |
that it has to be crafted, and that there's a cost to ownership |
15:09 |
jas_ |
the bigger the area, the higher the cost |
15:09 |
jas_ |
so i always prefer protector redo over areas |
15:09 |
Shara |
Fussel, not sure why you moan about your hosting over that. It's pretty standard to just do that yourself. |
15:10 |
IhrFussel |
BTW I find it funny that all OS use the name "MBR/MS-DOS" for legacy partition tables |
15:10 |
TenPlus1 |
lol, compatibility |
15:11 |
IhrFussel |
Shara, I can still find it rude to charge me $20 for that ... I could've destroyed everything on my disk and nobody would've helped me |
15:11 |
Shara |
Fussel, they are a business, and yes, unless you pay for managed services, why should they? |
15:12 |
jas_ |
did you tell them that ihrfussel? you should complain! |
15:12 |
Shara |
I had to do the same, and it went without problem, when I added more space |
15:13 |
IhrFussel |
I don't expect them to manage my server...but nobody told me beforehand that I would even have to adjust the partition size myself...I feel like they should've told me when they offered me to upgrade |
15:13 |
Shara |
Seems like common sense to me. |
15:13 |
jas_ |
or experience |
15:14 |
jas_ |
i wouldn't know that, i never ran a remote server before. |
15:14 |
Shara |
jas_: not really. I barely have any experience and I'm not even a Linux user outside of the MT server I run |
15:14 |
jas_ |
hm, i guess so |
15:14 |
jas_ |
i usually mess that stuff up personally |
15:14 |
IhrFussel |
Shara, I guess you also use a GUI tool to increase the size correct? Or did you learn to do it via command line? |
15:15 |
jas_ |
use the ? key! |
15:15 |
Shara |
No, did it all via command line |
15:15 |
jas_ |
i do remember that hehe |
15:15 |
Shara |
My provider was good enough to have guides you can check for help. No clue if yours has that |
15:15 |
jas_ |
!title |
15:15 |
MinetestBot |
jas_: REACTING TO MINECRAFT 2 ANNOUCEMENT TRAILER!!! - YouTube |
15:15 |
jas_ |
haha |
15:15 |
TenPlus1 |
lolol |
15:16 |
IhrFussel |
Via command line was just too much for me... 1. Change boot order in control panel 2. Activate "Rescue System" 3. Login into virtual rescue instance 4. mount your hard disk 5. Check partition table type 6. Start fdisk and enter a bunch of commands 7. Write it to the partition table |
15:17 |
jas_ |
now is remote linux distro installation/upgrade relating to an mt server on-topic? it is, right? i just want to make sure. |
15:17 |
Shara |
If it's too much for you, I get it. It's just that maybe you shouldn't moan about the provider when this seems pretty normal. |
15:18 |
Shara |
Ask around and see who can help if you need it. |
15:18 |
IhrFussel |
You also have to do all that "Rescue System" crap before you can actually change the partition? |
15:18 |
* TenPlus1 |
inserts a Playstation 1mb memory card to upgrade fussel's server |
15:18 |
jas_ |
just tell them to fix it for you! you're a paying customer damn it! |
15:19 |
Shara |
It was a while back for me, so I don't remember all the steps. I know it wasn't 'fun', and it took more time than I would have liked, but it was perfectly possible. |
15:19 |
|
aerozoic joined #minetest-hub |
15:19 |
TenPlus1 |
hi aerozoic |
15:19 |
aerozoic |
hey TenPlus1 ! |
15:19 |
IhrFussel |
jas_, nah that's not how it works... I don't pay enough to get my server managed not even for 1 task... it's "pay less and do everything without us" or "pay a lot more and we do everything for you" |
15:20 |
jas_ |
oh. well then in that case, you get what you pay for. |
15:20 |
jas_ |
!next |
15:20 |
MinetestBot |
Another satisfied customer. Next! |
15:20 |
IhrFussel |
I pay quite a bit... in fact after the upgrade it#s close to $50 monthly |
15:20 |
jas_ |
that is a lot |
15:20 |
jas_ |
but it's all relative. there's books. |
15:21 |
aerozoic |
TenPlus1, quick question... Serveral players on my server have asked why there are no dogs. I was just wondering what ur thoughts were on that regarding mobs animals? |
15:21 |
IhrFussel |
The problem is ONLY really needed more SPACE... and they told me they cannot just increase my storage I have to upgrade to another tariff |
15:21 |
jas_ |
IhrFussel: how is your server going anyway? |
15:22 |
TenPlus1 |
we added wolves to xanadu using dmobs, can be tamed into dogs :D |
15:22 |
jas_ |
did you see that 'whats wrong with ur server part 2' post about characters and classes? |
15:22 |
IhrFussel |
jas_, it's doing fine...now ... before the upgrade the map took almost all space and I had to constantly delete logs |
15:22 |
aerozoic |
oh cool thanks |
15:22 |
jas_ |
i only made it one paragraph in so far |
15:22 |
jas_ |
yeah logs man, just auto delete? |
15:23 |
jas_ |
keep enough to see a day or two? |
15:23 |
IhrFussel |
Not enough... my space was 53 GB and the map is 48 GB ... so there was not much to spare |
15:23 |
TenPlus1 |
sorry that should have been kpg mobs that adds wolves/dogs |
15:23 |
jas_ |
also i think minetest.log is resource intensive when used a lot, is that true? |
15:24 |
TenPlus1 |
but... if someone were to make some really nice doggie textures for the model I'll add to mobs animal :) |
15:24 |
jas_ |
the map database? or that plus the logs? |
15:24 |
|
Jordach joined #minetest-hub |
15:24 |
TenPlus1 |
hi Jordach |
15:24 |
jas_ |
yeah ten cannot blender i suppose |
15:24 |
jas_ |
oh maybe he can |
15:24 |
TenPlus1 |
blender confuses meh :P |
15:24 |
aerozoic |
TenPlus1, ok thanks! |
15:25 |
jas_ |
maybe some day there will be a new pack of nice models for mobs |
15:25 |
jas_ |
but i really love that dungeon master |
15:25 |
TenPlus1 |
as they come out I try to replace... AspireMint has done a great job with spiders :) |
15:26 |
jas_ |
that's awesome |
15:27 |
TenPlus1 |
and we did the move from .x to .b3d models on some to save space |
15:27 |
jas_ |
there's quite a few nice models spread throughout all the mods, really. it'd be nice to see them all at once |
15:27 |
jas_ |
(and of course, polycount, or whatever it is, that makes the client work harder to render scenes?) |
15:29 |
Jordach |
daily reminder that you can do cel shading in MT |
15:29 |
jas_ |
jordach really made me jealous when he was talking about >60 fps minetest |
15:30 |
TenPlus1 |
mobs_mc exists and has every single Minecraft mob added to the game :P |
15:30 |
jas_ |
oh, yup |
15:30 |
* Jordach |
laughs in 250fps at 165hz display |
15:30 |
jas_ |
yeah right 250 |
15:30 |
TenPlus1 |
hahaha, vsync limits me :P |
15:30 |
jas_ |
singlenode |
15:30 |
jas_ |
clouds disabled |
15:31 |
jas_ |
...do you really? |
15:31 |
Jordach |
https://i.imgur.com/6TYWVfB.jpg nice potato pc m8 |
15:31 |
TenPlus1 |
disable smooth lighting, clouds, fog, anticheat and rollback :D |
15:31 |
jas_ |
yeah there's no way a stable 250 on a crowded scene with nodeboxes and shit and plus, it depends if you're moving |
15:31 |
jas_ |
and try fov 110 |
15:32 |
Jordach |
https://i.imgur.com/T107cuZ.jpg |
15:32 |
Jordach |
lmfao |
15:33 |
Jordach |
>tfw i7 8750H vs i5 4690k |
15:33 |
TenPlus1 |
https://orig07.deviantart.net/057b/f/2015/104/f/5/survival_is_beautiful___minecraft_wallpaper__uhd__by_minecraftphotography-d818uiw.jpg |
15:33 |
jas_ |
well i dunno, but i would like to test it. because i use a low sensitivity and a lot of movement and a wide fov |
15:33 |
jas_ |
so a constant, stable anything |
15:33 |
jas_ |
would be pretty impressive |
15:34 |
IhrFussel |
jas_, just map.sqlite is 48 GB |
15:34 |
jas_ |
that's huge |
15:34 |
Jordach |
jas_: i can double v_range and still have >60fps |
15:34 |
IhrFussel |
debug.txt gets already wiped on each restart (only keep last 3 million lines which usually means a few days back) |
15:34 |
jas_ |
yes, i've gotten close on old hardware |
15:35 |
jas_ |
so if you have new, i don't doubt it. it's just, that constant butter |
15:35 |
jas_ |
can you feel it? |
15:35 |
Jordach |
v_range is 230 in those screen shots |
15:36 |
jas_ |
well minetest is not a fast paced action game |
15:36 |
TenPlus1 |
I wish that mt map loading was faster though, so we could make proper dropper style maps |
15:36 |
jas_ |
but sometimes it can be |
15:36 |
IhrFussel |
Now I have 8 cores and 24 GB DDR4 RAM ... what am I gonna do with that, I don't need it...I just wanted the extra space |
15:37 |
jas_ |
so a good test is a video. youtube supports 60 fps i believe |
15:37 |
IhrFussel |
4 cores and 12 GB RAM (before upgrade) were enough to run MT |
15:37 |
jas_ |
and move around a love, the mouse |
15:38 |
jas_ |
https://www.youtube.com/watch?v=BrjPDoY2kyM |
15:39 |
TenPlus1 |
that npc is possessed |
15:39 |
TenPlus1 |
also entity glitch in progress :D ahaha |
15:40 |
Shara |
Anyone know how I could find out who owned an area with a specific number, after the area was deleted? (I have backups of areas.dat, but it doesn't seem to record area number) |
15:41 |
TenPlus1 |
prolly loads them in number order, counting each name as it appears |
15:41 |
Shara |
Yea, but the line I have in that position doesn't seem a likely candidate |
15:41 |
rubenwardy |
Shara: areas are stored in order |
15:41 |
rubenwardy |
Oh, inb4 |
15:41 |
TenPlus1 |
o/ ruben |
15:41 |
rubenwardy |
Hey TenPlus1 |
15:41 |
* rubenwardy |
has been hacking areas recently |
15:41 |
Shara |
rubenwardy: but when you delete an area, then the next made takes it's number.... it's the ordering kept? |
15:42 |
Shara |
its* |
15:42 |
rubenwardy |
I think it populates gaps with null |
15:42 |
rubenwardy |
*nil |
15:42 |
TenPlus1 |
then next entry replaces nil |
15:42 |
Shara |
Hmm, then maybe I need a more recent backup for this |
15:42 |
IhrFussel |
Shara, for that exact reason I log any deletion...to be able to track back the ID, owner and protection name ... your only hope is for i = 1, 9999 do print(areas.areas[i].." "..areas.areas[i].owner.." "..areas.areas[i].name) end << something like that |
15:43 |
Shara |
It's unlikely to be a major issue. But one of the team typoed when deleting an area and isn't sure what he hit |
15:44 |
IhrFussel |
Do you log commands? Then search for the ID that was typoed and see if it appeared somewhere else already |
15:44 |
Shara |
I don't think searching in general for a three digit number is going to be very helpful |
15:45 |
IhrFussel |
It depends... if someone added others to it then you could potentially see who's affected |
15:45 |
jas_ |
they're handled internally unless you explicitly specify id, in insert_area() |
15:45 |
jas_ |
so it could be any number, like sound handles |
15:46 |
jas_ |
(i wish sound handles could be handled explicitly) |
15:46 |
jas_ |
unless i'm mistaken. i didn't actually try for a year+ |
15:46 |
IhrFussel |
For example if someone protects something via /protect blah and later /add_owner ID someone_else blah ... then 'someone'else' could potentially know what it was |
15:47 |
jas_ |
playing with it now tho, it's possible to get name, or "data" (i use player name) in get_areas_for_pos if you do `true' to return data |
15:47 |
jas_ |
get_areas_in_area() returns data by default |
15:47 |
jas_ |
odd |
15:47 |
IhrFussel |
All areas are stored in areas.areas ... you can loop through it like I did above |
15:48 |
Shara |
well, the issue is simply whether the latest backup I have of the file will be recent enough that nothing in the order was changed |
15:49 |
IhrFussel |
So stop server, replace areas.dat with backup one, start server and run a command that loops through every area and prints the info somewhere |
15:49 |
Shara |
Uhm, no |
15:49 |
Shara |
That would be a huge mistake |
15:49 |
|
nerzhul joined #minetest-hub |
15:49 |
IhrFussel |
I mean replace as in 'move them around' |
15:49 |
TenPlus1 |
hi nerzhul |
15:49 |
Shara |
Fussel, big no |
15:50 |
Shara |
I'm quite capable of doing a search without needing to replace the actual up to date file |
15:50 |
Shara |
I'd lose a lot more than one area if I did that :P |
15:50 |
jas_ |
ouch |
15:50 |
IhrFussel |
You could code your own lua table parser script and run it through that |
15:51 |
Shara |
As I said, quite capable of doing a search |
15:52 |
IhrFussel |
What kind of search? Searching the areas.dat won't work cause the IDs are not stored anywhere, the IDs are given by the order |
15:52 |
Shara |
... |
15:52 |
Shara |
I'm not stupid Fussel |
15:53 |
IhrFussel |
So you need "some kind of script" that is able to parse the file ... there is no other way unless you try the search through logs method |
15:53 |
Shara |
Not at all |
15:54 |
Shara |
Split the file to get one entry per line and the line number gives me all I need, yes? |
15:54 |
Shara |
You just like overcomplicating things |
15:54 |
IhrFussel |
Not sure if that will work, you can try |
15:54 |
Shara |
It obviously works since it's a technique I use for all kinds of things |
15:55 |
Shara |
All I needed was to confirm how the file works. I don't need your help pulling data beyond that |
15:57 |
TenPlus1 |
how big is the file ? |
15:58 |
Shara |
I completed the search about ten minutes ago |
15:59 |
Shara |
Even if Fussel thinks it's impossible :) |
16:00 |
nerzhul |
hi TenPlus1 |
16:01 |
nerzhul |
#8000 |
16:01 |
ShadowBot |
https://github.com/minetest/minetest/issues/8000 -- CSM restrictions: Make 'LOAD_CLIENT_MODS' disable loading of 'builtin' by paramat |
16:01 |
rubenwardy |
don't use IhrFussel's loop, it'll crash on any blank holes |
16:02 |
Shara |
There was no need for any loop |
16:02 |
IhrFussel |
That could be solved by checking "if areas.areas[i] then" |
16:02 |
IhrFussel |
I use such a loop to wipe abandoned protections and it works well |
16:03 |
IhrFussel |
I forgot to include that check in the snippet |
16:04 |
rubenwardy |
oorrr do it properly |
16:04 |
rubenwardy |
for i, area in pairs(areas.areas) |
16:04 |
jas_ |
that's clean |
16:07 |
jas_ |
forgot the do tho |
16:07 |
TenPlus1 |
lol |
16:14 |
rubenwardy |
I didn't forget it |
16:15 |
rubenwardy |
with that logic, I also forgot the end and the body of the loop |
16:15 |
rubenwardy |
:) |
16:17 |
|
Ruslan1 joined #minetest-hub |
16:24 |
|
tumeninodes joined #minetest-hub |
16:24 |
TenPlus1 |
hi tumeninodes |
16:24 |
tumeninodes |
Hey! Hi TenPlus1 with caps |
16:24 |
TenPlus1 |
heh |
16:28 |
tumeninodes |
Hey anyone in the knowing... I was poking about things and came across Allow_ZWrite_On_Transparent in the irrlicht engine and wondering if MT utilizes this? |
16:29 |
tumeninodes |
I did not browse through enough to notice it |
16:29 |
TenPlus1 |
am sure irrlicht has many kewl features we dont use :D |
16:30 |
tumeninodes |
oh, definitely |
16:33 |
tumeninodes |
I also came across a way to make the b3d loader cancel using mipmap, and I "think" it can be used for .obj too (uses a true/false value) which might give us less blurred meshes ingame? |
16:33 |
tumeninodes |
or use mipmap der |
16:33 |
Amaz |
Ooo, I just saw (and tried out!) the new pitch fly mode!! That's really cool (and fun!) |
16:33 |
TenPlus1 |
hi amaz |
16:34 |
TenPlus1 |
will try pitch fly soon enough :) gotta be smoother than the one we use in mobs api |
16:34 |
rubenwardy |
hey Amaz! |
16:35 |
Amaz |
Hi! |
16:35 |
Amaz |
Some very nice additions over the past couple of months :) |
16:35 |
rubenwardy |
it's so Amazing to see older players come back :) |
16:35 |
Amaz |
:P |
16:35 |
* TenPlus1 |
awaits 5.0 stable |
16:37 |
tumeninodes |
does numberzero ever pop in here? would like to turn their attention to the 'allow_zwrite_on_transparent topic |
16:37 |
Calinou |
Quake had pitch fly 22 years before us :P |
16:37 |
Calinou |
I think even Heretic had it, IIRC |
16:38 |
TenPlus1 |
wonder if we could add a swim/fly player animation in the mix |
16:44 |
|
benrob0329 joined #minetest-hub |
16:44 |
TenPlus1 |
hi benrob |
16:47 |
benrob0329 |
hello TenPlus1 |
16:47 |
benrob0329 |
notabug was down yesterday, btw |
16:47 |
TenPlus1 |
still is down |
16:47 |
TenPlus1 |
oh wait, it's back up now... ahaha... was down earlier |
16:48 |
benrob0329 |
nice |
16:48 |
TenPlus1 |
wonder what the issue was |
16:48 |
* benrob0329 |
is finally playing MT again |
16:49 |
benrob0329 |
light survival with friends, mostly just building |
16:49 |
TenPlus1 |
:P |
16:50 |
TenPlus1 |
added vanessa's autocrafter to xanadu and made it work with hoppers :) players going nuts building crafting machines |
16:50 |
TenPlus1 |
am considering adding sorting tubes |
16:51 |
Calinou |
TenPlus1: surely, but someone would have to create one… and it'd be very difficult to make a convincing flying animation since we can't change it based on the direction easily |
16:51 |
Calinou |
(in a way that looks good) |
16:51 |
Calinou |
even in Minecraft, they kind of gave up with a proper flying animation IIRC |
16:52 |
TenPlus1 |
we have a laying down, just fliup it to looking down :D |
16:52 |
benrob0329 |
Calinou: they have elitra with a proper flying animation now |
16:52 |
benrob0329 |
looks pretty good tbh |
16:53 |
TenPlus1 |
am sure pitch and yaw rotation would help make it look nice :) |
16:57 |
Calinou |
benrob0329: I mean, in creative mode |
16:57 |
Calinou |
TenPlus1: if it's interpolated, sure |
16:58 |
|
scr267b joined #minetest-hub |
16:58 |
TenPlus1 |
wb src |
17:00 |
tumeninodes |
https://github.com/svn2github/irrlicht/blob/master/branches/shader-pipeline/include/SceneParameters.h |
17:00 |
tumeninodes |
!title |
17:00 |
MinetestBot |
tumeninodes: irrlicht/SceneParameters.h at master · svn2github/irrlicht · GitHub |
17:01 |
TenPlus1 |
laters folks o/ |
17:01 |
|
TenPlus1 left #minetest-hub |
17:01 |
tumeninodes |
he leaves so fast |
17:36 |
|
GreenDimond joined #minetest-hub |
17:39 |
|
scr267a joined #minetest-hub |
17:47 |
GreenDimond |
Does anyone have any ideas as to why minetest.decompress is failing? |
17:56 |
|
Krock joined #minetest-hub |
17:56 |
Krock |
o/ |
17:56 |
GreenDimond |
\o |
17:57 |
GreenDimond |
Krock: Whatever happened to fixing the entity attachment collisionbox bug? :P |
17:59 |
Krock |
GreenDimond: fixed |
17:59 |
Krock |
at least for first-level attachments |
17:59 |
GreenDimond |
I mean the bug where they dont work outside of 200m around spawn |
18:00 |
IhrFussel |
What is 'legacy_mineral' inside a node definition? Needed by some mod? |
18:00 |
Krock |
nothing. dunno how to fix and spent not much time on it |
18:00 |
Calinou |
I think it's from the 0.3 days |
18:00 |
GreenDimond |
Didn't paramat give you the answer a while back? |
18:00 |
GreenDimond |
The camera updates every 200 nodes |
18:01 |
Krock |
GreenDimond: was it really paramat? I know about the camera behaviour but I didn't investigate further |
18:01 |
Krock |
interestingly it's the collisionbox AND selectionbox which isn't working properly |
18:01 |
GreenDimond |
I think he was the one that mentioned the camera behavior |
18:01 |
GreenDimond |
well yeah |
18:01 |
IhrFussel |
Calinou, was that directed @ me? |
18:01 |
Krock |
so I'm not sure how much it's related to the camera |
18:02 |
GreenDimond |
IhrFussel: Probably |
18:02 |
Krock |
IhrFussel: yes |
18:02 |
Krock |
just remove these old parameters |
18:02 |
GreenDimond |
I really think it would be worth fixing before 5.0 IMO |
18:02 |
IhrFussel |
So... drop = 'samemod:sameitem' is also legacy? You had to define the drop for nodes in the past? |
18:02 |
GreenDimond |
No |
18:02 |
GreenDimond |
well |
18:02 |
GreenDimond |
maybe |
18:03 |
GreenDimond |
drop isnt legacy |
18:03 |
IhrFussel |
No but I wonder why the node def of that item defines "drop" as itself |
18:03 |
GreenDimond |
If it's an ore then maybe they didn't want it to drop a lump |
18:03 |
IhrFussel |
Nope it's the 'falling anvil' |
18:04 |
GreenDimond |
except that wouldnt make sense anyway because ores drop themself unless drop defines something else |
18:04 |
rdococ |
thoughts: hmm |
18:04 |
GreenDimond |
Krock: Well unless something else updates every 200 nodes, camera makes sense |
18:05 |
GreenDimond |
Also minetest.decompress is being a pain |
18:05 |
GreenDimond |
A pointer on that would be great if anyone has one |
18:06 |
IhrFussel |
Uh weird...I can't even find that mod anymore it must be super old |
18:07 |
IhrFussel |
I found it! |
18:07 |
IhrFussel |
https://github.com/Megaf/anvil/blob/master/init.lua |
18:07 |
* Krock |
give GreenDimond Decompressor *dec_ptr = nullptr; |
18:08 |
GreenDimond |
Gee, thanks |
18:08 |
BillyS |
Can entities (other then players) have inventories? |
18:09 |
IhrFussel |
Now that I think about it the item is by Megaf and AFAIK they don't know much about MT modding |
18:09 |
BillyS |
It doesn't seem that they can ... that's quite annoying |
18:10 |
Calinou |
IhrFussel: yeah |
18:10 |
IhrFussel |
In case I remember correctly and Megaf was the server owner who couldn't really fix his mods and blame core devs for it |
18:11 |
GreenDimond |
BillyS: Use detached inventories |
18:11 |
BillyS |
I guess not; that seems to be an ongoing issue here: https://github.com/minetest/minetest/issues/6081 |
18:11 |
GreenDimond |
There are plenty of NPC Trader mods |
18:11 |
GreenDimond |
take a look at them |
18:11 |
BillyS |
GreenDimond: That's gonna be my only option, but saving the inventories over reboot is gonna be something horrible |
18:11 |
GreenDimond |
Nah |
18:11 |
GreenDimond |
Easy |
18:11 |
GreenDimond |
Staticdata aint horrible |
18:12 |
GreenDimond |
minetest.serialize(inv:to_table()) |
18:12 |
BillyS |
...derp |
18:12 |
BillyS |
Didn't think of that xD |
18:12 |
GreenDimond |
As long as your inventory isnt 1000 slots |
18:12 |
GreenDimond |
If it is then you could minetest.compress it |
18:12 |
GreenDimond |
If you can get decompress to work, that is >:( |
18:12 |
BillyS |
Nah, it's more like 12 |
18:12 |
BillyS |
Okay, thanks |
18:16 |
Krock |
BillyS: entities cannot have inventories. serialize it manually |
18:17 |
BillyS |
So it seems, thanks |
18:17 |
Krock |
(just to confirm what's been said above) |
18:17 |
Krock |
(because I didn't read it) |
18:18 |
GreenDimond |
Krock: any chance of the bug being worked on before 5.0? |
18:18 |
Krock |
yes, I'll make the bug better |
18:18 |
Krock |
xP |
18:18 |
GreenDimond |
Thanks x2 |
18:19 |
GreenDimond |
Your null pointers and bugs are so helpful |
18:20 |
Krock |
I'll give it a try - but the camera code is overcomplicated |
18:20 |
GreenDimond |
Thanks :) |
18:20 |
GreenDimond |
Now I need to figure out why minetest.decompress is failing |
18:20 |
GreenDimond |
and I dearly hope it isnt an engine bug |
18:20 |
GreenDimond |
which it probably is |
18:21 |
Krock |
failing with 5.0.0-dev? |
18:21 |
GreenDimond |
Yes |
18:21 |
Krock |
error dump pls |
18:22 |
GreenDimond |
literally "luaentity_Activate(): decompressZlib: inflate failed" |
18:22 |
GreenDimond |
(it is being called when an entity is activated) |
18:22 |
GreenDimond |
and it shouldnt be a problem |
18:23 |
Krock |
if(status == Z_NEED_DICT || status == Z_DATA_ERROR |
18:23 |
Krock |
|| status == Z_MEM_ERROR) |
18:23 |
Krock |
corrupted data |
18:23 |
GreenDimond |
When the entity activates it runs fine |
18:23 |
GreenDimond |
but when I reload the world |
18:23 |
GreenDimond |
the entity activates and decompress fails |
18:23 |
Krock |
add some sanity checks to ensure it's not an empty string and the correct length |
18:24 |
GreenDimond |
correct length? |
18:24 |
Krock |
i.e. minetest.serialize({ length = string.len(comp_data), data = comp_data } |
18:24 |
Krock |
on read the "data" value but be the same as "length" |
18:25 |
GreenDimond |
that doesnt make sense though |
18:25 |
GreenDimond |
you serialize before compressing |
18:25 |
GreenDimond |
minetest.compress takes a string |
18:26 |
GreenDimond |
are you saying serialize again after compressing?. |
18:27 |
|
scr267a joined #minetest-hub |
18:30 |
Krock |
GreenDimond: attachments work when commenting ou the camera shift |
18:30 |
Krock |
GreenDimond: yes, to pack it into a proper string/table |
18:31 |
GreenDimond |
So it is the camera causing the issue? |
18:31 |
Krock |
need to verify |
18:32 |
Krock |
cannot reproduce in the vanilla client either |
18:32 |
Krock |
same testing code. what is happening huh |
18:33 |
GreenDimond |
Cant reproduce what? |
18:33 |
Krock |
the 200m attachment bug |
18:34 |
GreenDimond |
erm |
18:34 |
Krock |
lol |
18:34 |
Krock |
broken in an older build |
18:34 |
GreenDimond |
But |
18:34 |
Krock |
maybe it's accidentally fixed by my recent camera changes |
18:34 |
GreenDimond |
my build is from like a day ago |
18:34 |
Krock |
I just noticed my "vanilla" build is not that vanilla |
18:35 |
GreenDimond |
:v |
18:36 |
GreenDimond |
alright now im confused |
18:36 |
GreenDimond |
attempt to index local "dat" (a nil value) |
18:36 |
GreenDimond |
on the line right after its defined |
18:36 |
GreenDimond |
wtf |
18:36 |
GreenDimond |
local dat = minetest.deserialize(storage:get_string(self._id)) |
18:37 |
GreenDimond |
its failing on the next line, if dat.data == "" then error("Data is empty") end |
18:39 |
BillyS |
GreenDimond: Actaully, it seems that inventories don't have a to_table method, although MetaDataRefs do |
18:39 |
Krock |
GreenDimond: fixed by #8015 |
18:39 |
ShadowBot |
https://github.com/minetest/minetest/issues/8015 -- Camera: Code improvements, use Raycast by SmallJoker |
18:39 |
GreenDimond |
where is MinetestBot's api command when I need it |
18:39 |
Krock |
(attachment bug) |
18:39 |
Krock |
!commands |
18:39 |
BillyS |
https://dev.minetest.net/InvRef |
18:39 |
Krock |
!help |
18:39 |
MinetestBot |
https://github.com/sfan5/minetestbot-modules/blob/master/COMMANDS.md |
18:40 |
Krock |
GreenDimond: ID is always different dude |
18:40 |
Krock |
assuming you're using the internal entity ID |
18:40 |
GreenDimond |
I am not |
18:40 |
Krock |
and it must be a string |
18:40 |
GreenDimond |
Ignore the storage part |
18:40 |
GreenDimond |
It works |
18:40 |
GreenDimond |
100% |
18:41 |
GreenDimond |
Because I used this with just minetest.[de]serialize |
18:41 |
Krock |
is it empty after the .compress call? |
18:41 |
GreenDimond |
The string is not empty, I at least confirmed that |
18:41 |
GreenDimond |
Remember Krock, it works in the same session |
18:42 |
GreenDimond |
When the entity is created and it activates, compress and decompress work fine |
18:42 |
GreenDimond |
it's when I exit and rejoin that it fails |
18:42 |
GreenDimond |
wtf |
18:43 |
GreenDimond |
no matter what I do it cant find the local var |
18:43 |
GreenDimond |
is that because deserialize is returning nil?.. |
18:43 |
GreenDimond |
I bet thats why |
18:43 |
Krock |
you must define locals above where you use them |
18:43 |
GreenDimond |
... |
18:43 |
GreenDimond |
Im not stupid |
18:43 |
Krock |
no really you might expect "foo" to exist inside a function |
18:43 |
Krock |
since the function is by time called after the main code body |
18:44 |
GreenDimond |
It is inside the proper scope |
18:44 |
Krock |
do you have the entire relevant code somewhere to test it? |
18:44 |
GreenDimond |
No |
18:45 |
Krock |
oh wait |
18:45 |
Krock |
got an idea |
18:45 |
GreenDimond |
somehow its getting nil |
18:45 |
Krock |
what if you use set_string and get_string after each other? |
18:45 |
Krock |
is get_string returning an empty string? |
18:45 |
Krock |
binary data may contain a leading zero |
18:45 |
GreenDimond |
Looking at the mod storage file it gets writen |
18:45 |
Krock |
causing the string reading function to fail |
18:45 |
GreenDimond |
written* |
18:45 |
Krock |
yes szre |
18:45 |
Krock |
it's about reading |
18:45 |
GreenDimond |
ah |
18:46 |
GreenDimond |
let me undo the sanity checks |
18:46 |
Krock |
seen that issue before, but didn't remember in which context |
18:46 |
Krock |
std::string name = luaL_checkstring(L, 2); |
18:46 |
Krock |
boom |
18:47 |
GreenDimond |
how do I check the get_string |
18:47 |
GreenDimond |
dump or print I suppose? |
18:47 |
GreenDimond |
I was about to do chat_send_all but it isnt a standard string so I figured that wouldnt go well |
18:47 |
Krock |
storage:set_string("test", minetest.compress("your data here")) |
18:47 |
GreenDimond |
? |
18:47 |
Krock |
storage:get_string("test") then compare |
18:47 |
GreenDimond |
wait |
18:48 |
GreenDimond |
compare how? |
18:48 |
GreenDimond |
nvm |
18:48 |
Krock |
err == and length |
18:49 |
Krock |
or write it to a file to ensure it's not stopping at \0 |
18:49 |
GreenDimond |
if I do local compressed = bla; storage:set_string(id, compressed); local get = storage:get_string(id); minetest.chat_send_all(tostring(get == compressed)) |
18:49 |
Krock |
yes |
18:49 |
GreenDimond |
alright |
18:50 |
Krock |
but compressed must be your binary data |
18:50 |
GreenDimond |
binary being after minetest.compressed? |
18:51 |
GreenDimond |
returns true |
18:51 |
GreenDimond |
on first gen |
18:51 |
GreenDimond |
let me see on reload |
18:52 |
GreenDimond |
wait |
18:52 |
GreenDimond |
nvm |
18:52 |
GreenDimond |
lol |
18:52 |
GreenDimond |
It doesnt compress anything on activate |
18:52 |
GreenDimond |
Krock: So yes it is writing it properly |
18:54 |
Krock |
GreenDimond: are you "GreenXenith" on Github btw? |
18:55 |
GreenDimond |
Yes |
18:55 |
GreenDimond |
the mod isnt there though |
18:55 |
Krock |
writing a test file to reproduce this |
18:55 |
GreenDimond |
ah |
18:57 |
Krock |
GreenDimond: is the ID alphanumeric only or could it contain the null character? |
18:57 |
Krock |
doesn't really matter though |
18:57 |
GreenDimond |
its a number |
18:57 |
Krock |
ah. so it's converted to a string by Lua |
18:57 |
GreenDimond |
um |
18:57 |
GreenDimond |
I guess? |
18:57 |
Krock |
yes. it was a statement. sorry :3 |
18:58 |
GreenDimond |
That wouldnt be the problem would it?... |
18:58 |
Krock |
no, just trying to eliminate all possible causes |
18:58 |
GreenDimond |
I can test the attachment thing with my own mod btw |
18:58 |
GreenDimond |
let me just pull the latest build |
18:59 |
Krock |
afaik there were no changes in this code area |
18:59 |
GreenDimond |
already up to date anyway :x |
19:00 |
GreenDimond |
collisionboxes still dont work outside of 200 |
19:00 |
GreenDimond |
*boxes * |
19:04 |
IhrFussel |
Is num_emerge_threads = 7 still ok or too much? |
19:04 |
GreenDimond |
Krock: Want the binary line? |
19:04 |
IhrFussel |
I have it at 3 but now I got upgraded from 4 -> 8 cores |
19:06 |
Krock |
GreenDimond: try my PR in the meanwhile .. still working on the test script. slow fingers |
19:06 |
Krock |
IhrFussel: minetest only uses one core anyway |
19:06 |
GreenDimond |
yuck I have to figure out how to test a PR again |
19:06 |
GreenDimond |
lovely |
19:06 |
IhrFussel |
Krock, no, the setting is for map generation and it allows to use more than 1 I thought |
19:06 |
Krock |
curl -Ls <pr url>.patch | git am -3 - |
19:07 |
Krock |
IhrFussel: it allows to set threads, not cores |
19:07 |
IhrFussel |
But I read everywhere that more threads means more cores are being used |
19:07 |
Krock |
*shrug* |
19:08 |
IhrFussel |
"On multiprocessor systems, this will improve mapgen speed greatly" |
19:09 |
IhrFussel |
Not sure if multiprocessor only means several separate CPUs |
19:10 |
Krock |
GreenDimond: funny how "method" in minetest.compress is not even used |
19:10 |
GreenDimond |
what? |
19:10 |
GreenDimond |
yes it is |
19:12 |
IhrFussel |
Okay so..num_emerge_threads is actually pretty useless to increase on a multiCORE CPU? |
19:13 |
Krock |
GreenDimond: serialization issue is due to either writing to the file or reading from it |
19:13 |
GreenDimond |
compression*? |
19:14 |
Krock |
not compression |
19:14 |
GreenDimond |
but decompress is the thing failing |
19:14 |
GreenDimond |
not deserialize |
19:18 |
GreenDimond |
Krock: Bug not fixed with PR applied |
19:18 |
GreenDimond |
wait |
19:18 |
GreenDimond |
derp |
19:18 |
GreenDimond |
need to rebuild |
19:18 |
GreenDimond |
iamverysmart |
19:19 |
GreenDimond |
:( |
19:19 |
GreenDimond |
Krock: No dice |
19:20 |
tumeninodes |
https://www.youtube.com/watch?v=NVvMQ4WAOAo&feature=youtu.be |
19:20 |
tumeninodes |
plucking at glass use underwater |
19:21 |
Krock |
"no dice" = "no success"? |
19:21 |
GreenDimond |
Yes |
19:21 |
GreenDimond |
*boxes still not there |
19:23 |
Krock |
regarding the serialization issue, somewhere 0x40 is added to the value |
19:23 |
Krock |
I have no idea why |
19:23 |
GreenDimond |
So is this an engine bug? |
19:23 |
Krock |
yes |
19:24 |
Krock |
it's basically byte |= 0x40; somewehre |
19:24 |
GreenDimond |
oof |
19:24 |
GreenDimond |
btw |
19:24 |
GreenDimond |
even your test script doesnt work |
19:24 |
Krock |
uh? I tested it multiple times locally |
19:25 |
GreenDimond |
did you test outside of 200? |
19:26 |
GreenDimond |
wait |
19:26 |
GreenDimond |
my window version doesnt have -dirty |
19:26 |
GreenDimond |
but it built -dirty |
19:26 |
Krock |
wrong binary file |
19:26 |
GreenDimond |
.. |
19:26 |
GreenDimond |
but |
19:26 |
GreenDimond |
no |
19:26 |
GreenDimond |
how |
19:27 |
GreenDimond |
it's the correct file |
19:27 |
Krock |
https://i.imgur.com/Z9c70g6.png |
19:27 |
Krock |
oh it's only dirty when git reports a non-clean workspace |
19:28 |
GreenDimond |
well it detected dirty when building |
19:29 |
GreenDimond |
hm |
19:29 |
GreenDimond |
Yeah its still not working |
19:30 |
Krock |
Works On My Machine (TM) |
19:30 |
GreenDimond |
I dont get why the window doesnt say -dirty |
19:30 |
GreenDimond |
when building it says Detected Git version 5.0.0-dev-f12d3749-dirty |
19:31 |
GreenDimond |
erm |
19:31 |
GreenDimond |
it isnt binding the executable |
19:31 |
Krock |
if the git hash matches with HEAD then it's fine |
19:33 |
GreenDimond |
Time to reclone |
19:33 |
Krock |
not clone. apply the patch and make |
19:33 |
GreenDimond |
I already did Krock |
19:33 |
GreenDimond |
and it didnt do it right |
19:33 |
Krock |
not making properly :3 |
19:34 |
GreenDimond |
so this time I am cloning, cmaking, and applying the patch BEFORE making the first time |
19:34 |
GreenDimond |
Because it wasnt linking the executable |
19:35 |
Krock |
weird |
19:39 |
GreenDimond |
Krock: Now that the executable is linked.. |
19:39 |
GreenDimond |
can confirm: works with your script |
19:39 |
|
jluc joined #minetest-hub |
19:40 |
Krock |
yay. I don't know why my PR fixed it.. but well *happy shruggy* |
19:40 |
GreenDimond |
can confirm: works with my mod |
19:40 |
GreenDimond |
\o/ |
19:40 |
GreenDimond |
but now |
19:40 |
GreenDimond |
minetest.[de]compress :) |
19:41 |
Krock |
test resuults ~~> PR |
19:41 |
GreenDimond |
Yes yes |
19:43 |
Krock |
still investigating |
19:43 |
GreenDimond |
I am surprised the compression bug has never been found |
19:43 |
GreenDimond |
The feature has been around for a while |
19:43 |
GreenDimond |
I guess no one had the idea to take up less storage space 8) |
19:45 |
Krock |
compress & decompress work fine |
19:45 |
Krock |
it's the combination with the mod storage which is the issue |
19:47 |
GreenDimond |
oh noes |
19:48 |
IhrFussel |
Krock, so am I right? multicore CPUs cannot make use of that setting? |
19:48 |
Krock |
IhrFussel: check with htop but I don't think so |
19:48 |
Krock |
only multiple processes could make use of multiple cores |
19:48 |
GreenDimond |
I have an 8-core single thread e. cpu and the setting works for me |
19:49 |
GreenDimond |
at least I think it does |
19:49 |
Krock |
GreenDimond: so your CPU usage is at 100% entirely taken by Minetest? |
19:49 |
GreenDimond |
No |
19:49 |
GreenDimond |
Minetest only takes one thread |
19:49 |
GreenDimond |
its 12.5% used |
19:50 |
Krock |
did you mean: *one core? |
19:50 |
GreenDimond |
no |
19:51 |
GreenDimond |
8 cores |
19:51 |
GreenDimond |
one thread each |
19:52 |
GreenDimond |
AMD FX-8320, in case you're curious |
19:53 |
GreenDimond |
(yes, it's somewhat old) |
19:53 |
IhrFussel |
What I can see is that there are multiple emerge threads in htop and when I fly with fast through ungenerated underground pretty much all of them increase their CPU usage to 20-30% |
19:53 |
* Krock |
laughts in Core 2 Quad Q6700 |
19:54 |
Krock |
8k AMD vs 3.3k Intel |
19:54 |
* Fixer |
i5 |
19:54 |
Krock |
(cpu benchmark) |
19:55 |
GreenDimond |
Just wait til I get a threadripper >.> |
19:56 |
* Jordach |
laughs in Haswell Refresh |
19:56 |
Jordach |
soon to be Coffee Lake:tm: |
19:58 |
GreenDimond |
Coffee Lake vs Threadripper 2990WX |
19:58 |
Jordach |
smells like a waste of power to me |
19:58 |
GreenDimond |
Nah dude |
19:58 |
Jordach |
>plays MT on threadripper |
19:58 |
GreenDimond |
Blender performance is gonna be instant |
19:58 |
Jordach |
>uses 1/64 threads |
19:59 |
GreenDimond |
I dont need anything fast for MT |
19:59 |
GreenDimond |
its Blender I care about |
20:00 |
Jordach |
<GreenDimond> I dont need anything fast for MT |
20:00 |
* GreenDimond |
slaps AMD Threadripper .. this bad boy can render so many UHD scenes |
20:00 |
Jordach |
so you don't play on VanessaE's servers then |
20:00 |
GreenDimond |
fine |
20:00 |
GreenDimond |
I dont need anything fast_er_ than what I have |
20:01 |
GreenDimond |
Dreambuilder runs like thick butter on my current rig |
20:02 |
GreenDimond |
Not smooth butter |
20:02 |
|
garywhite joined #minetest-hub |
20:02 |
GreenDimond |
but butter |
20:02 |
Jordach |
i've seen actual crude oil flow better than that :^) |
20:02 |
|
garywhite joined #minetest-hub |
20:03 |
Krock |
GreenDimond: de/serialization tests: https://pastebin.com/raw/4qDvhGV1 |
20:03 |
Krock |
it really fails only when reading from the file |
20:04 |
Krock |
set_string works fine with get_string afterwards |
20:04 |
Krock |
I'm now trying to remove minetest.compress from this mess |
20:04 |
nerzhul |
Krock what is the problem ? |
20:04 |
Krock |
nerzhul: mod storage is not persistent |
20:05 |
nerzhul |
wtf |
20:05 |
Krock |
if you write binary data to it, there's a data loss |
20:05 |
nerzhul |
it's stored in the database |
20:05 |
GreenDimond |
\o/ yay big bugs |
20:05 |
nerzhul |
data loss ? problem in the serialization then ? |
20:05 |
nerzhul |
or sqlite ? |
20:05 |
Krock |
somewhere around sqlite for sure |
20:05 |
Krock |
either read or write, not sure which one |
20:05 |
nerzhul |
did you tried with postgres ? |
20:06 |
Krock |
moment |
20:06 |
GreenDimond |
Is this considered a blocker? :v |
20:06 |
Krock |
GreenDimond: no. not a critical issue |
20:06 |
nerzhul |
i think it should be |
20:06 |
nerzhul |
and we should release at a point too :p |
20:06 |
GreenDimond |
Darn |
20:06 |
nerzhul |
maybe i will take time to release an android apk with one subset of the fixes |
20:06 |
GreenDimond |
I hope its fixed before 5.0 tho |
20:06 |
Krock |
nerzhul: what. there's no database for it. it's just files |
20:06 |
nerzhul |
if it's blocker it's the goal :p |
20:07 |
Krock |
mod storage has always been a file afaik |
20:07 |
GreenDimond |
It's always been plain text |
20:07 |
nerzhul |
mod storage API ? no |
20:07 |
GreenDimond |
Yes |
20:07 |
nerzhul |
it's in database, file is not a possible backend |
20:07 |
GreenDimond |
modstorage is in a plain text file |
20:08 |
nerzhul |
i developed it |
20:08 |
GreenDimond |
*shrug* |
20:08 |
GreenDimond |
its plain text |
20:08 |
nerzhul |
are you sure you are using the mod storage api ? |
20:08 |
Krock |
nerzhul: ikr but could it be that you slept? there's a mod_storage directory inside the world |
20:08 |
Krock |
local m = minetest.get_mod_storage() |
20:08 |
Krock |
see my script above |
20:08 |
nerzhul |
it's not a folder it should be an object to store data |
20:08 |
Krock |
it's portable |
20:09 |
nerzhul |
maybe a legacy mode ? |
20:09 |
nerzhul |
oh yes maybe |
20:09 |
nerzhul |
then player must migrate to sqlite or better postgres :) |
20:09 |
Krock |
nerzhul: how's the setting called to point to another new backend? |
20:10 |
GreenDimond |
Make sqlite default please |
20:10 |
GreenDimond |
players installing through things like ppa arent going to be able to use sqlite if they have to change it manually |
20:10 |
Krock |
I cannot find anything inside settingtypes.txt or world_format.txt |
20:11 |
GreenDimond |
world.mt has a database setting |
20:11 |
GreenDimond |
backend = sqlite3 |
20:11 |
Krock |
that's for the map |
20:11 |
nerzhul |
or it's a metadataref |
20:11 |
nerzhul |
MetaDataRef |
20:11 |
nerzhul |
it was refactored by ruben i remember now |
20:11 |
nerzhul |
it's why there is plain files |
20:12 |
GreenDimond |
metadataref ~= modstorage... |
20:12 |
Krock |
GreenDimond: it is |
20:12 |
Krock |
modstorage inherits from metadata |
20:12 |
Krock |
same as the player meta |
20:12 |
GreenDimond |
oh |
20:12 |
GreenDimond |
til then |
20:12 |
Krock |
was about to say that lol |
20:13 |
GreenDimond |
So now we have established that it is indeed plain text, nerzhul, but now can we discuss fixing it? |
20:13 |
nerzhul |
it's not nice |
20:13 |
nerzhul |
erf |
20:13 |
nerzhul |
we should save that to the world db :( |
20:14 |
nerzhul |
fix the plain if possible Krock, we can try to add db backend in 5.1 |
20:14 |
Krock |
still investigating where the issue exactly is |
20:14 |
GreenDimond |
I dunno, saving to a separate db would be nice because it can be easily deleted like the current state |
20:15 |
nerzhul |
GreenDimond not needed a single db table is sufficient |
20:15 |
Krock |
would also allow async actions |
20:15 |
nerzhul |
and permits to keep coherence with world |
20:15 |
GreenDimond |
I know its sufficient but is it convenient? |
20:15 |
GreenDimond |
How am I supposed to clear modstorage |
20:15 |
GreenDimond |
If its all in the world db |
20:15 |
nerzhul |
truncate table mod_storage; |
20:15 |
nerzhul |
? |
20:15 |
GreenDimond |
I suppose |
20:16 |
GreenDimond |
I just found deleting it easier |
20:16 |
Krock |
drop table mod_storage would work too, due to legacy which will be added |
20:16 |
nerzhul |
yep but we should keep consistence in world if we use db :) and db offer it |
20:17 |
GreenDimond |
Hopefully the plain text method can be fixed, anyway. |
20:22 |
Krock |
after the first number >= 0x80 mod storage fails |
20:22 |
nerzhul |
string instead of bytes ? |
20:23 |
Krock |
the saved data is also 3 bytes longer |
20:23 |
Krock |
dunno |
20:24 |
Krock |
nvm, longer by 19 bytes actually |
20:29 |
Krock |
\ufffd everywhere |
20:30 |
|
BuckarooBanzai joined #minetest-hub |
20:32 |
Krock |
json[it->first] = it->second; the issue must be around here |
20:32 |
Krock |
saving is broken |
20:33 |
GreenDimond |
Is that why it works in the same minetest session but not after restarting? |
20:34 |
Krock |
https://github.com/open-source-parsers/jsoncpp/issues/724 |
20:34 |
Krock |
GreenDimond: yes, same as I mentioned minutes ago :D |
20:35 |
GreenDimond |
:] |
20:35 |
Krock |
hence "somewhere around loading and saving" |
20:35 |
GreenDimond |
Don't mind me - just pointing out the obvious ;D |
20:36 |
Krock |
k sir :) |
20:37 |
GreenDimond |
Krock: erm |
20:37 |
GreenDimond |
I think its loading |
20:37 |
GreenDimond |
not saving |
20:37 |
GreenDimond |
If I copy the data in the modstorage file before exiting, and paste after exiting, there is no change. |
20:37 |
Krock |
how come? saving inserts many more characters |
20:38 |
Krock |
trying to read the stuff as c strign |
20:39 |
GreenDimond |
maybe it is saving |
20:39 |
GreenDimond |
idk |
20:39 |
GreenDimond |
ill leave it to you, I dont know what im doing |
20:43 |
Krock |
GreenDimond: for now, consider converting your binary data to base64 and back |
20:43 |
Krock |
it entirely misses the point, thoguh |
20:44 |
GreenDimond |
wait what |
20:44 |
|
paramat joined #minetest-hub |
20:45 |
GreenDimond |
if that doesnt compress the data any more than serialize I wont bother |
20:45 |
GreenDimond |
is there even a method provided to do that? |
20:46 |
paramat |
IhrFussel about number of emerge threads, docs may be misleading, see https://github.com/minetest/minetest/issues/4879#issue-194766354 |
20:47 |
Krock |
GreenDimond: the idea would basically be to convert the compressed data to base64 before passing it to minetest.serialize. However, you can also omit latter and only save a single string |
20:47 |
paramat |
if there is anything running in 'on generated' (there usually is) it may not be faster because lua isn't threaded |
20:47 |
paramat |
those docs should probably be updated to remove the claim |
20:48 |
GreenDimond |
Krock: So I would do storage:set_string(id, base64(minetest.compress(minetest.serialize(data_table)))) where base64() converts it to base64? |
20:49 |
Krock |
GreenDimond: oh lol. UTF-8 is built on top of ASCII, using the 8th bit to determine whether it's UTF-8 or not |
20:49 |
Krock |
minetest.encode_base64(compressed_data) |
20:49 |
IhrFussel |
paramat, so I should just remove that line from my settings and choose the default? |
20:49 |
GreenDimond |
oh thats a thing |
20:49 |
GreenDimond |
sweet |
20:50 |
GreenDimond |
will try |
20:50 |
Krock |
minetest.serialize is not needed if you don't want a table from it |
20:50 |
GreenDimond |
well the data is a table |
20:50 |
GreenDimond |
which needs to become a string |
20:50 |
Krock |
oh okay |
20:50 |
GreenDimond |
cool, hopefully this works. afk for a few hours now though. |
20:51 |
Krock |
so what JSON actually does is to correct the faulty UTF-8 encoding while writing to the file |
20:51 |
Krock |
except that we don't want that |
20:52 |
Krock |
GreenDimond: if you want to open an issue, then is https://github.com/open-source-parsers/jsoncpp the right place |
20:52 |
Krock |
not our problem (TM) |
20:54 |
Krock |
NEXT CUSTOMER |
20:54 |
paramat |
Ihr i'm not sure, not expert on how it works, maybe rogier is wrong |
20:54 |
Krock |
*makes beep noises* |
20:58 |
IhrFussel |
I will remove it for the next restart and check the lag values again...then we should have a definite answer |
20:58 |
IhrFussel |
Also is there any downside to increasing the unload_unused_data_timeout server side? I mean making it really high like 10 minutes? |
20:59 |
IhrFussel |
It uses more RAM of course but is there any other potnetial issue? |
20:59 |
IhrFussel |
potential* |
21:02 |
IhrFussel |
I have too much RAM so that will not be a problem... seriously like who needs 24 GB DDR4 RAM for a MINETEST server |
21:02 |
paramat |
the default is a clue to the optimum values |
21:03 |
IhrFussel |
But if the server keeps more mapblocks in-memory it should in theory reduce server lag a bit in case a player visits an area that was already loaded from file |
21:04 |
Krock |
aren't 2 GiB already enough for a regular server? |
21:04 |
IhrFussel |
And if the server gets to keep all mapblocks from several minutes ago it should mean less work...for example when players visit a major area |
21:04 |
Krock |
(RAM) |
21:06 |
IhrFussel |
My server uses 2.2 GB right now and my unused data timeout is set to 90 I think |
21:06 |
IhrFussel |
I just wanted to know if the chance of map file corruption could increase if I set that timeout too high |
21:07 |
IhrFussel |
But I guess not cause it doesn't keep modified mapblocks in RAM correct? |
21:07 |
Krock |
it keeps all active mapblocks in RAM |
21:08 |
IhrFussel |
But I mean it doesn't wait until the timeout is reached before it saves modified blocks |
21:08 |
Krock |
modified ones are saved each save interval (setting) and unloaded after your 90s |
21:08 |
Krock |
whereas it saves again on unloading if necessary |
21:08 |
Krock |
(dirty flag) |
21:09 |
IhrFussel |
So setting it high shouldn't make a big difference cause all iportant changes are saved every 15 secs |
21:09 |
paramat |
29s seems rather short and random |
21:10 |
IhrFussel |
29 seconds is like nothing... if a player visits a big area with lots of meta and leaves and another visits the same area fter 1 minute the server doesn't have it anymore in RAM and needs to load it from DB again |
21:10 |
IhrFussel |
If I understand the mechanism correctly |
21:11 |
IhrFussel |
I mean if the area is protected then there is also no modification so the mapblock is read-only right? |
21:11 |
Krock |
IhrFussel: on the other side node timers and ABMs will keep on modifying the mapblock |
21:11 |
Krock |
causing save events |
21:11 |
paramat |
i feel like the default should possibly be raised |
21:12 |
IhrFussel |
Krock, but... does it only save certain mapblocks then or all in RAM? |
21:12 |
nerzhul |
all modified mapblocks are saved on each mapblock_save_interval |
21:12 |
nerzhul |
not all, just modified |
21:13 |
IhrFussel |
So a very high in-memory value should not make it worse |
21:16 |
IhrFussel |
Wait...it could slow down the server if too many in-memory mapblocks contain nodetimers |
21:18 |
nerzhul |
the slowdown is generally due to many lua callback, timers, abm et |
21:19 |
nerzhul |
etc |
21:20 |
Krock |
IhrFussel: only those which are modified by set_node, vmanip or players |
21:21 |
IhrFussel |
But you said the timers run on all in-memory mapblocks... now imagine a few thousand need to be checked |
21:22 |
Krock |
oh right. node timers are saved in the mapblock data too |
21:22 |
Krock |
yes, in that case it'll also affect those with triggered node timers |
21:29 |
aerozoic |
apparently i dont understand registering an alias... |
21:30 |
aerozoic |
I want to tame a penguin using fish not defined in the penguin code |
21:30 |
aerozoic |
penguins require "ethereal:fish_raw" but i don't have eathereal. I do have "fishing:fish_raw" so how do i make that work? |
21:32 |
aerozoic |
i tried: minetest.register_alias("fishing:fish_raw", "ethereal:fish_raw") |
21:32 |
aerozoic |
but that gives an error |
21:32 |
IhrFussel |
aerozoic, Mobs Redo has its own alias function..one sec |
21:33 |
IhrFussel |
mobs:alias_mob(oldname,newname) ... not sure if that will work in your case |
21:33 |
|
Gael-de-Sailly joined #minetest-hub |
21:34 |
aerozoic |
no, the fish itself is not a mob, just a craftitem. |
21:36 |
IhrFussel |
aerozoic, what's the error register_alias() gives? |
21:36 |
aerozoic |
2018-12-28 16:12:50: WARNING[Main]: Not registering alias, item with same name is already defined: fishing:fish_raw -> ethereal:fish_raw |
21:38 |
IhrFussel |
I'd say it means you have to remove the item that's defined as etheral:... |
21:38 |
IhrFussel |
It is defined somewhere it seems |
21:39 |
aerozoic |
ok i think i figured it out, the dev page describing the function is backwards. |
21:40 |
aerozoic |
switching the two items made it work |
21:41 |
aerozoic |
this doesn't solve my problem though :( |
21:42 |
aerozoic |
maybe i need the override function |
21:45 |
IhrFussel |
aerozoic, maybe you have to add your own fish item to the actual definition of the mob |
21:45 |
aerozoic |
Yes that is a last resort, i don't want to modify mobs code |
21:46 |
IhrFussel |
Well it's only 1 line in penguin.lua |
21:47 |
aerozoic |
mobs is actively updated on a regular basis. Preserving the edit would require special treatment in order to stay up to date. |
21:48 |
aerozoic |
Surely there is a way |
21:54 |
aerozoic |
Is there a way to give an item more than one name? |
21:55 |
|
tumeninodes left #minetest-hub |
21:55 |
IhrFussel |
aerozoic, the "engine" is updated regularly but the animals themselves are barely touched |
21:57 |
IhrFussel |
Almost everything happens in mobs/api.lua |
21:58 |
aerozoic |
If i understand correctly, i can use minetest.override to modify the penguin :) |
22:14 |
aerozoic |
nope :( |
22:16 |
|
Fixer_ joined #minetest-hub |
23:02 |
rdococ |
pffgfghfghfgt |
23:29 |
benrob0329 |
we are not doing sandstone justice https://cdn.pixabay.com/photo/2014/09/23/11/29/antelope-canyon-457495_960_720.jpg |
23:47 |
rdococ |
hmm |
23:47 |
rdococ |
wmore colors of sandstone and a different texture for it |