Time Nick Message 01:53 MTDiscord That said... This does help a decent bit, like maybe 30-40% faster overall execution (this piece of the puzzle is like 5x faster than before), but then hits a bottleneck with collision code (which is what this is a part of in that hot path). That would be the next project to tackle. Depending on success there, I'd expect maybe another 2-4x performance boost overall if there isn't something else lurking in the hot path once collisions 01:53 MTDiscord are a lot cheaper. I.e. maybe I/we can double the number of supported extremely active entities or more by the time the dust settles in several months. The other cool thing this does, is that static entities that aren't doing much, have no gravity, etc: this really really helps improve performance in those cases. I haven't tested such a server, though YL is probably one such server. 02:25 Sokomine exe_virus: any server with many builders on and having itemframes installed is probably having a lot of passive entities sitting around. builders love itemframes 02:30 MTDiscord VL has static entities for a bunch of things, so I'd expect good results there too. 07:56 SFENCE #15002 ready for review. 07:56 ShadowBot https://github.com/minetest/minetest/issues/15002 -- Check for indent spaces by sfence 11:43 Krock Am I the only one fooled by the human-readable mod titles? I kept looking for hidroplane for a solid minute until I realized it's the entry "Shiper DUck Hidroplane" 11:44 Krock * "Super Duck Hydroplane" 11:45 Krock ended up debugging pkgmgr.render_packagelist to eventually notice that the entry is actually there 13:32 rubenwardy Is there a core dev meeting today? 13:45 Krock I'd be around but there's no post in the discussions as I wasn't sure whether we'd get enough people this time around 13:46 Krock who else would be available? 13:49 Krock I suppose if we can get >= 4 people here at once, it could make sense. Aside from the reminder to check the (ne approval) PRs there's currently nothing important noted in the wiki 13:49 Krock * (one approval) 14:09 luatic Krock, rubenwardy: I'd be around 14:21 MTDiscord time to discuss type rename as first step to future ! https://github.com/minetest/minetest/compare/master...proller:minetest:minetest32double 14:30 luatic proller: This type rename would be a major chore which only makes sense if someone was planning on reviewing the follow-up type changes, which are more tricky to review. 14:30 luatic I personally have other priorities, especially for 5.10. 15:00 [MTMatrix]_ Core team but I'm around 15:00 [MTMatrix]_ If I don't fall asleep 15:01 Krock so 3 core devs + 2 team members/contributors. not a lot, as usual. 15:02 sfan5 i'm here, somewhat 15:03 [MTMatrix]_ 3 and a half, let's go! 15:03 Krock sfan.5 15:03 Krock alright then. Let's do a meeting. https://dev.minetest.net/Meetings#2024-08-18 15:04 Krock > https://github.com/minetest/minetest/milestone/27 15:04 Krock about the touch screen issue: https://github.com/minetest/minetest/issues/14973#issuecomment-2290995235 this appears to the the minimal fix. 15:05 Krock is anyone interested in proposing a PR? 15:06 sfan5 I think we can just push that 15:07 Krock thanks 15:07 sfan5 hiding the settings and such as rubne mentioned is less important 15:09 MTDiscord I haven't tested this in a fresh MT instance yet but whenever I enable e.g the snippets mod for a world in ~latest dev it sets load_mod_snippets = share/snippets in the world.mt, instead of load_mod_snippets = true 15:09 Krock how exactly does SDL make a difference there? I re-read the explanation from grorp but couldn't figure that out 15:10 sfan5 we don't have touchscreen support without SDL (on windows), so if there's no SDL we shouldn't enable touch features automatically 15:12 Krock I see. So it's indeed just the one-liner. Just to be sure, I'll open a PR so that it can be tested and reviewed properly 15:13 Krock next: #14972 15:13 ShadowBot https://github.com/minetest/minetest/issues/14972 -- Windows release archive contains broken client/shaders/Irrlicht symlink 15:13 Krock this appears to be a packing issue. what's the origin? a script, or our CMakeLists? 15:14 sfan5 we tell irrlicht to install files and it just makes a copy of the symlink 15:14 sfan5 the symlink is only valid within a source checkout 15:14 Krock and Windows might or might not support symlinks 15:15 sfan5 it does if you are admin 15:15 sfan5 but the symlink shouldn't be there anyway 15:15 Krock and if the partition is not *FAT* 15:15 Krock right. recursive copy without skipping symlinks 15:16 Krock used by RenderingEngine::RenderingEngine 15:17 sfan5 the shaders are used by the opengl3 and ogles2 driver 15:17 sfan5 so doesn't affect any normal users 15:17 sfan5 (i think opengl3 is not even enabled by default?) 15:17 sfan5 @landarvargan that's not necessarily an issue but I found something else relating to this 15:18 rubenwardy I disagree with the touchscreen thing - that branch is fundamentally flawed and should be removed completely. Just because a windows laptop has a touchscreen doesn't mean that touch controls should be enabled by default. A lot of windows laptops come with touchscreens that are barely used 15:20 Krock and if users wanted to make use of the touchscreen, it is still accessible in the settings 15:20 Krock so perhaps disable by default 15:22 Krock it would be great to have a method provided by the WinAPI to check whether a keyboard or mouse is present 15:23 sfan5 well why was it merged then 15:24 rubenwardy I have no idea 15:24 Krock probably because most devs use Linux and it was a thing like "LGTM" 15:24 sfan5 for 5.9.1 it should suffice if we fix the autodetection on win32 15:25 rubenwardy this case was literally mentioned in the PR so I don't know why it wasn't noticed 15:26 Krock rubenwardy: which exact sentence do you mean? 15:27 MTDiscord I was going to report it and also found https://github.com/minetest/minetest/issues/15004 15:28 rubenwardy nevermind, I misread "The scenario where this can get wrong is laptop with touchscreen." 15:29 MTDiscord To be clear the mod doesn't load when the world.mt has load_mod_snippets = share/snippets. I'll create an issue 15:29 rubenwardy where is the mod installed? 15:29 MTDiscord minetest/mods/ 15:29 sfan5 no need, it's all the same root cause 15:30 rubenwardy ahh, I'm guessing that like share == user in portable? 15:30 sfan5 yes 15:31 MTDiscord Oh, it even duplicates in the mod selection menu 15:31 MTDiscord I'll leave it at that then, thanks 15:33 SFENCE Looks like sideeffect from #14905 15:33 ShadowBot https://github.com/minetest/minetest/issues/14905 -- Add shared mods path to get_modpaths by j-r 15:33 grorp planning to rebase #14749 and merge it afterwards 15:33 ShadowBot https://github.com/minetest/minetest/issues/14749 -- [no squash] Split touch controls from UI by okias 15:35 Krock grorp: where's the 2nd approval? 15:35 sfan5 i wanted to merge it yesterday, you can count that as one 15:36 sfan5 a bit funny that debian was carrying a patch like this for years when it totally breaks run_in_place builds 15:38 Krock about 5.9.x: https://stackoverflow.com/a/51594404 might solve the autodetection on windows better. Listening to the first touch input works too, but it seems that the GUI and touch input are tightly bound together, thus would need a forced formspec update 15:39 Krock so getting it right for 99% of the cases upon startup would be somewhat less disturbing 15:40 Krock I could test this code with winegcc + Wine and propose a patch if that's accepted. - opinions? rubenwardy ? 15:41 rubenwardy I feel like it's starting to get a bit too complicated. Also, Windows doesn't support touch currently witrhout SDL 15:41 grorp Krock: "but it seems that the GUI and touch input are tightly bound together, thus would need a forced formspec update": that's exactly what the PR I'm merging fixes 15:42 grorp ok, not exactly 15:43 Krock so the setting "touch_controls" will then define whether to show the touch inputs 15:43 Krock and "touch_gui" scales the thing 15:44 Krock I don't know why but I currently cannot wrap my head around this topic 15:47 sfan5 Krock: btw, a tablet can have a keyboard but still no mouse 15:47 sfan5 https://cdn-dynmedia-1.microsoft.com/is/image/microsoftcorp/surface-pro-11th-edition-sapphire-compare-render-copilot?scl=1 15:48 SFENCE Btw, I have tablet which have touchscreen, hw keyboard and touchpad also. 15:48 sfan5 ok well I missed the touchpad there, it does have a mouse 15:48 sfan5 but do we want touch controls or not in this casE? 15:48 sfan5 (and there are also tablet keyboards without touchpad) 15:49 Krock we'd prefer keyboard and mouse where it's present 15:49 Krock so checking against keyboard AND mouse would be necessary. otherwise check against touch support. if none is present then good luck 15:50 Krock RIM_TYPEKEYBOARD && RIM_TYPEMOUSE 15:52 Krock I'll test this briefly and propose a PR in the next few days if successful. I believe that also master would benefit from that. Ofc, that's all only when SDL2 is enabled. 15:55 SFENCE On my android 6, I am able to use hw keyboard, touchpad and touchscreen at same time. 15:55 sfan5 blindly returning true for android does not account for chromebooks btw 15:56 Krock dear god it gets worse 15:56 Krock there's code for Linux, so perhaps parts of it also work on Android/ChromeOS? 15:57 Krock luatic: the link in #14992 is dead by now 15:57 ShadowBot https://github.com/minetest/minetest/issues/14992 -- Behavioral change in `get_bone_position` 15:58 Krock luatic: follow-up question. it appears that you plan to work on this? is that correct? 16:01 celeron55 here's what came to my mind: what if the touch_controls setting had four possible values: disabled, enabled, auto_disabled and auto_enabled. auto_disabled would automatically switch to auto_enabled and show the touch controls when touching the screen, and auto_enabled would automatically hide touch controls if mouse movement is detected, and the others would not do any auto detection 16:01 rubenwardy what's the user demand for this? 16:01 rubenwardy I don't it 16:01 celeron55 that way most users could just play without touching any setting, and if someone gets annoyed of the autodetection, then they can force it on or off 16:02 rubenwardy the interactions that cause the switch don't do anything on the other mode 16:02 celeron55 user demand: no idea, possibly none 16:02 grorp #14542 16:02 ShadowBot https://github.com/minetest/minetest/issues/14542 -- [no squash] Auto-toggle TouchScreenGUI in-game when receiving touch/mouse input by grorp 16:03 celeron55 i guess my point is that if automatic switching is done, then there needs to be a way to also disable automatic switching 16:03 rubenwardy but why 16:03 celeron55 whether there's demand for automatic switching - i don't know 16:03 grorp have you looked at the PR? 16:03 grorp there is 16:03 SFENCE Dynamic switching between mouse/touchscreen control sounds good to me. 16:03 grorp can I merge #14749 now? 16:03 ShadowBot https://github.com/minetest/minetest/issues/14749 -- [no squash] Split touch controls from UI by okias 16:04 Krock sfan gave the approval, thus yes. 16:05 celeron55 grorp: ah i see, this PR does what i described, aside from remembering the detected setting at next launch 16:06 Krock grorp: although ruben left a comment... 16:06 grorp ...and I implemented that and asked again on IRC 16:06 Krock this time around I seem to be behind 16:09 grorp I should have been clearer. 16:12 Krock and as for fixing the issue in 5.9.1, are we going to use "USE_SDL2 && defined(_WIN32)" ? Everything else does not matter there due to lack of SDL2. 16:12 Krock (I keep returning to this because it's labelled as High priority) 16:15 Krock #15003 16:15 ShadowBot https://github.com/minetest/minetest/issues/15003 -- Fix Windows enabling touch controls due to existence of touchscreen by rubenwardy 16:18 sfan5 it's being adressed so I think we can skip to the next one 16:20 Krock ah yes sorry. I was distracted by improving the Windows part 16:20 Krock > #15000 this one is currently WIP 16:20 ShadowBot https://github.com/minetest/minetest/issues/15000 -- Major Server Performance Regression 16:21 Krock waiting for profiler data or bisect results 16:21 Krock > #14765 16:21 ShadowBot https://github.com/minetest/minetest/issues/14765 -- New 5.9.0-dev networking is not allowing legitimate players to connect under some rare circumstances 16:21 sfan5 needs investigation by me but quite unlikely that a fix will be ready for 5.9.1 16:22 Krock it's also strange that Sokomine reported issues with server version 5.8.0 16:22 Krock that might be separate issues 16:25 Krock also thanks for having a look at that issue :) 16:25 Krock > #14999 16:25 ShadowBot https://github.com/minetest/minetest/issues/14999 -- minetest 5.9 mapblock flickering depending on camera view 16:26 Krock checking quickly 16:36 Krock reproducing or bisecting would be nice to have here 16:37 Krock the remaining two milestone entries are 1x PR (in review) and 1 less priorized bug. 16:37 Krock end of the milestone. Any other topics? 16:39 sfan5 we might have to discuss some day how we want to handle minetest.register_on_item_drop and possible future additions 16:39 sfan5 (for cases where there's already a function that mods could override) 16:39 Krock namely #14916 (and potentially more) 16:39 ShadowBot https://github.com/minetest/minetest/issues/14916 -- Add minetest.register_on_item_drop callback by zmv7 16:42 Krock yes. I think we can discuss this later. Maybe even in the issue. I got to leave soon anyway so I wouldn't be sad about ending the meeting :3 16:45 Krock thanks for participating. 16:46 [MTMatrix]_ Thoughts about https://github.com/minetest/minetest/issues/14134#issuecomment-2294911788? 16:49 [MTMatrix]_ @Warr1024 are #14113 and #14114 still a thing? 16:49 ShadowBot https://github.com/minetest/minetest/issues/14113 -- ERROR[Server]: Got packet command: 23 for peer id #### but client isn't active yet. Dropping packet 16:49 ShadowBot https://github.com/minetest/minetest/issues/14114 -- WARNING[Server]: active block modifiers took 201ms (processed ### of ### active blocks) 16:53 MTDiscord let me check 16:55 MTDiscord 14114 confirmed still a thing 16:56 MTDiscord 13113 I cannot confirm. I don't have the ability to reproduce it at will. 16:56 MTDiscord I didn't find any instances in logs in the last 5 days. It may take months to show up on my server, so if you want to be sure, ask somebody with one that gets more traffic. 16:57 MTDiscord I can't say "fixed in 5.9" because I saw instances of it in 5.8, but it's been quiet for a month or two at least. 17:14 Juri I can't post on GitHub, but I still want to tell about my experience with max_packets_per_iteration 17:16 Juri For a long time I used a pretty high value until more and more players reported stunned clients under specific circumstances 17:17 Juri It was very reliably happening when the server "flooded" the client with packets in areas where a lot was going on (mesecons, technic, pipeworks) 17:18 Juri Either the clients just timed out or, much less often, they get really weirdly out of sync 17:18 sfan5 yeah I don't suggest just increasing it 17:18 Juri Like chat messages showing up minutes(!) later on the client while other things worked fine 17:18 sfan5 the network code is sensitive to whatever the defaults for it are 17:20 Juri Exactly, that's my point, I reduced it to almost default and since then the timeouts are much less frequent and since then there wasn't a single report of a stalled client 17:21 Juri So I really really suggest leaving it default, even doubling it was enough to stun clients again 17:22 Juri Mainly two things seem to contribute to those timeouts or stunned clients: low end devices and/or a bad connection 17:22 sfan5 (it's really just the netcode being terrible) 17:23 Juri I'm not in a position to judge, I just try to help by telling what I observed so far 17:24 Juri Oh almost forgot, view range makes a difference as well 17:26 Juri A player once was stuck in a area where she always timed out or the client got out of sync so fast that she couldn't teleport away fast enough 17:26 Juri She got out by setting view range to 20 and join, which then left her enough time to teleport away 17:26 Juri I reproduced it twice on my own 17:27 sfan5 if you can reproduce that situation at will writing down the steps somewhere would be useful 17:28 Krock we could try to introduce more channels, and with that, more bugs :3 17:29 Krock for rate limited connections that won't solve anything, though. 17:31 Juri It kinda is hard to reproduce, especially since I reduced max_packets_per_iteration again... But I would be fine to crank it up again for a while to test 17:31 Juri The most reliable way so far is by teleporting into a players base, he has a huge array of machines and stuff 17:33 Juri I should mention it, my server is still on 5.8 17:41 Juri I just realized testing on my server is useless unless I upgraded... 18:22 sfan5 I think a big mistake made in 5.0 is not replacing the networking implementation with something incompatible 18:24 MTDiscord enet! 18:25 MTDiscord btw one fork can have mt+enet protocols in one running server on two ports 18:25 sfan5 no ipv6 support. 18:25 MTDiscord lol, i use enet with ipv6 last 10 years 18:26 sfan5 well upstream seems to not have it 18:26 MTDiscord and what? there is 3+ enet ipv6 forks 18:27 MTDiscord it just works, 1000% better than mt net 18:27 sfan5 so it's not even maintained anymore? 18:28 MTDiscord almost not 18:28 MTDiscord its perfect 18:28 MTDiscord okay, usrsctp is better and maintained 18:29 sfan5 yeah that would have been my pick 18:31 MTDiscord then you can start from here https://github.com/freeminer/freeminer/blob/master/src/network/fm_connection_sctp.cpp 18:31 rubenwardy I would be against a hard network break again, but supporting legacy MT + something else (usrsctp?) would be ideal 18:32 MTDiscord start from here 8) https://github.com/freeminer/freeminer/blob/master/src/network/fm_connection_multi.cpp 18:35 MTDiscord need to make small changes in masterserver to allow multiprotocol announce and auto select best proto + port 18:36 sfan5 best would be to have both protocols on one port and client and server just agree to upgrade to sctp if they want to 18:36 sfan5 from a quick look this is possible with usrsctp 18:37 MTDiscord its will be toooo complicated and broke some sctp features like multiip 18:38 sfan5 well we don't want that 18:38 sfan5 alternative hack I just thought up: vendor a tcp implementation, each reliable channel is one tcp "connection". tack unreliable packets on that somehow 18:40 luatic Krock: #15007 18:40 ShadowBot https://github.com/minetest/minetest/issues/15007 -- Make getting bone overrides return the "same" euler angles by appgurueu 18:41 MTDiscord how its better than just use two protos ? 18:44 Desour if we replace the network protocol, we can also go with quic 18:45 Krock last time I checked, quic was not commonly found in repositories 18:45 Krock luatic: perfect. thanks. 18:47 sfan5 https://pkgs.org/search/?q=usrsctp huh this is more than I expected 18:55 Krock https://github.com/sctplab/usrsctp the readme is glorious. Why would you ever want to use this library? 18:57 Krock manual.md on the other hand is very nice 19:01 sfan5 if I had a few days off I'd go and implement this right now 19:03 Krock no mention of multithreading, though. 19:05 Krock e.g. for separate receive and send tasks. The Minetest server code is mostly single-threaded due to Lua callbacks, thus I suppose that does not make too much of a difference 19:33 sfan5 for some reason the client init is not sent as a reliable packet?!! 19:38 Krock lol that might explain a thing or two 19:40 Krock > { "TOSERVER_INIT", 1, false }, // 0x02 19:41 Krock and TOCLIENT_MOVE_PLAYER is reliable, whereas it could be unreliable. 19:53 MTDiscord sfan5 it was a question i had 8 years ago when i created the New packets handlers, and i decided to keep compat 21:32 MTDiscord Lol 22:34 [MTMatrix]_ Another funny bug #15010 22:34 ShadowBot https://github.com/minetest/minetest/issues/15010 -- Can't take screenshots anymore whilst in game 22:35 MTDiscord whomst added the whilst, I wonder 🤔 22:35 MTDiscord wonderst * 22:37 [MTMatrix]_ Imagine a world where there are more English variants than US English 22:43 MTDiscord I checked it out and "whilst" is considered definitely archaic in en_US but apparently it's disputed in en_GB. Even in en_GB though I've only ever heard it used for comedic effect, so I assumed that was the intent here. 22:45 [MTMatrix]_ ok, serious stuff now: are you able to reproduce the bug? 23:03 rubenwardy can you reproduce on 5.9.0? 23:03 rubenwardy with X11 23:07 [MTMatrix]_ rubenwardy: nope 23:08 rubenwardy ah good, not for 5.9.1 then