Time Nick Message 00:18 BillyS Yeah, it was a firewall issue 00:57 tumeninodes heh heh... so you think 00:59 tumeninodes remember, those students have been going off into the real world for a long time..., basically, the real world is for some High School for the rest of your life, and for others, College for the rest of your life with one added bonus..., you get to work every day 00:59 ANAND Hello everyone! :) 01:00 tumeninodes HELLO! WHY ARE YOU YELLING?! 01:00 tumeninodes :D 01:00 ANAND :P 01:01 tumeninodes My bad, you were just excited. I saw the ! and it tricked my brain into seeing all caps 11:09 * longerstaff13 appears 11:10 rubenwardy o/ 11:26 IhrFussel Krock, what did you mean on my server? 11:26 Krock IhrFussel, now it's about half an hour since hexchat first tried to connect to freenode 11:27 Krock I wonder what went wrong with my connection 11:27 IhrFussel Worked 1st try for me (HexChat 2.14.1) 11:30 Krock hmm.. 11:58 MinetestBot tenplus1: Jul-02 21:12 UTC Protector needs a simple patch. https://notabug.org/TenPlus1/protector/src/master/init.lua#L260 ("return true") change to "return onlyowner". Otherwise any node can be abused to store text 11:58 MinetestBot tenplus1: Jul-02 21:18 UTC actually just check whether the node at "pos" is a protector node, somewhere here https://notabug.org/TenPlus1/protector/src/master/init.lua#L531 11:58 tenplus1 hi folks :P 11:58 tenplus1 hey Krock 11:58 Krock hi tenplus1 11:58 tenplus1 ooh, bugfixes :) thanks dude... checking now 12:06 tenplus1 krock, can you explain the changes please 12:07 tenplus1 protector.can_dig is a true or false function 12:08 Krock I know. first suggestion wasn't that great, instead, check whether it's a protector node in register_on_player_receive_fields 12:09 Krock or better: move the position data away from the formspec, into a local table 12:09 tenplus1 why would that help ? 12:09 tenplus1 if someone uses csm to edit metadata it wouldnt matter wether it was a protector or block of dirt 12:09 Krock because currently you can add members to "air" 12:09 Krock in combination, there's no member count limit 12:10 Krock you can paste the entire lorem ipsum into air this way 12:11 Krock and another existent node might need the "members" metadata field for its own purposes 12:12 tenplus1 this is only if someone opens formspec using csm, right ? 12:12 tenplus1 protector redo should only allow metadata to be written to actual protection nodes if used properly, and it has a limiter set 12:12 tenplus1 so I gotta make it csm proof *shakes fist* 12:12 Krock yes, that's exactly what I meant 12:14 twoelk hi tenplus1 o/ 12:14 tenplus1 hi twoelk :P 12:24 tenplus1 Krock: updated, has node check included 12:25 rubenwardy tenplus1: use a context 12:25 rubenwardy !book formspec 12:25 MinetestBot rubenwardy: Formspecs - https://rubenwardy.com/minetest_modding_book/en/chapters/formspecs.html 12:25 rubenwardy see contexts there 12:25 rubenwardy also, is it worth adding something to track vulnerabilities for server owners? 12:26 rubenwardy not sure what existing software there is for that 12:26 tenplus1 wait, what ? 12:26 rubenwardy don't send the position with the formspec 12:26 rubenwardy store it in a local table 12:27 IhrFussel randomuser111 joins server, builds something, earns privs ... suddenly joins as randomuser222 doesn't know how to change the name back, complains about invalid password, joins with 20 other accounts and each time complains about not having the privs 12:27 tenplus1 lol fussel 12:27 IhrFussel Is apparently 6 years old (hard to believe) 12:30 tenplus1 so use a table outwith meta to pass information to formspec ? even if it's just the position of the protector 12:30 rubenwardy yes 12:30 rubenwardy well 12:30 rubenwardy if you also check the node type and the player can access it 12:31 rubenwardy and you're fine with them being able to select arbitary nodes of that type 12:31 rubenwardy no matter the difference 12:31 rubenwardy then that's probably fine 12:31 rubenwardy the engine needs support for contexts :) 12:31 tenplus1 the on formspec checks the node to be sure of what it is, pos could easily be gotten anyway so not uber important 12:32 rubenwardy so it's fine if they can select any protector node, even if far away? 12:32 rubenwardy well "even if far away" can be fixed with dist check 12:32 tenplus1 you mean the android bug ? infinite reach ? 12:32 rubenwardy no 12:33 rubenwardy users can submit formspecs with any value they choose 12:33 rubenwardy which means they could submit one with a node 1000s of blocks away 12:33 tenplus1 can metadata be written to a map area that isnt loaded / 12:33 rubenwardy no 12:33 rubenwardy not sure what would happen 12:34 rubenwardy I think get_meta would turn nil 12:34 rubenwardy so crash 12:35 tenplus1 added a meta nil check to receive fields 12:38 Krock also protector:node_* crashes if it's an invalid position 12:38 Krock due to string_to_pos 12:39 Krock if not fields.close_me then -> if not fields.close_me and not fields.quit then 12:39 Krock so we can finally use ESC on these formspecs 12:40 Krock maybe I should make a PR for all these issues 12:43 Krock tenplus1, are you working on it right now? asking for the case you're doing some rewrites which would then conflict 12:47 tenplus1 fixed ESC closing, added pos table for formspec 12:47 tenplus1 testing 12:47 tenplus1 what conflicts ? 12:49 Krock with changes that I'd do if there are still ways to crash it 12:50 tenplus1 explain plz 12:50 Krock nvm.. 12:50 tenplus1 if I can add ways to protect this from csm or crashing now it'd be kewl 12:51 tenplus1 thanks rubenwardy, external pos table works fine 12:54 tenplus1 wait, if it checks a local table for player position which is only updated through right clicking the blocks themselves then I can remove the get_node check for protector in received fields 12:55 Krock you thought so. no. 12:55 tenplus1 ? 12:55 Krock a protector node can still be dug, the table variable is kept. 12:56 tenplus1 nope, once the formspec is closed the player position is set to nil 12:56 Krock when is the formspec closed? when "quit" is sent? 12:56 tenplus1 it only exists so long as player is editing the formspec from protector right click 12:57 Krock what if the client doesn't send quit? 12:57 tenplus1 if not fields.close_me and not fields.quit then 12:57 tenplus1 minetest.show_formspec(name, formname, protector_formspec(meta)) 12:57 tenplus1 else player_pos[name] = nil ; end 12:58 Krock spamming ESC closes the formspec too.. after long trying 12:58 Krock (or holding ESC) 12:58 tenplus1 it does ? isnt that a bug in the engine then ? 12:58 Krock neither close_me nor quit are then sent 12:59 Krock I'm glad it's that way because I freak out every time I try to close that formspec with ESC 13:00 Krock oh well, the client must not show the formspec. it can simply be blocked from being shown, whereas the server still thinks it's open 13:01 tenplus1 if the client/csm tries to show a protector formspec then it wont let you edit anything inside unless the local player_pos has been set... and csm cannot set that 13:04 Krock 1) client right-clicks a protector formspec, doesn't let the formspec show. 2) protector is replaced by and other node 3) show the formspec. possible to write to whatever node there is now 13:04 Krock *by any other 13:05 Krock ^ assuming the get_node check is removed 13:06 tenplus1 so if csm arranges a replacement node it swaps in, fiddles with meta, then swaps back to protector 13:07 tenplus1 any csm mod could totally overwrite protector meta without having to check anything 13:08 Krock no, the client does not have direct access to the node meta. it's about abusing the code conditions which would allow this in an unintended way 13:08 tenplus1 so csm is limited and cannot use set_meta or on_player_received_fields 13:09 shivajiva Krock: fwiw the meta was nil 13:09 * tenplus1 is really starting to detest CSM 13:11 Krock shivajiva, strange. get_meta should actually error because pos is nil 13:12 Krock tenplus1, yes, then no. It can trigger "on_player_received_fields" and submit any data to it (better restrictions in 5.0.0) 13:13 Krock I doubt that fix was ready when 0.4.17* released 13:15 tenplus1 nab updated, check code now krock 13:17 shivajiva ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod 'protector' in callback on_playerReceiveFields(): Invalid position (expected table got nil). 13:18 tenplus1 ? 13:18 shivajiva [C]: in function 'get_meta' 13:19 tenplus1 is that through normal use shiva or crash testing ? 13:19 shivajiva Krock testing 13:19 tenplus1 with latest code I just updated ?# 13:20 shivajiva nah 13:20 tenplus1 *phew* test new one plz :D 13:21 * longerstaff13 appears 13:21 tenplus1 hi longer 13:21 longerstaff13 afternoon 11 13:22 shivajiva can only patch as I use a fork but will attend to it :) 13:22 shivajiva Hi longer :) 13:23 longerstaff13 afternoon shiva :P 13:24 * longerstaff13 is hosting a minetest server with barely any mods from his laptop :D 13:25 tenplus1 0.4.17 or 0.5 ? 13:25 longerstaff13 0.4.17.1 13:25 tenplus1 oh yeah, when creating new 0.4.17 worlds I get this error on 1st run: 2018-07-03 14:18:19: WARNING[Main]: /!\ You are using old player file backend. This backend is deprecated and will be removed in next release /!\ 13:25 longerstaff13 o.o 13:26 Krock https://wiki.minetest.net/Database_backends#Player_backend 13:27 tenplus1 shouldnt it default to sqlite3 ? 13:27 rubenwardy removed in the next release 13:27 rubenwardy lol 13:27 rubenwardy what a lie 13:28 tenplus1 it only appears on first run of a new world, weird error... 13:28 Krock "will be removed in a future release" 13:28 sfan5 technically the next release is 5.0.0 not 0.4.17 13:28 sfan5 removing this in .17 would've been stupid anyway 13:29 longerstaff13 does make sense to remove it in a whole new release 13:29 Krock removing it in 5.0.0 would not be helpful either. users already worry about these compat breaks because the mods may break .. humbug 13:30 tenplus1 I dont mind breakage in 0.5 so long as it loads the map... mods can be altered 13:30 rubenwardy was going to convert your title parsing code to python so I can use it in CDB 13:30 rubenwardy but https://github.com/SmallJoker/ModIndexer/blob/master/Program.cs#L479-L580 13:30 rubenwardy why is it so long 13:30 tenplus1 am just eager to hurry it along and get there so i can tailor mods to 0.5 13:30 Krock tenplus1, that's exactly the point. if the files backend is removed, it won't load 13:31 Krock because it would be yet another breakage. but the first for maps. 13:31 rubenwardy Krock, you should definitely make it so it checks the entire forum list every time to look for deleted topics 13:31 Krock rubenwardy, because what are regexes 13:31 rubenwardy and then only download if the ID isn't added yet 13:31 rubenwardy or if it's been a while 13:32 rubenwardy !title https://gist.github.com/rubenwardy/90b046a0e61d388c103bf0692de3bb90 13:32 MinetestBot rubenwardy: forumlistparser.py · GitHub 13:32 rubenwardy just need to add authors and fancy title parsing 13:33 rubenwardy oh, and parse dates 13:33 Krock uh.. python. new lands to me 13:34 tenplus1 thx for assist rubenwardy and krock, notabug updated for Protector Redo 13:34 rubenwardy :) 13:34 Krock np 13:34 rubenwardy Krock: it's great 13:34 rubenwardy BS4 is very nice for parsing HTML 13:34 rubenwardy well 13:34 rubenwardy I wish it had a nicer CSS style selector 13:34 rubenwardy or jQuery style 13:34 rubenwardy after this, I'll only need your mod search for the repo links 13:35 Krock well, topic titles may change. other topics are dead after years 13:35 rubenwardy you can get topic titles from the list 13:35 Krock also the topic contents change, such as repository links 13:35 rubenwardy yes, hence the need to occasionally reparse 13:36 rubenwardy personally, I'd make it download the first list of topics every day, and the whole list once a week. In both, download pages for any new topics. For whole list, remove any that are no longer there 13:37 rubenwardy not sure about reparsing 13:37 rubenwardy the forum topic content for repo links 13:40 sfan5 rubenwardy: tip: if you use re.search you change instead write r"t=([0-9]+)" 13:40 sfan5 s/change/can/ 13:40 rubenwardy ahhh 13:40 Krock @topic title. everything outside of brackets could be removed. if there's a mod name: attach afterwards. however, topics are also bumped, so it's not quite easy to find out whether it was deleted or moved 13:40 rubenwardy is that the only difference? 13:41 sfan5 pretty much https://docs.python.org/3/library/re.html#search-vs-match 13:41 rubenwardy ah, must have misread that 13:42 rubenwardy it actually doesn't need to be similar to K's mod srch actually 13:42 rubenwardy as I'll overwrite that anyway 13:42 Krock yes, otherwise it couldn't be superior :D 13:42 rubenwardy lol 13:43 rubenwardy problem with just moving tags is forms like this: 13:43 rubenwardy [Mod] Title [v1][asas] - Added some things! 13:43 rubenwardy you'd want Title, not Added some things! 13:43 rubenwardy err 13:43 rubenwardy you'd want Title, not Title - Added some things! 13:43 rubenwardy so maybe pretag state, title state, posttag state, post text state 13:43 rubenwardy funn 13:44 rubenwardy not sure how many topics are different to that 13:44 rubenwardy [Pretag][Pretag] title [posttag][posttag] post text 13:45 Krock yes but human input finds many ways so that even [Mod] Cool new stuff aded!! [1.1][mod_name] Mod Name Things does not output the correct "Mod Name Things" 13:45 rubenwardy well 13:45 rubenwardy as long as I get a ~95% accuracy rate it's fine 13:45 Krock because there's no rule on how to write the forum titles apart from that it must be tagged 13:45 rubenwardy I can edit the 10 topics left 13:45 rubenwardy there is 13:45 rubenwardy for Releases 13:45 rubenwardy not for WIP - that would be the bigger issue 13:46 IhrFussel Can your regex handle this case? Then it#s probably fine xP [MOD][API][TINY][SERVER][GIT]Player knockback[punchback] 13:46 Krock yes, right. Was talking about common WIP Mod outcome 13:47 rubenwardy yes, IhrFussel 13:47 rubenwardy however it won't handle tags not having [] 13:47 rubenwardy or tags after a post text 13:47 rubenwardy I'll get a list of topic names, and bulk run regexes on them 13:48 rubenwardy sed would be the correct tool for that, right? 13:48 IhrFussel Then this would fail [mod] A22 13:48 Krock sed works. python might also have a lib for that 13:49 rubenwardy python does 13:49 rubenwardy oh, sed probably uses GNU regex 13:49 rubenwardy probs better to use python as that's the varient I will be using 13:49 rubenwardy IhrFussel: no, as posttags and posttext are optional 13:49 rubenwardy so is pretags 13:49 rubenwardy only title is required 13:50 IhrFussel I prefer regex's where I can write {1,} or {1,5} not the stupid lua ones 13:51 rubenwardy Lua doesn't have regex 13:51 rubenwardy Lua has patterns 13:51 IhrFussel I know but many call it that 13:51 rubenwardy they're wrong :P 13:51 IhrFussel There are also languages that claim to have regex but don't support {} 13:52 rubenwardy are patterns regular? 13:52 rubenwardy a regular expression is something that can parse a regular language 13:52 rubenwardy so it's not about how it's written 13:52 rubenwardy but about what it can do 13:53 rubenwardy not sure what makes something regex though 13:57 shivajiva regular expression is defined as a sequence of characters that define a search pattern, hence the confusion over lua patterns probably 14:09 IhrFussel Is lua the only language with their own type of "search pattern"? 14:09 IhrFussel its own* 14:13 rubenwardy ^(?:\[([^\]]+)\]\s*)*[^\[]+\s*(?:\[([^\]]+)\]\s*)*[^\[]*$ 14:13 rubenwardy kek 14:13 rubenwardy IhrFussel: nope 14:14 rubenwardy basically every single language and tool has their own 14:14 rubenwardy Python, PHP, GNU, perl 14:14 rubenwardy however most of them use similar rules 14:14 rubenwardy Krock, sfan5: look at my regex and cower in awe 14:15 rubenwardy although finding out where each thing is will be painful 14:15 rubenwardy not sure how to do that 14:15 rubenwardy named I guess? 14:15 rubenwardy this is an awesome website: https://regex101.com/ 14:16 sfan5 that looks like a regex you'll write once and never understand again 14:17 rubenwardy yes 14:17 rubenwardy I'm going to split it into multiple strings then add them before compiling 14:17 rubenwardy like a regular grama 14:17 rubenwardy *grammar 14:23 Krock that looks like a regex you'll write once and never understand again 14:23 Krock HAHAH how true :D 14:27 Krock Notabug just threw error 500 by creating a new PR. oh well. it's not perfect 14:27 tenplus1 lol 14:30 Krock tenplus1, *ding* new present for you. Say "open" to open it 14:31 tenplus1 open 14:31 Krock It's a PR for protector 14:31 rubenwardy anyone know the best way to group groups in regex? 14:31 Krock (group1|group2)? 14:32 rubenwardy as in, I want to know which of the groups are pretags, which is the title, and which are post tags 14:32 rubenwardy not sure how named groups work 14:33 Krock only match tags and the content. then filter the content by a white or blacklist 14:33 Krock *content of the tags 14:33 rubenwardy heh 14:34 Krock uh well, it's complicated 14:47 tenplus1 Krock: your changes dont allow me to enter members to the node 14:48 Krock checking 14:48 Krock oh. enter is the keyword here 14:49 Krock that's because quit is sent when the field should close the form 15:00 Krock tenplus1, fixed 15:00 Krock err.. 15:00 tenplus1 updated :90 working 15:06 Krock tenplus1, https://notabug.org/Krock/protector/commit/a359dad3c52 15:06 tenplus1 old clients ? shouldnt it be 0.4.16 and above ? arent we wanting ppl to update 15:07 tenplus1 since get_look_horizontal etc is 0.4.16 ? no ? 15:07 Krock yes. clients. the server requires 0.4.16 15:07 Krock not sure how far behind mobile users are 15:07 tenplus1 always thought formspec ran server side and not client ? 15:09 Krock when the client is a bit older, they interact slightly different with the formspecs. like pressing enter, which always closes the formspec for them 15:09 IhrFussel According to my own server stats most mobile users use 0.4.14 or 0.4.15 still 15:10 tenplus1 lagging behind 15:10 tenplus1 or using clones 15:10 IhrFussel 3rd-party-apps don't need to update their engine code since 0.4.X is still pretty much compatible with any other 0.4.X 15:11 IhrFussel At least 0.4.11+ 15:12 IhrFussel 0.4.11 didn't display colored name tags yet AFAIK so some players didn't get the "red = admin, orange = MOD" 15:13 red-001 IhrFussel, does the coloured string get sent to them? 15:13 red-001 Krock, clearly it's not a bug 15:13 IhrFussel I think I check their prot version and strip it in case they use <= 0.4.14 15:13 red-001 ah 15:14 IhrFussel But that only applies to chat...the set_nametag_atrributes() still gets the new color, not sure what 0.4.11 does with it 15:15 red-001 chat should be fixed in core 15:15 Krock getting 0.4.11 clients to update is quite easy: https://github.com/minetest/minetest/blob/stable-0.4/minetest.conf.example#L312 15:16 IhrFussel Well since 5.0.0 is only compatible with 5.0.0 there is no need for that I guess 15:16 Krock nvm, not that one. it would be the strict protocol version check 15:16 Krock since the pre_v25 setting only applies for clients, but servers still accept them 15:17 red-001 oh lol 15:17 red-001 looks like the fix is only included in 5.0.0 15:17 IhrFussel Maybe I could just add a new sentence to the join formspec in case the client prot version is < (26?) 15:18 red-001 nvm 15:18 tenplus1 updated, thanks krock 15:18 red-001 github is weird 15:18 Krock tenplus1, np. 15:19 tenplus1 :P 15:19 red-001 IhrFussel, chat should be fixed by core 15:19 red-001 but I don't think nametags are 15:19 IhrFussel You mean the engine should already handle the stripping of colors? 15:20 red-001 from chat 15:20 red-001 https://github.com/minetest/minetest/commit/c399f5a5419efdafec766268af008ed24418fcd4 15:20 IhrFussel In 0.4.17-dev from dec? 15:20 red-001 what git hash? 15:22 tenplus1 Krock: is notabug behaving itself for you now ? 15:22 Krock tenplus1, sorry? 15:22 red-001 paramat, there is a 0.4.18? 15:22 Krock ^ not discussed yet in #-dev 15:23 red-001 ok 15:23 Krock to clarify, there's no definitive decision. it has been discussed 15:23 red-001 link? 15:23 tenplus1 "Krock: Notabug just threw error 500 by creating a new PR. oh well. it's not perfect" 15:23 IhrFussel Should be included in my server version then... I compiled after merging this https://github.com/minetest/minetest/pull/6751 15:23 Krock red-001, internal organisation discussion. contributors don't have access to that, I thnk 15:24 Krock tenplus1, it only happened once. maybe it'll do again if I submit more PRs :D 15:24 red-001 oh did github add something for that? 15:24 tenplus1 :P 15:24 Krock red-001, yes, there are now rather private pages where posts (like in twitter) can be written 15:25 red-001 ah https://blog.github.com/2017-11-20-introducing-team-discussions/ 15:34 IhrFussel Still need to code that players with prot version >= 29 receive their own message back though 15:34 IhrFussel That was not fixed in-engine I think 15:35 IhrFussel Or maybe it only affects custom chat message callbacks 15:38 red-001 it always only effected custom chat 15:38 red-001 IhrFussel, yeah no point changing working code 15:42 rubenwardy looks like it isn't possible for a group to capture more than one time in python 15:42 rubenwardy so ^((?:\[[^\]]+\] *)*)([^\[]+) *((?:\[[^\]]+\] *)*)[^\[]*$ 15:42 rubenwardy :'( 15:45 sfan5 you mean capture multiple times into a signel group 15:45 sfan5 single* 15:45 rubenwardy yeah 15:49 tenplus1 o/ 16:13 tenplus1 hi gary 16:14 garywhite hi 16:49 TommyTreasure hi tenplus1, feature request for protector -- make logo node walkable = false in config option 16:49 tenplus1 if I do that then any falling node can drop onto it and make it drop as item, breaking protection 16:49 TommyTreasure hmmm, didn't realize that 16:50 tenplus1 falling nodes have issue with signlike nodes 16:50 TommyTreasure good to know 16:51 tenplus1 :P 16:51 TommyTreasure i had a few, that with even spacing, got in the way of my 'advance train' track system 16:52 tenplus1 bury below tracks :D 16:53 TommyTreasure using the tool to place them. was kind of nice to not leave small node holes open in the layout 16:54 TommyTreasure but, a little extra work to keep the tracks safe from griefing, is worth the effort 16:54 tenplus1 yeh, cover the gaps :P 16:57 TommyTreasure one more question. if i 'invent' a new group for a node, would that keep it from being mined by any in-game tool? 16:58 TommyTreasure basically, only able to be removed by WE 16:58 tenplus1 should be indestructable to all tools apart from the one you want to mine it, yes 16:58 tenplus1 like cloud blocks :P 17:01 TommyTreasure last night was the first time i'd even seen ( and noticed ) the cloud block in a mod 17:01 tenplus1 it's handy for admin only builds 17:02 TommyTreasure my issue was with the bedrock nodes. able to be dug with technic drills 17:03 tenplus1 drills should have a check for {unbreakable=1} and not break 'em :D 17:04 TommyTreasure that's what the nodes were set to. seemed that they worked before i installed the reworked release of technic 17:04 TommyTreasure can't remember though 17:05 TommyTreasure present group for bedrock nods, that is 17:06 TommyTreasure i must still be asleep. can't get my fingers to type correctly 17:06 tenplus1 ehehe 17:07 tenplus1 anyone ever tested this yet : https://forum.minetest.net/viewtopic.php?f=9&t=20393 17:10 Krock OP did 17:11 tenplus1 seems, complicated... 17:25 red-001 if someone doesn't find a way to make it turning complete I will be disappointed 17:25 tenplus1 ?? huh 17:30 red-001 oh he just removed last-login 17:30 tenplus1 who, what ? 17:30 red-001 I guess not having last login by definition fixes issues with it 17:30 red-001 https://bitbucket.org/sorcerykid/auth_rx/src/df42508ef64e73cf70975b96215dfe68da340c2b/init.lua?at=master&fileviewer=file-view-default#init.lua-549 17:30 nerzhul "on high-traffic Minetest servers" lol i hope 40 connections per second are handled without any significant for any mod 17:31 nerzhul and SRP is one of the most secure protocols 17:31 nerzhul also when the auth to sqlite is merged, this thing will become useless 17:32 tenplus1 so 0.5 will have this anyhoo ? or parts of it 17:32 red-001 no 17:32 nerzhul parts of this PR ? no 17:33 nerzhul i will make the auth PR a blocker as it's mandatory to have a consistent thing between player db & auth db 17:33 Krock everything or nothing 17:33 red-001 we already have a real database linked 17:33 nerzhul and when it's merged, postgresql support 17:33 nerzhul bye bye any pr, postgresql permits to share auth between same "galaxy" servers 17:33 Krock also leveldb, redis and whatever there still is 17:33 red-001 how is the PR for that doing? 17:34 nerzhul never push auth to redis 17:34 nerzhul https://github.com/minetest/minetest/pull/7279 17:34 nerzhul i don't rember what is missing on it but it's nearly complete 17:34 nerzhul and generic 17:35 nerzhul and it has unittests <3 17:35 red-001 tenplus1, I hope the author did a lot of testing on this 17:36 nerzhul at least bendeutsch pr has nice unittests haha 17:36 sfan5 looks like someone NIH'd sqlite 17:36 Krock my comment about the legacy account is still not addressed 17:36 sfan5 also a scripting language 17:36 red-001 NIH? 17:36 sfan5 way to go overboard 17:36 red-001 not invented here? 17:36 nerzhul and the lua minetest post is quite ugly, he implemented transactional in lua, lol 17:36 sfan5 red-001: yes https://en.wikipedia.org/wiki/Not_invented_here 17:36 nerzhul all transactional backends like sqlite or pg has it directly 17:37 * red-001 wonders why the "opcodes" aren't strings 17:37 nerzhul https://travis-ci.org/minetest/minetest/jobs/398654074#L1471 17:37 nerzhul nice 17:38 red-001 surely that has a smaller chances to go horribly wrong 17:38 nerzhul the feature coverage is sufficient to me 17:38 nerzhul Krock can you remember which change ? so many comments on the pr 17:38 tenplus1 faster than current auth setup ? 17:38 nerzhul without doubt, it's a sqlite db 17:39 nerzhul if you migrate to it 17:39 nerzhul and no corruption problem 17:39 tenplus1 +100 we need 'dis 17:39 nerzhul if you have a big server and already a postgresql db, i suggest to migrate to pg when i code it 17:39 tenplus1 what about sql? 17:39 red-001 the filter thing would be kinda nice as a Lua thing 17:39 nerzhul sqlite is good for tiny servers 17:39 Krock nerzhul, it's still shown in /files. https://github.com/minetest/minetest/pull/7279/files#r186809850 17:40 red-001 empty sandbox with just table and string utils 17:40 tenplus1 I mean if I ran it on Xanadu would it work ok ? 17:40 tenplus1 migrate current auth.txt over etc ? 17:41 nerzhul ty Jricj 17:41 nerzhul migrate a pseudo csv file to a db is very easy 17:43 sfan5 the db_commit method is not atomic, it might fail to find the file if it aborts between .remove() and .rename() 17:44 red-001 sfan5, but it's a bit faster so it must be right 17:46 IhrFussel sqlite is fine with 20+ players too it depends on the hardware...my server would have a max_lag of 0.2 secs if only mapgen ran 17:46 nerzhul slqite is file with thousands of entries 17:46 nerzhul red-001, storage rule, never trust storage 17:47 nerzhul file/fine 17:47 IhrFussel My server only uses sqlite and everyone say "it's smoother than almost every other server" 17:47 red-001 I was joking 17:48 IhrFussel That is quite an achievement to get such comments with 185 mods and 10-20 players regularly 17:49 tenplus1 :) 17:49 sofar there is no strong direct correlation between players and sqlite performance. If all players are close together, it's just like there is one very active player 17:49 tenplus1 !server xanadu 17:49 MinetestBot tenplus1: Xanadu | 98.166.127.241 | Clients: 13/40, 6/16 | Version: 0.4.16 / minetest | Ping: 108ms 17:49 red-001 auth is a lot more like what DBs are meant to handle than map blocks 17:50 red-001 I doubt any real DB couldn't handle minetest auth 17:51 IhrFussel I use sauth but that one is actually one of the heavier mods regarding execution time... the prejoin callback takes 50-100ms mostly 17:51 IhrFussel Not sure why 17:52 IhrFussel My server got a little over 100,000 accounts so that could be the culprit 17:53 IhrFussel But deleting old auth means that these names can be re-used and players then suddenly have access to all their locked objects and projects 17:54 IhrFussel It's legal griefing 17:54 tenplus1 heh 17:55 red-001 legal griefing sounds like a mine(craft/test) punk rock band 17:56 IhrFussel Haha^^ No but really... don't wanna start from scratch as new player? Just find abandoned projects, writre down the owner name and try to join as them...and voila! You may be rich 17:56 Krock deleting old auth means you should also delete the player from the player database, so only the map has leftovers from them 17:56 nerzhul IhrFussel, sauth + 50ms + 100k records ? logical for any non indexes dataset 17:56 Krock finding these can be quite difficult 17:57 red-001 50 ms doesn't seem too bad 17:57 tenplus1 what exactly does auth contain for each player taht cannot be included in separate player files 17:57 red-001 tenplus1, password information 17:57 red-001 and privs 17:58 tenplus1 isnt it hashed anyhow ? 17:58 red-001 privs should really be in player files 17:58 IhrFussel Yep I'm talking about stuff on the map...locked chests, fridges, furnaces etc ... those are then owned by the "fake" account 17:59 red-001 yeah I suppose it could be 17:59 IhrFussel If auth would be part of the players/ file it would be better to manage if using DB 17:59 red-001 just makes it easier to plug minetest into some external auth 17:59 red-001 * in theory 18:00 Krock red-001, I think you meant: "auth and player file should be the same" 18:01 tenplus1 it would be far easier to include auth info inside player files and backup seperately for restore when needed 18:01 tenplus1 player file is already in use a lot for other stuffs so it's just as important 18:01 Krock I believe the only reason to have them separate was so that the auth can alter players which are no longer loaded by the server 18:01 red-001 realistically it doesn't matter 18:03 red-001 mostly stuck with the way it is now 18:03 CWz Great now we have fucking homophobes on bananaland harassing a girl and telling some fucked up shit 18:03 tenplus1 time to ban/block/revoke shout 18:04 red-001 CWz, homophobes? 18:04 paramat 100,000 accounts, man .. 18:05 red-001 can you read a sqlite database minetest is using without minetest deciding to crash? 18:05 paramat all those random mobile players using unofficial apps 18:05 sfan5 red-001: if it handles SQLITE_BUSY of course 18:05 tenplus1 gotta make player craft wood before their player file is saved... 18:09 nerzhul if a random app non official crash and break the player auth it's not out problem 18:09 twoelk I thought sqlite was rather restrictive with multiple read-write actions and might crash if a read attempt was made from outside minetest while minetest itself was writing to the database 18:10 nerzhul if you want concurrency you don't use sqlite 18:10 nerzhul you will use postgresql 18:10 nerzhul note: multiple emerge threads with sqlite3 map backend = poor sqlite 18:11 tenplus1 that's why I was wondering about inserting auth.txt info into player files using player:set_attribute() :get_attribute() 18:12 tenplus1 then you dont have to scroll through all those names, just load the player that's prejoining and check 18:12 tenplus1 or is that silly ? 18:15 twoelk if you have thousands of playerfiles in a single folder the system might get slow when handling the folder 18:15 sofar no, shouldn't 18:16 sofar minetest doesn't iterate over folders 18:16 tenplus1 but we already have 1000's of pl;ayer files in a folder 18:16 sofar so there's no penalty for opening a file in a folder, really 18:17 twoelk a large cache for example seems to trouble weak hardware - at least from my experience 18:19 tenplus1 am thinking on_prejoin it loads auth info from playerfile using player:get_attribute() and does whatever checks it has to... if join sets last login and sets new attribute 18:19 twoelk but I was allready told years ago that the hardware I sometimes try to run minetest on is to old :-D 18:19 tenplus1 what spec twoelk? 18:19 twoelk um, at office now, nice hardware here 18:19 tenplus1 heh 18:20 tenplus1 Xanadu ran on an old Pentium D for the longest time and it ran well... no lag and 30 players 18:20 tenplus1 and that was with mechanical hdd 18:29 tenplus1 wb tumeni 18:29 twoelk http://irc.minetest.net/minetest-dev/2013-10-12#i_3368852 hm ok I think I don't attempt to run minetest on xp anymore 18:30 tumeninodes how do youuuu do tenplus1?, twoelk, everyone else 18:30 tenplus1 good ta, you ? 18:30 tumeninodes well, the cookies I bought suck, other than that... alls good 18:30 tenplus1 aww, what kind ? 18:30 twoelk I do run it on old vista or win2000 machines with 2gb of ram quite often though, .... and o/ 18:31 paramat MT code hasn't caught up with its popularity. still coded for a bunch of friends using a cult program 18:31 red-001 well players are in a database now 18:31 twoelk uh? what cult? 18:31 red-001 to avoid killing the filesystem 18:31 tenplus1 o.O 18:31 nerzhul twoelk mt 5.0 doesn't support xp anymore 18:31 nerzhul not sure for vista 18:32 twoelk nyan cats are gone, my underground temples are empty 18:32 red-001 twoelk, the one that punches trees 18:32 tumeninodes some sort of sugar dough w m&ms, weird after taste and seem stale. (I usually stick with homemade but... too hot to bake) 18:32 tenplus1 you didnt buy them from Tesco did ya ? 18:32 tumeninodes nerzhul... nothing, should support vista 18:33 tumeninodes no..., market basket, the NE coast of US equivalent 18:34 paramat 100,000 accounts is just scary, but then i find the idea of a public server scary too :) 18:34 twoelk hm, maybe I should make a CSM that sneaks nyancats back in - now that would be something for a secret cult temple 18:35 tenplus1 lol, https://notabug.org/tenplus1/pbj_pup <-- both nyan's and pups 18:35 Krock moognu is the solution for all problems 18:35 IhrFussel 100,000 player files...let me check the actual auth DB 18:35 tenplus1 hah, already did that one krock :P 18:36 twoelk found a glowing pup on hometown not long ago - then the server crashed and the map got corrupted - go figure ----- revenge of the cat 18:36 IhrFussel Fastest way to check amount of records in sqlite table? 18:38 Krock SELECT count(*) FROM tablename .. perhaps? 18:38 Krock dunno if that's SQLite compatible 18:39 IhrFussel 104,744 ... not that far apart 18:39 * tenplus1 tries to decypher auth.lua to use player attributes instead :P 18:39 twoelk hm, tenplus1 you could collect the others and add the statue of bastet and the glowingMinetest letters to your mod :D 18:40 tenplus1 statue of bastet ? 18:40 Krock tenplus1, except that you can't change the privileges for players which aren't online with attributes 18:40 twoelk https://forum.minetest.net/viewtopic.php?t=18718 18:40 tenplus1 yeah, was thinking that 18:42 tenplus1 no way to override that though ? 18:42 tenplus1 would be handy if you could read/write player attributes even when they are offline 18:42 IhrFussel Shouldn't it be easy to implement in MT? If entered player name for a certain action is not in memory, look for the data and load the contents, send them to lua, receive the new values, overwrite and store again 18:43 tenplus1 yup yup 18:43 tenplus1 wait a sec, you deprecated get_attribute already and replaced with get_meta... damn 18:44 IhrFussel AFAIK get_meta() is supposed to work for offline data...or at least it was planned 18:44 tenplus1 that may be the answer then 18:44 tumeninodes could have replaced it with get_f#&$ed 18:44 tenplus1 ahaha 18:45 IhrFussel But then again I wonder...are the meta contents saved the same as attributes? 18:46 tenplus1 from what I see auth.txt loads auth.txt into a huge ass table for functions to work from and check player is player, privs, pass, last login etc. 18:46 tenplus1 there's no reason we cant have those same functions check the player attributes/meta instead as it's called 18:46 tenplus1 would save a ton of memory as well 18:47 tenplus1 just need a way to access them when player isnt around 18:48 Krock attributes and player meta is the identical dataset. just the API changed 18:48 tenplus1 for things like player_exist etc. 18:49 tenplus1 so instead of player:get_attribute("breath") it'll be local meta = player:get_meta() ; meta:get_string("breath") 18:49 twoelk hm, deleting all players that don't have property like locked chests might be usefull 18:49 IhrFussel Krock, does get_meta() work for offline players yet? Or is it just a renamed get_attribute() for now? 18:49 Krock no. yes. 18:50 tenplus1 is get_meta faster than get_attribute ? 18:50 Krock IhrFussel, you'd need the player ObjectRef from somewhere too 18:50 Krock tenplus1, same speed. 18:51 tenplus1 I dont get why it was changed ? new get_meta seems to add another command to do the same thing 18:52 twoelk organisational feature shift that was never completed? 18:52 tenplus1 do I still need to set_meta to write it all out again 18:52 Krock to unify the infrastructure. metadata is metadata. it should offer the same API everywhere 18:53 Krock since when do we need set_meta() for anything? it's applied and saved automatically 18:53 tenplus1 just checking :P 18:53 tenplus1 lol 18:54 tenplus1 was a joke about adding another step to something that's had another step added to :D 18:54 nerzhul ; 19:00 paramat MTG boats have cruise mode now 19:02 tenplus1 ooh 19:03 paramat boat autoforward 19:06 IcyDiamond 2018-07-03 22:05:42: WARNING[Server]: Call to deprecated function 'getvelocity', please use 'get_velocity' at /home/diamond/minetest/bin/../builtin/game/item_entity.lua:155 19:06 IcyDiamond fail? 19:07 tenplus1 try this:https://notabug.org/TenPlus1/builtin_item 19:07 IcyDiamond xD 19:10 IcyDiamond 2018-07-03 22:09:25: ACTION[Server]: ServerEnvironment::clearObjects(): Now clearing objects in 1800 blocks 19:10 tenplus1 has some additional features :d 19:10 IcyDiamond what blocks 19:10 IcyDiamond its nodes in minetest, no? 19:10 IcyDiamond xD 19:12 Krock IcyDiamond, ironically MTG is updated already. yet the core isn't 19:12 Krock because I didn't make a PR for it yet. lol 19:13 IcyDiamond XD 19:13 Krock blocks are 16x16x16 nodes 19:13 Krock http://dev.minetest.net/terminology 19:13 IcyDiamond okay 19:18 tenplus1 nice cruise control paramat, adding to Xanadu :D 19:22 tenplus1 https://notabug.org/TenPlus1/boats (added cruise control, 10 second drop if no player attached, boat damage hitting land to hard and dropping as wood) 19:23 paramat cool 19:25 twoelk bye 19:25 tenplus1 is latest bed commit working ok ? 19:25 tenplus1 cya twoelk 19:26 IcyDiamond \o 19:26 Krock tenplus1, tested using the edited client + CSM, so yes. 19:26 tenplus1 kewl, adding that to server as well :D 19:27 Krock your entire server is going to be a patchwork which needs an entire rewrite when 5.0.0 is out lol 19:27 tenplus1 Xanadu is already a collection of custom mods and patched abm's 19:28 IcyDiamond im staying away from abms whenever i can 19:28 IcyDiamond XD 19:28 tenplus1 that's why I override default abm's with my own diamond :P 19:28 IcyDiamond i use timers for nearly all the timing 19:29 IcyDiamond :D 19:29 IcyDiamond the power distrib is still an abm 19:29 IcyDiamond ¯\_(ツ)_/¯ 19:29 IcyDiamond fluid transfer is timer based 19:29 tenplus1 it works :) that's the thing 19:29 IcyDiamond true 19:32 paramat IhrFussel see https://github.com/minetest/minetest/issues/4792#issuecomment-402256110 19:34 IhrFussel Regarding globalstep performance: I thought maybe it could improve performance a bit when not all players are processed at once in globalstep but rather "randomly" ... for example a player joins and gets a table value local rand[name] = math.random(1,10) and inside globalstep I do rand[name] = rand[name] - 1 if rand[name] > 0 then return end rand[name] = math.random(1,10) -- actual function 19:34 paramat yes i do that 19:35 IhrFussel So does it make sense and should decrease server load? By distributing it more similar to ABM intervals? 19:36 paramat yes it spreads the load out in to lots of little lags 19:36 paramat *into 19:36 paramat better than fewer big lags 19:43 tenplus1 o/ fixer 19:45 IhrFussel Android is so damn SLOW when loading media 19:46 tenplus1 wifi or 4g ? 19:46 IhrFussel On PC it takes maybe a minute ... on phone after 10 minutes 80% ... wifi 19:46 tenplus1 erk 19:46 tenplus1 lemmie see how quick I can connect to Xanadu using phone 19:46 IhrFussel Could it be the network chip of the device? 19:47 IhrFussel Or maybe the weak phone CPU cannot handle the bandwith 19:47 IhrFussel bandwidth* 19:48 tenplus1 47 seconds on 1ghz quad core wifi 19:48 IhrFussel Initializing also takes a long time it seems... 19:49 IhrFussel Maybe the media of xanadu is not as large as mine? =P 19:50 IhrFussel /worldmods is 53 MB 19:50 tenplus1 very true :P 19:50 tenplus1 1.7mb here 19:51 IhrFussel The font size on my phone is *horrible* 19:52 tenplus1 love the fence rails tumeninodes :))) 19:53 tumeninodes thank you, enjoy :D 19:53 IhrFussel The join messages occupies 80% of the screen...why is the default font size on Android so large? 19:54 IhrFussel Or maybe it#s cause I have no HD screen... many Android users have no HD screen 19:54 tumeninodes and thank you, paramat, Krock for all the help and hand holding 19:54 tenplus1 <---- 840x480 19:54 Krock !next 19:54 MinetestBot Another satisfied customer. Next! 19:55 Krock IhrFussel, maybe it's because your server has such long join messages 19:56 tenplus1 lol 19:57 IhrFussel Krock, it's MT's fault IMO if even short protection names of the areas mod write over 3 or 4 item slots in the hot bar 19:58 Krock apt-get install libholoscreenextension 19:58 Krock apt-get install libmindprojector mindprojector-gui 19:58 Krock on small screens there's never enough space for anything 19:59 Krock decrease the font size if that helps.. 20:00 IhrFussel But I mean we need a solution for mobile screens ... font size should depend on resolution probably 20:00 IhrFussel Default font size* 20:01 Krock the font size is not the only problem there 20:01 IhrFussel I know I just opened the inventory and couldn't see the 1st row of items 20:05 IhrFussel Adavanced settings are still broken on Android? You cannot change GUI scaling or pretty much any other setting there because the save button is off-screen 20:05 IhrFussel Advanced* 20:07 tenplus1 mobile screen needs to be at least 1280x760 now I suppose 20:09 IhrFussel Cool and all people with lower resolution (pretty much every budget phone nowaydays has ~ 800x480) now can install a text editor app to be able to edit minetest.conf manually 20:09 tenplus1 lol, prolly easier 20:10 tenplus1 main menu is nice but has a lot of padding 20:13 IhrFussel gui_scaling = 0.9 is better but the formspecs when setting anew value are still too big (save button cropped off) 20:15 tenplus1 which mod has a simple wooden wheel inside ? 20:15 tenplus1 if any? 20:15 tumeninodes 0_o a wooden wheel? 20:16 tenplus1 yeah, like a cart wheel... looking for decor 20:17 tumeninodes I know there's one with a wooden barrel (I think one of Nathan's) not sure if it might have a wooden wheel 20:17 tumeninodes does it need to be squarangular? 20:18 Sokomine tenplus1: i have a cart wheel in my cottages mod 20:18 tenplus1 nah, just want something to save from from having to draw it really :D am being lazy 20:18 tenplus1 ooh, may I use on xanadu ? 20:18 Sokomine sure. the mod is gplv3.0 - ought to be no problem :-) 20:18 tumeninodes Sokomine, yours must be the one I was thinking of 20:19 tumeninodes sorry for the shody advertisement :P 20:19 Sokomine the wagon wheel is from vanessae. i stated it as cc-by-sa, but she often provides textures as wtfl as well 20:19 tenplus1 perfect :) 20:19 Sokomine no problem, tumeninodes. can happen if you have so many nodes :) 20:19 tumeninodes har harrrrr 20:20 Sokomine tenplus1: you might as well install my entire cottages mod. it looks well in ethereal worlds as well 20:24 tenplus1 will go through it tomorrow hopefully and see what else it has :D 20:25 tenplus1 for now, the wheel :D 20:28 tenplus1 nite all o// 20:29 tumeninodes good night o/ 20:31 IhrFussel MT Android feels good on my screen with font size 16 -> 14 and gui scaling 1.1 -> 0.9 ... but I could imagine that it may be too small on HD screens 20:51 IhrFussel Someone said ������������������������������������������������������������������������������������������������������������������������������������� 20:51 IhrFussel ����������������������������������� on my server but it doesn't seem to mean anything 20:54 Fixer is not this amazing? https://forum.minetest.net/viewtopic.php?f=9&t=20115 20:58 Krock I feel this already existed as some kind of micro nodes 21:04 rubenwardy nerzhul: why does the players sqlite backend not work very well on a production server 21:04 rubenwardy causes lag spikes every save interval 21:04 rubenwardy files works better 21:04 rubenwardy dummy works best 21:05 nerzhul rubenwardy i think it's due to the sync interval of sqlite, and as sqlite is embedded in mt binary it affect the lag 21:05 nerzhul if it's critical switch to postgresql 21:05 nerzhul you can tell postgresql to use 64MB shared buffer if you only have player backends on it 21:06 rubenwardy so there's no penalty for opening a file in a folder, really 21:06 rubenwardy linux kernel limits 21:06 rubenwardy forget how much 21:06 nerzhul 1 file opening = 1 I/O 21:06 nerzhul depending on the medium it can be crazy 21:06 nerzhul don't forget a HDD has only ~100 IOPS maximum 21:07 nerzhul the 120Mbps is not interesting, it's the ~100 IOPS the pb 21:07 nerzhul it's why SSD are better than HDD, the IOPS, the bandwidth is less useful, only for big files, and on an os you load only tiny files but many 21:07 nerzhul minimum IOPS on a SSD is 50k 21:07 nerzhul 50k open files per second 21:07 nerzhul on a hdd you can only open 100 files per second 21:08 nerzhul if you add a read operation on a 512 sector, you can only read 50 files + 50 disk chuck per second, if you write, reduce the iops :p 21:08 rubenwardy also see map chapter, IcyDiamond 21:08 rubenwardy !book map operation 21:08 MinetestBot rubenwardy: Basic Map Operations - https://rubenwardy.com/minetest_modding_book/en/chapters/environment.html 21:08 paramat is the 'dtime' provided by a lua entity 'on step' function the time since the last run of that function? the values of dtime are mostly 1/clientFPS which surprised me. maybe the server tries to run entity 'on step' at a frequency that matches the clients FPS? 21:09 paramat i was expecting the step interval to be 0.09s: server step 21:10 rubenwardy nerzhul: for less than 5000, sqlite should work fine though? 21:11 Krock paramat, for singleplayer it's "as fast as possible", whereas the server keeps it at 0.09s or above 21:12 nerzhul 5000 what ? players ? 21:12 rubenwardy yeah 21:12 rubenwardy although no certain it was that 21:12 nerzhul it depend on the number of privs or meta in fact 21:13 nerzhul because the biggest part is the privs and meta entries per player 21:13 nerzhul the player entry itself is tiny 21:13 rubenwardy with indices, that shouldn't matter as much 21:13 nerzhul the problem is not the read 21:13 rubenwardy it should also be keeping a journal 21:13 nerzhul it's the data chunk 21:13 rubenwardy and not writing all players every save 21:13 IhrFussel The password hash is also long 21:13 nerzhul if you have many privs or meta, you will commit big data chunk 21:14 nerzhul no, but writting all current players on each save, and if i remember it's very ofter 21:14 nerzhul often 21:14 nerzhul if you think it's MT IOPS the problem, just use iotop 21:14 nerzhul and see the percentage IOPS for MT 21:14 nerzhul you can use dstat too, and look at the IO/Wait percentage 21:14 nerzhul if it's too high, you massively write 21:16 paramat ok thanks 21:17 nerzhul remember player object has a dirty flag, on each meta update you will set it to dirty 21:17 nerzhul and on each core update, or privs 21:28 paramat if i use os.clock to time the interval between entity 'on step' executions the value actually varies a lot and is not consistent with 'dtime', although it may averag out to 'dtime' 21:28 paramat *average 21:31 Krock paramat, os.clock() is only the time that Lua spends. Use minetest.get_time_us (or similar) 21:32 IhrFussel get_us_time() * 21:32 paramat aha 21:32 Krock ^ that 21:33 rubenwardy I guess I probably shouldn't call a table KrockForumTopic if I don't use krock's mod search for the majority of it 21:33 rubenwardy welp 21:37 Krock use Krock as prefix for all your functions and variables. that would be a very lovely fanservice :D 21:38 paramat good, us_time is consistent with dtime 21:46 rubenwardy get_time_us returns minutes and seconds the wrong way around 21:46 rubenwardy apparently that makes more sense 21:47 paramat heh 21:56 sfan5 Krock: unless lua has some separate time keeping facility, os.clock() returns the cpu time consumed by the current thread 21:59 Krock will waiting for mutex be considered as cpu time of the thread aswell? either way os.clock() might not return the value we need 22:01 sfan5 waiting for a mutex is a syscall, so no 22:02 Sokomine nerzhul: starting mt takes significant amount of time for me. perhaps that's due to the crazy amount of media data in the cache folder. it works much quicker with an ssd (that's about the only time where there's a significant difference) 22:02 * rubenwardy runs pacman -Syyu and crosses finders 22:02 * rubenwardy likes to live dangerously 22:02 nerzhul it's logical, one you have many files to load due to your mods, and also calculation on media cache yes 23:30 rubenwardy RIP Krock's mod search https://github.com/minetest/contentdb/commit/44fd506dcfac8421df1da74b0cda34f8358739b0 23:36 Fixer RIP 23:36 Fixer press https://www.youtube.com/watch?v=ZjJzO2bgoZQ to pay respects 23:38 rubenwardy and deployed 23:47 zorman2000 Hi all, quick question (mostly to confirm my suspicions): is any node callback called when placed via a schematic? Any at all? 23:54 rubenwardy no 23:54 rubenwardy if it's placed by a decoration, then a mapgen callback will be called 23:54 rubenwardy forget what it is 23:54 rubenwardy some notify thing 23:55 rubenwardy paramat would know 23:55 zorman2000 Gen notify 23:55 zorman2000 I think 23:55 zorman2000 Thanks for confirming that 23:56 zorman2000 I was guessing as much 23:56 zorman2000 Btw, I wonder, is there any good reason why ABM's can be disabled? 23:56 zorman2000 Say that I don't want to run an ABM anymore once I have met certain conditions 23:57 zorman2000 can't 23:57 paramat erm 23:57 paramat yes gen notify 23:58 zorman2000 Thanks paramat 23:59 paramat although unless you're using 5.0.0dev gen notify can't be used by 2 separate mods, we fixed it recently 23:59 zorman2000 Yes, I know, because of the dungeon loot mod 23:59 paramat yeah 23:59 zorman2000 But no, I'm not using decorations or gennotify 23:59 zorman2000 Thanks anyways