Time Nick Message 00:01 benrob0329 http://semver.org/ 00:13 cheapie How is the settings thing for CSM supposed to work? It says "It can be created via `Settings(filename)`.", but settings, Settings, minetest.settings, and minetest.Settings are all nil. 00:15 cheapie VanessaE: I can suggest some database tweaks that might help with rollback, but I think the map editing part is what takes forever. 00:18 cheapie VanessaE: "CREATE INDEX `actionActorIndex` on `action`(`actor`,`timestamp`);" *might* help. 00:19 cheapie (the index name can be whatever you want, of course) 00:19 VanessaE that looks similar to the command nrz mentioned 00:19 VanessaE cheapie: looks like you can also do: 00:19 VanessaE "minetest.setting_get(name) and minetest.setting_getbool(name) can be used to read custom or existing settings at load time, if necessary" 00:20 cheapie From minetest.conf, yeah, and read-only. I need to store settings. 00:20 VanessaE hm 00:21 VanessaE maybe, foo=settings(filename) foo:get(key) and such? 00:21 cheapie VanessaE: I haven't looked too deeply into it, but I'd assume /rollback's query is probably selecting by actor and timestamp. 00:21 cheapie ...that's what I tried, but "settings" is nil, so it crashes. 00:21 VanessaE hm 00:22 cheapie I think rollback.sqlite used to have an index on actor, but got a bit of "tunnel vision" when I was fixing /rollback_check and didn't think that /rollback could use that index. 00:23 * cheapie looks 00:23 cheapie Heh, looks like I was still the last person to touch the rollback DB schema. 00:24 cheapie Anyway, it does appear that there were two separate indexes before that, one on action and one on timestamp. 00:25 cheapie Either one would probably help /rollback, although you most likely won't get any additional gains from having both. Having one index that indexes both together (as I pasted above) is likely to be fastest. 00:26 cheapie "actor" could probably also be dropped from the existing index (the one for /rollback_check), but it's not likely to matter a whole lot. 00:30 cheapie Putting an index on the "name" column of the "actor" table would possibly lead to a slight speed boost on servers with tons of players, but it's most likely not worth it. 00:31 cheapie The "node" table is only ever queried by "id", and that's the primary key which I think implies it's indexed. 00:55 VanessaE #5517 00:55 ShadowBot https://github.com/minetest/minetest/issues/5517 -- Feature request: specify alternate node for display, and scale the displayed mesh 01:27 benrob0329-phone http://m.imgur.com/a/909KD 03:22 octacian What is a debug build? Is it not the same as pulling the latest master and compiling? 03:23 benrob0329 debug would have extra symbols to help debuggers to find variables n such 03:23 benrob0329 its also a faster build (less optimised) 03:24 octacian Because apparently minetest.get_player_information only returns the client version on debug builds, which is REALLY important to know for my mod 03:24 benrob0329 perhaps that should be moved to all builds? 03:24 octacian It really should 03:25 octacian As older clients have chat prediction while newer ones don't, my mod would cause all chat messages to be duplicated for the sender if they were using an older client 03:26 benrob0329 I found a bug 03:26 benrob0329 http://imgur.com/a/eGz7V 03:26 benrob0329 its known, but i havent seen it like this yet 03:27 paramat translucent tardis textures? 03:29 paramat but then, the top seems opaque 03:32 benrob0329 the texture is opaque 03:32 benrob0329 but i do have use_texture_alpha set to true 03:33 benrob0329 I have a question 03:34 benrob0329 Would the idea of moving to Antarctica be, even entertained by the devs? 03:35 benrob0329 Some of the STK devs sound willing to help (I dont know to what extent) with the move, but i dont know if it would even be possible at this moment 03:44 paramat ? 03:45 benrob0329- irc is not happy currently 03:52 kaeza octacian, a always, version-based checks are bad. I would suggest something like get_client_features() or such (like core.features, but for things strictly client-side) 04:10 benrob0329 nobody? 04:51 lhofhansl Hi... Does anybody have recommendation about how to do cross-platform read/write locks for Minetest (since Boost is not allowed)? 04:52 octacian !tell kaeza I couldn't find any documentation for get_client_features(). Do you have a link? If all else fails, I'll play around with it later and figure out what it returns. 04:52 ShadowBot octacian: O.K. 04:53 lhofhansl A lot of the jitter comes from the calling the voxelmanipulator from the main thread when new blocks are loaded from the server. In order to do that in another thread efficiently I'd need read/write locks; but they'd have to work on all platforms that Minetests supports. 04:57 paramat if only hmmmm were here he might know 04:58 lhofhansl I can build read/write locks on top of the mutexes we have, or on top of the semaphores. Not necessarily the most efficient. 04:58 paramat if no-one can help his email is available 05:00 paramat celeron55 might be able to help? 05:02 paramat will merge #5513 #5515 in an hour, trivial 05:02 ShadowBot https://github.com/minetest/minetest/issues/5513 -- Mapgen: Remove '#include treegen.h' from non-mgv6 mapgens by paramat 05:02 ShadowBot https://github.com/minetest/minetest/issues/5515 -- Mapgen documentation: Add descriptions to noise parameters by paramat 06:28 paramat merging #5513 #5515 in a moment 06:28 ShadowBot https://github.com/minetest/minetest/issues/5513 -- Mapgen: Remove '#include treegen.h' from non-mgv6 mapgens by paramat 06:28 ShadowBot https://github.com/minetest/minetest/issues/5515 -- Mapgen documentation: Add descriptions to noise parameters by paramat 06:31 nerzhul paramat, why do you add many useless slashes in your issues/PR ? 06:32 paramat it's a nice divider :] merging 06:33 nerzhul it's just ugly and divide nothing when it's at the end of your comment :) 06:37 paramat merged. yes it defines the end of the commit message, but i get into the habit and add it when nothing comes after 06:39 paramat the mapgen docs were a mess, missing descriptions, missing flags, finally this unpleasant job is done, large amounts of white text make my head spin, coloured code is much nicer 06:42 nerzhul we have a nice HTML + CSS interface it's not vim 07:03 paramat just found some highlight modes in gedit, will try some 10:03 nrzkt omfg 10:03 nrzkt LocalPlayer is NEVER removed 10:04 nrzkt i didn't found any palce which remove it and a breakpoint on destructor shows we never call it 10:15 nrzkt i test the fix now as it's very trivial and push the fix to master when ready as it's just a delete 10:24 paramat good find 10:25 nrzkt yeah it's not very critical, but i need to test it 10:31 nrzkt okay it works as inteneded without any side effect, pushed 10:31 nrzkt https://github.com/minetest/minetest/commit/54ffc4e915fcdb6f6e7556bc2d1f8b27fd567d9f 10:35 paramat +1 19:28 nerzhul we need a second approval on #5480 please 19:28 ShadowBot https://github.com/minetest/minetest/issues/5480 -- [CSM] Localplayer api lua by Dumbeldor 19:29 nerzhul sofar, you want it :) 19:29 sofar sorry, I've been trying to get to testing those 19:29 sofar but i spent 2 days on entity_ai refactoring 19:29 nerzhul sofar, ambitious 19:29 sofar maybe tonight I'll review the CSM patches 19:29 nerzhul maybe you should review my players to db too then 19:30 sofar well, I want to at least test all of them 19:30 nerzhul it seems the 0.4.16 will be a huge release, bigger than previous we did last two years 19:31 nerzhul CSM rampup, performances fixes, light fix, sneak controversy, players to database (i hope), UI enhancements 19:31 sofar yup 19:31 sofar CSM is getting close to really needing server sending of mod code 19:32 nerzhul i really think we should release MT without it first 19:32 nerzhul then maybe think about a release date next month ? before 15 may ? 19:33 nerzhul this will permit to cover existing part with most user feedbacks because it's released and properly think about this part without being in rush mode because we need a release in june :p 19:34 sofar idk, I'm all for more releases though 19:34 nerzhul this release also fix breath cheat, interesting code refactors, mod metadata, mesh shading, player attribut backend, item meta 19:34 nerzhul may means 6 months since last release i think it's good 19:34 nerzhul we have many things in this release 19:35 nerzhul just close the remaining PR on CSM permitting to close the second roadmap for CSM and start third after release with more interactions with server (channels, mods from server) 19:35 nerzhul i also want to fix the chat before release 19:35 nerzhul this will permit users to do better client side mods with chat 19:37 nerzhul i also want to ahve players in database for this release, as PR is now complete for classic usage, it only needs support for migration data between sqlite & pg, but it's not mandatory for the beginning 19:38 nerzhul sofar, sfan5 rubenwardy etc, the player to database is an interesting change for server owners, how can we communicate about this ? Should be merge this just before release to have a better communication for all people or should we merge this asap ? 19:38 sofar does it affect running servers? 19:38 sofar if not then we can merge it 19:39 nerzhul not running, but after a restart an automatic upgrade will be performed to default backend (sqlite) 19:39 sofar well that's something we should communicate then 19:39 nerzhul then if you want pg you need to configure server before restart (world.mt) 19:39 sofar right, then for sure 19:39 nerzhul i just don't know how to properly communicate to end users, IRC is not sufficient 19:39 sofar forum post 19:39 sofar we don't have much more 19:39 nerzhul yeah nice shot 19:39 sofar could make a formal announcement mailinglist 19:40 nerzhul how do you think about release preparation announcement including this change ? 19:40 nerzhul what* 19:41 sofar is paramat going to do the release again? maybe he wants a break :) 19:41 sfan5 can't the migration be optional? 19:41 nerzhul sfan5, no it's mandatory 19:41 sfan5 why 19:42 nerzhul look at the PR https://github.com/minetest/minetest/pull/5475/files 19:43 nerzhul files are jsut read for migration (and it's relatively secure, we don't remove it, just move them, permitting to rollback MT version if needed) 19:43 nerzhul but the old serializaiton, loading code was just a card skyscraper 19:43 sfan5 i am asking WHY it isn't designed in such a way that the old "flat file" format can also be used as a backend 19:44 sofar honestly I'm not against it going away 19:44 sfan5 me neither 19:44 nerzhul because files are not reliable and it's a very agressive backend to disks, corrupted files happens sometimes, some server owners complains about files reliability 19:45 sfan5 but it would be better if we didn't force people to switch to sqlite directly 19:45 sofar how hard would it be to keep it (with the risk remaining the same as it is now) 19:45 sofar ? 19:45 sfan5 those are they reasons why the flat files are bad 19:46 nerzhul yeah it's a difficult decision to take 19:46 sfan5 small hint: there are NO reasons why we can't support the old files 19:46 sofar I mean, please tell me that the default for new worlds is sqlite...! 19:46 sofar :) 19:47 nerzhul sfan5, i don't think it's not possible, in the PR it's just dropped because i rewrote the player loading to be correctly done (the previous loading mode was jsut crappy and works, because of chance ? xD), and didn't re-test old mode 19:47 nerzhul sofar, with PR the default mode is sqlite everytime, because i don't support players to files 19:47 sfan5 yes it's possible and i think we should keep supporting the old way at least for this release 19:48 sofar I agree with sfan5 19:48 sofar this is one of those cases where I think even nerzhul agrees :) 19:48 nerzhul okay, it's not a nice design to have (unlike db :p) but we can add it, communicate about you should use it, and switch defnitively on next release ? 19:49 nerzhul next +1 i mean, october* 19:49 sofar I'm fairly sure a lot of server operators will like it 19:49 nerzhul it's reasonable, permits to have feedback about it (especially in doc, the process is stable i'm using it on my server since 2 years) 19:49 sofar plus the code looks pretty complete 19:50 sofar I'm not to worried about the new code in it tbh, I should put it on my "test" list 19:50 nerzhul shit, i removed crap code and i should now look how to re-integrate it in nice code :p 19:51 nerzhul is reasonable to add a warningstream permitting users to know they should switch ? 19:51 sofar that should be easier than before, since now your code is reasonably organized ;) 19:51 nerzhul could be a good communication for future deprecation 19:51 sofar yeah, a warning that they could switch to a better backend is fine with me 19:51 nerzhul we don't have a such processus except in lua 19:52 sofar porting the removePlayerFromDatabase() back to old files should be trivial 19:52 sofar that's just an unlink() call 19:52 sfan5 why are the players in the same database as the blocks if they are differentiated by DATABASE_TYPE_PLAYERS anyway? 19:53 sofar isn't that just how the database class works? 19:53 * sofar not too familiar 19:53 nerzhul sofar, the call was intended to be used for databases, but yeah i can add a removefile support for old backend 19:53 nerzhul sfan5, no it's not same database 19:53 nerzhul we have 2 databases instancied 19:53 nerzhul (class) 19:53 sfan5 yes but it's in the same c++ class 19:54 sfan5 despite storing 2 completely different datasets, in two different databases 19:54 red-001 could you fix the old backend being able to crash windows servers if you are going to re-add it? 19:54 nerzhul not exactly, we have database and playerdatabase interface inside it 19:55 nerzhul sfan5, i was thinking about using same connector for a common database, it's why i choose this design, but it could be enhanced later to have a generic postgresql & sqlite interface and have SqliteMapDatabase using sqlite + mapdatabase interfaces and SqlitePlayerDatabase using sqlite + playerdatabase 19:56 sfan5 sofar: when a "Database" instance is created the DATABASE_TYPE_PLAYERS or DATABASE_TYPE_MAP is used to differentiate what you actually want the class to do; to me it would be more logical to have two different classes 19:56 sofar sfan5: yeah, agreed on that 19:56 sfan5 nerzhul: reusing the utilties is good but in this case i think a different way would be better 19:57 nerzhul okay, then i should split the specialized database in a generic way and a super class using the backend + the mt interface 19:57 sfan5 for example what are you going to put into getBlock() for a class that reads the players for flat files? 19:57 sfan5 nothing? 19:57 sfan5 uh how would that work 19:58 nerzhul you can call it from code yes if you add code for this, it's exact, but it's not the case currently 19:58 nerzhul then okay i will refactor this part :) 19:59 sfan5 you intend on having a DatabaseSQLite and a PlayerDatabaseSQLite + MapDatabaseSQLite that are child classes of that, nerzhul? 19:59 nerzhul yeah 20:00 nerzhul playerdatabasesqlite = DatabaseSQLite + PlayerDatabase 20:00 sfan5 if you can make that work that's great 20:00 nerzhul i can, it's not very difficult, just need to take some time, i will do this now, it's less borring than adding prvious file backend xD 20:01 sofar lol 20:01 sofar I wish I could c++ :) 20:01 * sofar laughs 20:32 nerzhul okay refactor for SQlite is done, need to do same thing on pg :) 20:41 Fixer VanessaE: on newest build: animated lamp from homedecor has no animation: https://i.imgur.com/l4NEpJK.png 20:41 Fixer lava lamp has broken animation after some recent commit 20:57 nerzhul sofar, sfan5 i did the refactor 20:57 nerzhul now we have three base interfaces, Database, MapDatabase & PlayerDatabase 20:58 nerzhul Database_Sqlite inherits from Database, MapDatabaseSqlite from dbsqlite + mapdb and analog for player 20:58 nerzhul also i removed the Database_Sqlite function exposure, it's masked by MapDatabaseSqlite & Player 21:00 VanessaE Fixer: that's the "framed glass" drawtype; the plasma animation is the "liquid" inside the node. I'm gonna redo that to not use that damn drawtype 21:01 Fixer VanessaE: so not a bug, right> 21:01 Fixer ? 21:01 VanessaE it's a bug. 21:02 VanessaE in the engine 21:02 VanessaE (that lamp hasn't been changed in 2 years) 21:04 VanessaE (maybe the bulb is burned out ;) ) 21:04 sfan5 nerzhul: i'll take a look at it tomorrow 21:05 nerzhul no problem, i didn't restore the file backend and i don't have time to reinsert it this evening, i will do it later this week 21:05 nerzhul i'm adding the warning now and preparing it 21:39 Fixer https://github.com/minetest/minetest/issues/5522