Time |
Nick |
Message |
00:02 |
|
davexunit left #minetest-dev |
00:14 |
|
OldCoder joined #minetest-dev |
01:21 |
|
Miner_48er joined #minetest-dev |
01:38 |
|
sapier joined #minetest-dev |
01:57 |
|
sapier left #minetest-dev |
02:12 |
|
HLuaBot joined #minetest-dev |
02:49 |
|
NakedFury joined #minetest-dev |
03:02 |
RealBadAngel |
https://www.youtube.com/watch?v=CWOW_kihBIM&feature=youtu.be |
03:36 |
VanessaE |
hmmmm: *poke* |
03:36 |
VanessaE |
(not related to the above) |
03:37 |
hmmmm |
Don't ask to ask, just ask |
03:37 |
VanessaE |
I "asked" hours ago. |
03:37 |
hmmmm |
oh |
03:37 |
VanessaE |
your vmanip changes caused major breakage. |
03:37 |
VanessaE |
https://github.com/minetest/minetest/issues/1607 |
03:38 |
RealBadAngel |
hmmmm, do you like the highlighting? |
03:38 |
hmmmm |
yup, great highlighting |
03:38 |
VanessaE |
hmmmm: I presumed you were afk, so I figured I would just prod you later about this. |
03:38 |
hmmmm |
that guy... |
03:39 |
VanessaE |
is Krock. |
03:39 |
hmmmm |
i was trying to work with him the other day to track down exactly what commit caused it |
03:39 |
RealBadAngel |
some1 even screamed to take off your 3 pulls |
03:39 |
VanessaE |
yeah I know. |
03:39 |
hmmmm |
and he tried a certain one and i think he said "yep it works now" |
03:39 |
VanessaE |
I noticed that he just...disappeated. |
03:39 |
RealBadAngel |
<Zeno`> who peer-reviewed and approved f3eefeb7948b8b8d1a98f2f89baa39abc807f72d, 9e4e7072da8f565eef37da7558053a436b9cbba3 and 3fa4f782d90dac0d800251a9ab0f0afb9d32560c <--- Can these commits be taken out of master? |
03:39 |
hmmmm |
so I presumed that it was broken and I fixed it with another one |
03:39 |
VanessaE |
however, zeno went on to confirm it; he and I chatted in private to some length |
03:39 |
hmmmm |
... |
03:40 |
hmmmm |
peer reviewed... ALL of them were reviewed by multiple people and it works fine for us |
03:40 |
hmmmm |
it doesn't work fine for select other people |
03:41 |
RealBadAngel |
it seems like it breaks some custom mapgens for some reason |
03:41 |
VanessaE |
I can't speak for the "peer reviewed" part, I had assumed the same |
03:41 |
hmmmm |
in fact, I think it was Krock's custom mapgen mod, I downloaded and tried it myself |
03:41 |
hmmmm |
worked fine |
03:42 |
hmmmm |
I assumed the problem was that he just wasn't running the current upstream |
03:42 |
VanessaE |
how does that account for zeno's comment though? |
03:42 |
hmmmm |
on the issue? |
03:42 |
VanessaE |
yes |
03:42 |
hmmmm |
i really have no idea. |
03:43 |
RealBadAngel |
http://pastebin.com/b703YKrC |
03:43 |
hmmmm |
now, in the issue tracker, krock says that the issue "happened between 3fa4f78 and f3eefeb" |
03:43 |
hmmmm |
am i interpreting this right? |
03:43 |
hmmmm |
things work fine on 3fa4f78 |
03:43 |
hmmmm |
and then on 9e4e707, things break? |
03:44 |
hmmmm |
as in, "Update Mapgen VoxelManipulator on buffer invalidation" changes code that breaks things? |
03:44 |
VanessaE |
I'm not sure, given that there was only one commit between the two |
03:44 |
hmmmm |
which specific commit is it that broke things for these people |
03:44 |
VanessaE |
his comment is somewhat unclear. |
03:44 |
hmmmm |
can they quit being vague |
03:45 |
hmmmm |
vanessae: are you aware of current HEAD of upstream breaking lua mapgens right now? |
03:45 |
hmmmm |
or just that some people have had this issue |
03:45 |
VanessaE |
what I take from it is that it's just plain broken as described by his "after" images |
03:46 |
VanessaE |
hmmmm: I only run one server that uses a lua mapgen (nore's/sfan5's MG). let' me go see how that behaves now. the server is new enough. |
03:46 |
hmmmm |
what does "new enough" mean |
03:46 |
hmmmm |
what commit is it at |
03:46 |
VanessaE |
I'm at 9e4e7072da8f565eef37da7558053a436b9cbba3 |
03:46 |
hmmmm |
i'm sorry guys, i just fail to see how any of my recent commits could have such an effect |
03:46 |
hmmmm |
unless you have some rogue mod that screws shit up |
03:47 |
VanessaE |
gimme a moment. |
03:47 |
RealBadAngel |
<hmmmm> vanessae: are you aware of current HEAD of upstream breaking lua mapgens right now? |
03:47 |
RealBadAngel |
does it breaks them? |
03:48 |
hmmmm |
works on my machine (tm) |
03:48 |
VanessaE |
ok, if MG mod is vmanip based, it works fine with 9e4e707 |
03:48 |
hmmmm |
see, this is really hard because it works for me |
03:48 |
hmmmm |
krock and zeno are apparently the only ones this doesn't work for |
03:49 |
hmmmm |
right |
03:49 |
hmmmm |
vanessae: try f3eefeb now |
03:49 |
VanessaE |
(I teleported to a location in the world that, according to my overview map, has not yet been generated) |
03:49 |
hmmmm |
err |
03:49 |
hmmmm |
you don't need to |
03:49 |
hmmmm |
that's not your responsibility |
03:50 |
VanessaE |
yep, seems fine, and mg is definitely vm based |
03:51 |
VanessaE |
grep -r vm /home/minetest/mods/mg|wc |
03:51 |
VanessaE |
38 184 2987 |
03:51 |
hmmmm |
i have a feeling those guys aren't using HEAD |
03:51 |
VanessaE |
Zeno I'm pretty sure was, but HIS issue might be attributed to code faults on his end. |
03:52 |
VanessaE |
Krock, on the other hand, almost certainly fucked up in his testing. |
03:52 |
VanessaE |
HOWEVER, |
03:52 |
VanessaE |
there IS some kind of obscure crashing happening for some folks, also: |
03:52 |
hmmmm |
issue? |
03:53 |
VanessaE |
I don't think there's an issue for it yet, lemme get the crash dump |
03:53 |
VanessaE |
sec |
03:53 |
VanessaE |
http://pastebin.com/pWZXXkcT |
03:54 |
VanessaE |
code: http://pastebin.com/4d0vm8zS |
03:54 |
hmmmm |
is this consistent? |
03:55 |
VanessaE |
it's a production server, I'm not sure if it's happened again since |
03:55 |
VanessaE |
as you can see from the bit of code he pasted to me, there's just not that much that can go wrong there |
03:55 |
hmmmm |
unhandled exception |
03:55 |
VanessaE |
wait, he DID reproduce it |
03:55 |
hmmmm |
oh goodie |
03:55 |
VanessaE |
Sep 05 2014 21:38:38 <Zeno`> yeah |
03:55 |
VanessaE |
Sep 05 2014 21:38:45 <Zeno`> these crashes started after the updates |
03:55 |
VanessaE |
Sep 05 2014 21:41:56 <Zeno`> other great news |
03:56 |
hmmmm |
did he get a real stack backtrace? |
03:56 |
hmmmm |
not just the lua side |
03:56 |
VanessaE |
I'll ask when I catch him next |
03:56 |
hmmmm |
man |
03:56 |
hmmmm |
I just cannot see how this code can screw up |
03:56 |
hmmmm |
it's tried and trusted |
03:56 |
VanessaE |
you've said that before ;) |
03:56 |
VanessaE |
as have I :) |
03:57 |
hmmmm |
in particular I don't see anything that could throw an exception in get_data() |
03:57 |
VanessaE |
nothing in the Lua code he pasted could do it, could it? |
03:57 |
hmmmm |
no |
03:58 |
hmmmm |
the only possibility i see for get_data() throwing an exception is if it was an std::bad_alloc (out-of-memory conditions) |
03:59 |
VanessaE |
I've seen this before. |
03:59 |
hmmmm |
except not even that because it calls Lua, and Lua uses C (malloc/free) and therefore wouldn't cause a C++ style memory allocation exception |
03:59 |
VanessaE |
just the other day the OOM killer nailed one of my servers. |
03:59 |
VanessaE |
memory corruption is the theory right now. that same mem corruption that seems to migrate around the MT codebase. |
04:00 |
hmmmm |
i'm not even going to bother speculating |
04:00 |
hmmmm |
i have no clues |
04:00 |
VanessaE |
the other day it was ticking along normally, couple guys were digging stone, nothing out of the ordinary, then BAM, it tried to allocate tens of gigs all at once and the OOM killer said "um, no." |
04:00 |
hmmmm |
hrmmmmmm |
04:01 |
hmmmm |
I wonder if on your machine you'd get OOM killer to end the process before an std::bad_alloc |
04:01 |
VanessaE |
I posted what little I had of that crash, here, when it happened. no response. |
04:01 |
hmmmm |
yaeh I saw that |
04:01 |
hmmmm |
couldn't get any information from the log |
04:02 |
VanessaE |
yeah, I didn't expect it would be too useful |
04:02 |
VanessaE |
no opportunity to get a proper bt |
04:02 |
hmmmm |
see |
04:02 |
hmmmm |
OOM killer is triggered when the kernel's VM allocator can't find any free page frames |
04:02 |
hmmmm |
std::bad_alloc is thrown when sbrk() fails |
04:03 |
hmmmm |
i honestly don't know which would be triggered first |
04:03 |
hmmmm |
vanessae, can you try it though? |
04:04 |
hmmmm |
i mean make a test program that just exhausts system memory quickly |
04:06 |
VanessaE |
not sure how I'd do that. |
04:06 |
hmmmm |
...... |
04:06 |
VanessaE |
already found one. |
04:06 |
hmmmm |
void main() { while (1) char *foo = new char[4096]; } |
04:08 |
VanessaE |
standby. |
04:10 |
* VanessaE |
waits for swap to clear out (forgot to swapoff before testing) |
04:10 |
RealBadAngel |
i found why highlight makes traces, which dissapear after some time |
04:11 |
hmmmm |
well you can leave swap on, it'd just take a lot longer to do |
04:11 |
RealBadAngel |
it was extremaly bad idea to copy settings and variables and make them mesh instance internal |
04:11 |
RealBadAngel |
thats why they work on outdated copies |
04:12 |
VanessaE |
hmmmm: heh, no backtrace to print in gdb for that little test program :D |
04:12 |
hmmmm |
OOM killer killed it? |
04:12 |
VanessaE |
yup |
04:12 |
|
sol_invictus joined #minetest-dev |
04:12 |
hmmmm |
ahh |
04:13 |
hmmmm |
for some reason when people get the std::bad_alloc thing, they have OOM killer turned off or something |
04:13 |
RealBadAngel |
any variable that chaghes dynamically cannot be copied all over and let threads working on copies |
04:13 |
hmmmm |
or did you specifically set it in the first place |
04:13 |
hmmmm |
RealBadAngel, ??? |
04:14 |
RealBadAngel |
im talkin now specifically about pointed thing position |
04:14 |
hmmmm |
ah |
04:14 |
RealBadAngel |
or crack |
04:15 |
VanessaE |
hmmmm: want the dmesg output from the OOM killer hitting that test program? |
04:15 |
hmmmm |
sure |
04:15 |
RealBadAngel |
such things have to be global |
04:15 |
hmmmm |
can't hurt |
04:16 |
RealBadAngel |
passing them all the time is a) waste of time b) just askin for workin on outdated copies |
04:16 |
VanessaE |
hmmmm: http://pastebin.com/tepaNaCZ |
04:16 |
hmmmm |
no vanessa |
04:16 |
hmmmm |
use new[] |
04:17 |
hmmmm |
char *foo = new char[4096]; |
04:17 |
VanessaE |
ok, let's give that a shot then |
04:17 |
hmmmm |
err, rather, make it 1mb |
04:18 |
VanessaE |
bleh, this is why I don't program in C++ |
04:18 |
VanessaE |
test.c:1:26: error: expected expression before ‘char’ |
04:18 |
VanessaE |
void main() { while (1) char *foo = new char[1048576]; } |
04:19 |
RealBadAngel |
anyway, from now on im starting to move ALL of the settings and global variables to own class, accesible everywhere |
04:19 |
VanessaE |
RealBadAngel: good idea. |
04:19 |
RealBadAngel |
by variable names ofc, no more strings based solutions |
04:21 |
|
hintss joined #minetest-dev |
04:23 |
VanessaE |
also helps if I use g++ rather than gcc but that just gives me a new error (test.c:1:11: error: ‘::main’ must return ‘int’) |
04:23 |
hmmmm |
vanessae: yea I was just about to say that |
04:23 |
hmmmm |
lol |
04:24 |
VanessaE |
I read "void main()" and I think C. :) |
04:24 |
VanessaE |
THERE. |
04:24 |
VanessaE |
now the fucking thing compiles now that it's int main(). |
04:26 |
VanessaE |
http://pastebin.com/KK652LUB |
04:26 |
VanessaE |
there you go :) |
04:30 |
hmmmm |
aha |
04:30 |
hmmmm |
so it OOM kills before the std::bad_alloc is thrown |
04:38 |
hmmmm |
most of the time, out of memory errors are caused by infinite loops where memory is allocated |
04:54 |
VanessaE |
zeno's account is online, trying to get him to wake up and come over here to address the vm issue, if it is still valid. |
05:07 |
|
Zeno` joined #minetest-dev |
05:08 |
Zeno` |
Regarding the voxelmanip bug, it only seems to occur in multiplayer |
05:09 |
Zeno` |
Testing the same mods on my local test server with only one player it's fine and the generated blocks don't disappear |
05:10 |
Zeno` |
So, something in hmmmm's latest changes doesn't work as expected |
05:12 |
Zeno` |
Perhaps it's when two people (or more) are exploring the same area? |
05:16 |
Zeno` |
I am encountering this bug when using caverealms |
05:16 |
Zeno` |
You can see the caves generate and then a moment later they just go away |
05:18 |
hmmmm |
Zeno`, hello |
05:18 |
hmmmm |
how can it happen only on multiplayer |
05:18 |
hmmmm |
you realize that singleplayer is the same as multiplayer if you only had one player on a server? |
05:19 |
hmmmm |
zeno`, could it be that your server is out of date? |
05:19 |
|
nore joined #minetest-dev |
05:19 |
Zeno` |
Out of date in what manner? |
05:20 |
Zeno` |
The bug showed up in HEAD so I've reverted to f3eefeb7948b8b8d1a98f2f89baa39abc807f72d and everything works as expected again? |
05:21 |
hmmmm |
okay, I thought that the server hosting this mod might be a different version |
05:21 |
Zeno` |
hmmmm, I meant multiple players |
05:21 |
hmmmm |
wait a minute |
05:21 |
hmmmm |
hold up hold up |
05:21 |
hmmmm |
you REVERTED your server to f33feb and it works? |
05:22 |
Zeno` |
correct |
05:22 |
hmmmm |
no problems with the codebase at that commit? |
05:22 |
Zeno` |
Well, no regions appearing then disappearing, no |
05:22 |
hmmmm |
"well, no"? |
05:22 |
Zeno` |
oh wait |
05:22 |
Zeno` |
reverted to e5b4748bb44a12fd09a92f7d36986b4bda86e6bf |
05:22 |
hmmmm |
please get your story straight, I can't independently verify this behavior so I'm totally relying on you |
05:23 |
VanessaE |
...that makes more sense. |
05:23 |
hmmmm |
okay so Zeno`, one of the three mapgen-related changes caused the problem |
05:23 |
hmmmm |
does the commit 3fa4f78 cause this problem? |
05:23 |
Zeno` |
yes |
05:24 |
VanessaE |
yes to which part? |
05:24 |
Zeno` |
Ok, I don't know. I'll have to test... somehow |
05:24 |
Zeno` |
The problem with testing is that it kind of destroys the world on the server |
05:25 |
hmmmm |
Zeno`: you can make test worlds |
05:25 |
Zeno` |
I'll think of a way |
05:25 |
Zeno` |
hmmmm, yes I'll have to organise a group of players to join my test world |
05:25 |
Zeno` |
It doesn't happen with just one player |
05:25 |
hmmmm |
okay |
05:27 |
VanessaE |
wasn't there a mode that could simulate random input from multiple clients? |
05:27 |
VanessaE |
probably won't work here i guess |
05:28 |
hmmmm |
there was vanessa |
05:28 |
hmmmm |
i am not quite sure what happened to that |
05:28 |
VanessaE |
Zeno`: or do what I've done before: open multiple clients and point them at the test world |
05:29 |
hmmmm |
i would imagine the latter is a better way to do this though |
05:29 |
Zeno` |
Yes, I'll try this |
05:29 |
VanessaE |
think I was stress-testing someone's server once. had 20 or so instances open |
05:34 |
Zeno` |
I can't do this today, though. |
05:35 |
VanessaE |
hmmmm: isn't there some way you can perform the same test? caverealms mod, clean world, multiple clients connecting |
05:35 |
hmmmm |
=/ |
05:35 |
Zeno` |
Krock has a similar (or the same) issue also.. need to work out of his happens for him when multiple clients are connected or when only one client is connected |
05:35 |
Zeno` |
I don't know what mod he's using but his blocks are mostly air, mine are mostly stone (with air added) |
05:35 |
Zeno` |
this is caverealms by the way |
05:35 |
VanessaE |
I think his is a custom mapgen he's writing. |
05:36 |
Zeno` |
Specifically this version of caverealms: https://github.com/Zeno-/minetest-caverealms |
05:36 |
VanessaE |
Yappy |
05:36 |
VanessaE |
https://forum.minetest.net/viewtopic.php?t=9834 |
05:36 |
VanessaE |
that's the one |
05:37 |
hmmmm |
wow |
05:38 |
hmmmm |
player movement is incredibly choppy |
05:38 |
VanessaE |
yep, we all know this. needs interpolating or something on the client end |
05:43 |
hmmmm |
I can't replicate it |
05:44 |
hmmmm |
i am running two separate clients with a server using Yappy |
05:44 |
hmmmm |
i teleported both players to the same area within 1 second of each other |
05:46 |
hmmmm |
FWIW, yappy is a nice looking mapgen, but there's not much variation in terrain. no oceans and no mountains with ridges |
05:46 |
hmmmm |
it looks like a 2d perlin noise base that only has a very small amount of ground fall below water_level so that it forms the river shapes as curves between high points of perlin noise |
05:47 |
hmmmm |
and then there is negative 3d noise splattered around that serve as both the mapgen's caves and "cool" features |
05:57 |
|
CWz joined #minetest-dev |
06:02 |
|
Eater4 joined #minetest-dev |
06:06 |
Zeno` |
I might copy the server world to my local computer next week and test that way |
06:07 |
Zeno` |
the db is 7.9G so I won't be able to download it until a time when fewer players are online |
06:13 |
hmmmm |
can you try doing this on a fresh world |
06:13 |
hmmmm |
just to eliminate any possibilities |
06:13 |
hmmmm |
of problems |
06:13 |
hmmmm |
not related to the actual issue |
06:14 |
sol_invictus |
sorry for interrupting, but I want to ask, can leveldb backend be bugged? |
06:14 |
Zeno` |
hmmmm, that's what I have been doing (a fresh world) |
06:15 |
VanessaE |
sol_invictus: depends on where you want the audio sent to. some good bugs can transmit for miles and take up very little space. |
06:15 |
Zeno` |
But if I can't reproduce using the fresh world then I guess I'll attempt on the "old world" |
06:15 |
Zeno` |
I dunno |
06:15 |
Zeno` |
Too tired |
06:15 |
hmmmm |
zeno`, i can't replicate it. |
06:15 |
Zeno` |
With caverealms? |
06:15 |
hmmmm |
with yappy |
06:15 |
sol_invictus |
VanessaE: I'm not sure I get you |
06:16 |
VanessaE |
sol_invictus: I was joking. |
06:16 |
VanessaE |
sol_invictus: yes it's possible for the leveldb backend to have a bug, but not of the type that would cause this kind of issue |
06:16 |
Zeno` |
I haven't tried yappy. But I'll try and replicate with caverealms on my test world |
06:16 |
hmmmm |
sol_invictus: vanessae was referring to 'bugged' in the sense of 'wiretapped' rather than 'have a software issue' |
06:16 |
sol_invictus |
VanessaE: I don't get jokes sometimes, not native english :D |
06:17 |
sol_invictus |
ahah, now I get it |
06:17 |
hmmmm |
s/wiretap/covert sound recorder/ |
06:18 |
VanessaE |
the joke was specific to his choice of grammar :) |
06:19 |
sol_invictus |
currently I was referring another kind of issue: world runs for some time poerfectly, lag is <1s but at some point I start getting 'too many objects' and soon after that it starts lagging as crazy |
06:20 |
sol_invictus |
is there any way to list objects in a block? because I teleport to the point reported by the server and there is nothing there |
06:20 |
VanessaE |
anyway my first thought was that https://github.com/minetest/minetest/issues/1479 could somehow be related |
06:20 |
VanessaE |
but I don't see how, as it predates this by a wide margin |
06:21 |
VanessaE |
sol_invictus: is pipeworks installed on that server? |
06:21 |
sol_invictus |
no, never was installed |
06:21 |
VanessaE |
FINALLY |
06:21 |
VanessaE |
SOMEONE has that same bug WITHOUT pipeworks! |
06:22 |
VanessaE |
I have had this same problem on two of my servers in the past |
06:22 |
VanessaE |
I was never able to resolve it |
06:22 |
VanessaE |
it just sorta "fizzled out" as player traffic dwindled. |
06:23 |
sol_invictus |
last time I did /clearobjects and migrate sqlite>leveldb>sqlite and the problem resolved |
06:23 |
sol_invictus |
currently I'm not sure which action helped |
06:23 |
sol_invictus |
oops |
06:24 |
VanessaE |
it wasn't /clearobjects |
06:24 |
VanessaE |
because that does NOT remove the errant objects |
06:24 |
sol_invictus |
leveldb>sqlite>leveldb* |
06:24 |
VanessaE |
I've tried. |
06:24 |
sol_invictus |
what backend were you using? |
06:24 |
VanessaE |
https://github.com/minetest/minetest/issues/1426 |
06:24 |
VanessaE |
https://github.com/minetest/minetest/issues/1425 |
06:24 |
VanessaE |
I use leveldb. |
06:25 |
VanessaE |
do these ^^^^ look like what you were seeing? |
06:26 |
sol_invictus |
I see messages about objects, but don't get segfaults |
06:27 |
sol_invictus |
it's qust lagging te server down |
06:33 |
|
Hunterz joined #minetest-dev |
06:34 |
sol_invictus |
confirmed, clearobjects did nothing |
06:34 |
VanessaE |
better file an issue |
06:34 |
sol_invictus |
definitely it was migration |
06:35 |
sol_invictus |
I'm not sure how to formulate this problem |
06:37 |
Zeno` |
hmmmm, should these commits be branched off until the issue is discovered (since it may take a long time for that to happen) |
06:38 |
Zeno` |
The matter, as I see it, is that it's a pretty serious issue even if it has only been *noticed* by two people so far |
06:39 |
VanessaE |
I have to agree. |
06:39 |
VanessaE |
until we can delete blocks from the database FROM WITHIN THE GAME, it's too dangerous to run that code on a production server. |
06:39 |
VanessaE |
and if it remains in master, it WILL end up in production servers sooner or later. |
06:41 |
hmmmm |
zeno`: what? |
06:42 |
Zeno` |
I mean that I don't think they should be there until they've been tested thoroughly |
06:42 |
hmmmm |
you're asking me to revert three commits because you can't find the exact one and it causes a relatively obscure bug that only you and one other person seem to have? |
06:42 |
sol_invictus |
VanessaE: feel free to correct me https://github.com/minetest/minetest/issues/1611 |
06:42 |
Zeno` |
hmmmm, yes |
06:42 |
hmmmm |
you're acting like these patches were defective and clearly not ready for public consumption |
06:42 |
hmmmm |
you're an outlier though. they work fine for everybody else. |
06:42 |
VanessaE |
sol_invictus: seems good enough. |
06:42 |
Zeno` |
Well, clearly they are defective |
06:42 |
hmmmm |
they are not defective. |
06:43 |
Zeno` |
The fact that only 2 people have noticed the issue so far is irrelevant |
06:43 |
hmmmm |
you have some specific configuration that has some kind of side effect activated by one of these patches |
06:43 |
hmmmm |
Zeno`: that is not how software works |
06:43 |
hmmmm |
Zeno`: when a user experiences a bug, they don't tell the software people to revert their changes until they can solve it for them |
06:44 |
Zeno` |
hmmmm, you've obviously never programmed firmware, because things should not be TESTED and TRUSTED |
06:44 |
hmmmm |
it gets added to the issue tracker and resolved as it comes along |
06:44 |
Zeno` |
should be* |
06:44 |
hmmmm |
this isn't firmware. it's a freaking game. |
06:44 |
Zeno` |
That has 3 commits that cause a defect |
06:44 |
hmmmm |
three commits don't cause a defect |
06:44 |
hmmmm |
one of them do, and you're just too lazy to find the right one |
06:44 |
Zeno` |
They're not my commits |
06:44 |
hmmmm |
and it doesn't cause a defect for the vast majority of people |
06:45 |
hmmmm |
and I can't reproduce any of the problems you've been mentioning so far |
06:45 |
Zeno` |
How do you know it doesn't cause a defect for the vast majority of people? |
06:45 |
hmmmm |
because you and one other person complained and i haven't seen anybody else even able to replicate it |
06:45 |
Zeno` |
Have you asked the vast majority of people to look for this thing? |
06:46 |
Zeno` |
Have you asked all the people who run servers to look for it? (The only people likely to come across it) |
06:46 |
VanessaE |
hmmmm: be fair, how often do you even GET people in this channel to test stuff like this? |
06:46 |
hmmmm |
one of those patches, in fact, fixes another problem that's been around a lot longer but it affects EVERYBODY |
06:46 |
hmmmm |
VanessaE, if it were really such a huge, fatal issue, everybody would be |
06:46 |
hmmmm |
running in here and screaming about it |
06:46 |
VanessaE |
hmmmm: they can't. |
06:46 |
hmmmm |
zeno is acting as if this is some fatal defective flaw |
06:46 |
Zeno` |
hmmmm, because it is |
06:46 |
hmmmm |
"nobody even tested this shit" |
06:46 |
VanessaE |
hmmmm: webchat is blocked from this channel, and "everybody" uses that :P |
06:47 |
hmmmm |
webchat? |
06:47 |
VanessaE |
mmhmm |
06:47 |
Zeno` |
hmmmm, show me your tests where you tested this with 20 players please |
06:47 |
hmmmm |
... |
06:47 |
Zeno` |
actually show me ANY tests |
06:47 |
hmmmm |
Zeno`, for now you can revert back to a previous patch, or just revert the offending patches in your own branch, or use a non-development version |
06:47 |
VanessaE |
hmmmm: that was a bit tongue in cheek but my point is that most people won't complain. |
06:48 |
hmmmm |
why you are demanding i revert changes based off of two peoples' undemonstrated claims is beyond me. |
06:48 |
Zeno` |
How many people run a server? Not many... so who is going to investigate this flaw? |
06:48 |
Zeno` |
Who's even looking for it? |
06:48 |
hmmmm |
Zeno`, I thought you were |
06:48 |
Zeno` |
I am not demanding anything |
06:48 |
hmmmm |
Zeno`, if you spent less time bitching and more time testing, things would get fixed |
06:48 |
Zeno` |
and if you spent more time listening to people you'd have fewer problems |
06:48 |
hmmmm |
i would love to get this fixed but i need your cooperation |
06:49 |
hmmmm |
don't just tell me "ugh revert these horrific changes!" |
06:49 |
hmmmm |
"they're obviously defective pieces of shit" |
06:49 |
Zeno` |
ok |
06:49 |
hmmmm |
that's the vibe i got anyway |
06:50 |
hmmmm |
aigh |
06:50 |
Zeno` |
yes, well I apologise |
06:50 |
hmmmm |
so, again, does the issue persist at 3fa4f78 |
06:50 |
hmmmm |
last time i asked this you said "meeeeeeh not now" or something along those lines |
06:50 |
Zeno` |
But to me they're showstoppers. I'll keep testing though |
06:51 |
hmmmm |
"they're" |
06:51 |
Zeno` |
The problem is I can only reproduce this on my server |
06:51 |
hmmmm |
you say "they're" because you don't even know which one causes the problem |
06:51 |
Zeno` |
I can't just take it down and wreck the world to do a test |
06:51 |
Zeno` |
So I have to, first, reproduce on my home computer |
06:51 |
hmmmm |
if you can only reproduce it on a specific world, doesn't that point to the specific world as having the problem? |
06:52 |
Zeno` |
No |
06:52 |
Zeno` |
I haven't had 15 players connected to my test world yet |
06:52 |
Zeno` |
it may take me a month or so to convince enough players to join my world |
06:52 |
hmmmm |
there is absolutely no way having 15 players can cause an issue |
06:52 |
Zeno` |
You 100% sure? |
06:53 |
hmmmm |
pretty damn sure. |
06:53 |
Zeno` |
Well, maybe it's the 0.0001% possibility |
06:53 |
hmmmm |
if it's so difficult to get the necessary number of people to reproduce this bug, but otherwise it works fine, how the hell is that a showstopper....? |
06:53 |
Zeno` |
In any case, yes I will test this for you |
06:53 |
Zeno` |
It's a showstopper for anyone running a server |
06:54 |
Zeno` |
Or do you suggest I just delete the world and start again? |
06:54 |
hmmmm |
were you the person who had "Assertion failed" from get_data()? |
06:54 |
Zeno` |
I have to go, but I will test this |
06:54 |
Zeno` |
different mod |
06:54 |
hmmmm |
ghgh |
06:54 |
Zeno` |
but yes |
06:54 |
hmmmm |
anyway run gdb next time you're testing for that one |
06:54 |
hmmmm |
i'd like a backtrace from the C++ side |
06:55 |
Zeno` |
Yes I've been waiting for it to happen again |
06:55 |
hmmmm |
okay |
06:55 |
hmmmm |
so you've already been running it in gdb |
06:55 |
hmmmm |
that's good |
06:55 |
Zeno` |
since yesterday |
06:58 |
hmmmm |
i keep looking at any of those three commits and failing to see how any of these issues are even possible |
06:59 |
hmmmm |
if you do find the problem, it's going to be an interesting one for sure. |
07:02 |
|
Krock joined #minetest-dev |
07:29 |
sol_invictus |
updated #1611 |
07:32 |
VanessaE |
yep, that looks exactly like my issue |
07:32 |
VanessaE |
and indeed, when it happened to me, there was nothing whatsoever in the area when I went and looked. |
07:32 |
VanessaE |
just normal everyday terrain |
07:33 |
sol_invictus |
ave |
07:33 |
sol_invictus |
have you reverted to sqlite eventually or still using leveldb?* |
07:33 |
VanessaE |
still using leveldb |
07:34 |
Krock |
http://pastebin.com/xgKveArs |
07:34 |
|
Amaz joined #minetest-dev |
07:35 |
sol_invictus |
I wonder if anyone tried redis on production. Anyone having too much RAM? xD |
07:35 |
VanessaE |
sol_invictus: I did not try the double migrate trick - wasn't aware of it. I gave up trying to find the cause and eventually players just stopped visiting as much |
07:36 |
sol_invictus |
VanessaE: I'm reverting to sqlite until the issue is resolved |
07:37 |
VanessaE |
who maintains that backend anyway> |
07:37 |
sol_invictus |
which one? |
07:37 |
VanessaE |
leveldb |
07:37 |
|
casimir joined #minetest-dev |
07:38 |
sol_invictus |
I'm totally unaware of that, still noob here |
07:38 |
Krock |
VanessaE, some google code coders :3 |
07:38 |
|
PenguinDad joined #minetest-dev |
07:40 |
VanessaE |
looks like xyz used to, sfan5 mostly now |
07:41 |
VanessaE |
sol_invictus: but does it happen with sqlite at all? |
07:41 |
|
GhostDoge joined #minetest-dev |
07:42 |
VanessaE |
(without migration involved that is) |
07:42 |
sol_invictus |
well, I'm currently doing migration and in a day or two we will know if it happens |
07:43 |
VanessaE |
ok |
07:43 |
sol_invictus |
last time it ran perfectly two days before slowdown. on leveldb. doing remigration every two days would suck. |
07:43 |
VanessaE |
indeed |
07:44 |
VanessaE |
well think I'll go to bed now |
07:44 |
VanessaE |
night |
07:44 |
sol_invictus |
bye |
07:45 |
sol_invictus |
it's still morning in russia ^^ |
07:46 |
sol_invictus |
so, no one actually used redis as a backend here? |
07:46 |
sol_invictus |
I can't believe it |
07:49 |
|
asl joined #minetest-dev |
08:05 |
|
CWz joined #minetest-dev |
08:39 |
Krock |
https://github.com/minetest/minetest/issues/1607#issuecomment-54740076 |
09:08 |
PenguinDad |
Krock: which compiler version do you use? |
09:09 |
Krock |
PenguinDad, "msbuild /version" outputs 4.0.30319.1 |
09:13 |
Krock |
nvm I think I solved the problem |
09:14 |
Krock |
need to test it on other mapgens now |
09:44 |
Zeno` |
gcc (GCC) 4.8.3 20140624 and I get the issue with https://github.com/Zeno-/minetest-caverealms |
09:46 |
Zeno` |
I can get this to occur locally now using backend dummy |
09:46 |
Zeno` |
No other mods installed |
10:04 |
|
T4im joined #minetest-dev |
10:26 |
Zeno` |
This doesn't make any @&$*@ sense. For the last hour I've been able to replicate the undesired behaviour, and now it's not happening |
10:26 |
Zeno` |
Maybe it depends on the position of the moon |
10:29 |
|
ImQ009 joined #minetest-dev |
11:21 |
|
OldCoder joined #minetest-dev |
11:25 |
|
Krock joined #minetest-dev |
12:13 |
|
PilzAdam joined #minetest-dev |
12:24 |
|
Amaz joined #minetest-dev |
13:11 |
|
ImQ009 joined #minetest-dev |
13:12 |
Taoki[laptop] |
https://forum.minetest.net/viewtopic.php?f=5&t=10077&p=153419 Please check this out fellow Minetest devs |
13:13 |
Taoki[laptop] |
Need to know opinions, for when I return home and get back to coding here and there |
13:18 |
T4im |
i think client side colorgrading would fit well into that.. allowing to gray everything a bit if theres a storm, or yellowing/brightening it a bit, if its a hot summer day, (in contrast to the sky coloring it woud generally affect everything then) |
13:19 |
Krock |
I submit "Don't care." because it will be buggy or laggy anyways. |
13:20 |
Taoki[laptop] |
Krock: I plan to make sure that won't be the case :) Since it's hard coded client-side, it won't be |
13:20 |
Krock |
MT devs have enough work with bugs. better fix those first |
13:21 |
Krock |
Taoki[laptop], I was talking about client sided lag. |
13:21 |
T4im |
krock: that is solveable by something called 'configuration' |
13:21 |
T4im |
like quite common with gfx.. |
13:37 |
|
NakedFury joined #minetest-dev |
15:02 |
VanessaE |
Taoki[laptop]: well an hour and a half later and you've already got 6 for, 1 against and 1 don't care. I think we know where this is going ;0 |
15:02 |
VanessaE |
;) |
15:05 |
Taoki[laptop] |
:) |
15:15 |
VanessaE |
one suggestion: Allow the server to tell the client to follow the local humidity as defined by the desert/grass areas of the map (same as plants_lib does) |
15:16 |
VanessaE |
that way the humidity can increase as the user, say, walks out of a desert. if it's raining at the edge, the rain gets worse as the user walks further in, etc. |
15:17 |
|
casimir joined #minetest-dev |
15:17 |
VanessaE |
that way there's no worry about lag. |
15:20 |
VanessaE |
similarly, it would be useful if precipitation could be made to vary with elevation |
15:20 |
VanessaE |
just some density multiplier, nothing fancy |
15:27 |
|
iqualfragile joined #minetest-dev |
15:28 |
|
zat joined #minetest-dev |
15:57 |
|
hmmmm joined #minetest-dev |
16:19 |
RealBadAngel |
Taoki[laptop], 10 for |
16:43 |
|
Creativeblob joined #minetest-dev |
16:45 |
|
Creativeblob left #minetest-dev |
16:50 |
|
Krock joined #minetest-dev |
16:54 |
VanessaE |
RealBadAngel: I wanna know which chowderhead voted "no" :P |
16:55 |
|
Anchakor_ joined #minetest-dev |
17:04 |
* nore |
voted "yes" |
17:06 |
VanessaE |
Taoki[laptop]: summarized my suggestions from above, added some stuff: https://forum.minetest.net/viewtopic.php?f=5&t=10077&p=153445#p153445 |
17:18 |
|
Miner_48er joined #minetest-dev |
17:19 |
Krock |
VanessaE, I voted "Con't care" |
17:19 |
Krock |
s/c/d |
17:21 |
|
alexxs joined #minetest-dev |
17:21 |
* PenguinDad |
voted "yep" |
18:07 |
|
Asydn joined #minetest-dev |
19:16 |
|
proller joined #minetest-dev |
19:53 |
sol_invictus |
blargh |
19:54 |
sol_invictus |
VanessaE, seems like it's not exactly leveldb, the issue is present on sqlite as well |
19:54 |
VanessaE |
hrm |
19:54 |
VanessaE |
well at least that rules out the database backend being the problem |
19:54 |
VanessaE |
what mods are installed? |
19:55 |
VanessaE |
anything at all that could be creating these entities? |
19:55 |
sol_invictus |
is there any way to see object creation calls? |
19:55 |
VanessaE |
I expect you'll have to add a line or two of debug output to the engine for that |
19:57 |
sol_invictus |
I can't think of a mod creating these entities |
20:00 |
sol_invictus |
what exactly is object? |
20:00 |
VanessaE |
? |
20:01 |
VanessaE |
oh. |
20:01 |
sol_invictus |
does this term include anything but entities? |
20:01 |
VanessaE |
um. |
20:01 |
VanessaE |
actually I think it's just entities isn't it? |
20:02 |
sol_invictus |
that's how I understand it as well |
20:02 |
sol_invictus |
making sure I'm not missing something |
20:04 |
VanessaE |
well players too, but I doubt the engine is creating dozens of those out of the aether. |
20:04 |
sol_invictus |
ah yes |
20:05 |
sol_invictus |
why they can't fix he problem with player removal |
20:05 |
VanessaE |
*shrug* |
20:05 |
VanessaE |
I guess that's been left to ShadowNinja to fix since he caused it |
20:06 |
ShadowNinja |
VanessaE: No, I didn't cause it. My changes may have made it more obvious though. |
20:06 |
sol_invictus |
mt definitely needs more core devs |
20:06 |
VanessaE |
ShadowNinja: ok. |
20:07 |
VanessaE |
ShadowNinja: fix it anyway ;) |
20:07 |
ShadowNinja |
sol_invictus: Maybe, but who would be add? Good core devs are hard to find. |
20:07 |
ShadowNinja |
we* |
20:07 |
sol_invictus |
ShadowNinja: yeah I see. just saying. |
20:08 |
sol_invictus |
I was thinking that maybe more attention to mt in general could help? |
20:08 |
sol_invictus |
we (LL owners) are planning to make some advertisement |
20:09 |
sol_invictus |
we think that generally, presense of good servers should help drog more devs to this project |
20:10 |
sol_invictus |
correct me if I am wrong |
20:16 |
sol_invictus |
what is a particle spawner? |
20:16 |
sol_invictus |
is it an entity as well? |
20:17 |
VanessaE |
it does use entities but they're client-side only |
20:17 |
sol_invictus |
- means they are not saved on map whatsoever? |
20:18 |
sol_invictus |
just sent to client? |
20:18 |
VanessaE |
means the server tells the client to start spawning them and destroying them in realtimwe |
20:19 |
VanessaE |
-w |
20:19 |
VanessaE |
they are not saved in the map. |
20:19 |
sol_invictus |
and still |
20:19 |
VanessaE |
same for the add particle call. the server tells the client to create the entity, lets it persist for a bit, then destroys it. the server doesn't store anything about it. |
20:20 |
VanessaE |
in both cases the client handles it entirely on its own |
20:20 |
sol_invictus |
why the heck /clearbjocts is not removing these objects? |
20:20 |
VanessaE |
I have no idea but I had the same trouble |
20:20 |
VanessaE |
/clearobjects, come back right after, and they're still there, possibly even MORE of them than there were before. |
20:20 |
sol_invictus |
I don't know how to find out why remigration helps |
20:21 |
VanessaE |
and yet there's nothing visible in the world to imply that they're there except that if you drop something from your inventory, it gets deleted by the "too many objects" code. |
20:21 |
sol_invictus |
for some reason these messages are referring always underground nodes |
20:21 |
VanessaE |
(worldedit's [1] and [2] and checkerboard markers similarly get deleted) |
20:22 |
VanessaE |
not always |
20:22 |
VanessaE |
for me, the errant location was in the air |
20:22 |
VanessaE |
just above the ground to be more specific. |
20:22 |
VanessaE |
18:54:14: ERROR[ServerThread]: ServerEnv: Trying to store id=645 statically but block (-43,1,-28) already contains 11255 objects. Forcing delete. |
20:23 |
sol_invictus |
right, not always |
20:23 |
sol_invictus |
mostly, for me |
20:23 |
VanessaE |
nothing there on that map but terrain, and some old house a few dozen meters away |
20:23 |
sol_invictus |
I got messages for overground blocks as well |
20:23 |
sol_invictus |
>11255 omg |
20:23 |
VanessaE |
yeah. |
20:24 |
VanessaE |
and my servers' limit is 500. |
20:25 |
sol_invictus |
okay |
20:25 |
T4im |
is it possible those entities are held up within solid nodes, so that you dont see them? |
20:26 |
sol_invictus |
if there is no way to see calls in the logs, no way to list objects in a block... |
20:26 |
sol_invictus |
shouldn't it be implemented? |
20:27 |
sol_invictus |
maybe names of these objects could help |
20:27 |
kahrl |
we need a pymtlevel |
20:27 |
sol_invictus |
T4im: i tried to dig all the place around, nothing |
20:28 |
kahrl |
for obj in map.block(-43,1,-28).static_objects: print(obj.name) |
20:28 |
|
khonkhortisan joined #minetest-dev |
20:28 |
sol_invictus |
oh, that's cool |
20:28 |
sol_invictus |
I will try tomorrow |
20:28 |
VanessaE |
T4im: even if they were, they shouldn't be re-created continuously. |
20:35 |
sol_invictus |
I wonder if it's only us having this problem? |
20:35 |
sol_invictus |
VanessaE maybe other owners are not paying attention? |
20:35 |
VanessaE |
idk |
20:36 |
sol_invictus |
because this object replication issue seems to be the reason of the lags |
20:36 |
sol_invictus |
and I haven't seen a non-laggy server on list |
20:36 |
T4im |
last time i've seen entities duplicate was after setting up a quarry horribly wrong.. at first it was just the output of the quarry crashing the server, but after the restart there were quite a lot more entities around, than there should have been.. especially within nodes.. lava makes a horrible entity trash :D |
20:36 |
T4im |
but i guess thats related to the crash as well then |
20:38 |
sol_invictus |
well, the problem is I don't have mods thot could obviously create those objects |
20:38 |
sol_invictus |
I even disabled tho mobs |
20:44 |
T4im |
hm.. signs_lib does spawn entities too afaik.. maybe you have 'rogue sign'? ;) |
20:44 |
VanessaE |
once. |
20:44 |
VanessaE |
it spawns an entity one time for each sign and then goes idle. |
20:46 |
sol_invictus |
yes, I don't think signs is to blame. anyways, I'm going to sleep |
20:46 |
sol_invictus |
see you all later |
20:46 |
T4im |
good night, sol |
20:46 |
sol_invictus |
ty |
20:51 |
|
ImQ009 joined #minetest-dev |
20:55 |
RealBadAngel |
VanessaE, Kahrl, make highlighting menu setting? |
20:56 |
VanessaE |
yeah |
20:56 |
kahrl |
sure |
20:56 |
VanessaE |
a spinbox or something like that |
20:56 |
VanessaE |
(highlight, selectbox, both) |
21:18 |
RealBadAngel |
kahrl, VanessaE, btw, when playing with just vertices i can animate them too |
21:18 |
RealBadAngel |
make the node actually shrink and grow a bit |
21:19 |
VanessaE |
interesting idea, so long as it's subtle |
21:21 |
ShadowNinja |
RealBadAngel: Sounds prone to messing faces drawing, like http://i.imgur.com/a3gSxvv.png |
21:25 |
ShadowNinja |
missing* |
21:25 |
ShadowNinja |
^ That was made with waving leaves. |
21:25 |
ShadowNinja |
(With fancy_leaves off of course) |
21:25 |
RealBadAngel |
ShadowNinja, interesting, will try to reproduce it now |
21:25 |
VanessaE |
ShadowNinja: I can't reproduce that. |
21:25 |
VanessaE |
wait, fancy off. |
21:25 |
VanessaE |
ah, yep, I can reproduce that. |
21:26 |
|
loggingbot_ joined #minetest-dev |
21:26 |
|
Topic for #minetest-dev is now Minetest core development and maintenance. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/ |
21:28 |
ShadowNinja |
RealBadAngel: Also happens with water top face, one minute... |
21:29 |
RealBadAngel |
only when you make them solid |
21:29 |
ShadowNinja |
RealBadAngel: http://i.imgur.com/mUHqETz.png |
21:29 |
VanessaE |
ShadowNinja: that's a rather old bug |
21:30 |
VanessaE |
been there ever since new style water was in |
21:31 |
RealBadAngel |
i wasnt aware of it, never using soild leaves and water |
21:31 |
ShadowNinja |
^ The water bug happened before too, which is why the lowering code was moved out of shaders. |
21:31 |
VanessaE |
I'm kinda surprised no one's addressed that one. |
21:31 |
RealBadAngel |
this is not shaders bug |
21:31 |
RealBadAngel |
shaders just make it visible |
21:32 |
ShadowNinja |
RealBadAngel: Oh, and: http://i.imgur.com/WyYVcIG.png |
21:32 |
VanessaE |
ShadowNinja: already reported that one :) |
21:32 |
ShadowNinja |
It happened with the old water lowering shaders too, but not with the in-engine water lowering code. |
21:33 |
RealBadAngel |
what am i seeing at the last one? |
21:33 |
ShadowNinja |
RealBadAngel: The bottom vertecies of the water are lowered too, into the node below. |
21:33 |
VanessaE |
RealBadAngel: bottom coordinates of a node under the influence of the water surface shader should not move. |
21:34 |
RealBadAngel |
first heard that something moves under influence of water |
21:34 |
VanessaE |
RealBadAngel: I've mentioned this before. |
21:35 |
RealBadAngel |
that cannot happen at all |
21:35 |
VanessaE |
it does. |
21:35 |
VanessaE |
:) |
21:35 |
VanessaE |
always has. |
21:35 |
RealBadAngel |
only moving stuff is water or leaves |
21:35 |
RealBadAngel |
and plants |
21:35 |
|
^v joined #minetest-dev |
21:35 |
VanessaE |
it's the water that moved. |
21:35 |
RealBadAngel |
moved what? |
21:35 |
VanessaE |
the bottom surface/vertexes of the water node are moved down to follow the movement of the top surface |
21:36 |
VanessaE |
as the top surface of the water wavers around, so does the bottom surface |
21:36 |
VanessaE |
(if you can call it a surface, since it's just the bottom edges of the node's sides) |
21:37 |
RealBadAngel |
thx to that you have waves on shore |
21:38 |
VanessaE |
only the top surface movement creates the waves. |
21:38 |
VanessaE |
the bottom edges of those nodes are still hidden under the surface of the sand et al. |
21:38 |
RealBadAngel |
thats not true |
21:39 |
RealBadAngel |
if bottom were not moving you wont be able to see clear sand |
21:39 |
ShadowNinja |
RealBadAngel: You sholdn't be moving the bottom four vertecies. |
21:40 |
ShadowNinja |
verticies* |
21:40 |
VanessaE |
wrong again RealBadAngel. I just now checked. |
21:40 |
ShadowNinja |
(vertices*?) |
21:41 |
VanessaE |
vertexes. :P |
21:41 |
RealBadAngel |
there are no such thing as four bottom vertices |
21:41 |
VanessaE |
RealBadAngel: screenshot: |
21:41 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/Screenshot%20-%2009072014%20-%2005%3a41%3a56%20PM.png |
21:41 |
VanessaE |
that's flowing water there. |
22:14 |
|
loggingbot_ joined #minetest-dev |
22:14 |
|
Topic for #minetest-dev is now Minetest core development and maintenance. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/ |
22:17 |
RealBadAngel |
so you cannot expect to assign that to whatever node and expect reflections vertically or underground |
22:18 |
RealBadAngel |
shader will work under 2 conditions, a) it is water node b) its top surface is at ocean level |
22:21 |
RealBadAngel |
however i can see no reason why modder couldnt change its name |
22:21 |
RealBadAngel |
im using internal name for it |
22:26 |
VanessaE |
the NAME is the whole argument. |
22:26 |
VanessaE |
it cannot and must not be locked to default:water_* |
22:27 |
VanessaE |
but at the same time it must be able to be applied to any node that sits at sea level and which is otherwise defined as a liquid |
22:27 |
VanessaE |
same reflection/etc applied to all |
22:27 |
VanessaE |
just the color changes |
22:27 |
VanessaE |
that alone would satisfy 99% of modders' complaints I think |
22:28 |
VanessaE |
shader should treat any node it finds at sea level that is a liquid (and that isn't lava) as being a candidate for this shader |
22:33 |
RealBadAngel |
shaders never "detects" nodes |
22:33 |
RealBadAngel |
shaders are being assinged to nodes |
22:33 |
RealBadAngel |
by their drawtypes |
22:33 |
VanessaE |
you know what I meant. |
22:35 |
RealBadAngel |
technically it will propably look like that: liqiud drawtypes will be separated |
22:35 |
RealBadAngel |
into general liquids, and water |
22:35 |
RealBadAngel |
whatever you will assign to water drawtype will become water |
22:36 |
RealBadAngel |
so i wont care how you will name your water, be it superdefault:milk ;) |
22:37 |
VanessaE |
heh |
22:37 |
RealBadAngel |
but it will look like water if it will use this drawtype :P |
22:37 |
VanessaE |
well the point is that it better sure as hell look like a big ocean of milk :) |
22:37 |
RealBadAngel |
as i mentioned you will be propably able to tint the water |
22:38 |
RealBadAngel |
or give it another pertrurbation map for waves |
22:38 |
VanessaE |
then there is probably no real issue here. |
22:38 |
RealBadAngel |
but then the modding abilities ends |
22:38 |
VanessaE |
you're sitting here making it sound like we can only ever have exactly one kind of water etc :) |
22:38 |
VanessaE |
s/water/water-like liquid/ |
22:38 |
RealBadAngel |
i mean ofc the look of the water |
22:39 |
VanessaE |
will the milk be white? |
22:39 |
RealBadAngel |
another properties you can change as you wish |
22:39 |
VanessaE |
will it ripple and glisten in the sun? |
22:39 |
RealBadAngel |
propapbly yes |
22:39 |
VanessaE |
can I have a lake of water next to it doing the same thing with the same shader? |
22:39 |
RealBadAngel |
no |
22:39 |
VanessaE |
ok, what's the failure mode then? |
22:39 |
VanessaE |
what happens if the modder does exactly that? |
22:40 |
RealBadAngel |
idk yet |
22:40 |
VanessaE |
haha |
22:40 |
RealBadAngel |
well i do know |
22:40 |
RealBadAngel |
both will look the same |
22:40 |
RealBadAngel |
theres one shader |
22:41 |
kahrl |
does it even have to be another drawtype? couldn't NDT_LIQUID check if <texture>_perturbation.png exists and if so apply the new shader? |
22:41 |
VanessaE |
so the tint applied to one gets used to both? |
22:41 |
kahrl |
(like the way normal maps work) |
22:41 |
VanessaE |
for both* |
22:41 |
RealBadAngel |
tinting is part of the algorithm |
22:41 |
VanessaE |
that didn't answer my question |
22:41 |
VanessaE |
the tint is specified where? in the node def? |
22:42 |
RealBadAngel |
no, in the shader |
22:42 |
VanessaE |
how do I tell the shader that my milk lake is white? |
22:42 |
RealBadAngel |
you can pass that value on shader compile time |
22:42 |
VanessaE |
WHAT? |
22:42 |
VanessaE |
my milk is starting to turn into cheese.. |
22:42 |
RealBadAngel |
when all the shaders are created |
22:43 |
VanessaE |
ok and how exactly is that value passed to the shader? |
22:43 |
RealBadAngel |
read from nodedef |
22:43 |
VanessaE |
by what API function or call or parameter is it given? :) |
22:43 |
RealBadAngel |
for example |
22:43 |
VanessaE |
*heddesk* |
22:43 |
VanessaE |
[09-07 18:43] <VanessaE> the tint is specified where? in the node def? |
22:43 |
VanessaE |
[09-07 18:44] <RealBadAngel> read from nodedef |
22:43 |
VanessaE |
*heddesk* |
22:44 |
RealBadAngel |
by now it is only in shader :P |
22:44 |
RealBadAngel |
but can be |
22:44 |
VanessaE |
it will have to be |
22:44 |
RealBadAngel |
ofc, but still |
22:44 |
VanessaE |
then what will happen? |
22:44 |
RealBadAngel |
theres just one such shader |
22:44 |
VanessaE |
two nodes pass this value? |
22:44 |
VanessaE |
last passed is the one that is used? |
22:44 |
RealBadAngel |
and wont get multiplied to serve another nodes |
22:44 |
VanessaE |
*shakes head* |
22:45 |
VanessaE |
this won't do. |
22:45 |
VanessaE |
modders will wring you dry if you do that :) |
22:45 |
VanessaE |
with lava, you can get away with it. |
22:45 |
RealBadAngel |
are you aware of it that mt has about 60 shaders already? |
22:45 |
VanessaE |
with "water" you can't, because it's more than just water :) |
22:45 |
VanessaE |
I am now. I figured it was closer to a dozen |
22:47 |
RealBadAngel |
each dtawtype X material type = number of shaders |
22:47 |
RealBadAngel |
so, thats the way for your node to use wanted shader |
22:48 |
RealBadAngel |
you have to pick correct drawtype and material |
22:48 |
VanessaE |
I wasn't talking about adding another shader. |
22:48 |
VanessaE |
I was talking about adapting the shader to read its settings in realtime for the piece of mesh it's operating on |
22:48 |
RealBadAngel |
but |
22:48 |
RealBadAngel |
liqiuds are exceptions |
22:49 |
RealBadAngel |
they simply do have different code |
22:49 |
RealBadAngel |
so water shader is completely different from lava one |
22:50 |
RealBadAngel |
you wont be trying to make water look like lava and vice versa, wont you? |
22:50 |
VanessaE |
of course not. |
22:50 |
VanessaE |
I don't even create new liquids |
22:50 |
VanessaE |
but plenty of modders do |
22:50 |
RealBadAngel |
how could you assign lava shader to lava node? |
22:50 |
RealBadAngel |
by checking if its called cheese? |
22:50 |
RealBadAngel |
or damn lava? |
22:50 |
VanessaE |
no. |
22:51 |
VanessaE |
I was thinking more like passing raw colors etc to the shader |
22:51 |
VanessaE |
it doesn't need to know node names. |
22:51 |
VanessaE |
it just needs to know that {123, 456, 789} needs a base color of #431256 |
22:51 |
RealBadAngel |
its shader that make it looks like lava not modder that gives it a name |
22:51 |
|
^v joined #minetest-dev |
22:51 |
RealBadAngel |
same applies to water |
22:51 |
VanessaE |
you're not listening to me |
22:52 |
VanessaE |
it doesn't need to know nodenames. it just needs to know that {123, 456, 789} needs a base color of #431256. compile that list when you build the mesh for display. |
22:52 |
RealBadAngel |
you want me to make it moddable |
22:52 |
RealBadAngel |
i say it will be just slightly moddable |
22:52 |
RealBadAngel |
but you cannot turn water into milk completely |
22:52 |
VanessaE |
the only thing that needs to be moddable is the color and MAYBE the perturbation normalmap. |
22:52 |
RealBadAngel |
or lava into cheese |
22:53 |
VanessaE |
what? no Velveeta rivers? ;) |
22:53 |
VanessaE |
when you build the mesh, you have the node names then, right? |
22:53 |
RealBadAngel |
water shader is meant to do realistic water, nothing less nothing more |
22:53 |
VanessaE |
I mean the regular mesh |
22:54 |
VanessaE |
yes or no? |
22:54 |
RealBadAngel |
using it for something another is just plain stupid |
22:54 |
RealBadAngel |
and just wont work any good |
22:54 |
VanessaE |
it's not stupid, because it's not just water. it's every low-viscosity liquid in every mod out there. |
22:55 |
RealBadAngel |
more important for me are drawtypes |
22:55 |
RealBadAngel |
not the node names |
22:55 |
VanessaE |
yes |
22:56 |
RealBadAngel |
and i will pick the water shader on the specific drawtype |
22:56 |
VanessaE |
but with node names is the implication that the node looks different somehow |
22:56 |
VanessaE |
even if all you can do is apply a new color and perturbation map, you have to be able to do that |
22:56 |
RealBadAngel |
by now, yes |
22:56 |
RealBadAngel |
because there are no special drawtypes yet |
22:56 |
RealBadAngel |
so lava and water are using the same |
22:57 |
blaise |
don't we need a cow, and some hay to turn water into milk? |
22:57 |
RealBadAngel |
so only way for me to distinct them are the names |
22:57 |
VanessaE |
blaise: nevermind. |
22:57 |
* blaise |
hides |
22:57 |
kahrl |
cowhides? |
22:58 |
RealBadAngel |
but when i code new drawtype, i wont pay no shit how modder will name the water |
22:58 |
VanessaE |
RealBadAngel: which is why I said to compile a table of liquid nodes. at most it'll only be 20k or so per mapblock if you do it right. |
22:59 |
VanessaE |
every node in the mapblock that is a liquid of some kind --> coords in a table --> color #123456 or a tag indicating that it's lava |
22:59 |
RealBadAngel |
if he decide to have default:milk with drawtype NDT_WATER its his problem |
22:59 |
VanessaE |
read from that table in your shader, apply those colors as you step through each piece of the mesh |
22:59 |
VanessaE |
(or switch shaders if the lava flag is set, whatever) |
23:00 |
RealBadAngel |
you cannot pass such things to shaders |
23:00 |
VanessaE |
why not? |
23:00 |
VanessaE |
you figured out how to pass other stuff to them |
23:00 |
RealBadAngel |
because its impossible? |
23:00 |
VanessaE |
you can't pass a simple array of integers? |
23:00 |
RealBadAngel |
i cannot pass to them even 3 vectors per mesh and you are talking bout 20k tables? lol |
23:01 |
RealBadAngel |
i can compile shaders with some predefined values |
23:01 |
RealBadAngel |
but cant send anything to them when rendering |
23:01 |
kahrl |
perhaps it's possible to maniulate the vertex colors to account for tints? |
23:02 |
RealBadAngel |
irrlicht doesnt supply such things |
23:02 |
VanessaE |
fuck irrlicht |
23:02 |
VanessaE |
go bare opengl if you have to |
23:02 |
VanessaE |
:) |
23:02 |
RealBadAngel |
irrlicht makes opengl shaders aviable |
23:02 |
RealBadAngel |
their implementation sucks |
23:02 |
RealBadAngel |
we are using irrlicht |
23:03 |
RealBadAngel |
kahrl, thats why i removed finalcolorblend from shaders |
23:03 |
RealBadAngel |
to have 3 bytes at my disposal |
23:04 |
VanessaE |
http://irrlicht.sourceforge.net/forum/viewtopic.php?t=39219 |
23:04 |
VanessaE |
looks like irrlicht can do this. |
23:04 |
VanessaE |
unclear what the limit is though |
23:05 |
RealBadAngel |
that wont work, tried those things |
23:05 |
RealBadAngel |
first of all, not all cards would support that |
23:05 |
RealBadAngel |
and mostly all opensource drivers will fail |
23:05 |
VanessaE |
kahrl: good idea |
23:06 |
RealBadAngel |
VanessaE, such shaders will not and wont be ever mixed |
23:06 |
VanessaE |
well I give up. |
23:07 |
RealBadAngel |
can you just listen to me? |
23:07 |
VanessaE |
I am listening. |
23:07 |
RealBadAngel |
water shader is using 4 out of 4 aviable textures |
23:07 |
VanessaE |
but what you propose will require every game in existence to be modified. |
23:07 |
RealBadAngel |
i mean texturing units |
23:07 |
VanessaE |
and if you just change the default liquid draw type, you will break every liquid in existence (except water). |
23:08 |
RealBadAngel |
refraction texture, reflection texture, depth texture and perturbation texture |
23:08 |
RealBadAngel |
theres no way for such shader to serve anything else but water |
23:08 |
RealBadAngel |
i say you can tint the water which is usually made blueish |
23:09 |
RealBadAngel |
by giving another tint color |
23:09 |
RealBadAngel |
but thats all what you can do with look of water |
23:09 |
RealBadAngel |
rest is up to complex math |
23:09 |
VanessaE |
but then no other liquid can be defined and still be able to glisten and wave and ripple. |
23:10 |
RealBadAngel |
as i said, there is even no water texture |
23:10 |
RealBadAngel |
all is CALCULATED |
23:11 |
RealBadAngel |
you want to mod the water? write another shader and replace it for christ sake |
23:11 |
kahrl |
do all of these textures use all channels? |
23:11 |
kahrl |
otherwise they could be combined |
23:11 |
RealBadAngel |
we are talking bout huge textures |
23:11 |
kahrl |
so? |
23:11 |
RealBadAngel |
rendering screens |
23:12 |
RealBadAngel |
propably they could be combined, but then reading from them would be pain in the ass |
23:13 |
kahrl |
ah, so they are dynamically updated with an actual render of the world |
23:13 |
kahrl |
nvm then |
23:13 |
RealBadAngel |
yes |
23:13 |
RealBadAngel |
3 of them actually |
23:13 |
RealBadAngel |
perturbation map is static |
23:14 |
kahrl |
is it grayscale? |
23:14 |
RealBadAngel |
its a normalmap |
23:14 |
kahrl |
ah, okay |
23:17 |
RealBadAngel |
i will see if i will be able to make those texture aviable for more instaces of water shader |
23:18 |
RealBadAngel |
i doubt that |
23:18 |
VanessaE |
just go with your existing idea then |
23:18 |
VanessaE |
water-only shader, new drawtype |
23:18 |
RealBadAngel |
but if it will be possible maybe different couloured waters at the same time will be possible |
23:18 |
VanessaE |
sure hope old clients handle it okay |
23:19 |
RealBadAngel |
thats not my idea |
23:19 |
RealBadAngel |
this is how its done everywhere |
23:19 |
kahrl |
perhaps you can abuse the vertex normals to transfer the tint color |
23:19 |
RealBadAngel |
even irrlicht has very specific kind of node |
23:19 |
RealBadAngel |
water surface |
23:19 |
kahrl |
since, if the water surface shader runs, you know that the normal had to be (0,1,0) |
23:20 |
RealBadAngel |
http://irrlicht.sourceforge.net/docu/example008.html |
23:20 |
RealBadAngel |
kahrl, yup |
23:21 |
RealBadAngel |
im gonna use that in such cases |
23:21 |
RealBadAngel |
VanessaE, node = smgr->addWaterSurfaceSceneNode(mesh->getMesh(0), 3.0f, 300.0f, 30.0f); |
23:21 |
RealBadAngel |
this is how one can add water in irrlicht |
23:22 |
RealBadAngel |
as you can see its called water, and will look like water ;) |
23:22 |
RealBadAngel |
also only at y=0 |
23:28 |
RealBadAngel |
btw, playing now with node highlighting and without selection boxes |
23:28 |
RealBadAngel |
effect is cool |
23:33 |
RealBadAngel |
hmm, i can even think of extending this |
23:34 |
RealBadAngel |
make with similar effect placement prediction |
23:35 |
RealBadAngel |
yup, gonna code that |
23:39 |
VanessaE |
that'll be hard. |
23:40 |
VanessaE |
(given how many ways there are to change the node after it's placed) |
23:40 |
VanessaE |
what have you got in mind? |
23:40 |
|
ImQ009 joined #minetest-dev |
23:59 |
* VanessaE |
pokes RealBadAngel |