Time Nick Message 03:51 prozacgod hey guys, I've been lurking about here for quite some time, and was interested in some of the internals of minetest 03:52 prozacgod how consistent is data stored in a node, say if the server crashes, and there are nodes that are processing say tick 1000 and some that are still on tick 999 - what would get to the database 03:53 prozacgod I might not have the "terms" quite right here, as I mostly goof off in minecraft. 03:54 prozacgod In the diagram for the server side of things there's a "Map timer update and unload" which I assume to be the game / environment timer 06:30 sofar prozacgod: haven't read all the code, but I assume after each tick the entire list of map changes is committed to the DB, which should be atomic within chunks (at least, if I designed it, that's what would be doable) 07:01 Wuzzy Comments on ? 09:48 Wuzzy Are there any coding style guidelines for Lua code (builtin, main menu, etc.). 09:52 kilbith Wuzzy, http://dev.minetest.net/Lua_code_style_guidelines 09:52 Wuzzy thank you 10:31 nrzkt i will push a modification to remove m_inventory_not_sent variable, like the previous SendBreath and SendHealth functions but adding a little performance improvement by changing UpdateCrafting call too 10:43 paramat will merge changes to conf.example, cavegen, mgv5, mgv7 later, so please don't modify those files if possible =) 10:44 nrzkt tell me when the commit will be available, i have a fine grain locking commit to push 10:48 nrzkt paramat, can i push ? my commit is ready (server.cpp and environment.cpp/.h) 10:51 nrzkt no answer, i push :p please pull before pushing 11:10 Zeno` Can std::string contain multibyte strings? 11:11 nrzkt hi Zeno` 11:11 Zeno` hi :) 11:13 Zeno` Maybe that's not the correct question. Is it ok to do std::string s = gettext("whatever"); 11:20 nrzkt i will push a modification whichi remove m_moved flag and send the packet when needed instead of waiting the next loop tick 11:38 paramat yeah no problem nrzkt go ahead 11:38 Zeno` bbiab... *another* reboot needed :/ 11:39 paramat sorry was cooking / eating 11:40 nrzkt no problem :D 11:41 paramat i don't mind rebasing at all, just trying to avoid merge conflicts 11:42 nrzkt my commits doesn't modify the files you mentioned :) 11:45 paramat yep 11:46 paramat i'll merge my stuff in roughly 30 mins, will notify when doing so 11:54 paramat #2427 11:54 ShadowBot https://github.com/minetest/minetest/issues/2427 -- Cavegen, mgv5, mgv7: Cleanup code. Conf.example: Update. Mgv7: Keep lava below -256 by paramat 12:57 nrzkt i'm looking at your PR 12:58 paramat just about to merge, looks okay? 12:58 nrzkt i'm reading it :) 13:01 nrzkt i do two comments :) 13:01 paramat my branch is 3 commits behind master but there are no conflicts, so is it okay to merge without updating my fork and rebasing the branch? 13:02 nrzkt you need to rebase to keep the history 13:02 paramat okay 13:03 nrzkt and to be sure there isn't any problem. But i don't think you will have problems there :). Only fix the little performance thing i point 13:07 paramat yes valid comments. cavegen for all mapgen will have to be edited for these improvements. so i'll merge later 13:09 paramat i'm possibly to tired to merge now anyway =) this evening sometime 13:13 nrzkt no problem :D 13:16 nrzkt what do you think about use common as a shared lib instead of compiling the code twice ? 13:19 paramat ah .. that's beyond my understanding, i'm a c++ newbie. now need to rest O/ 13:20 Zeno` no, it gets in the way of some compiler optimisations 13:20 Zeno` what's the advantage of it being a shared lib anyway? 13:21 nrzkt MT performance problems are not related to use a lib but the code design. We are using libc massively, why not include it ? :p 13:21 nrzkt increase compilation time, create MT C++ modules for each interesting part (atm moment only common) 13:22 nrzkt s/increase/reduce/ 13:25 Zeno` I'm not sure how it reduces compile time *unless* you're using in-source builds 13:25 Zeno` I wasn't saying that the performance problems are related to using or not using a lib, by the way :p 13:26 Zeno` I was just mentioning that /some/ optimisations cannot occur if it's a shared lib 13:27 nrzkt in fact common is big, and i think 1/3 of compilation can be win by using a lib. You are right for some optimisations but the common lib can be big, then then optimisaitons are internal of this lib for server side, then no problem. The client doesn't have too many interaction between its dedicated sources and the common sources 13:30 Zeno` TBH I am not the kind of person who sees "reduced compilation time" as very compelling :) 13:30 nrzkt sure :p 13:31 Zeno` :D 13:31 Zeno` well it's not as if we're compiling webkit or anything heh 13:55 Zeno` any problems with #2393? 13:55 ShadowBot https://github.com/minetest/minetest/issues/2393 -- Radius parameter for /deleteblocks here by SmallJoker 13:56 nrzkt okay for merge 13:57 Zeno` ok, will do so in a few moments 13:59 nrzkt i can do it now if you want 14:00 Zeno` I've already staged it 14:00 Zeno` just giving others a quick chance to respond :) 14:13 Zeno` merged 14:30 nrzkt i will push a simple improvement on SendInventory function which remove an assert an a useless peer search 15:30 nrzkt i will push a little perf improvement on getClientIDs by changing std::list to std::vector, because list isn't needed here 15:32 nrzkt done 16:03 nrzkt i will push another std::list to std::vector perf improvement 16:07 rubenwardy Any ideas? #2383 16:07 ShadowBot https://github.com/minetest/minetest/issues/2383 -- Calling minetest.chat_send_all in minetest.register_on_newplayer causes hanging 16:08 nrzkt is this recent ? 16:08 nrzkt i think there is a mutex issue 16:08 nrzkt deadlock 16:09 rubenwardy That is 0.4.12-dev 16:09 rubenwardy But I haven't checked on most recent code 16:09 rubenwardy I linked to the commit where I found the bug. 16:10 nrzkt it's a deadlock on m_env i think, i found a similar issue when i was removing some m_env locks earlier today 16:10 nrzkt the commit you link cannot trigger a deadlock 16:10 rubenwardy I meant the commit I was on 16:10 rubenwardy Ie: it is present in that version 16:11 nrzkt can you try to use latest master commit, i modify the locks to add fine grain locking into some parts of server 16:11 rubenwardy I can't today. 16:20 nrzkt celeron55: why creating Queue class whereas std::queue does exactly same thing ? 16:22 nrzkt another std::list to std::vector transform push 16:50 nrzkt Zeno` can you review #2430 please ? 16:50 ShadowBot https://github.com/minetest/minetest/issues/2430 -- Remove Queue class which uses std::list and use native std::queue by nerzhul 23:37 paramat will merge #2427 very soon 23:37 ShadowBot https://github.com/minetest/minetest/issues/2427 -- Cavegen, mgv5: Cleanup code. Conf.example: Update. Mgv7: Keep lava below -256 by paramat 23:51 paramat now merging, will take 20 mins