Time Nick Message 00:05 TBC_x you guys really argue on using i++ vs ++i? 00:08 TBC_x afaik i++ and ++i don't change meaning when used standalone 00:10 TBC_x the '++' stands for when the variable gets changed 00:13 hmmmm it makes a difference when i is a nonprimitive type 00:14 TBC_x the following will evaluate to true: i = 0; bool result = (i++ == 0 && ++i == 2) 00:28 TBC_x hmm... I see 02:54 paramat hi hmmmm you've been quiet recently, i'll prepare this for merge later #3118 also this issue surfaced game#652 i will sort this out soon 02:54 ShadowBot https://github.com/minetest/minetest_game/issues/652 -- Schematic tree trunks destroy existing nodes 02:54 ShadowBot https://github.com/minetest/minetest/issues/3118 -- Dungeongen: Remove floating stone rings by paramat 03:32 hmmmm ahh you found the problem 03:32 hmmmm nice 03:32 hmmmm if #3118 works as it's supposed to, then looks good to me 03:32 ShadowBot https://github.com/minetest/minetest/issues/3118 -- Dungeongen: Remove floating stone rings by paramat 03:34 paramat okay just need to test again 03:36 hmmmm been fighting a couple fires at work lately 03:36 hmmmm honestly i could be doing minetest right now since it's the weekend but i'm kind of on a roll with work stuff 03:36 paramat aha 05:25 paramat now merging #3118 05:25 ShadowBot https://github.com/minetest/minetest/issues/3118 -- Dungeongen: Remove floating stone rings by paramat 05:31 paramat merge complete 16:43 VanessaE hmmmm: ok now I've got those not-enough-memory errors happening in places that make no sense at all: 2015-08-29 18:33:21: ERROR[main]: Lua: OOM error from mod 'carbone_mobs' in callback luaentity_Step(): not enough memory // 2015-08-29 18:33:21: ERROR[main]: Current Lua memory usage: 856 MB 16:46 nrzkt VanessaE: this can happen everywhere, it's because the whole Lua VM take so many memory, not the current call 17:27 VanessaE great. 17:30 VanessaE nrzkt: so what can be done to fix this? 17:30 nrzkt find the consumming mod :s 17:31 T4im no way to get the memory consumption of a lua table either, it seems :/ 17:33 VanessaE nrzkt: that's next to impossible, you know, and with 24 GB of RAM I shouldn't have to worry about some mod that briefly consumes RAM from time to time. 17:35 nrzkt the problem is not the server ram amount but the Lua memory limit 17:46 T4im VanessaE: how well is that one reproduceable? is it like oom on each startup, or eventually after a while randomly? 17:47 VanessaE T4im: it has crashed several times today alone. 17:47 VanessaE and it seems to be within a few mins of startup 17:48 T4im One workaround-ish idea would be to manually pcall() mod executions such, that you get "possibly" output some location info (though that can just as well just throw the next oom error) 17:48 T4im that oom seems generally to be pcall catchable though 17:48 T4im (you might have to cover some stuff in builtin/ too) 17:49 T4im also _G dumping on error might help, if the offending mod references it globally somehow 17:51 T4im then again, that _G dumping probably won't work without acquiring more memory first :/ 18:05 VanessaE all right, this is confusing me.. how exactly do I specify an alternate install location for luajit? 18:06 VanessaE (to compile MT against it I mean) 18:10 VanessaE nevermind, figured it out. 18:11 VanessaE I'm rebuilding this against luajit 2.1.0 just to see how it behaves. 18:38 VanessaE nrzkt: so what about the info described here? http://bayesanalytic.com/access-extra-memory-from-lua-jit/ 18:42 hmmmm T4im, if we have tighter control over the GC behavior then it's theoretically possible to allocate a large enough chunk of memory from the start, say 10 MB, and then on OOM force it to become deallocated (then carry out the _G dump) 18:42 hmmmm I agree on both fronts, it's just as necessary to discover what's using up all the memory as it is to have a higher memory usage limit 18:43 hmmmm VanessaE, the problem with that link is that it requires the ffi extension which is not a part of lua 5.1 18:43 VanessaE it's part of luajit though. 18:43 VanessaE http://luajit.org/ext_ffi.html 18:43 hmmmm am aware. 18:43 VanessaE ok. 18:43 hmmmm if you want to break compatibility like that, it's your own call.. 18:44 VanessaE eh, no. :) 18:44 hmmmm not to mention that's manual memory management 18:44 hmmmm I doubt it would integrate well with minetest's existing setup 18:44 VanessaE just trying to help find a solution 18:45 hmmmm if you're starting with a fresh api like the guy here is then i'm sure you can do it 18:45 hmmmm I don't think it's too plausible to use this for minetest though 18:46 hmmmm between the two options of reducing memory usage and increasing memory capacity, the former is much more valuable 18:46 hmmmm you don't want GBs of memory to get handled by lua's GC 18:46 hmmmm and there's no telling whether or not that memory usage will simply rocket up to the new maximum capacity 18:46 hmmmm if lua is using that much memory to begin with, there's a bug somewhere 18:47 hmmmm or people didn't design things too intelligently 18:47 T4im unnecessary memory usage... but what about the space-time tradeoff kind of memory usage? we don't necessarily want to get back to slow but memory saving usage :D 18:47 hmmmm when you're talking about GBs of memory that's a false dichotomy 18:47 hmmmm iterating over so much memory isn't going to make anything faster 18:48 T4im well yea.. those nearly 900mb indicate a problem of course.. 18:48 T4im unless dreambuilder simply has become THAT big already? :D 18:48 hmmmm it's not possible 18:48 VanessaE dreambuilder is big but not THAT damn big. 18:48 hmmmm that is not a natural amount of memory usage 18:49 VanessaE the biggest memory usage of anything I can think of is biome_lib, but even THAT doesn't use that much (a few tens of megs if my estimate is correct, and then only on a 10-20-seconds-at-a-time basis, during mapgen only) 18:50 VanessaE (and the code that does THAT hasn't been touched in like 6 months or so) 18:55 VanessaE in any case, this latest bout of OOM crashes came after pushing some updates this morning.........and all those consisted of was some new skins. 18:56 VanessaE (no code updates, I'm pretty sure) 18:56 VanessaE http://digitalaudioconcepts.com/vanessa/hobbies/minetest/stats.html 18:56 VanessaE look at the memory usage graph here; that train of "saw teeth" from 12:00 to a bit over an hour ago was VE-Survival restarting repeatedly. 18:57 VanessaE sometimes with Lua itself reporting an "unprotected" OOM, sometimes with minetest reporting it alongside a backtrace. 18:57 T4im I don't take it you still have the profiler running? 18:57 VanessaE no. 18:57 VanessaE (the server went down because it's running /clearobjects now) 19:00 VanessaE http://pastebin.com/NcK64HZC 19:00 VanessaE there's an example of one of those "unprotected" restarts. never seen this before. 19:01 VanessaE times in the log are CET, so that particular crash was only about an hour and a half ago 19:02 VanessaE server was at commit ffe3f03b at the time 19:43 paramat celeron55 i hope you return to work on minetest again, what new features would encourage you to use and develop minetest again? 20:06 celeron55 it's complicated 20:08 celeron55 i don't think it's that much up to new features; i can make new features myself if i want to 20:09 celeron55 altough, i seriously lack any kind of routine for it by now in this project 20:14 celeron55 i'm not interested in any kind of first person block games at all 20:14 celeron55 there's no way to make minetest interesting because it's quite limited to being just that 20:15 rubenwardy celeron55: with client-side scripting, you could make the ability to control inputs and cameras 20:15 rubenwardy and so make an RTS camera 20:15 celeron55 minetest is stupidly far from an RTS engine 20:15 rubenwardy I suppose switching to marching cubes might be quite difficult 20:16 celeron55 the most you could do is a DOTA clone, which i find very boring too 20:17 celeron55 a thing i am interested to try to use is fixed-size worlds with all entities active at all times 20:17 celeron55 first person is fine, i don't have a reason to care about that 20:18 celeron55 i mean, i have as a separate thing, but not related to fixed-size all-active worlds 20:19 celeron55 but for example right now there is no way anyone could make me use minetest, even these features or even money or anything; i have other projects that need me way more 20:20 rubenwardy by use, do you mean to make a game in it, or to develop it further? 20:20 rubenwardy I agree that it's too limited as a game engine 20:24 celeron55 don't say that; that makes you have to define what actually is a game engine and it's unproductive 20:24 rubenwardy lol 20:25 rubenwardy that is true 20:25 celeron55 rpg maker is a very bad game engine if you want to make an fps; that doesn't make it bad though 20:25 celeron55 minetest is very bad if you want to... umm... well do things that it's not designed for 20:27 celeron55 minetest is a one-instance-per-server multiplayer block sandbox engine 20:27 celeron55 or, that's what it's designed to be 20:27 celeron55 (instance or world or however one wants to call it; instance is kind of an MMO term i guess) 20:30 paramat okay i see. i miss your influence here a little =) 20:34 celeron55 now that i think of it, i think one reason i don't care about minetest is that i have learned a lot about game design since i started 20:35 celeron55 minetest is not a good platform for many game designs at all 20:35 celeron55 it's more of a playground than a game (well duh, sandbox) and it doesn't allow me to make games as i want to 20:36 twoelk "fixed-size worlds with all entities active at all times" sounds like beeing able to use minecarts for transporting resources accross playerless streches of the map 20:36 rubenwardy I guess it's rather hard to fix that 20:36 rubenwardy twoelk, not really, that wouldn't be fixed-size :P 20:36 celeron55 twoelk: well yes, if by stretches you mean "across the 500 node wide map" 20:38 twoelk for example to have npc's involved in some sort of economy that does note relate to player presence 20:38 rubenwardy loading a chunk for a cart seems a big overkill, I'd use some sort of node network with timings 20:38 rubenwardy ie: 5 minutes between node A and B. 20:38 twoelk -> the typical warcraft enemy buildup hidden from the player 20:39 rubenwardy but I guess it wouldn't be as flexible in terms of eg: stuff falling onto rails 20:39 rubenwardy celeron55, is buildat more of what you wanted Minetest to be? 20:40 celeron55 i wouldn't want to spend time implementing stuff on some obscure level-of-detail abstractions; i'd just want the 500x500 world where everything works all the time according to the single lines of code i would have written 20:40 celeron55 rubenwardy: buildat is buildat 20:41 rubenwardy de-ja vu 20:41 rubenwardy I think I've asked that question before, and you gave the same response :P 20:41 celeron55 minetest was meant to be a survival-focused minecraft clone 20:41 celeron55 it didn't really turn out that way 20:42 celeron55 it's more like house building focused now; not really something i need or want 20:42 rubenwardy more of a builder with increasing genericalism 20:42 rubenwardy inb4 :P 20:43 celeron55 but i'm not really interested in designing the survival game i wanted to make back tehn 20:43 celeron55 then* 20:44 celeron55 i know it's probably not going to work the way i thought it could 20:44 twoelk the cart was just an example - another extreme would be a herd of npc-animals roaming the map in a sensible migrational way or a ferry line working, player present or not. If survival goes beyond the hunter gatherer level I would think this becomes more and more important to have 20:47 hmmmm you know, maybe it's not such a good idea to try to make minetest do everything 20:47 celeron55 the way i think about minetest is that it's one of my game prototypes, but one that seriously got out of hand 20:47 hmmmm i love the example with RTS maker, and it's common knowledge that games which try to do too much fall short in lots of areas 20:47 celeron55 _rpg_ maker 20:47 hmmmm i'd rather have minetest remembered as a quality piece of software that does X, and not a piece of shit that's bad at everything 20:48 hmmmm right now it's the latter 20:48 celeron55 now just define X 8) 20:48 hmmmm the only people who actually like minetest are its hardcore devotees who make mods and are generally known as part of the "community" 20:48 hmmmm X is minecraft/infiniminer-inspired sandbox games 20:48 hmmmm i realize there's a push in all sorts of directions thanks to modders 20:49 hmmmm just like there was a push to have starcraft in all sorts of awkward directions thanks to map makers 20:49 celeron55 infininiminer has fixed-size worlds and each game has a beginning and an end i think; should minetest support that then 20:49 hmmmm whenever there's a potential for user generated content, content makers will try to push the platform to do things it was never designed for 20:49 hmmmm of course it should 20:49 celeron55 or is infiniminer there "just because" 20:49 * twoelk hasn't published any mods, but loves building so that still fits sort of what has been said 20:50 hmmmm i think it might be a better idea to resist the pushes into these awkward directions rather than facilitate bad ideas 20:50 hmmmm remember there was that FPS mod? 20:50 hmmmm we do plan on making some improvements to minetest which may help make FPS mods easier 20:50 hmmmm but there's no catering involved 20:51 hmmmm i thought about it long and hard and indeed, you're right, it's a terrible idea to make minetest "generic" 20:52 twoelk so a list of goals is once again needed? 20:52 hmmmm the first step is to stop advertising minetest as a generic game engine 20:52 rubenwardy and get a good minetest_game, then 20:52 celeron55 buildat is like minetest but fairly generic, but even it is limited to multiplayer servers by design (not single-world though) 20:52 hmmmm it never was that, we're only fooling ourselves trying to make it into that, and it's wreaking havok on overall quality 20:53 twoelk so exactly which direction should be discouraged? 20:53 celeron55 but... it's not really advertised as a game engine, but as an infinite-world block sandbox game engine 20:53 hmmmm to make everything generic 20:53 celeron55 there's a large difference 20:53 hmmmm generalize things within reason 20:54 celeron55 maybe we should drop the engine anyway though 20:54 twoelk argh! strike the word infinite 20:54 hmmmm infinite can be done with multiple worlds 20:54 celeron55 it's infinite compared to all the shitty open source prototypes with a 200x200 world 20:54 twoelk yeah I can have infinite bread if I keep buying new loafs 20:54 hmmmm there's another minecraft-like game out there that has this distributed server network thing going on where users can walk off the edge of one world and enter another server transparently 20:55 hmmmm that's really cool but this sort of functionality is obviously a stretch goal 20:55 VanessaE didn't...I suggest that like, a year ago? 20:55 hmmmm suggest? 20:55 celeron55 let's define it as "31k^2-world" instead of "infinite-world", ok? 8) 20:55 hmmmm i suppose so 20:55 celeron55 "31k^3-world"* 20:55 hmmmm but a mere suggestion is a long way off 20:55 twoelk mt is large but "infinite" raises interest in the wrong direction 20:55 rubenwardy 62k? 31 is radius 20:55 celeron55 oops 20:56 paramat 'almost infinite' =P~ 20:56 celeron55 "62k^3-world"* 20:56 hmmmm just a reminder that ideas are plentiful, shit-getting-done is rare 20:56 VanessaE hmmmm: fair enough, but point is the idea came up before and no one felt it was a useful way forward. 20:56 hmmmm oh if i had a nickel for every "idea guy who needs a technical guy" situation 20:56 sfan5 mingw32 build is broken: http://sprunge.us/ZTeT 20:57 celeron55 adding that to minetest is infinitely easy; just add an api like minetest.forward_player("hmmmm", "server.net:30005") 20:57 hmmmm not saying that idea guys are worthless, but it's just not worth much if it isn't executed upon successfully 20:57 celeron55 or "redirect" or whatever 20:57 VanessaE (the "better" way instead seemed to settle on splitting the vertical dimension into multiple sub-realms) 20:57 celeron55 then just let the modders and servers make use of it 20:57 hmmmm celeron, good job defining an interface 20:57 hmmmm now how about all the hard parts 20:58 hmmmm but anyway no, what I was describing does the server connection transparently and it seamlessly integrates 20:58 VanessaE hmmmm: better idea is a teleporter block that does that. 20:58 VanessaE I guess minecraft uses "linking books" for this purpose. 20:58 celeron55 well i was thinking it would just disconnect and connect to the other place 20:58 celeron55 but i guess you were thinking of something fancier 20:58 hmmmm i.e. when a player gets within the view range of another server's nodes, it automatically connects and begins requesting blocks from that other server 8) 20:59 hmmmm no I'm not saying this is an idea, it's a feature that already exists in another minetest competitor 20:59 hmmmm instead of modding and flexibility and all that neat stuff, other people have gone into other directions 20:59 twoelk I'm all for a "limbo" ocean between servers to ease the transfer 21:00 hmmmm VanessaE: yes, a teleporter block makes it easy to do this 21:00 celeron55 whatever, the point of this discussion is not this particular feature 21:00 hmmmm from a user point of view 21:00 hmmmm but you also need the authentication 21:00 VanessaE of course. 21:00 hmmmm and it's a lot of work on Client to make this work 21:00 hmmmm err 21:01 hmmmm Client is not designed for this* there'd be a lot of code changes necessary 21:01 VanessaE I'm just saying from a gameplay standpoint; when you get to the edge of the world, frankly I think it would be better to render a "wall" or something, than to try to fetch blocks from another server. 21:01 hmmmm it's not as simple as adding some kind of api 21:01 hmmmm unless you want something utterly useless 21:01 VanessaE (think minecraft's "farlands" but simulated) 21:01 hmmmm I guess 21:01 twoelk bah, just give the main menu a tardis like ingame interface that fools the player into thinking he is not in the main menu 21:02 celeron55 well i mean, minetest's design policy was always "prototype first, think later" when i was the one who did things; and i'm sure a primitive version of this feature would have been found fun just fine without all the concerns being cared about 21:02 VanessaE heh 21:03 celeron55 i guess it's now different, but that's part of the problem 21:04 hmmmm I really dislike that design policy 21:04 hmmmm still to this day it causes a lot of problems 21:04 celeron55 i know you do, and i am not saying it would work now in this organization 21:05 celeron55 but MT wouldn't exist without it 21:05 hmmmm but then again you were designing minetest for yourself at the time 21:05 celeron55 there's no way MT would have become anything if i were to get stuck into any details 21:06 hmmmm I think you really shot yourself in the foot when scripting got added 21:06 celeron55 maybe; it was fun at the time though 21:06 hmmmm if minetest remained scriptless then your design policy would be completely acceptable 21:06 hmmmm or maybe if the number of users remained relatively small 21:08 twoelk but mt would not have been so diverse 21:09 rubenwardy I like diversity, but it's pointless if the quality's no good 21:10 celeron55 i think one of the elephants in the room when it comes to quality is formspecs 21:10 hmmmm that's getting worked on 21:10 celeron55 and because of this i am waiting for what comes of the ogre3d thing 21:11 VanessaE did zeno never release his code? 21:11 rubenwardy I was talking to an Irrlicht guy, they actually expect people to make their own GUI system :P 21:11 celeron55 i expect too, but so far not me nor anyone else has made one 21:11 twoelk does ogre3d have something better builtin? 21:12 celeron55 (i have stated multiple times that we should have a pure-lua gui system that we can additionally release as a stand-alone library) 21:13 twoelk hehe - can't we just hijack something? 21:13 celeron55 such does not exist 21:15 hmmmm I've been tossing around the idea of having a programatically generated GUI 21:15 hmmmm expose a set of lua APIs to create/whatever a GUI 21:15 hmmmm as well as an XML-based GUI description language 21:15 twoelk maybe a lua-markdown interpreter for an ingame helpsystem might be some start 21:16 hmmmm you know, like