Time |
Nick |
Message |
00:26 |
|
OWNSyouAll_DESKT joined #minetest-dev |
01:37 |
|
zat joined #minetest-dev |
02:09 |
|
Miner_48er joined #minetest-dev |
02:46 |
|
zat joined #minetest-dev |
04:40 |
ShadowNinja |
thexyz, celeron55: IMO devs should have the +o flag in here, and maybe others, rather than just +AVt. |
04:47 |
ShadowNinja |
+ir too. |
05:06 |
|
neko259 joined #minetest-dev |
05:30 |
celeron55 |
ShadowNinja: why? also what even is +ir? |
05:31 |
celeron55 |
(i don't know how freenode is supposed to work, i'm an IRCnet guy) |
06:06 |
|
darkrose joined #minetest-dev |
06:06 |
|
darkrose joined #minetest-dev |
07:00 |
|
NakedFury joined #minetest-dev |
07:10 |
|
Ritchie joined #minetest-dev |
07:11 |
|
Calinou joined #minetest-dev |
07:52 |
|
iqualfragile joined #minetest-dev |
08:33 |
|
Semilevel joined #minetest-dev |
09:14 |
|
Semilevel joined #minetest-dev |
09:21 |
|
smoke_fumus joined #minetest-dev |
09:29 |
|
Semilevel joined #minetest-dev |
09:36 |
Exio4 |
celeron55: +i = allows /cs invite in case the channel becomes +i (other way: +I list), +r == that would allow them to use unban (other way: +e lists) |
09:42 |
|
proller joined #minetest-dev |
09:56 |
|
kaeza joined #minetest-dev |
10:27 |
|
proller joined #minetest-dev |
10:53 |
|
Gethiox joined #minetest-dev |
11:43 |
celeron55 |
ShadowNinja, Exio4: i think i'll see what thexyz has to say |
11:47 |
proller |
celeron55, merging 99% frozen 8( |
11:54 |
celeron55 |
ShadowNinja: in any case i don't think devs should waste their time moderating IRC or anything else like that |
12:07 |
|
hmmmm joined #minetest-dev |
12:24 |
|
ImQ009 joined #minetest-dev |
13:08 |
|
zat joined #minetest-dev |
13:37 |
|
OWNSyouAll joined #minetest-dev |
13:47 |
|
ImQ009_ joined #minetest-dev |
13:49 |
|
ImQ009 joined #minetest-dev |
14:05 |
|
PilzAdam joined #minetest-dev |
15:02 |
|
jojoa1997 joined #minetest-dev |
15:14 |
|
werwerwer joined #minetest-dev |
15:17 |
|
Jordach joined #minetest-dev |
15:32 |
|
Calinou joined #minetest-dev |
15:38 |
|
iqualfragile joined #minetest-dev |
15:47 |
|
iqualfragile joined #minetest-dev |
16:07 |
|
iqualfragile joined #minetest-dev |
16:16 |
|
iqualfragile joined #minetest-dev |
16:21 |
|
iqualfragile_ joined #minetest-dev |
16:40 |
|
NakedFury joined #minetest-dev |
16:49 |
|
neko259 joined #minetest-dev |
16:56 |
|
rubenwardy joined #minetest-dev |
17:00 |
|
neko259 joined #minetest-dev |
17:21 |
|
IceCraft joined #minetest-dev |
17:28 |
|
nore joined #minetest-dev |
17:31 |
|
neko259 joined #minetest-dev |
17:35 |
|
proller joined #minetest-dev |
17:43 |
nore |
could someone look at this: https://github.com/minetest/minetest/pull/946 |
17:45 |
celeron55 |
hmmh, the activity of core devs is really low currently |
17:45 |
celeron55 |
maybe i should rotate these positions a bit 8) |
17:47 |
celeron55 |
here goes: anyone is free to vote for somebody to be a core dev; self-votes are disallowed |
17:47 |
celeron55 |
and votes are weighted based on presuppositions, racism and other politically incorrect things |
17:51 |
proller |
core devs must be selected from Active Conributors |
17:51 |
nore |
can #946 be merged? RBA said he was ok with it, and hmmmm said he was ok if someone else was... |
17:52 |
proller |
looks ok |
17:52 |
celeron55 |
it can be merged; it's more of a problem with people being lazy |
17:52 |
celeron55 |
than merging it being a problem 8) |
17:52 |
nore |
so, can someone merge it please? |
17:53 |
celeron55 |
it would be easier if we allowed the commit history get tangled with github merge commits, but i respect PilzAdam's and other people's dislike of those |
17:53 |
proller |
i can merge |
17:53 |
nore |
thanks |
17:53 |
nore |
oh, and will #688 be merged? |
17:53 |
proller |
+1 for github one button merge |
17:54 |
nore |
there were 2 core devs agreeing too, but no one merged... |
17:54 |
proller |
merge commits can be grep -v when reading |
17:54 |
kaeza |
merge comits clutter up history |
17:54 |
kaeza |
better to avoid |
17:54 |
celeron55 |
why doesn't github allow merging with rebase |
17:55 |
kaeza |
^ |
17:55 |
celeron55 |
the merge commit crap is ridiculous |
17:55 |
celeron55 |
personally i would use it, but only because rebases are not available |
17:56 |
celeron55 |
it's like choosing whether to eat old shoes or dead cats if you're starving |
17:56 |
kaeza |
lol |
17:56 |
proller |
history is not goal |
17:56 |
kaeza |
it's fine for small projects, but once you have tons of single-commit pull requests it gets messy |
17:57 |
proller |
you can filter history |
17:57 |
nore |
proller: and #688, can it be merged too? |
17:57 |
celeron55 |
could we implement a script that would be invoked like ./mergepull.sh 946 and it would rebase that pull and make it ready to be pushed |
17:58 |
nore |
I reckon celeron55 was ok a few month ago, and RBA was ok too before... |
17:58 |
celeron55 |
and publish it in wiki or something so that everyone who wants has it |
17:58 |
celeron55 |
nore: i haven't looked at 688 |
17:59 |
nore |
haven't you? you said you were ok with it a few months ago |
17:59 |
celeron55 |
well at least i don't remember anything 8) |
17:59 |
proller |
688 done |
17:59 |
nore |
(I can't find the IRC log, though) |
17:59 |
celeron55 |
proller: ... |
18:00 |
celeron55 |
proller: this is NOT a competition about who merges pulls with least justification |
18:00 |
proller |
for auto merging need to get branch name from github |
18:00 |
celeron55 |
proller: you didn't have the permission of anyone else than yourself for that |
18:01 |
proller |
i can revert |
18:01 |
celeron55 |
you can merge like thousand rockets, but only if every rule is followed |
18:04 |
proller |
Jul 31 20:58:28 <RealBadAngel> https://github.com/minetest/minetest/pull/688 this seems to be ready to merge |
18:05 |
celeron55 |
fine then, hopefully it doesn't have problems |
18:07 |
proller |
for getting more devs need to increase popularity |
18:08 |
proller |
https://github.com/minetest/minetest/pull/952 - week 8( |
18:08 |
celeron55 |
i think this actually is a working implementation of mergepull.sh 8): https://gist.github.com/celeron55/7012185 |
18:10 |
celeron55 |
we don't just need more devs; we need more devs that are good |
18:10 |
celeron55 |
but good devs rarely come unless there is some proper goal |
18:12 |
proller |
but any dev will scare 1-2-9 moths waiting merge |
18:13 |
celeron55 |
yes; goals are a way to solve that |
18:13 |
|
jojoa1997 joined #minetest-dev |
18:13 |
celeron55 |
because if there is a goal, then it is easy to tell whether a merge suits that goal or not |
18:13 |
NakedFury |
is there a goal right now? |
18:13 |
|
proller joined #minetest-dev |
18:14 |
celeron55 |
currently we have to kind of see for a long time what kind of interests builds upon a merge and what people seem to think they could get out of it before we can tell if it's good or not |
18:14 |
celeron55 |
NakedFury: not really |
18:16 |
celeron55 |
some devs like hmmmm have their personal goals, but nothing project-wide |
18:16 |
NakedFury |
right now there are dev specific goals like RBA working on his shader thing. HMM working on the map gen but not a yeah ^^^ |
18:18 |
|
Semilevel joined #minetest-dev |
18:18 |
celeron55 |
well-thought suggestions are welcome; people can even mail them to me personally, i don't mind |
18:18 |
celeron55 |
it is in my largest interests to find some common ground for this project |
18:18 |
proller |
celeron55, i cant finish liquid and weather thing, 2.5 months of waiting |
18:18 |
celeron55 |
but i don't dare to just whip up something and try to feed it to people |
18:18 |
proller |
and in master now anything broken |
18:21 |
celeron55 |
on the other hand we have some long-standing technical issues that prevent people doing things |
18:21 |
celeron55 |
namely the crappy entity system |
18:22 |
celeron55 |
everyone would absolutely love it if somebody somehow crammed it into usable shape |
18:22 |
proller |
falling nodes ? |
18:22 |
proller |
or what entity |
18:22 |
celeron55 |
the thing that is supposed to support animals, monsters and whatever |
18:24 |
nore |
has anyone been able to find where the entity duplication bug is from? |
18:26 |
proller |
for animals and monsters must be something highly adjustable in core |
18:26 |
celeron55 |
nore: no, not that anyone has even seriously tried i guess |
18:26 |
celeron55 |
the mess is mostly made by me but i'm scared too 8) |
18:29 |
|
rubenwardy_ joined #minetest-dev |
18:29 |
celeron55 |
what is even known about it? |
18:30 |
celeron55 |
does it happen for every kind of entities? |
18:32 |
nore |
Yes, IIRC (at least, both items and mobs...) |
18:33 |
celeron55 |
the first step to debugging it would be to know a way to reproduce it |
18:34 |
nore |
what is known is that it happens when entities cross block boundaries |
18:34 |
celeron55 |
at least it's not reproducible by just dropping an item and leaving for a moment |
18:34 |
nore |
and there are loadings/unloadings |
18:34 |
proller |
celeron55, maybe place top5 current servers to main page? |
18:34 |
celeron55 |
proller: maybe not distract this debugging |
18:36 |
nore |
celeron55, I had an idea where the bug could lie once: |
18:37 |
nore |
in environment.cpp, when an object is moved, it is deleted in the old block |
18:37 |
kaeza |
it also happens with dropped items sometimes |
18:37 |
nore |
however, if it is not found, it is not deleted |
18:37 |
kaeza |
I've seen it happen when a mod error occurs |
18:39 |
kaeza |
to give an example, a mod creates an entity, and as soon as it is creates, on_step() generates an error, then on next start, there are two entities there |
18:39 |
nore |
is it reproducible? |
18:40 |
kaeza |
hmm... does not seem reproducible though; it happens intermittently |
18:41 |
celeron55 |
yeah, this really needs a case where it always happens |
18:41 |
PilzAdam |
celeron55, a way to reproduce the duplication: get into a UFO, fly away so the chunk gets unloaded, get back and there waits a second UFO for you |
18:42 |
nore |
I guess this could have something to do with client knowing/not knowing the object |
18:44 |
kaeza |
so it seems to happen on (un)load; not if the entity is just there |
18:45 |
|
iqualfragile joined #minetest-dev |
18:45 |
kaeza |
by "(un)load" I mean, wherever entities are added to the list to track |
18:46 |
nore |
I have another idea: |
18:46 |
nore |
the object could be pending_deactivation, and then deactivateFarObjects is called with force_delete = true |
18:47 |
nore |
the object is then 2 times statically stored in the block |
18:47 |
nore |
could it be that? |
18:49 |
nore |
(line 1799 of environment.cpp) |
18:49 |
nore |
anyway, gtg |
18:49 |
nore |
bye |
18:55 |
|
djdduty joined #minetest-dev |
18:59 |
|
Miner_48er joined #minetest-dev |
19:10 |
VanessaE |
celeron55: another way to guarantee repeating the entity dupe issue: Install homedecor, place a few signs and put some text on them. Leave the area and come back after the area has been unloaded. |
19:10 |
celeron55 |
PilzAdam: that sounds like a good way, i guess i have to try |
19:11 |
VanessaE |
(homedecor redefines default signs using code by pilzadam and thexyz, such that it uses an entity to display the text) |
19:20 |
VanessaE |
<offtopic> celeron55, can we please get a feature added soon to disable the wield item extrusion code? I.e. to render all items as flat or cubes or nodeboxes only? </offtopic> |
19:22 |
celeron55 |
umm... yes, as long as somebody codes it? 8) |
19:25 |
VanessaE |
heh |
19:25 |
VanessaE |
wield meshes are getting...er...unwieldy lately in HDX :) |
19:27 |
VanessaE |
like, this image: https://raw.github.com/VanessaE/hdx-256/master/mushroom_spore.png |
19:27 |
celeron55 |
oh dog |
19:28 |
VanessaE |
yeah :) |
19:28 |
VanessaE |
anyway, that's offtopic. |
19:39 |
celeron55 |
"SeverEnvironment" hmm |
19:39 |
celeron55 |
oh, actually sewer has a 'w' |
19:41 |
celeron55 |
i'm looking at a log about me flying away with a UFO and coming back |
19:41 |
celeron55 |
this thing is just silly |
19:42 |
celeron55 |
while re-loading the blocks it's like "oh yeah i remember there was a UFO here, i wonder where it went; well i'll just put a UFO here because that seems right" |
19:44 |
kaeza |
maybe nore is right |
19:45 |
kaeza |
the data is serialized twice |
19:45 |
celeron55 |
well that's before it's even saved |
19:45 |
celeron55 |
obviously it then saves both of the resulting UFOs but anyway |
19:47 |
kaeza |
it seems ServerObjectList::serialize() iterates thru 2 lists: m_stored and m_active. it relies on the caller to manage them properly (remove from active when stored) |
19:47 |
kaeza |
unless I got that wrong |
19:47 |
celeron55 |
umm yes |
19:48 |
celeron55 |
the two lists aren't really directly related to this |
19:49 |
celeron55 |
or, kind of are |
19:51 |
celeron55 |
when an object is active, it should be on the active list instead of stored list |
19:51 |
|
proller joined #minetest-dev |
19:54 |
celeron55 |
either the UFO doesn't get moved from the stored list to the active list, or alternatively stuff from the active list is being restored into the world... umm... actually the stored and active lists are merged when they are serialized to disk |
19:55 |
celeron55 |
hmm yeah, this surely has a design flaw |
19:56 |
celeron55 |
i think i can manage this somehow |
19:57 |
|
diemartin joined #minetest-dev |
19:58 |
celeron55 |
just before a block is being unloaded, the content of the active list should be moved to the blocks in which the entities actually are at that moment |
19:59 |
celeron55 |
or something functionally similar should happen |
19:59 |
celeron55 |
in such a way that the active list is always empty when the block is being saved |
19:59 |
celeron55 |
umm... i mean, unloaded |
20:18 |
|
zat1 joined #minetest-dev |
20:20 |
|
troller joined #minetest-dev |
20:21 |
|
sapier1 joined #minetest-dev |
20:23 |
ShadowNinja |
celeron55: With 77 pulls and counting we definitely need more devs, but how should the nominations be managed? Perhaps a page on the dev wiki? And should people add themselves and be voted on or should they have to be nominated? That would involve people that don't accept the nomination to be removed. |
20:26 |
sapier1 |
I've been busy some time too but what about organizing some sort of meeting to work through that list? |
20:28 |
ShadowNinja |
Also: Who can vote/nominate? Current developers? Active contributors? All contributors? All active users? |
20:29 |
* troller |
for active contributors |
20:30 |
troller |
like sapier1 |
20:30 |
* ShadowNinja |
too |
20:30 |
ShadowNinja |
As in I vote for active contributors, although the other also applies. |
20:31 |
ShadowNinja |
The current devs will have a veto I suppose. |
20:31 |
celeron55 |
working through lists of pull requests is not a problem if people knew what the goal is |
20:31 |
celeron55 |
you don't solve development management problems by throwing more developers at those problems |
20:31 |
celeron55 |
it just doesn't work |
20:31 |
sapier1 |
I assume goal is to either merge, reject or request additional work at a pull request right? |
20:32 |
celeron55 |
eh |
20:32 |
ShadowNinja |
celeron55: One issue is that it is very dificult to get two devs to agree to something and then actuall push it. |
20:32 |
celeron55 |
ShadowNinja: yes, that is solved by having a project goal |
20:32 |
ShadowNinja |
+y |
20:32 |
celeron55 |
then they can just look at if the pull is towards the goal |
20:32 |
NakedFury |
well you can start with making the first goal towards 0.5.0 |
20:33 |
sapier1 |
ok so someone or some groupe has to define that goals first ;-) |
20:33 |
ShadowNinja |
Fun game that runns well on old/slow hardware? |
20:33 |
sapier1 |
-e |
20:33 |
NakedFury |
after that first goal the devs all vote or create a new project wide goal |
20:33 |
troller |
ShadowNinja, need to define "slow" |
20:33 |
sfan5 |
"fun game" is not very specific |
20:34 |
ShadowNinja |
Any better ideas? |
20:34 |
NakedFury |
my fun game is not your fun game |
20:34 |
sapier1 |
ShadowNinja you just made two major mistakes "well" and "old/slow" hardware ... both not beeing specified |
20:34 |
troller |
game must be intresting |
20:34 |
ShadowNinja |
sapier1: Yes, that whole sentence is very vauge, I know. |
20:34 |
VanessaE |
I'd define "slow" as 1GHz or less, 1 or 2 cores. |
20:34 |
troller |
intresting to explore |
20:35 |
sapier1 |
correct we'd need some reference system to check against e.g. run at 1GHz single core with geforce2 and 1GB ram at 20fps |
20:35 |
troller |
need to finish android port... |
20:35 |
ShadowNinja |
>2ghz 2 cores could be the "Runs well" specs. |
20:36 |
VanessaE |
perhaps, yeah |
20:36 |
NakedFury |
could a development Goal be something like: work on the introduction of a replacement for entities system so the future inclusion of players, mobs, items not slow down the game? |
20:36 |
ShadowNinja |
NakedFury: How about just the TODO. ;-) |
20:37 |
sapier1 |
nakedfury that's like create a car that doesn't consume any sort of energy to move around |
20:37 |
NakedFury |
its an example a goal that all developers can agree on |
20:37 |
troller |
++mobs in core (but smart) |
20:38 |
ShadowNinja |
But a TODO item isn't really a goal. |
20:38 |
sapier1 |
troller "mobs" is a vague thing too |
20:38 |
sapier1 |
we already have mobs ... entities have everything a mob requires |
20:38 |
NakedFury |
Goal: overhaul of messaging system, graphical user interface system, and admin interaction with server. ? |
20:38 |
VanessaE |
sapier1: except the AI. |
20:38 |
celeron55 |
hmm, you're kind of getting stuck in small details |
20:38 |
sapier1 |
yes |
20:38 |
celeron55 |
how about some big things |
20:39 |
ShadowNinja |
The whole entity system needs work,as c55 said. |
20:39 |
sapier1 |
but AI can't be done without cpu power ;-) |
20:39 |
troller |
optimize network to handle 100+ players per server |
20:39 |
ShadowNinja |
NakedFury: Still just things for a TODO IMO. |
20:39 |
NakedFury |
dammit |
20:39 |
ShadowNinja |
troller: That's a bit high, but definitely >16. |
20:40 |
troller |
now with 10 very big lags and 100% cpu use |
20:40 |
sapier1 |
and yes the entitiy system is flawed ... the way they are stored is quite strange |
20:40 |
sapier1 |
it's explainable by history but doesn't really fit to entities that move themselfes |
20:41 |
VanessaE |
celeron55: the problem is each of us has some "big thing" that's important to us |
20:41 |
celeron55 |
VanessaE: more like medium-sized thing |
20:41 |
VanessaE |
get enough of those together and you have the same morass we have now with "details" |
20:41 |
celeron55 |
but yes, each person has that |
20:41 |
troller |
stat system can be fun (count anything perl player) |
20:42 |
VanessaE |
medium-size, granted |
20:42 |
sapier1 |
and unless we "sit together" and priorize those issues we won't sort out that mess :-) |
20:42 |
celeron55 |
i probably need to get back to my dictator role enough to lay down some sentence defining what minetest is supposed to be |
20:43 |
sapier1 |
either dictate or moderate by forcing ppl to decide |
20:43 |
ShadowNinja |
But what is a goal? Is it just a prioritized TODO item? What is our ultimate goal? |
20:43 |
celeron55 |
otherwise it's going to develop into some cthulhu-like mess |
20:44 |
celeron55 |
(or, more like develop into nothing, as development stays slow) |
20:44 |
sapier1 |
celeron55 you know all major oss projects have some sort of dictator ;-) |
20:44 |
sapier1 |
if you don't like the word gate keeper may be more friendly |
20:47 |
VanessaE |
Some folks [citation needed] have claimed MT lacks scalability. |
20:48 |
VanessaE |
seems to me that part of an ultimate goal should include that. |
20:48 |
celeron55 |
what the crap is wrong with these UFOs, they get stuck in mid-air all the time |
20:48 |
VanessaE |
celeron55: also related to entity dupes. |
20:48 |
celeron55 |
no it isn't |
20:49 |
VanessaE |
this is a known bug with hovercrafts anyway - the duplicated object is hitting a wall somewhere. |
20:49 |
VanessaE |
you move one, both move. it's weird and totally non-intuitive. |
20:49 |
celeron55 |
there is no duplicated object |
20:49 |
VanessaE |
or wait, I guess you mean vertically stuck, rather than horizontally? |
20:49 |
celeron55 |
horizontally |
20:49 |
VanessaE |
hm |
20:50 |
celeron55 |
it's like the server didn't have the block loaded... which probably is what it is |
20:50 |
sapier1 |
I realized that issue when driving monorails too ... most time I found a duplicated cart right after it happened |
20:50 |
celeron55 |
but it's very slow in getting to loading it |
20:50 |
VanessaE |
oh right, that might be the case then |
20:50 |
celeron55 |
sapier1: that and duplication are not related |
20:51 |
VanessaE |
I tend to forget that a block of just air is still a block that has to be loaded. |
20:52 |
sapier1 |
at least it happens in same situations as duplication occurs ... of course that doesn't imply any causal relationship |
20:52 |
celeron55 |
that it does |
20:53 |
celeron55 |
(because duplication occurs at block unload/load cycle) |
20:53 |
Sokomine |
hovercrafts seem to have special problems with that. better take other entities for testing |
20:54 |
Exio4 |
ShadowNinja: 2ghz doesn't mean the same thing in different computers |
20:54 |
sapier1 |
hmm I guess I may be somehow guilty about that duplication issue as I fixed the entity loss issue ... maybe that fix triggers a duplication somewhere |
20:54 |
ShadowNinja |
Exio4: Yes, GHZ isn't a really good rating of CPUs any more unfourtunately. |
20:55 |
Sokomine |
doesn't matter who's guilty. it's just important that it gets fixed :-) |
20:55 |
ShadowNinja |
"A scalable server" sounds like a good goal. |
20:56 |
sapier1 |
I'm just a little bit confused as I didn't realize the situation celeron describes when I added that fix |
20:56 |
celeron55 |
i seemed to fix the duplication problem but i'm getting some weird warnings so this is going to take some time |
20:57 |
|
Gethiox2 joined #minetest-dev |
20:57 |
celeron55 |
sapier1: what did you do back then? |
20:57 |
ShadowNinja |
But do you think we need more devs? |
20:57 |
sapier1 |
I'd have to look up but as far as I know the issue was a client did remove a entity from it's worls while server kept it active |
20:58 |
sapier1 |
if player returned to that block the entity was still active for the server so wasn't sent to client |
20:58 |
ShadowNinja |
Is the dev wiki a good place to manage that? Should it be nominations or voting? |
20:59 |
celeron55 |
ShadowNinja: let me think about it some days |
21:01 |
Sokomine |
ah yes: sample of item duplication on a server (this time menches 0.4.xer): http://mg.viewskew.com/u/sokomine/m/screenshot-3845000104/ |
21:01 |
celeron55 |
i think that minetest doesn't need more devs than now (even less would do just fine); it needs devs that are reasonably active and who focus on a well selected set of goals |
21:02 |
Sokomine |
or here, from linuxgaming: http://mg.viewskew.com/u/sokomine/m/objektstapel |
21:02 |
Sokomine |
those where all normal items/itemstacks that where dropped/left lying by players. usually do not move around apart from initial drop. it appeared that they where "sinking" into the ground |
21:03 |
ShadowNinja |
This issue needs some work. The bug is confirmed and not obscure, and the thing to fix is find_spawnpos(Or whatever it is called). https://github.com/minetest/minetest/issues/953 |
21:03 |
sapier1 |
I found the pull the change I added was removing a object from active list in deactivateFarObjects and move it to static_objects list |
21:03 |
sapier1 |
https://github.com/sapier/minetest/commit/0ac74f36e2599116897f3e27ca973162a8dbbe3f |
21:10 |
celeron55 |
https://gist.github.com/celeron55/7014947 |
21:11 |
celeron55 |
somebody try that; if it doesn't seem to break anything, i'll push it |
21:11 |
celeron55 |
you can try it in any situations where you previously could cause entity duplication |
21:12 |
celeron55 |
(also it's a good idea to see if any entities are lost) |
21:13 |
sapier1 |
I check the loss I know how a simple case where this occured before |
21:14 |
celeron55 |
ShadowNinja: the screenshot has version 0.3.1 |
21:14 |
celeron55 |
it's known to have horrible spawning |
21:15 |
celeron55 |
of course in case of lua mapgens, it can happen in 0.4 too; it can be improved but not perfectly solved |
21:16 |
ShadowNinja |
celeron55: Then it should be closed with a note to use a more recent version. |
21:17 |
Sokomine |
does applying the patch to the server only help? guess it has to be changed there? those issues mostly occour on multiplayer-servers |
21:17 |
ShadowNinja |
VanessaE: May want to try ^. |
21:18 |
Sokomine |
alerted her already |
21:18 |
celeron55 |
it's a server-side patch |
21:20 |
hmmmm |
celeron, I do have a project-wide goal but so far I haven't been able to get anything done with it |
21:21 |
hmmmm |
(that is, the client-side lua api) |
21:21 |
VanessaE |
ok I'll try it |
21:21 |
VanessaE |
sorry, I was afk |
21:21 |
sapier1 |
me too hmmm ;-) |
21:22 |
hmmmm |
work keeping you busy? |
21:22 |
sapier1 |
celeron55 entities don't seem to get los on deactivation |
21:22 |
sapier1 |
yes hmmmm I haven't started the client side lua thing besides some theoretical thoughts. Imho it's post 0.4.8 and there's some work to be done for 0.4.8 |
21:24 |
VanessaE |
ok, proposed the entity dupe fix has been deployed to my servers. I suppose a /clearobjects is in order also? |
21:24 |
celeron55 |
well it doesn't get rid of previously duplicated objects |
21:24 |
ShadowNinja |
^ Agreed, we have to actually release that. |
21:25 |
sapier1 |
there's some polishing to be done to modstore prior release of 0.4.8 |
21:25 |
ShadowNinja |
#923 and #925 need to be merged first, also #856. |
21:25 |
Sokomine |
i'll try to duplicate sheep on vanessas server then. though those might use a diffrent mechanism |
21:26 |
VanessaE |
my servers are busy with /clearobjects |
21:26 |
VanessaE |
but feel free, once they wake up :P |
21:33 |
celeron55 |
ShadowNinja: no they don't |
21:35 |
celeron55 |
the uppermost of these is the only thing that blocks 0.4.8 from happening: https://github.com/minetest/minetest/issues?milestone=1&state=open |
21:36 |
celeron55 |
but as that list shows, the weather stuff probably needs to be sorted out before too |
21:36 |
troller |
weather in master now 16384% broken |
21:36 |
ShadowNinja |
celeron55: 925 has to be merged before 0.4.8 or risk breaking the API, #923 has to be merged or there will be users complaining of untraceable bugs. |
21:37 |
VanessaE |
I side with shadow, those three commits are needed |
21:37 |
VanessaE |
s/commits/pulls/ |
21:38 |
ShadowNinja |
#856 isn't quite as mandatory, but it is important and has already been agreed to. |
21:38 |
celeron55 |
856 is half-designed |
21:38 |
celeron55 |
it can't be merged before really thinking it through |
21:38 |
ShadowNinja |
half-designed? |
21:38 |
celeron55 |
if you read the linked discussion there fully, you get the idea |
21:39 |
celeron55 |
because... eh, merging it would risk breaking the API, as you say it |
21:39 |
troller |
i want to merge my small and tested pulls before too: #956 #952 #897 #895 |
21:40 |
ShadowNinja |
celeron55: Oh, 925 you mean? Any mods that used the metatables can be updated and work with ever version of the vector functions. |
21:40 |
celeron55 |
ShadowNinja: 856 |
21:40 |
ShadowNinja |
celeron55: 856 won't break the API. |
21:41 |
celeron55 |
it will have to be broken in the future because it's half-designed |
21:41 |
ShadowNinja |
celeron55: Half-designed? How so? How can it be fixed? |
21:42 |
celeron55 |
it can be fixed by designing it taking into account everything, as described in the lengthy discussion linked there |
21:42 |
celeron55 |
just ignore it for now |
21:42 |
celeron55 |
the vector stuff seems very arguable |
21:43 |
celeron55 |
the speed can be improved by just not constructing the metatable again every time but using one that is allocated only once at load time |
21:43 |
celeron55 |
the sanity checks are good |
21:43 |
ShadowNinja |
celeron55: I made all the changes that I noticed in the discussion that you linked, re-check the diff. |
21:44 |
|
iqualfragile joined #minetest-dev |
21:45 |
sapier1 |
897 who shall review > 20 commits with comments as speaking as "4" or "works" or "better"?? |
21:46 |
troller |
dont look to commits |
21:46 |
troller |
look at changed files |
21:46 |
troller |
its for squash |
21:46 |
troller |
https://github.com/minetest/minetest/pull/897/files |
21:47 |
celeron55 |
ShadowNinja: so have you considered it for entities? |
21:47 |
celeron55 |
ShadowNinja: how does the interface suit that? |
21:47 |
ShadowNinja |
celeron55: minetest.is_protected(vector.round(pos)) in the apropriate function. |
21:48 |
ShadowNinja |
celeron55: Just override on_drop or whatever. |
21:48 |
sapier1 |
ok way more easy but why don't you just squash it ... with thos comments they're worth nothing ;-) |
21:48 |
celeron55 |
ShadowNinja: how do protection mods usually implement is_protected? do they check what the actual node's content is at the position? |
21:48 |
celeron55 |
ShadowNinja: if so, how can they check what the actual object is if it's not a node? |
21:49 |
celeron55 |
ShadowNinja: i'm talking about eg. punching entities |
21:49 |
troller |
sapier1, because it waiting more than month, it need to be updated sometimes, or maybe fixing something - and need to be squashed after every commit |
21:49 |
celeron55 |
i really have no time for this at the moment |
21:50 |
ShadowNinja |
celeron55: Some check the area for a particular node(A protection node, a node played by the player, etc) some check a table(areas, node_ownership, landclaim, landrush) |
21:50 |
celeron55 |
i should have been sleeping for at least an hour already |
21:50 |
ShadowNinja |
celeron55: The entity position is rounded to a node position and the protection is applied there. |
21:51 |
sapier1 |
I don't squash all commits either troller but >20 is quite a large amount ;-) |
21:51 |
ShadowNinja |
The only thing I can think of adding is support for checking if a area between two positions is protected. |
21:51 |
celeron55 |
ShadowNinja: your api description (and maybe other things) talks about node placement and digging, while in fact it can be any kind of interaction |
21:51 |
sapier1 |
what does the comment "now limited to 6.4" mean in GetNextBlocks? |
21:52 |
ShadowNinja |
celeron55: Well that is the most common use of it. |
21:52 |
troller |
sapier1, now maximum falling speed limited |
21:52 |
celeron55 |
ShadowNinja: but if a protection mod expects it to be a node and it gets a position of an entity, it'll output stuff like "player tried to dig air" |
21:52 |
celeron55 |
ShadowNinja: it's wrong |
21:52 |
sapier1 |
any reason why it's 6.4 not 7.2 or 9.1? |
21:53 |
troller |
sapier1, its like maximum 6.4 blocks per second at 0 height |
21:53 |
troller |
sapier1, its like real human falling speed |
21:53 |
celeron55 |
ShadowNinja: you know, people could be going to commonly have objects in their houses which they wish to protect |
21:54 |
troller |
sapier1, dont try 8) |
21:54 |
ShadowNinja |
celeron55: Oh, you mean on_protection_violation? That is called seperately from is_protected. |
21:54 |
sapier1 |
I remember fixing a "falling" issue in collision handling I decided against a fixed value but limit by cpu power |
21:54 |
sapier1 |
6.4 m/s seems to be a little bit slow to me |
21:55 |
troller |
block = 16 nodes |
21:55 |
celeron55 |
ShadowNinja: you have to remove references of digging and placing, or alternatively include also interaction with objects |
21:55 |
ShadowNinja |
celeron55: Eg, if minetest.is_protected(vector.round(pos), name) then minetest.record_protection_violation(vector.round(pos), name) end --> (1,2,3) is protected by SomePlayer. |
21:55 |
sapier1 |
ok ok ... 364 km/h |
21:56 |
troller |
sapier1, and now it depend by height, faster at 30000, slower at -30000 |
21:56 |
sapier1 |
still celeron keeps telling mintest engine should be usable for everything if you add such a limit you make the engine a ground engine only |
21:57 |
sapier1 |
I don't see any reason why falling should be slower at -30000 than at +30000 |
21:57 |
celeron55 |
troller's code is consistently too limited to on-ground use, yes |
21:58 |
troller |
sapier1, density of air, as in real life |
21:58 |
VanessaE |
sapier1: an argument could be made that the air is thinner at +31k, so the terminal velocity is faster there |
21:58 |
troller |
celeron55, i can make it adjustable if anybody wants it |
21:58 |
celeron55 |
VanessaE: so, what if a game is set in space? |
21:58 |
sapier1 |
if you create a space simulation there ain't any air around |
21:58 |
VanessaE |
celeron55: then there should be no concept of terminal velocity at all :P |
21:58 |
celeron55 |
VanessaE: or completely inside ground? |
21:58 |
celeron55 |
VanessaE: that's the point |
21:59 |
sapier1 |
e=mc² |
21:59 |
* VanessaE |
shrugs |
21:59 |
VanessaE |
not a solvable problem without a mod being able to specify min/max terminal velocity and the altitude range to which it applies I guess |
21:59 |
sapier1 |
we already have some sort of speed limit as collision handling needs to be done for those fast moving things |
21:59 |
celeron55 |
we shouldn't limit things unless it's absolutely necessary to keep things fairly simple |
22:00 |
celeron55 |
s/to/in order to/ |
22:00 |
troller |
celeron55, but current falling in master have unlimited speed if all blocks loaded, and stuck every block if not |
22:01 |
sapier1 |
why not fix in collision handling ? preserving old velocity to be reapplied once the colliding block is loaded? |
22:01 |
troller |
its other task |
22:01 |
celeron55 |
there can be terminal velocity but it should be completely settable by the game |
22:01 |
VanessaE |
I just said that :) |
22:01 |
celeron55 |
(like other player's movement parameters) |
22:02 |
celeron55 |
also i don't even know what pull you're talking about |
22:02 |
celeron55 |
also i sleep now |
22:02 |
troller |
my pull based on air viscosity, its now hardcoded |
22:02 |
VanessaE |
minetest.set_terminal_velocity(object, minv, maxv, min_alt, max_alt) |
22:02 |
sapier1 |
if you make it configurable it'll have way more chance to be merged |
22:02 |
celeron55 |
eeeeeeeh |
22:03 |
VanessaE |
seems simple enough, API-wise. Good luck coding it :) |
22:03 |
sapier1 |
I suggest using config parameters not bloating api |
22:04 |
VanessaE |
definitely API - what if a mod wants to alter those values over time? |
22:04 |
celeron55 |
why can't you find the obvious thing |
22:04 |
celeron55 |
set_physics_override |
22:04 |
celeron55 |
add a parameter to that |
22:04 |
kaeza |
suddenly: lag |
22:04 |
celeron55 |
altough |
22:04 |
VanessaE |
celeron55: or that; I've never used that feature. didn't know about it |
22:04 |
celeron55 |
it's all wrong for this because they're based on multiplying defaults, and default is essentially unknown for this... |
22:04 |
celeron55 |
hell |
22:05 |
troller |
then need to make confugurable liquid and air viscosity |
22:05 |
celeron55 |
i'd be much happier if troller just cancelled all his pull requests, they're so pain in the ass to try to fit in this thing |
22:05 |
ShadowNinja |
celeron55: Docs updated. |
22:06 |
sapier1 |
those I had a look at by now are feature add ons maybe we should delay them post 0.4.8 and think about how to implement them in a more generic way |
22:06 |
VanessaE |
ok, regarding entity dupes: my servers have the path, both have had /clearobjects run on both and have been restarted. |
22:06 |
celeron55 |
but... who came up with using MULTIPLIERS in ObjectRef::set_physics_override? |
22:06 |
celeron55 |
it's complete nonsense |
22:06 |
VanessaE |
any related testing can begin now. |
22:07 |
celeron55 |
they should be the actual values used |
22:07 |
sapier1 |
I've been driving around with my cart for half an hour now without any dup :) |
22:07 |
VanessaE |
s/path/patch/ |
22:08 |
|
OWNSyouAll joined #minetest-dev |
22:09 |
celeron55 |
if this terminal velocity thing is taken into use, it should be used like ObjectRef::set_physics_override({speed=actualvalue, jump=actualvalue, gravity=actualvalue, terminal_velocity=actualvalue}) |
22:10 |
celeron55 |
and the game is responsible for updating those in whatever way it wants to model it's atmosphere or whatever viscosities or whatever |
22:10 |
celeron55 |
it's not minetest's issue |
22:10 |
celeron55 |
and shouldn't be |
22:10 |
celeron55 |
things like this should never be hardcoded |
22:13 |
celeron55 |
and yes, this implies that eg. the current clouds should be disableable by game |
22:13 |
celeron55 |
and everything like that |
22:14 |
celeron55 |
troller: you need to fit your stuff to this way of thinking |
22:14 |
troller |
ok |
22:14 |
celeron55 |
it's the only way minetest makes sense |
22:14 |
celeron55 |
other ways are boring crap |
22:14 |
troller |
but current state is boring crap too |
22:15 |
sapier1 |
having crap is no excuse for creating more crap ;-P |
22:15 |
celeron55 |
of course it is boring crap; that's why we're here trying to make it less boring crap |
22:15 |
|
zat joined #minetest-dev |
22:15 |
sapier1 |
and we've come a long way so there's way less crap than a year ago or the year before |
22:15 |
troller |
best way to solve is get viscosity from every node |
22:16 |
troller |
now lava and water have hardcoded 0.3 |
22:16 |
sapier1 |
true but I guess that'd break map compatibility thus it's a huge change |
22:16 |
celeron55 |
sapier1: what? |
22:17 |
sapier1 |
adding viscosity to each node? |
22:17 |
celeron55 |
lol, troller probably meant node definitions |
22:17 |
celeron55 |
also it's wrong too |
22:17 |
celeron55 |
you simply leave it for the game to do; there's no other sane option like i said |
22:18 |
celeron55 |
or, well, node definitions multiplied by a ObjectRef::set_physics_override multiplier could work |
22:19 |
celeron55 |
that could fit the needs of quite many possible uses |
22:19 |
sapier1 |
so we have two ways to change either by doing a total conversion defining each node again ... can "air" be redefined? |
22:20 |
celeron55 |
umm... well for this to work, it should be |
22:20 |
celeron55 |
i don't think it's a problem |
22:21 |
troller |
player already have liquid_viscosity, but its other viscosity |
22:22 |
troller |
and its already used for stopping... |
22:23 |
sapier1 |
so we already have s suboptimal solution ;-/ |
22:24 |
celeron55 |
managing legacy crap hasn't ever stopped us from doing things better |
22:24 |
sapier1 |
of course not imho it's just another point thatd speak for delaying until after 0.4.8 |
22:25 |
celeron55 |
well the viscosity thing is in 0.4.7 already |
22:25 |
celeron55 |
or is it? |
22:25 |
celeron55 |
liquid viscosity |
22:25 |
sapier1 |
I don't know 0.4.7 feels like ages ago |
22:26 |
troller |
yes, its old |
22:26 |
troller |
^ viscosity |
22:26 |
celeron55 |
i'm starting to think weather should be reverted and rethinked |
22:26 |
celeron55 |
it has too much game-level stuff crammed into the engine |
22:27 |
celeron55 |
it's just wrong and makes kittens cry |
22:27 |
troller |
where wrong? |
22:28 |
troller |
game level only content_abm.cpp |
22:29 |
celeron55 |
i guess mostly those |
22:29 |
celeron55 |
they should at least be completely disableable by game |
22:30 |
celeron55 |
the built-in weather altogether |
22:30 |
troller |
its completely disableable by config |
22:30 |
celeron55 |
no config |
22:30 |
celeron55 |
game. |
22:30 |
troller |
its add one string |
22:30 |
celeron55 |
if i make my space game, i don't want to tell users they need to configure minetest so that they don't get rain in space |
22:30 |
celeron55 |
it's ridiculous |
22:31 |
troller |
rain is mod |
22:31 |
troller |
dont include it to your game |
22:31 |
celeron55 |
hmm, so you're saying this should work fully as expected for a space game? |
22:32 |
celeron55 |
if so, then it's good |
22:32 |
VanessaE |
the temperature and humidity perlin settings still need to be tuned to match plants_lib... |
22:32 |
troller |
now fog humidity-depend if weather enabled |
22:32 |
celeron55 |
but if you're lying, i'll punch you! |
22:32 |
troller |
and melting-freezing |
22:33 |
celeron55 |
how is humidity and temperature determined? |
22:33 |
troller |
by hmmmm's biomes |
22:33 |
troller |
+- season changes |
22:33 |
celeron55 |
can a game specify them in any way it likes? i'd like zero humidity in free space and some on top of planets 8)? |
22:33 |
VanessaE |
https://github.com/VanessaE/plantlife/blob/master/plants_lib/init.lua (lines 22-30) |
22:34 |
troller |
celeron55, now - looks not, but its near biomes definition |
22:34 |
celeron55 |
okay so that would be handled by biomes |
22:34 |
troller |
now only by config |
22:35 |
VanessaE |
and plants_lib interprets those figures thusly: https://github.com/VanessaE/plantlife/blob/master/API.txt#L530 |
22:35 |
celeron55 |
VanessaE: i don't think syncing some noise parameters of a mod and the engine makes sense |
22:35 |
celeron55 |
the mod should just get them from the engine |
22:36 |
celeron55 |
...the resulting values |
22:36 |
VanessaE |
celeron55: it makes sense because my mod and SPLizard's snow mod already established these params ages ago. To change them now means shit grows in the wrong places. |
22:36 |
VanessaE |
like palm trees getting buried under a meter of snow, etc. |
22:36 |
troller |
VanessaE, simple solution: start new world ;) |
22:37 |
celeron55 |
ugh |
22:37 |
celeron55 |
whatever, you solve it yourselves |
22:38 |
celeron55 |
troller: so now: remove everything from your pull requests that conflict more with that space thing |
22:38 |
celeron55 |
because they're not allowed, because they lock the engine down to smaller scope of things which is undesirable |
22:38 |
troller |
only add game no_weather option check |
22:39 |
sapier1 |
I want aseroid showers! ;-) |
22:39 |
sapier1 |
+t |
22:39 |
VanessaE |
ha! |
22:39 |
celeron55 |
troller: i don't understand what that means |
22:40 |
celeron55 |
game add weather option_no check minetest already mod params sense snow |
22:40 |
troller |
game can redefine config value? |
22:40 |
celeron55 |
it can't |
22:40 |
celeron55 |
it isn't allowed to |
22:41 |
celeron55 |
i mean, it can but it's bad behavior of a game |
22:41 |
celeron55 |
some things at the moment are really bad from this standpoint, like map generator selection |
22:42 |
celeron55 |
aactually |
22:42 |
celeron55 |
no, that can be selected |
22:42 |
celeron55 |
well so should be weather anyway |
22:43 |
celeron55 |
things are constantly turning out better than i thought they were 8) |
22:44 |
sapier1 |
mapgen is world specific as far as I know |
22:44 |
celeron55 |
a game can force it by using minetest.register_on_mapgen_init |
22:44 |
sapier1 |
overwriting the mapgen in world? wow |
22:45 |
celeron55 |
of course |
22:46 |
sapier1 |
hmm I thought thatd result in mixing mapgens but a world always has a game attached so this doesn't happen |
22:46 |
VanessaE |
there's one mod that does that. |
22:46 |
VanessaE |
um.. |
22:46 |
|
jojoa1997 joined #minetest-dev |
22:47 |
VanessaE |
oh that experimental mapgen nore is working on. it forces the mapgen to singlenode |
22:47 |
VanessaE |
and it's just a plain mod afair, not a "game". |
22:47 |
celeron55 |
well, a game is mostly just a collection of mods so... same thing |
22:47 |
troller |
server must send to client weather flag and clouds params |
22:47 |
sapier1 |
true a game can't call a lua api |
22:47 |
VanessaE |
right |
22:48 |
sapier1 |
so first or last mod setting mapgen will win? *g* |
22:48 |
celeron55 |
troller: it should be possible to have clouds without weather |
22:49 |
celeron55 |
troller: but yes, i guess it has to be transferred to the client like that |
22:49 |
troller |
its separate things, |
22:49 |
troller |
but for good clouds need many params |
22:50 |
celeron55 |
maybe it makes sense to hardcode the cloud noise and just transfer the seed and position for now |
22:51 |
celeron55 |
ehm... dunno, really |
22:51 |
troller |
i want weather-defined cloud with colors, etc |
22:51 |
troller |
it was already 2 years ago |
22:52 |
VanessaE |
+1 |
22:52 |
troller |
https://github.com/TeddyDesTodes/minetest/tree/weather |
22:52 |
troller |
http://www.youtube.com/watch?v=7foJg52ZFA0 |
22:54 |
troller |
for config: maybe make layer of lua-defined not saved to .conf params? |
22:54 |
zat |
it is that the video card is very good or it is the first time I see a weather feature actually performant. |
22:55 |
VanessaE |
troller: oh that is BEAUTIFUL |
22:55 |
VanessaE |
what the hell happened? |
22:56 |
troller |
g_settings->get('aa') - first check lua-setted 'aa', and then 'aa' from conf |
22:56 |
celeron55 |
it's a native C++ client-side implementation |
22:56 |
troller |
^ with sending all lua-settes do client |
22:56 |
celeron55 |
troller: WHAT |
22:57 |
|
zat joined #minetest-dev |
22:57 |
celeron55 |
it's possible to do very scary stuff with settings |
22:57 |
celeron55 |
there's no way a server should be able to set any of them on the client |
22:59 |
celeron55 |
or, well, there could be a whitelist, but that sounds hacky |
22:59 |
VanessaE |
well at least some settings make sense. |
23:00 |
troller |
but it better than send various settings by special separate packets |
23:00 |
VanessaE |
cloud height (or existence) |
23:00 |
VanessaE |
fov has been discussed. |
23:00 |
VanessaE |
there are others. |
23:00 |
troller |
fog |
23:00 |
celeron55 |
there should be an another namespace for those that the client handles explicitly without mixing settings |
23:02 |
troller |
but it need something like double gets g_settings->get('aa') || c_settings->get('aa') |
23:02 |
celeron55 |
you need special handling for it anyway for smooth changes and whatever |
23:03 |
celeron55 |
on other words just overlaying the settings is a hack |
23:03 |
troller |
better: c_settings->exists('aa') ? c_settings->get('aa') : g_settings->get('aa') |
23:04 |
troller |
need to go sleep, bye |
23:04 |
celeron55 |
s/on/in/ |
23:05 |
celeron55 |
i really hate trying to collaborate on protocol design |
23:05 |
celeron55 |
the only thing that comes out of it is headache |
23:06 |
VanessaE |
sadly :( |
23:06 |
celeron55 |
i guess i'll go sleep with my headache now at 2 AM -> |
23:07 |
* troller |
03:06 |
23:54 |
|
OWNSyouAll joined #minetest-dev |