Minetest logo

IRC log for #minetest-dev, 2014-01-11

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:17 ShadowNinja iqualfragile: bool?
00:17 iqualfragile ShadowNinja: :D looks like i was a bit too generic: mesecons-like on and off
00:18 iqualfragile so a node can have two states (on and off) and those can be changed without lots of effort
00:18 ShadowNinja Ah.
00:20 iqualfragile its more or less impossible to have 4 treefarms run i paralel on a server
00:32 kahrl joined #minetest-dev
00:49 Miner_48er joined #minetest-dev
01:03 us_0gb joined #minetest-dev
01:54 iqualfragile bug: when trees grow the will not replace flowing water
02:19 salamanderrake joined #minetest-dev
02:43 Miner_48er joined #minetest-dev
03:01 OldCoder joined #minetest-dev
03:10 ImQ009 joined #minetest-dev
04:04 Shadowfire joined #minetest-dev
04:12 cheapie joined #minetest-dev
04:12 cheapie Is there anybody here that is somewhat high up in the Technic project? I have a pull request for you.
04:14 Miner_48er could try #minetest-technic
04:14 cheapie OK.
05:42 nore joined #minetest-dev
05:46 Miner_48er joined #minetest-dev
07:44 sapier joined #minetest-dev
07:53 sapier iqualfragile I understand that this could be very helpfull for mesecons, but imho adding a on/off state to nodes is somehow messing up nodes to entities, nodes are static non changing objects, nothing except their id is stored. We already have one special case "inventories", as far as I know they're not stored within node but separate by position (correct me if I'm wrong). Adding that on/off state will therefore require to break map for
07:59 VanessaE sapier: actually to be fair I've run into numerous places where I wished there indeed were proper "on/off" states
07:59 VanessaE but a lot can change between the "on" and the "off" state of a node to make that more or less impractical
07:59 sapier I don't say they aren't usefull, it's just where to stopp adding entity features to nodes?
07:59 VanessaE stop at the point where nodes can move freely ;)
08:00 VanessaE then it's no longer a node ;)
08:00 sapier that's not very usefull as this would mean each node would be able to run lua scripts on it's own ;-)
08:00 VanessaE ok ok smartass :)
08:00 VanessaE not THAT far then
08:01 mrtux joined #minetest-dev
08:01 VanessaE I could see arguments for node models, on/off states, even damage/health amounts
08:01 VanessaE perhaps other things
08:01 VanessaE but beyond that, no
08:02 sapier right now the difference between nodes and entities is that nodes are merely not distinguishable instances of a base class. While each entity is a unique element
08:02 sapier for on/off state you can just use two different nodes
08:02 VanessaE maybe inside the engine, but remember to a modder, there's a pretty significant difference, in the way they behave and just what you can or can't do with a node vs. an entity
08:03 VanessaE sapier: right, and that's what I do.
08:04 sapier no the effects resulting from that basic difference are far from small
08:04 VanessaE I think what iq wants (and this is what I'd lean toward) is something like minetest.set_node(pos, {name = "foo", state = "off"}) without having to explicitly call for the on or off node by name.
08:04 VanessaE "a pretty significant" = "a large"
08:04 sapier I didn't intend to tell entities and nodes are anything comparable ;-)
08:04 VanessaE I was agreeing with you, the differences are large.
08:05 VanessaE however,
08:05 VanessaE there'd be no real gain
08:06 VanessaE one could just as easily set_node(pos, {name = "foo_"..state})
08:06 VanessaE so I don't see what he's getting at that we can't already do
08:06 sapier I don't see the actuall use of this function, either we change map format making each node unique by adding the on/off flag to map. Or we store that information separatly ... resulting in douling map size in worst case
08:07 werwerwer joined #minetest-dev
08:07 sapier ok :) reading prior completing sentence would be good :-)
08:08 VanessaE that would help :)
08:08 VanessaE reading comprehension FAIL :)
08:10 VanessaE now, on topic:
08:10 VanessaE I'm getting some reports of users having trouble connecting.
08:10 VanessaE or more to the point,
08:10 VanessaE they connect, get media, can chat,
08:10 VanessaE but the map sometimes doesn't load.
08:10 VanessaE I tell them to re-connect, it loads.
08:10 VanessaE these are all folks who use 0.4.9-release or earlier
08:10 VanessaE so probably the same issues we've discussed before.
08:11 VanessaE (it's never a problem for me since I'm at git HEAD)
08:12 sapier Yes according to description this seems to be same issue
08:14 VanessaE sounds like it might be a good idea to push another release right away
08:14 VanessaE if that possible.
08:14 VanessaE that's*
08:14 VanessaE maybe just call it 0.4.9.1 or something
08:15 sapier a release would mean we think it's stable but I'm not convinced about this by now
08:15 VanessaE fair enough
08:20 sapier interesting about 10% of prollers freeminer changes are about tuning connection parameters to fit his current network state
08:24 sapier but could be less as some are at least twice in history
08:41 sapier on the other hand the profiler and arm fixes seem to be quite interesting
08:49 celeron55 sapier: it's already possible to store any value within a node instance using node metadata
08:49 sapier it is? hmm so we wouldn't even have to add anything?
08:49 celeron55 if it's too slow or otherwise unusable for mesecons, then there might be a reason for optimizing it
08:49 sapier ok
08:49 celeron55 or adding something
08:50 sapier I guess metadata are stored separate from node itself?
08:50 celeron55 actually, i think the problem is that you can't make the node look different by using the metadata
08:51 celeron55 there has been talk about that, and making that generically possible leads to a much more heavy system than just replacing the node for different states
08:51 sapier because it'd require engine to check for metadata on each draw
08:51 sapier ?
08:51 celeron55 sapier: yes, there is a container for metadata in each block
08:51 sapier sounds almost like entities ;-)
08:53 sapier VanessaE do we have still entity duplication issues?
08:55 VanessaE I'm not sure
08:55 VanessaE I removed most of the mobs from my servers.
08:55 sapier would be interesting as we could increase the limit if we don't have them anymore
08:55 VanessaE they caused too much lag due to too much network bandwidth usage
08:55 jin_xi joined #minetest-dev
08:55 VanessaE (simple mobs spams 30 kB/sec per user)
08:56 sapier is this same for mobf?
08:58 VanessaE I'm not sure, I removed that one before anyone had a chance to report the usage
08:59 VanessaE consider that 30 kB/sec to be non-authoritative for now, but it seems believable
08:59 sapier true, I remember seeing a lot of object updates in wireshark on doing protocol fixes too. I'm not sure if all of them are required but I didn't investigate
09:04 celeron55 it would seem there shouldn't be so much consumption as mobs usually stand still
09:04 VanessaE nope.avi
09:04 celeron55 or i guess that depends on the mo
09:04 celeron55 +b
09:04 VanessaE simple mobs are constantly walking around
09:04 VanessaE in fact they almost never stand still
09:05 celeron55 what kind of object counts were you seeing? it's visible in the profiler
09:05 VanessaE you'd have to ask cheapie on that one
09:06 VanessaE though I doubt he looked
09:06 VanessaE however,
09:06 sapier but even if they're moving as far as I know simplemobs sets speed and doesn't update position
09:06 celeron55 anyway, entity-specific bandwidth measurement wouldn't be hard to add, as each entity knows on the C++ side what it's registered name is
09:06 sapier I can only tell for mobf celeron but there it's usualy around 50
09:06 VanessaE I usually saw numbers in the sub-100 range after a clearobjects, once I'd restored all the signs and such and had given the mobs time to respawn.
09:06 celeron55 its*
09:07 VanessaE (in the survival server that is.  recall signs, item_frames, pedestals, and pipeworks all use entities)
09:07 VanessaE for me, 30 kB/sec is a drop in the bucket.  that's less than 1% of my peak bandwidth
09:08 VanessaE I wouldn't even notice it in practice
09:08 VanessaE but I guess for others, it's quite a bit more.  One player on my server can barely sustain half that rate as his full speed
09:09 * VanessaE looks...
09:09 VanessaE number of objects around the spawn, 115.
09:10 VanessaE sounds about right given what's here.
09:12 sapier let's see what's beeing sent, in theory a mob will add as much bandwith as another player (at least in worst case)
09:14 nore any thoughts on #1094?
09:14 ShadowBot https://github.com/minetest/minetest/issues/1094 -- Add forceloading by Novatux
09:16 sapier while this feature is quite good for mesecons it's abuse potential is huge
09:16 nore there is a limit for each mod
09:16 VanessaE I'd say from the engine and client's perspectives, the duplication issues are long since fixed.
09:17 nore I could perhaps even change something so you change change the limit per-mod
09:17 nore VanessaE, btw: it does not affect objects this time
09:17 sapier there's always a way to go around a limit
09:17 VanessaE nore: different question, see above.
09:18 kahrl nore: minetest.get_current_modname() <- this doesn't work if you call it from a callback
09:18 kahrl say, within a register_globalstep handler
09:18 nore ... ah, I hadn't thought about the handler being called after the begining
09:19 nore is there a way to delete the method when all mods have started?
09:19 sapier I suggest adding a config setting to disable this on default, this way server owner would have to think about if she/he really wants to take the risk
09:19 kahrl perhaps just return immediately if get_current_modname returns nil
09:19 kahrl or error9)
09:19 kahrl error()*
09:20 sapier isn't there already a way to make a entity do forceloading?
09:20 nore sapier, no, it was never merged
09:21 sapier oh ok even better :-)
09:21 VanessaE I don't think I'd want that, honestly.   *imagines an entity going apeshit and flying off into outer space, force-loading ~ 3x3x32000 of the map on the way*
09:22 Calinou joined #minetest-dev
09:22 sapier I don't want it too VanessaE I just thought it was added
09:22 nore sapier, easy: block limit for all mods = 0
09:23 sapier no won't work
09:23 nore why?
09:23 sapier if it's a setting a mod can change it on the fly
09:23 nore where could it be configured then
09:23 nore ?
09:24 sapier hmm I guess that'd be a basic issue
09:24 sapier we don't have protected settings right now
09:24 sapier maybe it's time to add this feature
09:27 sapier right now the only safe option would be make it a compiler option ... but thats nonsense
09:27 celeron55 actually it's possible to do force-loading already
09:27 celeron55 via voxel manipulators 8)
09:28 celeron55 it's as hacky as it can get, but it works
09:28 sapier guess there were only a view people realizing that side effect ;-)
09:30 nore sapier, celeron55: about the settings:
09:30 celeron55 so trusting mods to not change the setting is okay, because they could load it anyway if they wanted
09:31 nore one possibility would be to read them at loading time, and to write them at shutdown
09:31 nore and about the vm forceloading: it does not run ABMs
09:31 celeron55 server never writes settings to the file
09:31 sapier it does
09:31 celeron55 has it been changed?
09:31 sapier yes
09:31 celeron55 for like two years it was that way
09:32 sapier yes but what would settings functions be good for if they don't save anything?
09:32 celeron55 for the client and for temporary settings
09:32 nore but anyway, I guess trusting the mods would be the best
09:32 celeron55 you know, you want server's configuration to be quite stable
09:32 sapier "temporary settings"? as far as I know that's callled variable ;-)
09:33 celeron55 sapier: the engine doesn't expose variables, it exposes settings
09:33 celeron55 anyway this is useless
09:33 sapier true both variants are insufficient
09:33 celeron55 it would be easy to add settings that cannot be changed by mods though
09:33 sapier storing as well as not storing cause issues for different usecases
09:34 sapier yes I already had that feature in one of the secuity pulls
09:34 sapier I implemented it by making settings prefixed securtity_ to be read only
09:34 celeron55 you should start grabbing those into the engine one-by-one 8)
09:35 celeron55 i think that's a bad idea
09:35 celeron55 because an unmodifiable setting isn't necessarily anything related to security; security is just a meta-property of it
09:35 sapier it's been a quick solution if you have a better idea I'm open for suggestions
09:35 celeron55 of course i have
09:37 celeron55 in defaultsettings.cpp, something like settings->setModWritable("server_announce", false);
09:37 celeron55 then just implement it 8)
09:38 sapier but it's hardcoding a write protection for specific settings?
09:38 nore but apart from those security concerns (I fixed some of them), are you ok with the pull?
09:38 celeron55 do we need anything else?
09:38 PilzAdam joined #minetest-dev
09:38 sapier if you want to add security to builtin a generic aproach would be better
09:39 sapier you wouldn't have to fight for any single setting if it's protected or not
09:39 celeron55 well then expose that function to lua, and make it so that it can't be changed from false to true by lua
09:39 sapier ok you'd have to fight less
09:40 sapier I don't see a way to do this without storing some information, either in code defaultsettings/lua file or in settings itself
09:40 sapier I don't like mixing up a flag (protected/not) with control code
09:41 sapier I suggest setting max_forceloaded_blocks default to 0
09:43 sapier to show up use of this feature is discouraged if you see any other way to do it
09:43 nore 0 is a bit low... there are several mods who could need it
09:43 sapier it's not about "could need it" it's about do they really not have any other way
09:44 sapier most time this will be a lazy solution for problems that can be solved in a better way too
09:44 nore well... you may be right
09:44 nore done
09:45 sapier e.g. of course I could make a mob force load everything, I wouldn't have to care about storing restoring relevant data ;-) but in this special case it's obvious to be an abuse of that feature
09:45 VanessaE if it moves, it should not be able to force-load.
09:46 sapier it's been a hypothetical example ;-)
09:46 nore VanessaE, it could, but it would require cleverly forceloading blocks to never leave loaded ones
09:47 VanessaE nore: which requires cooperation from the modder.....
09:47 VanessaE better to assume the modder will do it wrong :)
09:47 nore well, anyway, it is set to default to 0 now
09:48 sapier modders always use any possible hack to achiev what they want ... believe me I did this multiple times too
09:48 sapier yes
09:48 VanessaE sapier: indeed so.
09:49 VanessaE I haven't looked at the code yet; how does the server know to start a load sequence?  I mean say you spawn at one end of a large mesecons circuit.  How does the server go about finding all of the circuit?
09:49 VanessaE would you make every mesecons node attach to the force-load calls?
09:50 nore VanessaE, no... (though mesecons could cheat and use VM)
09:51 sapier local function blockpos_from_hash(hash) you could make this function generally available
09:51 sapier hash_blockpos a function like this already exists as far as I know
09:51 VanessaE oh I see what you're getting at
09:52 VanessaE store the circuit and re-load the mapblocks it needs it at start-up?
09:52 sapier you should explicitly return nil in get_forceload_handler
09:53 sapier nil and 0 aren't same in lua
09:53 nore sapier: indeed, I hadn't seen it
09:54 sapier wait some time prior fixing it I'll tell you once I reached end
09:54 kahrl could safeWriteToFile be used instead of write_file?
09:56 nore kahrl, what does it do? is it exposed to Lua?
09:57 kahrl it's not exposed to lua but it probably should be
09:58 kahrl it writes to a temporary file and uses atomic rename() to overwrite the target file
09:58 kahrl well, atomic on modern platforms
10:00 sapier I don't understand what the handler is good for
10:00 nore sapier, it allows to be per-mod
10:01 nore i.e.: mod X has already loaded all it was allowed to, but mod Y still has right to load blocks
10:01 sapier hmm ok so the limit is actually mods*limit true?
10:02 nore yep
10:02 sapier feels a little bit overcomplicated but I don't know a better way right now
10:03 nore the problem is that you can't know which mod calls after loading step
10:03 kahrl actually, a mod could intercept minetest.get_current_modname and get an infinite amount of handlers that way
10:03 sapier you're taöling about replacing it prior calling and restoring it afterwards
10:04 kahrl indeed
10:04 kahrl alternatively, just make a modpack with tons of individual mods, each with its handler
10:04 sapier possible ... but it's not the only security issue in there
10:04 sapier "in there" not meaning this patch but minetest
10:05 sapier a absolute limit would be more predictable for server owners
10:05 nore there are security issues everywhere... I guess it would be possible for a mod to replace the minetest executable with another one, and to get everything it wants that way
10:06 nore sapier: perhaps print the mods that asked an handler at the end of the loading step?
10:07 sapier others doing wrong doesn't justify doing even worse ;-) ... this way server owner could at least see it if interested
10:07 celeron55 nore: on a global install on linux replacing an executable isn't possible 8)
10:07 celeron55 on everything else it probably is
10:07 sapier crosschecking modname against modlist would be another option to prevent this
10:07 nore you're right... I use a run in place version, so it is possible for me
10:08 nore sapier, can't we just trust mods a bit? they can also do minetest.setting_set("max_forceloaded_blocks", 100000)
10:09 sapier actually we have a big fat warning about mods on our website ;-)
10:10 sapier why should we consider any 3rd party code trustworthy ;-) we can only throw that hat on server owner ... giving him responsibility to check mods prior using them... but who does?
10:10 nore sapier, btw: and if the mod changes the modlist too?
10:10 celeron55 sapier: where is the big fat warning? i can't find any
10:11 sapier is it gone?
10:11 celeron55 doesn't seem big and fat enough
10:12 sapier hmm you're right ... but I remember there was one in a earlier web page version
10:13 sapier nore your arguments speak more for adding a hard total limit instead of using a per mod limit
10:14 celeron55 why try to do anything per-mod? the lua environment is shared and any such attempts are probably useless
10:14 celeron55 at least with a global limit you actually manage to limit something
10:14 nore so, everything globally?
10:14 sapier great I don't see anything warning users about mod code beeing potentially harmfull
10:15 sapier sorry nore but I guess the per mod limiting doesn't actually work
10:15 celeron55 probably this should have it, because it is pointed to as an official guide http://dev.minetest.net/Installing_Mods
10:16 nore ok, I will do that... makes the code much easier now
10:16 celeron55 there is an almost identical guide here though http://wiki.minetest.net/Installing_Mods
10:17 sapier ok I add a warning to top of those pages
10:18 rsiska joined #minetest-dev
10:18 sapier "Prior installing any mod make sure you either have it from someone you trust, or check it to not contain mallicious code!" what about this?
10:18 celeron55 this is firefox's wording on it http://i.imgur.com/zvOopsD.png
10:18 celeron55 maybe use something similar
10:20 celeron55 sapier: i think my link has better wording
10:20 VanessaE s/have/received/; s/it to not/that it does not;  s/mallicious/malicious/
10:20 sapier Prior installing any mod make sure you either have it from someone you trust. Mallicious mods can damage your computer, violate your privacy or even make your computer take part of criminal activities!
10:21 celeron55 sapier: don't make it so long; make it short and clear
10:21 celeron55 they can go read about malware on wikipedia if they want
10:21 sapier Prior installing any mod make sure you either received it from someone you trust. Mallicious mods can damage your computer, violate your privacy or infringe you to criminal activities!
10:22 VanessaE "Prior to installing any mod, please make sure that you have received it from someone you trust.  Malicious code can damage your computer, violate your privacy, cause your computer to take part in criminal activities, start the next world war, or cause the death of innocent kittens."
10:22 sapier two words smaller?
10:22 kahrl PilzAdam, sapier: https://github.com/minetest/minetest/pull/1095
10:22 VanessaE celeron55: they won't read.
10:22 sapier death of innocent kittens? maybe that's not a warning but advertisement for some ppl ;-)
10:22 VanessaE and sapier, your grammar sucks. :)
10:23 sapier :-)
10:23 celeron55 just use that VanessaE's one; at least it's valid english
10:23 PilzAdam kahrl, ah, finally
10:24 sapier ... ok but only until "activities"
10:24 VanessaE then, "..., or cause your computer..."
10:25 VanessaE sure, spoil my joke :)
10:28 sapier http://wiki.minetest.net/Installing_Mods http://dev.minetest.net/Installing_Mods
10:28 nore sapier, changes done
10:28 nore could you look at it again?
10:30 sapier seems to be ok ShadowNinja what do you think about it?
10:30 sapier talking about #1094 right now
10:30 ShadowBot https://github.com/minetest/minetest/issues/1094 -- Add forceloading by Novatux
10:32 sapier #1095 seems to be a good change too
10:32 ShadowBot https://github.com/minetest/minetest/issues/1095 -- Compare values instead of pointers in Inventory::operator== by kahrl
10:33 nore sapier, wait a bit before merging: I need to finish testing
10:33 sapier I can't merge it nore it's definitivly scriptapi which is ShadowNinja's domain
10:35 sapier well I can merge it but only after he agreed to it
10:40 nore anyway: I just made a test mod for it
10:41 nore there: https://gist.github.com/Novatux/8369336
10:47 BlockMen joined #minetest-dev
10:47 celeron55 sapier: you do have the option to follow the two-devs-agree rule if you think ShadowNinja probably agrees, but it's probably better to ask anyway
10:48 sapier oh that's still an option to go? didn't know about it
10:48 celeron55 there has been no reason to remove it 8)
10:49 sapier ok :-) good to know
10:50 BlockMen why crashes mt at main.cpp L1006 [run_tests()] (when debugging with msvc)?
10:51 BlockMen error-msg "Unbehandelte Ausnahme bei 0x75dbc41f in minetest.exe: Microsoft C++-Ausnahme: SendFailedException an Speicherposition 0x00e12b68..
10:51 BlockMen minetest.exe hat einen Haltepunkt ausgelöst."
10:51 sapier guess one of the unit tests is wrong again
10:52 sapier some of them are quite timing sensitive
10:52 PilzAdam BlockMen, run it with --disable-untitests
10:54 BlockMen PilzAdam, not sure how to do that in msvc
10:56 BlockMen but got at least that http://pastebin.com/pcr5JCF2
10:57 sapier yes that's one of those tests
10:57 sapier find the command line options in configuration and add "--disable-uinttests"
10:58 Evolykane joined #minetest-dev
10:58 BlockMen i just commented out now :P (l1006)
10:59 sapier :-) works too of cours
10:59 sapier e
11:00 BlockMen debug under msvc is even more pain than releasing =\
11:04 nore any thoughts on that? https://github.com/Novatux/minetest/commit/32505249a11027b9f2593c07548ff2004f1ad3c7
11:05 nore sapier, who's in charge of builtin?
11:06 * VanessaE hides
11:06 nore ?
11:06 sapier Shadowninja is for scriptapi
11:06 VanessaE (I seem to have been one of the most recent contributors to that)
11:06 nore so, that includes builtin, right?
11:06 sapier while I support the mainmenu subpart
11:06 sapier yes
11:06 nore anyway, can you tell me your comments about that commit?
11:08 nore https://github.com/Novatux/minetest/commit/3160c63a687179cd86b19643ae66d06733475ae4 <-- forgot the doc
11:09 sapier copy instead of reference seems fine, I don't actually see a use for the additional parameter as it can be calculated from pos with little effort
11:10 nore no, it can't... you don't have pointed_thing.above
11:11 nore which is the whole problem (for example, if you want the on_rightclick to sometimes do as if the node had not an on_rightclick function)
11:11 sapier it's a position isn't  it?
11:12 nore above is a position, indeed
11:12 nore pointed_thing = {type = "node", under = <pos>, above = <pos>}
11:13 sapier sorry I have to leave now I'll have a closer look at it later (if still relevant)
11:39 nore the utf-8 characters in formspecs have been fixed????
11:45 sapier ok back what about utf-6?
11:45 sapier +2
11:45 nore I'm just asking, since I saw some of them work... but gtg, brb
12:26 Ritchie joined #minetest-dev
12:33 EvergreenTree joined #minetest-dev
12:33 EvergreenTree joined #minetest-dev
12:38 ImQ009 joined #minetest-dev
12:39 nore sapier, so, can I merge that commit? https://github.com/Novatux/minetest/commit/3160c63a687179cd86b19643ae66d06733475ae4
12:43 sapier I'm not sure about it I still believe it's redundant information passing
12:44 sapier the only additional information is the pointed_thing.type
12:49 nore sapier, no, the additional information is pointed_thing.above
12:49 nore (pointed_thing.type will always be "node")
12:50 sapier but isn't above always under y+1
12:50 VanessaE nope.
12:50 sapier no?
12:50 VanessaE above is whatever's between you and under
12:51 VanessaE it might be under.x+1
12:51 VanessaE or under.z-1/under.x-1
12:51 VanessaE it's line of sight
12:51 sapier oh ... ok in this case it does make way more sense
12:51 sapier -make +give?
12:52 nore so, can I merge it then?
12:52 sapier if shadow agrees ;-)
12:52 VanessaE that's how I detect wall vs. floor in the rotate and place call.  if the x/z pos is not equal between the two, then I'm pointing at a wall, because LoS has me looking through one node (the space in front of the wall) and into a different place (the wall).
12:52 Jordach joined #minetest-dev
12:52 VanessaE if they're equal, then I must be looking at a floor or ceiling
12:52 sapier also we could decide by two core devs I personally don't want to merge things without asking the responsible maintainer
12:54 sapier at least not for feature addons
13:17 bas080 joined #minetest-dev
13:20 Megaf joined #minetest-dev
13:42 Ritchie joined #minetest-dev
14:09 zat joined #minetest-dev
14:18 Gethiox joined #minetest-dev
14:37 grrk-bzzt joined #minetest-dev
14:53 NakedFury joined #minetest-dev
15:07 iqualfragile joined #minetest-dev
15:13 Yepoleb joined #minetest-dev
15:26 hmmmm joined #minetest-dev
15:49 ShadowNinja nore: That seems fine with s/Copy/Deep-copy/ (It was already shallow-copied) and docs.
15:50 ShadowNinja nore: You should note that pointed_thing can be nil since some mods call it directly.
15:56 ShadowNinja I think that the force-load API would be fine with a global limit, not just per-mod.
15:57 ShadowNinja And mods that abuse it won't get acepted into the MMDB.
16:00 Zeitgeist_ joined #minetest-dev
16:01 VanessaE joined #minetest-dev
16:06 nore ShadowNinja, it has been changed for that
16:08 ShadowNinja nore: I also think it should have a higher default limit, like 16.  That shouldn't be enough for mods to cause too much load, but it will mean that mods won't have to ask users to modify their configuration file.
16:08 nore ShadowNinja, sapier told me it should be 0...
16:08 ShadowNinja mod developers*
16:09 sapier I also said I think ;-) ... and I still think so but it's shadows realm to decide
16:09 ShadowNinja Yes, I saw, but why?  They can't cause too much abuse if it's low by default.
16:10 nore ShadowNinja, I changed the doc for pointed_thing, is it ok?
16:10 sapier It's a door opener, once a ugly hack is implemented instead of a valid solution pressure to server owners will rise to increase it
16:10 ShadowNinja (Or rather they can't without using setting_set and the like, which they can do anyway, and they probably will do when users complain about having to modify their .conf.
16:10 ShadowNinja )
16:10 ShadowNinja nore: Commit?
16:11 nore https://github.com/Novatux/minetest/commit/a910e95b59e98b1d4602530e0379baebe9a3a48e
16:11 sapier whoever uses this feature most likely doesn't care about performance and side effects
16:12 sapier e.g. in a static world making 100 blocks force load will most likely not be an issue ... but try adding mobs to that world
16:12 ShadowNinja nore: Split the on_rightclick call onto two lines, then it seem good.
16:12 ShadowNinja +s
16:12 sapier but as I said it's your decision
16:12 ShadowNinja If a mod causes lag the user will complain andremove it.
16:13 sapier no they always complain about mobs because they are where the lag becomes obvious
16:13 nore ShadowNinja, done
16:14 nore https://github.com/Novatux/minetest/commit/18e9b71382db06a737afbcc719b6bc7e4017395e
16:14 BlockMen should i use #define xyz for different camera view modes (for better readability) or just comment there different values somewhere?
16:14 nore BlockMen, I guess #define is better
16:14 hmmmm https://github.com/minetest/minetest/commit/3bbd280336dffc73ef43b2ac93937f320cb32872
16:15 hmmmm WOWW
16:15 hmmmm seriously
16:15 hmmmm how was that not noticed right away as being a critical bug
16:15 ShadowNinja BlockMen: It sounds like that's something for an enum.
16:16 sapier no idea ... the stange thing is this was added as fix for win32 but I don't have any idea how it could solve that issue in wind32
16:16 xyz nore: what's the use for force loading some blocks?
16:16 nore xyz: keeping machines loaded, etc.
16:16 xyz machines?
16:16 ShadowNinja nore: Two tabs, and still s/Copy/Deep-copy/.
16:17 nore technic machines, furnaces, ...
16:17 xyz hmmm... but if you talk about furnaces
16:17 xyz those can be built by any player
16:17 BlockMen ShadowNinja, even better
16:18 xyz so limiting seems strange
16:18 nore xyz, no, I mean for example a block that will forceload an area
16:18 sapier furnaces are not a reason to forceload a block, if someone uses this she/he's just to lazy to do a propper implementation
16:18 nore but with a priv to place it, etc
16:18 nore sapier, I wrote code for furnaces to do that, but it was never merged
16:19 xyz yeah, so I want to have some real reason
16:19 xyz but I guess it won't hurt to have this feature
16:19 sapier I don't know what happened to that code but I know chaose of minetest development so I believe you
16:19 nore however, technic machines or huge mesecons contraptions will need it
16:19 BlockMen where would be the best place to put in the enum?
16:19 xyz just a thought: you shouldn't limit it at all
16:20 nore xyz: btw, there is already force_loading in FM, but it is far much hacky
16:20 xyz for entities
16:20 nore (and it is for entities, etc)
16:20 xyz different use case
16:20 nore well, you can do both with any of them
16:20 xyz you're talking about hacky things now D:
16:20 sapier I don't think we will ad two versions to do so
16:20 nore and if you don't want limit, set it to 100000
16:21 xyz abusing entities to just get some area loaded is no good
16:21 xyz nore: I don't want limit by default
16:21 Megaf sapier, ! Hi tehre
16:21 Megaf sapier, did you fix connection.cpp?
16:21 sapier the whole forceload mechanism is a hack which shouldn't be used ;-)
16:21 xyz how comes
16:21 Megaf in your UDP thing
16:21 ShadowNinja BlockMen: What do you mean?  The enum should probably be in a related .h.
16:22 sapier what exactly are you speaking about Megaf?
16:22 xyz sapier: it's quite useful
16:22 Megaf also, if someone could fix this please > https://github.com/minetest/minetest_game/issues/236
16:22 nore ShadowNinja, better now? https://github.com/Novatux/minetest/commit/6aded07d92fe3a7c9d84e374b00864ef54137ed1
16:22 Megaf sapier, I have no idea, VanessaE knows better, let me see if I can find a pastebin I did
16:22 sapier xyz the only legit reason to forceload anything I have read sofar are big mesecon/technic machine
16:22 xyz for example, for carts that can carry items
16:22 Megaf sapier, there you go http://paste.debian.net/74363
16:22 xyz you have a deep mine
16:22 nore xyz, so, you don't want limit by default, sapier wants to set the limit to 0 by default, what should I do?
16:23 xyz and you send a cart with mined stuff
16:23 xyz to the top
16:23 ShadowNinja nore: Well, yes, but I meant the commit message.  But you can tweak that locally.
16:23 xyz and without forceloading it gets stuck somewhere
16:23 sapier 5-01 guess that's long done
16:23 nore ShadowNinja, so, is it ok now?
16:23 nore xyz: the cart can use this version of forceloading too
16:24 BlockMen ShadowNinja, because i need in game.cpp, content_cao, camera.cpp, clientmap.cpp, ...
16:24 xyz nore: indeed
16:24 sapier xyz ok this is a valid usecase true but is it really worth the abuse potential?
16:24 Megaf sapier, I think I'm talking about this branch https://github.com/sapier/minetest/tree/udp_implementation_fixes
16:24 BlockMen should i put it in game.h then and include missing game.h in camera.cpp for example
16:24 xyz but I feel that for this case entities' force loading is better
16:24 xyz sapier: "abuse potential"
16:24 Megaf sapier, or this one https://github.com/sapier/minetest/tree/network_fixes_udp_1
16:24 sapier Megaf the corrected fixes are already merged to master ;-)
16:24 xyz please stop
16:24 xyz it's like you want to argue while having no better argument
16:25 xyz so you just make things up
16:25 nore xyz, then we would need to merge it in minetest too perhaps
16:25 sapier whole design of minetest is based uppon having as less as possible active
16:25 nore I don't know the thoughts of other devs
16:25 ShadowNinja nore: Yes.
16:25 xyz nore: dunno
16:25 xyz sapier: fine
16:25 xyz sapier: then don't merge stuff like that
16:26 sapier I don't say this isn't usefull at all but everyone using or allowing it's usage should be aware of the possible performance issues
16:26 xyz for that we need docs
16:26 xyz we don't have docs
16:26 xyz a problem right here
16:27 xyz what we have now are 1) a giant .txt file which basically says "fuck you" and 2) an outdated wiki
16:27 sapier and if used it should be used as last option not because "it's so much easier if my block isn't unloaded"
16:28 xyz not adding something just because someone could misuse it feels too wrong to be considered as a valid argument
16:28 Megaf Thanks sapier, your udp thing branch is fantastic
16:29 xyz "hello, no, you can't have this because we don't want people to use it wrong way"
16:29 sapier best way would be add it with proper methods to prevent abuse
16:29 xyz you are absolutely right
16:29 sapier but imho not adding is slightly better then adding without abuse prevention (not much better of course)
16:30 xyz now, I define "proper methods" as having a nice explanation of what to use this for and what consequences this will have
16:30 ShadowNinja nore: Make sure to update the dev wiki too.
16:30 sapier and I don't agree to that definition ;-P
16:30 xyz some people, for some strange reason I can't really understand, define "proper methods" as having a ridiculous limit which is so stupid every mod will ask you to change it
16:31 sapier imho server owner should be able to prevent this abuse without having to rely on someone else doing right
16:31 xyz that's fine too, different people, different opinions
16:31 sapier e.g. for nores fixes server owner can make settings read only and set a limit
16:32 Calinou joined #minetest-dev
16:32 nore ShadowNinja, for forceload, I changed the default limit to 16. Would it be ok?
16:32 ShadowNinja nore: Yes.
16:36 sapier xyz limit of 0 was actually meant as disable that feature by default to make sure any server owner has to actively enable it (hopfully reading what she/he's doing)
16:37 nore so, is forceloading ok for merging, or not?
16:37 Ritchie joined #minetest-dev
16:37 xyz sapier: this is very user-unfriendly
16:39 nore ShadowNinja, sapier, xyz: ^
16:40 ShadowNinja nore: Yes.  sapier: I want to avoid that, there isn't any big risk with enabling it.
16:41 xyz nore: no
16:46 xyz first, it doesn't even match what docs say
16:47 xyz second, it's quite strange that it force loads a block based on node position
16:47 xyz you can of course ignore the second remark but the first one is a no-no
16:48 nore what do you mean, it doesn't match docs?
16:50 kaeza joined #minetest-dev
16:50 sapier ShadowNinja: I'll tell you once there's a server with 1k active mobs due to 100 foceloaded blocks ;-) and a single player
16:50 ShadowNinja sapier: The limit I suggested was 16.
16:51 sapier as I said the 0 was only to force server owners to actively enable it... I guess 16 will in practice be same as 0
16:51 xyz nore: well, it doesn't even return anything
16:51 sapier difference is only psychological
16:52 sapier you more likely think about something when you have to enable it as if you "just" increase
16:53 nore I have forgotten a "return" indeed: can I still rewrite history, or is it too late?
16:54 nore ok, I rewrote history (commit is less than 10 mins old)
16:54 xyz no, you
16:55 xyz oh well fuck
16:55 nore well, that was what was written in the dev wiki...
16:55 xyz yes
16:56 xyz proposition: add a rule to never rewrite history in master unless you've done something ridiculous (committed your private key or deleted the whole repo or added a 10 gb file)
17:00 proller network_fixes_udp_1 must be reverted yesterday
17:00 sapier did you merge a prototype?
17:01 sapier or what's your problem with it proller?
17:02 proller unproofed hate
17:02 proller need something else?
17:02 sapier A little bit more might be helpfull, e.g. undoubtable prove of basic errors ;-)
17:05 sapier of course those errors have to be non fixable too ;-)
17:05 * VanessaE wonders too...
17:06 VanessaE I wrung that code out on my servers left, right, sideways, and diagonal....and 6d facedir too.... and it works fine for the most part.
17:13 ImQ009 joined #minetest-dev
17:23 ImQ009_ joined #minetest-dev
17:32 rubenwardy joined #minetest-dev
17:38 ShadowNinja No, hate is not a valid reason.  ;-)
17:40 ShadowNinja nore: Close your pull.
17:41 nore Sorry, I always forget that
17:44 ShadowNinja kahrl: Why do you use !(==) instead of != in https://github.com/minetest/minetest/pull/1095 ?  (If it isn't implemented then maybe it should)
17:59 ShadowNinja sapier: 9edb91da5754cf194637d1d7faa513719b61f9b4 is the first bad commit <-- This somehow broke the HUD entry that my areas mod adds.  (Fixed minetest reliable udp implementation)
18:02 sapier how can transmission break hud?
18:02 sapier what's going on with hud?
18:03 VanessaE it just doesn't appear.
18:03 VanessaE the "Area owner:" display that should appear in the lower left just isn't there after that ^^^^^ commit.
18:03 sapier is it sent reliable?
18:05 ShadowNinja sapier: Looks like you incremented the second argument to Send.
18:05 sapier hmm guess I know what's happening
18:05 ShadowNinja That's all I see related to HUD.
18:06 sapier for some strange reason the hudremove message is sent on channel 1 ... which has lower prio than the other channels
18:07 ShadowNinja My mod doesn't use remove, it only uses add and update.
18:07 sapier actually it's other way round add and remove are sent at 1 while change setflags and setparam are sent at 0
18:08 sapier maybe the change is received prior add
18:08 sapier guess all of them should be on same channel
18:09 ShadowNinja My mod only sends change is it's actually changed.  Which is when you move in or out of a protection zone.
18:10 sapier https://gist.github.com/sapier/8374497 could you try this one?
18:10 sapier second argument is channel
18:11 sapier channels have been there before they just didn't work at all and noone used them
18:15 ShadowNinja error: patch failed: src/server.cpp:3772
18:15 sapier what?
18:16 sapier I just rebased my view to master?
18:16 ImQ009 joined #minetest-dev
18:17 sapier are you at master ShadowNinja
18:17 sapier ?
18:17 sapier +latest
18:18 ShadowNinja git describe --> 0.4.9-25-g84b94eb
18:18 sapier I've got exactly same version
18:20 ShadowNinja Applied manually.
18:21 sapier hmm seems like gitdiff doesn't give valid patch files ... or I did copy something wrong
18:22 ShadowNinja git diff --patch?  But I think that's the defaut.
18:22 ShadowNinja Still no HUD.
18:23 sapier hmm how can I reproduce it?
18:24 ShadowNinja git clone git@github.com:ShadowNinja/areas.git
18:25 ShadowNinja Normaly it shows "Area owners: " at the bottom left.
18:27 sapier I have a look yet I don't have any idea how this could be related to network if those channel changes aren't reason
18:35 kahrl ShadowNinja: yeah, operator!= isn't implemented
18:35 kahrl I didn't want to change more than was needed
18:39 ShadowNinja kahrl: Well, merge it.  And maybe add a !=, in a seperate commit if you prefer.
18:44 kahrl why isn't operator== a const method?
18:44 kahrl well, I'll change that too
18:44 ShadowNinja I'll push get/set_lists.
18:45 kahrl I'm about to push the operator==/!= fix
18:46 ShadowNinja OK, I'll wait.
18:49 kahrl done
18:49 kahrl (took a bit longer, had to build it again)
18:51 ShadowNinja I also renamed get_json_value to read_json_value.  And I should add a recursion limit...
19:00 BlockMen left #minetest-dev
19:02 EvergreenTree joined #minetest-dev
19:02 EvergreenTree joined #minetest-dev
19:06 iqualfragile joined #minetest-dev
19:15 ShadowNinja kahrl: Why hasn't formspec_table been merged yet?
19:17 kahrl I don't know
19:34 OldCoder joined #minetest-dev
19:41 sapier ShadowNinja: seems like scriptapi is transmitting your hud prior connection is completely initialized
19:42 Weedy_lappy joined #minetest-dev
19:42 Weedy_lappy joined #minetest-dev
19:42 sapier seems like detached inventorys can be sent prior initialization beeing complete too
20:15 Calinou joined #minetest-dev
20:44 sapier1 joined #minetest-dev
20:53 xiong joined #minetest-dev
20:59 proller joined #minetest-dev
21:27 EvergreenTree joined #minetest-dev
21:28 EvergreenTree joined #minetest-dev
21:37 Gethiox2 joined #minetest-dev
21:54 Megaf sapier1, http://paste.debian.net/75676/
21:54 Megaf Just got this crash
21:56 sapier1 what version do you use?
21:57 Megaf latest from git
21:57 Megaf and your udp branch with fixes
21:57 sapier1 AND?
21:57 Megaf I'm not sure if this one https://github.com/sapier/minetest/tree/network_fixes_udp_1 or this one https://github.com/sapier/minetest/tree/udp_implementation_fixes
21:58 Megaf VanessaE, ping
21:58 Megaf https://github.com/sapier/minetest/tree/udp_implementation_fixes
21:58 sapier just take latest git my fixes are already included
21:58 Megaf this branch I'm using
21:58 sapier that one has some bugs left
21:58 sapier try latest git
21:59 proller yet another 1000 random lines and 3 threads added &
21:59 proller ?
21:59 sapier what are you talking about?
22:02 proller about next "fixes"
22:02 sapier there are none by now
22:03 sapier whatever megaf found was in a old version
22:12 Sokomine regarding find_node_near: how efficient is it to call it with a relatively long list of possible node names (about 20)? my mob needs to find something to sit on - and that comes in several mods and in several colors
22:12 sapier the list is less problem then the range
22:13 Sokomine they don't have to search too often. that at least can be limited :-)
22:14 sapier if you do consume 1 time 5s it's worse then 20 times 200ms
22:14 sapier ok 50 times 200ms
22:38 Zeitgeist_ joined #minetest-dev
22:55 salamanderrake joined #minetest-dev
23:05 rsiska joined #minetest-dev

| Channels | #minetest-dev index | Today | | Google Search | Plaintext