Time Nick Message 00:20 IhrFussel paramat, only when your vehicle reaches a certain speed? 00:24 paramat yes at highish sppeds 00:25 paramat *speeds 00:25 paramat first i'll test to see if it happens at mapblock borders 00:30 IhrFussel paramat, if it's the same issue as mine then it will not happen anymore if you define your vehicle as non-physical 00:38 paramat i'll test that too 00:47 paramat with physical false i get slightly jerky motion though, but not stops so far 00:47 paramat *no stops 00:49 IhrFussel I guess those "hiccups" are normal at high speed but the halting is really bad 00:50 IhrFussel It didn't happen on my server since 0.4.17.1 update though..maybe I'm just lucky 00:54 paramat maybe i'll test 0.4.17 too 00:54 tumeninodes shouldn't be speeding anyway... call it a safety feature. ; ) 01:14 paramat speed limit is low around here then 01:26 paramat no it's not happening at mapblock borders 01:27 IhrFussel I'm driving for 10+ minutes now and no random stopping so far... will sleep now, I hope you can confirm/debunk it in 0.4.17.1 later :P 01:36 paramat hm with physical = false movement is unpleasantly jerky, using my driftcar mod), that seems no solution 01:43 paramat also the effect is of velocity in 1 of the 4 directions being set to 0, causing a sideways deflection, like hitting a wall at an angle 01:43 paramat if travelling near-diagonally, the deflection direction will depend on what side of the diagonal you are pointed 01:45 paramat there's sometimes a relocation of the vehicle too it seems 09:48 IhrFussel Can it be that you removed some legacy code in 0.4.17.1?? Cause suddenly mods crash (homedecor/handlers/water_partlicles.lua) that use nil in set_int() meta 09:49 IhrFussel I didn't change code in that mod for 1+ year 09:50 IhrFussel particles.lua* 09:51 IhrFussel That issue crashed my server A LOT while I was asleep 09:54 IhrFussel 0.4.17-dev from Dec worked fine so the change must've been after that 09:56 IhrFussel Or should I say 0.4 backport from Dec* 10:03 IhrFussel Is nil only disallowed now in set_int()? Or set_string() too?? Cause the hopper mod for example also uses nil in set_string() 10:13 tenplus1 o/ folks 10:13 IhrFussel You broke at least 2 mods on my server with this change btw 10:13 tenplus1 ? 10:13 IhrFussel set_int(var,nil) now crashes the server 10:13 tenplus1 hi raven 10:14 Raven262 Hi ten 10:14 tenplus1 IhrFussel: what mod has changed ? 10:14 IhrFussel The engine now disallows "nil" to be used in meta:set_int() 10:14 tenplus1 that sucks 10:15 IhrFussel So 0.4.17.1 is kinda a breaking change from 0.4.16 10:15 tenplus1 dammit, something as simple as a nil value 10:16 IhrFussel I don't even know if it's enough to just replace "nil" with "0" in the code...not sure if the code later expects a nil value or 0 10:19 tenplus1 all changes, no matter how small must be stated for modders and server owners 10:20 tenplus1 I get a feeling many mods will need tweaked 10:22 IhrFussel This seems to be the breaking commit https://github.com/minetest/minetest/commit/858c41b8428fa78039f66b829c0cf8fc92a83212#diff-915276e66558743ea62f125b20152ba8 10:23 tenplus1 hrmmm 10:28 IhrFussel How can set_int(field, 0) throw a "number expected, got string" error??? 10:29 tenplus1 if you're giving it 0 then it shoudlnt 10:29 tenplus1 something isnt right with that commit, if it's causing issue I would revert 10:29 IhrFussel Oh wait that was my fault I think...I copy-pasted "" instead of 0, all is fine 10:29 tenplus1 ahaha 10:32 IhrFussel I think the devs should add a "only numbers are accepted" here in doc -> * `set_int(name, value)` 10:34 lumberJ morning tenplus1 10:35 tenplus1 hi lumberj 10:42 IhrFussel Looks like set_string(name, nil) is fine (tested with hoppers) 10:42 IhrFussel (eject button) 10:42 Krock hi tenplus1 10:42 tenplus1 hey krock 10:43 * tenplus1 does some meta:set_int() testing 10:43 IhrFussel Why is nil as string allowed then? Does lua convert it to a string internally? hi Krock 10:43 Krock !c 5.8 / 0.6 10:43 MinetestBot 9.666666666666666 10:43 Krock IhrFussel: it isn't 10:44 IhrFussel meta:set_string(name nil) works but meta:set_int(name, nil) crashes 10:44 IhrFussel name, nil* 10:44 Krock G++ with (hacky) optimizations is 9.6 times faster than without. impressive 10:44 Krock set_string(x, nil) should crash tii 10:44 Krock *too 10:45 Krock IhrFussel: update your Minetest server version 10:45 IhrFussel From what I see...it doesn't 10:45 IhrFussel I just updated to 0.4.17.1 10:45 Krock then it'll crash 10:45 IhrFussel That's where the crashes cause of set_int() started 10:46 IhrFussel hopper/init.lua meta:set_string("eject", nil) << no crash 10:46 IhrFussel If you intended to break set_string(name, nil) too then even more mods are broken now 10:48 Krock why the heck 10:49 Shara Broke at least one of my mods thanks 10:49 Krock np 10:50 Shara Just nice if modders get told these things 10:50 Krock https://github.com/minetest/minetest/blob/master/src/script/lua_api/l_metadata.cpp#L115 10:50 Krock it's supposed to crash 10:50 Shara Well it didn't before 10:51 Krock oh wait. that's the name field. 1 is the meta ref 10:51 tenplus1 setting to nil should remove the value from meta without crash 10:51 IhrFussel Krock, where is luaL_checkstring() defined? It seems to accept "nil" 10:52 Krock I see what's going on. `nil` is not a valid number anyway. For compat reasons, I think `nil` can still be used in set_string to erase the value 10:52 Krock it'll read an empty string there because no data is available 10:52 IhrFussel Our point is that "nil" worked in set_int() before and 0.4.17.1 was not supposed to be a breaking change 10:53 Shara ^ 10:53 tenplus1 exactly, how many mods will this affect... we're all gonna have to waste time testing everything to see 10:53 Shara Very annoying, and more so since it wasn't announced 10:53 Krock > nodeupate lets 5.0.0 crash. nobody says a word 10:53 Krock > set_int does not accept non-integer values anymore. everybody cries 10:54 Krock * nodeupdate() 10:54 IhrFussel I think there is a big difference between stable and dev 10:54 Shara 5.0 is meant to break compat and wasn't released yet. Of course people are going to care more about things breaking in stable. 10:54 Krock it's meant to break the *network* compat 10:54 Krock yet it seems to be fine to remove legacy API 10:54 Shara It has other issues, like with player models, yes? 10:55 Shara Not sure what mods will need to account for things there 10:55 Krock no it doesn't? that feature has been integrated well now 10:55 Shara But difference is stable vs dev 10:55 IhrFussel But fact is that you now broke quite a few mods on servers and some servers will crash in the next time cause of that 10:55 tenplus1 now I'm definitely not upgrading Xanadu to 0.4.17-1... 10:56 Krock s/\-/\./ 10:56 IhrFussel homedecor is on MANY servers 10:57 IhrFussel And has this problem... if the server admin is away/doesn't know how to update then that server will have lots of crashes 10:57 IhrFussel Mine crashed EIGHT times last night 10:57 Krock then it's a fortune that it's hosted on git and the bug is fixed already 10:58 Krock if the server admin doesn't know how to update they wouldn't have a new Minetest version anyway 10:58 IhrFussel That might be true for homedecor, but there are more mods...some of them long abandoned 10:58 Krock time for the trash bin or a proper reviving then 10:58 IhrFussel Not sure if MT always allowed nil in set_int() before 10:59 Shara Krock: not all server owners have a clue about code but will now need to fix mods themselves or drop mods 10:59 Shara I know you don't give a damn about servers crashing, but don't act like it's not an issue for people 11:01 IhrFussel I mean each server crash can be a "risk" to the data (correct me if I'm wrong), so crashes should be as little as possible 11:03 Fixer one more retro game works perfect with intel hd2500 - project igi, I love its AI 11:03 IhrFussel few as possible* 11:03 Fixer *works after fixes via dgvoodoo 11:10 longerstaff13 o/ 11:11 tenplus1 hi longer 11:13 Fixer \o 11:14 tenplus1 hi fixer 11:14 Fixer hi 11:16 tenplus1 Mobs Redo API updated with drop checks, also added fence tops to stop wandering animals :D 11:29 twoelk hmm, can birds, bats and dragons sit on fences? :D 11:29 tenplus1 lol 11:30 twoelk oh, wait, bats should be hanging from fences - I guess 11:31 * Fuchs imagines a 2 tonnes dragon sitting cat-like on a wooden fence 11:31 tenplus1 pete's dragon :D 11:32 Shara MT needs this 11:33 IhrFussel Please can I FIX the error messages that popup whenever the server tries to render an old spider model (spider.x)? 11:33 tenplus1 lol 11:33 IhrFussel It's 3 or 4 lines every time 11:34 tenplus1 are you using mobs_monsters latest ? 11:34 IhrFussel Client tries to* 11:34 tenplus1 it uses temp entities for old spider models and switches them to new without errors 11:34 tenplus1 been using it in xanadu for 2 weeks and no issue 11:34 IhrFussel I only replaced the spider with the new one but yes I use spider.b3d now and when the server tries to load spider.x staticdata the error appears 11:35 IhrFussel Ah I see...will have to look into that then 11:37 tenplus1 you could enable "remove_far_mobs = true" so that any monsters outwith loaded blocks are deleted 11:37 tenplus1 unless tamed 11:41 IhrFussel Or maybe I could check the model in on_activate() and return if it's the old one? Not sure if that could work 11:42 tenplus1 turn on the remove far mobs 11:42 tenplus1 then it'll remove all the old spiders in unloaded areas and only spawn new one's 11:42 tenplus1 dunno why you;re getting errors 11:42 IhrFussel Cause the model data is stored in the staticdata 11:43 tenplus1 and the new model overrides it so it shouldnt cause error 11:43 IhrFussel But I only replaced spider.lua + model + textures 11:46 IhrFussel I added in mob_activate() if mesh == "spider.x" then self.object:remove() return end 11:47 tenplus1 if self.mesh 11:48 IhrFussel Should work local mesh = self.base_mesh 11:49 tenplus1 ah yes, thought you were putting the check ritght at the start 11:49 IhrFussel Oops...I typed spider.x not mobs_spider.x ugh 11:51 IhrFussel Seems to work :D 11:52 tenplus1 I'd still enable "remove_far_mobs" switch and maybe set server logging to error 12:06 tenplus1 would be nice if we had a temporary switch for entities where it would simply delete it completely when a map area is unloaded so it doesnt have to save staticdata 12:28 Krock > tries cooking gold lumps. LV furnace doesn't turn on. cable & energy status ok 12:28 Krock > it's sulfur 12:31 tenplus1 hi DI3HARD139 13:13 IhrFussel tenplus1, the client would still complain then... now I delete the mob before it even appears on the map 13:26 Krock Shara: since API changes and crashes are your concern: How about brigading https://github.com/minetest/minetest/pull/7567 before it's merged? 13:30 Shara Krock: hardly seems to be only my concern, and it would hardly be brigading for me to comment (you might want to check what that generally means) 13:30 IhrFussel What we mean is that there is no need to change 0.4.X API functions in a way so that it breaks certain mods ... that is not what you told us when you talked about backporting 13:31 Shara I also don't really know enough to comment on this in any informed way, but if it's going to break mods for no good reason, then it's a bad thing to do 13:32 IhrFussel But since it only affects set_int() the damage is not as huge as if set_string() would crash too... in my case it was "only" 2 mods that needed to be adjusted 13:32 Shara I've adjusted the only mod of mine that I know would crash... just got to hope people do update 13:34 Shara Also updated it in ContentDB (hopefully anyone else needing to change this will remember that...) 13:36 Shara Krock: If that PR is going to break mods or is at risk of doing so, you could probably get more feedback there from server owners by explaining the issues. 13:41 Shara Like is it a bad thing that nothing happened previously and the error prevents something worse? Or is it just an error for the sake of an error for no real reason? It's hard to give a real opinion without knowing this. 13:42 Krock any change in the existing modding API is surely going to break a mod which uses exactly that API with exact these arguments 13:42 Krock it's always that way 13:43 Krock the concern in this example is wrong usage of the API functions. Modders don't know why it's not working because nothing happens, nothing is returned or logged 13:52 Shara So surely a warning would be best as you suggest? Or is there some reason more is needed? 13:53 Shara It really depends on what can break because the mod was wrong 15:24 IhrFussel Bad news: Map stalling seems to happen still on my server after updating 15:25 tenplus1 updating to 0.4.17-1 ? 15:27 Krock s/\-/\./ 15:28 xerox123 how do you inspect an item in your hand? 15:30 Krock SSM or CSM? 15:30 xerox123 server 15:31 xerox123 or a CSM would be handy, actually 15:31 Krock get_wielded_item or something like that 15:31 Krock then you can get the definition of the item when you've got an ItemStack 15:33 tenplus1 any reason an item with drop="" set would drop the actual item ?!?!?!?! 15:33 sfan5 something overriding item dropping and doesn't handle the default case correctly 15:33 Krock yes, on_dig callbacks 15:35 tenplus1 in singleplayer when a falling tnt_burning drops onto something it cant land on (torch, carpet etc). it shouldnt drop as item... and that's what happens 15:35 tenplus1 but somehow on xanadu it drops as tnt_burning node even when drop="" is set 15:35 tenplus1 and no override 15:35 Krock "drop" is not the same as falling 15:35 Krock they might behave differently 15:36 tenplus1 falling node scrolls through item drops and drop what's tehre 15:36 tenplus1 if drops="" then it has none and shouldnt drop 15:40 tenplus1 https://pastebin.com/CYnV8MuF <-- line 243 15:40 tenplus1 self.node = "tnt:tnt_burning" 15:40 tenplus1 and drops="" for that node, triple checked 15:42 IhrFussel If the map stalling doesn't affect the other server functions what would be the most likely problem? Server network issues? 15:43 tenplus1 what's the server name ??? 15:54 tenplus1 IhrFussel: the map does load intermittantly... 16:06 IhrFussel The map loading speed does vary quite a bit but the server lag is low 16:08 IhrFussel And at times map suddenly stops loading for everyone 16:08 IhrFussel For 30+ secs 16:11 twoelk maybe massiv writing to file? 16:12 tenplus1 does something write to file for achievements and player stats every now and then ? 16:14 IhrFussel iostat shows minetestserver max at 10% and that is very rare 16:14 IhrFussel iotop* 16:17 IhrFussel It's definitely not I/O that was at 2-5% when it stalled 16:19 IhrFussel @devs: Could a malicious client cause such stalls? 16:22 IhrFussel The map seems to start loading for everyone again when a certain player logs off/loses connection ... could be a coincidence though 16:24 tenplus1 something causing inventory issues also 16:24 tenplus1 shift clicking and nothing happening, moving manually and not happening 16:25 IhrFussel Works for me 16:26 tenplus1 not for me... anyhoo I've acrued enough goodies for today :) got my cave base all setup and armored to the teeth :DDD fun server 16:26 tenplus1 laters all o/// 16:26 IhrFussel OMG! 16:26 IhrFussel It most likely IS a client 16:27 IhrFussel It happened again...as soon as someone with a random name left the map loaded again 16:27 twoelk some time ago I thought maybe a slow client can lag the total server - similar to media load on join 16:28 twoelk random name? not a bot triggering mapgen? 16:29 twoelk gtg 16:29 IhrFussel "Truman338" 16:29 twoelk o/ 16:31 IhrFussel PROTOCOL VERSION: 27 (Truman338) 16:31 Krock ancient 16:32 IhrFussel But can a "misconfigured" client cause such a huge server issue where map doesn't get send anymore to other clients? 16:34 IhrFussel I mean *something* blocks map data 16:34 xerox123 is there a way to remove all the guest accounts from the player database> 16:34 xerox123 ?* 16:35 Krock xerox123: SQL query 16:36 xerox123 I'm using files 16:36 xerox123 should have mentioned 16:37 Krock migrate, then SQL query 16:39 IhrFussel WHAT THE HECK! I can confirm now that certain mobile users cause it! 16:39 IhrFussel It happened again and didn't stop until I kicked the mobile user 16:40 xerox123 migrating... 16:53 rubenwardy Increase the minimum protocol version, ihrfussel 16:53 rubenwardy And make sure your settings are goof 16:54 rubenwardy Like, limit blocks per client to something reasonable 16:55 IhrFussel It#s set to 20 and still happens 16:56 IhrFussel I will make a video of it the next time it happens...it will show how no map loads until I kick the suspicious user 16:57 IhrFussel Both users that caused it so far have a client with prot version 27 17:05 IhrFussel rubenwardy, let me guess, that is no .conf setting and I have to recompile for that? 17:05 rubenwardy That's a conf setting 17:06 IhrFussel I can't find it in the doc... I searched for "min_", "protocol" 17:07 IhrFussel Oops wait 17:09 xerox123 Krock: migrate complete :D 17:09 IhrFussel Nope, can't find it in conf.example 17:09 xerox123 0_0 ACTION[Main]: Successfully migrated 15159 players 17:09 Krock xerox123: wow, that took a long time 17:10 xerox123 yup... 17:10 Krock there's no minimal proto version setting 17:10 Krock only a strict one 17:10 Krock you'd have to change src/network/networkprotocol.h to increase the minimal version 17:14 xerox123 installed sqlitebrowser, found the playername table 17:14 Krock merging https://github.com/minetest-mods/moreblocks/pull/117 in 10 minutes, Calinou 17:15 Calinou Krock: looks good to me 17:16 Krock good :) 17:26 xerox123 0 rows returned in 6ms from: SELECT `_rowid_`,* FROM `main`.`player` WHERE `name` LIKE '[A-Z][a-z]{3,}[1-9][0-9]{2,3}' 17:31 xerox123 oh, I got it :D 17:32 xerox123 stackoverflow saved my ass once again; SELECT `_rowid_`,* FROM `main`.`player` WHERE `name` REGEXP '^[A-Z][a-z]{3,}[1-9][0-9]{2,3}$' 17:39 Krock also clean up the auth 17:39 Krock sed will help you there 17:40 Krock or SQL again if you're using sauth 17:51 Krock seems legit. it's however difficult to find out what part of the server code causes the stalls 17:51 Krock so it's limited to version 27? 17:52 Krock or could it apply to 28,29 etc too? 17:53 IhrFussel So far all clients that make the map load again after leaving use version 27 17:54 IhrFussel But how is this even possible? That a client can tell the server to not send any map data to clients? 17:58 Krock IhrFussel: could you please check whether all v27 client can cause this and whether there are v26, v28 or v29 clients around 17:59 Krock so we can at least reduce the possible causes a bit 17:59 IhrFussel Almost all clients that connect to my server right now use version 27 18:00 Krock ah, unfortunate :/ 18:01 IhrFussel My current guess is *one* specific app causing this 18:03 Krock additional server load could be caused by instantly marking any received mapblocks as "not sent" 18:04 Krock but that shouldn't stall the entire server 18:05 IhrFussel Only map loading is blocked...entities even load 18:05 IhrFussel They load in void 18:06 Krock because they're handled differently 18:13 IhrFussel I guess for now I have to kick version 27 player after joining and tell them to use another app 18:13 xerox123 https://paste.ubuntu.com/p/b4nhRSYNvd/ how do I exempt "xerox123" from this? 18:16 Krock L57 if core.check_player_privs(name, { server=true }) then return end 18:17 Krock untested 18:18 Krock or if minetest.get_auth_handler().get_auth(name) then return end 18:18 Krock ^ xerox123 18:18 Krock first is for the server admin (ofc), latter generally for nicks that are already registered 18:19 xerox123 figured it out as you were saying that, L14, make it [A-Z][a-z] 18:19 Krock I'd apply the latter one to be more general 18:19 Krock also thought about that, but it might keep off other users from logging in 18:20 Krock such as somebody043 (wasn't deleted in the SQL query) 18:20 xerox123 hmm true, one second 18:22 xerox123 something like this? https://paste.ubuntu.com/p/CSXDjwWcdj/ 18:22 Krock that's not how Lua works 18:23 Krock replace xerox123 with name 18:23 Krock unless you wanted to check whether your own account (would be "xerox123" in that case) exists 18:27 xerox123 yay? https://paste.ubuntu.com/p/Vp43gRMJrK/ 18:27 * xerox123 hides from judgemental Krock looks 18:27 Krock ready for production server 18:28 xerox123 yay 18:30 xerox123 yay works 18:30 xerox123 just timetime for dinner 18:30 xerox123 just in time* 18:32 Krock !next 18:32 MinetestBot Another satisfied customer. Next! 19:05 BillyS !meep 19:05 BillyS Aww, cmon 19:57 * paramat arrives through the parachute 20:28 Sokomine paramat: are your zeppelins equipped with one? 20:41 paramat not paranormally 21:03 Sokomine :-)