Minetest logo

IRC log for #minetest-dev, 2017-08-16

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:00 twoelk left #minetest-dev
00:00 est31 joined #minetest-dev
00:01 est31 left #minetest-dev
00:20 troller joined #minetest-dev
00:28 troller joined #minetest-dev
00:31 bigfoot547 joined #minetest-dev
01:33 troller joined #minetest-dev
01:34 torgdor joined #minetest-dev
01:36 troller joined #minetest-dev
02:00 troller joined #minetest-dev
02:02 CalebDavis joined #minetest-dev
02:02 troller joined #minetest-dev
02:04 troller joined #minetest-dev
02:38 troller joined #minetest-dev
02:44 Tmanyo joined #minetest-dev
03:32 electrodude512 joined #minetest-dev
03:51 troller joined #minetest-dev
03:58 troller joined #minetest-dev
04:14 troller joined #minetest-dev
04:19 troller joined #minetest-dev
04:28 YuGiOhJCJ joined #minetest-dev
04:59 jason joined #minetest-dev
05:09 Hunterz joined #minetest-dev
05:16 troller joined #minetest-dev
05:32 troller joined #minetest-dev
05:37 troller joined #minetest-dev
05:55 troller joined #minetest-dev
06:00 troller joined #minetest-dev
06:03 nerzhul joined #minetest-dev
06:14 troller joined #minetest-dev
06:18 troller joined #minetest-dev
06:24 troller joined #minetest-dev
06:24 nerzhul hello, i'm pushing code modernization on chat.cpp and cavegen.cpp
06:40 troller joined #minetest-dev
06:53 nerzhul pushing also in client.cpp/client.h
07:50 nore joined #minetest-dev
08:36 proller joined #minetest-dev
09:30 lisac joined #minetest-dev
09:34 nerzhul joined #minetest-dev
10:12 Megaf joined #minetest-dev
10:25 nerzhul joined #minetest-dev
10:43 proller joined #minetest-dev
11:04 Fixer joined #minetest-dev
11:09 DI3HARD139 joined #minetest-dev
11:29 CalebDavis joined #minetest-dev
11:30 ThomasMonroe joined #minetest-dev
11:40 Taoki[laptop]_1 joined #minetest-dev
11:42 Fixer https://forum.minetest.net/viewtopic.php?f=6&t=18293
11:52 nerzhul Fixer, did you use multiple emerge threads ? it's absolutely a bad idea with sqlite
11:52 Fixer nerzhul: not my bugreport
12:16 proller joined #minetest-dev
12:29 nerzhul guyz i published a configuration proposition: #6252
12:29 ShadowBot https://github.com/minetest/minetest/issues/6252 -- Reduce dedicated server step to 0.09 by nerzhul
12:29 nerzhul we optimized core many and many times, i think we can now reduce serverstep a little bit to enhance server reactivity by default for all users
12:30 nerzhul 10% sounds reasonable
12:30 nerzhul i run my server with 0.05 since 3 years without problems, but i ported many features to core engine
12:36 nerzhul don't hesitate to comment, end users too
12:48 Fixer i'm currently looking at light curve pr
12:52 nerzhul oh it's trivial change, it's only visible on loaded servers
12:52 nerzhul it's more a taste enhancement to reduce a little bit server latency
12:56 Fixer damn, that camera above head change on older servers is so annoying
12:56 Fixer unusual
13:23 troller joined #minetest-dev
13:33 ThomasMonroe joined #minetest-dev
13:38 Tre joined #minetest-dev
14:08 nerzhul joined #minetest-dev
14:09 nerzhul i updated dev.minetest.net/Changelog page
14:10 nerzhul 1 months of commits to report (not all reported, only user changes)
14:14 ThomasMonroe joined #minetest-dev
14:33 troller joined #minetest-dev
14:55 Fixer joined #minetest-dev
14:55 Lymkwi_ joined #minetest-dev
14:59 troller joined #minetest-dev
15:01 CalebDavis joined #minetest-dev
15:22 Hunterz joined #minetest-dev
15:28 Lymkwi_ Hello there fellas I have a small question : what are packets starting with the null byte after the protocol ID supposed to do?
15:28 nerzhul oo it's a good question nobody cannot answer without reading code i think
15:28 troller joined #minetest-dev
15:28 nerzhul i suspect it's used as a keepalive
15:28 Lymkwi_ It just says "do not use"
15:29 Lymkwi_ I assume so
15:29 Lymkwi_ But it locks a player slot, and in a few lines of python I was able to lock any server and prevent anyone from joining
15:29 Lymkwi_ I didn't see anything server side. Client side just said "too many players", and all I had to do was send, every ten second or so, a small payload of a dozen bytes
15:30 kensatya1 joined #minetest-dev
15:30 Lymkwi_ So I thought "well that's probably not the intended effect" and I went here to ask you about that
15:30 Lymkwi_ I mean. I paralyzed MFF's server a few minutes ago and apparently nobody noticed but I couldn't even join myself.
15:35 nerzhul Lymkwi_, i'm pretty sure it's easy to lock any server using any such thing yes
15:36 Lymkwi_ Less than 25 lines of python can do that, apparently
15:36 nerzhul you can do a such thing on any tcp apache default server by using python and opening 200 tcp sockets too
15:36 nerzhul yes, with some libs you can do this eastyly
15:37 Lymkwi_ Rudy or Slow loris, yes
16:14 antims joined #minetest-dev
16:21 Krock joined #minetest-dev
16:24 troller joined #minetest-dev
16:38 cx384 joined #minetest-dev
16:58 nerzhul joined #minetest-dev
17:13 DI3HARD139 joined #minetest-dev
17:32 Fixer_ joined #minetest-dev
17:43 twoelk joined #minetest-dev
17:46 proller joined #minetest-dev
18:37 Grandolf_ joined #minetest-dev
18:39 Grandolf joined #minetest-dev
18:54 behalebabo joined #minetest-dev
19:11 RobbieF left #minetest-dev
19:19 Megaf joined #minetest-dev
19:21 Player_2 joined #minetest-dev
19:26 lisac joined #minetest-dev
19:38 fwhcat joined #minetest-dev
19:39 sfan5 anyone have any comment on https://github.com/minetest/minetest.github.io/pull/103 ?
19:39 sfan5 if not then i'd merge this later
19:39 nerzhul ok for me
19:40 nerzhul fuck travis macosx :(
19:40 fwhcat ok even if I don't have a mac ^^
20:03 nerzhul merging #6255 in ~ 10 mins
20:03 ShadowBot https://github.com/minetest/minetest/issues/6255 -- Cleanup various headers to reduce compilation times by nerzhul
20:03 nerzhul it's nice to seem gcc longest builds reduced from 12 mins to 10 mins :p
20:04 nerzhul less time spent on CI, more commits, faster heh
20:04 nerzhul all header were not optimized but many common headers, we can do better in a later commit :)
20:04 nerzhul thanks sfan5 for the review
20:08 nerzhul sfan5, maybe 6254 should be private? the fix will be not easy
20:08 nerzhul except if we can change the session counter to count only CS_Active sessions instead of session list size
20:10 sfan5 it should only count cs_active yes
20:11 nerzhul i merge the include fix and look at it
20:11 nerzhul build is green except macosx stuck
20:12 nerzhul https://github.com/blog/2415-introducing-embedded-code-snippets nice
20:16 nerzhul ok i can easily mitigate the slot problem
20:17 nerzhul but i cannot easily fix the memory overhead if this packet is flooded to server
20:18 lisac #6257
20:18 ShadowBot https://github.com/minetest/minetest/issues/6257 -- Make world creation menu automatically generate a random world name by lisacvuk
20:18 nerzhul sfan5, does isUserLimitReached sounds good for a function checking if slots are full ?
20:18 lisac can someone review?
20:19 nerzhul function name*
20:19 sfan5 it doesn't need to be separate functions tho
20:19 sfan5 just change
20:19 sfan5 if (m_clients.getClientIDs(CS_Created).size() >= g_settings->getU16("max_users") &&
20:19 sfan5 to
20:19 sfan5 if (m_clients.getClientIDs(CS_Active).size() >= g_settings->getU16("max_users") &&
20:19 nerzhul the check is currently ugly i want ClientInterface to have a function :p
20:19 sfan5 fine by me
20:19 sfan5 that name sounds okay
20:20 nerzhul also we have two place for this check, the compat code too
20:20 sfan5 right
20:20 nerzhul (which will be removed at release, 2 years passed for this proto)
20:26 nerzhul sfan5, #6258
20:26 ShadowBot https://github.com/minetest/minetest/issues/6258 -- ClientInterface: add a function to verify (correctly) if user limit was reached by nerzhul
20:26 nerzhul i should just ensure a thing
20:26 nerzhul because we have transitional states
20:27 sfan5 nerzhul: perhaps add a comment inside that func why you use _Active instead of _Created
20:28 nerzhul regarding clientiface.h it seems CS_Active is not the best state to check
20:28 nerzhul or, we should check that slot multiple times in initialization
20:28 nerzhul because if a player is auth and another is initing, both can connect and we can have max_user = 16 > 15 :p
20:29 Taoki[laptop] joined #minetest-dev
20:29 sfan5 no
20:29 nerzhul init is the first packet
20:29 sfan5 the second player will get rejected in their INIT pkt
20:29 sfan5 nah
20:29 sfan5 you can create a connection w/o sending a pkr
20:29 sfan5 pkt*
20:29 nerzhul you send init, server looks slots and said ok, switch you to hellosent
20:30 sfan5 you skipped a whole state here
20:30 nerzhul then a second comes, send init, server looks, slots are alaways ok, no more CS_Active added, he is in hellosent
20:30 nerzhul which ?
20:30 sfan5 CS_Created
20:30 nerzhul CS_Created is the session object creation
20:30 nerzhul but check is done in Init
20:31 nerzhul the first packet handling
20:31 sfan5 this will work if the check counts no. of players in a state "higher" than CS_Created
20:31 nerzhul if we check active, all current users between init and active (excluded) will not be counted as max_user
20:32 nerzhul then you can have, 14 users in Active state, 5 in InitDone state, 3 in HelloSent state
20:32 nerzhul for 15 slots
20:32 sfan5 yes yes i understand
20:33 nerzhul AwaitingInit2 can be better
20:33 nerzhul or
20:34 sfan5 according to the flowchart only legacy clients have that state
20:34 nerzhul no
20:34 sfan5 wait no
20:34 sfan5 but then you'd be skipping HelloSent
20:34 nerzhul yes, but it's not important
20:34 sfan5 why not?
20:34 nerzhul the most important is to re-do the check somewhere before switching to CS_Active
20:34 sfan5 it's past the init pkt meaning you could bypass the limit
20:35 sfan5 hm
20:35 nerzhul maybe re-do it before sending content ?
20:35 sfan5 well that would mean whichever client is faster at auth gets in
20:35 sfan5 why not just change the counting to keep this simple?
20:35 nerzhul what do you want ?
20:36 nerzhul i think checking it just before making session active ensure you cannot have more CS_Active users
20:36 sfan5 count every state between CS_HelloSent and CS_Active
20:36 nerzhul one in init time to drop bad users and on late
20:36 nerzhul oh
20:36 nerzhul yes it's possible
20:37 nerzhul and we should re-do the same check before setting session to CS_HelloSent flag
20:37 sfan5 then only missing are: Created, Denied, Disconnecting, SudoMode
20:37 nerzhul to ensure we cannot bypass the limit
20:37 sfan5 why not add an assert there
20:38 nerzhul you will crash server if a rogue client happen, just check the session and discard it properly is better than crash due to external cause :p
20:38 sfan5 well it doesn't need to be an assert
20:38 sfan5 but make clear that this should not happen and whoever sees it should open a bug
20:39 nerzhul i know this will happen
20:39 nerzhul and we have the fix, discard the user
20:39 nerzhul then discard :p
20:44 nerzhul hellosent state is special
20:44 nerzhul init switches from CS_Created to CS_HelloSent in the init packet
20:45 nerzhul and do the intermediate check for HelloSent
20:45 nerzhul then it seems good without any more
20:45 nerzhul yes okay, letting like this
20:48 nerzhul #6258 updated, if you are okay i can merge it when build is okay
20:48 ShadowBot https://github.com/minetest/minetest/issues/6258 -- ClientInterface: add a function to verify (correctly) if user limit was reached by nerzhul
20:53 sfan5 looks good to me
20:55 sofar neat cleanups btw
20:55 nerzhul sofar, which cleanup ?
20:55 sofar the loop stuff etc
20:55 nerzhul somebody should do it xD
20:55 sofar plus header cleanups
20:56 nerzhul yeah i take time to make mt cleaner, years of dev without rechecking it make it crazy sometimes
20:56 sofar could we switch to #pragma once?
20:56 nerzhul i want but no consensus
20:56 nerzhul maybe i should open an issue to vote ?
20:56 sofar I'm all for it, #define BLA_HEADER is dumb
20:57 sofar there's not a single check for BLA_HEADER anywhere
20:57 nerzhul yeah i agree, it's not in the norm but it's supported by all decent ocmpilers :p
20:57 nerzhul and you don't pollute your compiler with macros :p
20:57 sofar we have like 200+ header files
20:57 sofar well, $somelargeval
20:58 nerzhul yeah but with last PR you include less files per cpp :D
20:58 nerzhul at a point we can compile MT on a RaspberryPI 1 without trigger oomkiller haha
20:58 nerzhul triggering*
20:59 nerzhul sofar, can you vote on my post on 6252 please instead of a separate comment ? :p
21:00 nerzhul and if sfan5 or sofar you want 0.075 it can be possible it think without penaly on current engine
21:00 nerzhul penalty*
21:00 nerzhul 0.09 is safer for me, but we can reduce it a little bit more if needed
21:00 sofar ahh sure
21:00 sofar done
21:01 nerzhul ty :D
21:04 nerzhul sfan5, nore rubenwardy sofar please vote on #6259
21:04 ShadowBot https://github.com/minetest/minetest/issues/6259 -- C++11 header guards: switch to #pragma once
21:04 nerzhul i hope we can have more votes, smalljoker is okay for it too
21:04 nerzhul only sfan5 doesn't told us if he wants and paramat doesn't care if i remember
21:06 nerzhul who stole my travis build slots !
21:08 nerzhul sfan5, can you re-take a look at #6153 when you get time, it's a nice thing :)
21:08 ShadowBot https://github.com/minetest/minetest/issues/6153 -- Windows: Cpack wix installer by adrido
21:09 sfan5 sure
21:11 rubenwardy https://github.com/buildaworldnet/IrrlichtBAW/releases/tag/v0.2.3
21:14 sfan5 their irrlicht is still useless for us since they ripped out all GUI stuff
21:15 Darcidride joined #minetest-dev
21:16 nerzhul oh :(
21:16 nerzhul time to build a 3d UI xD
21:16 Fixer M O T I F
21:17 rubenwardy at some point it may be worth using a non-irrlicht GUI
21:17 Fixer nerzhul: in a few seconds will see a results for compiling times improvement**
21:18 rubenwardy some Irrlicht devs themselves told me that the GUI in Irrlicht is purposely simple
21:18 nerzhul rubenwardy, i started to test a XML/HTML usage to replace formspecs, not using irrlicht or not using current formspec irrlicht fixes is just a pain :p
21:18 nerzhul Fixer, on windows with VS i'm nore sure you will see many thigns if VS used a precompiled header
21:19 Fixer nerzhul: 3 seconds faster... 6 min in total, probably within statistical error, no effect, msys2/mingw64
21:19 nerzhul mingw doesn't have improvements, only gcc on linux and a little bit on clang
21:20 nerzhul and all is not finished yet, maybe i will continue tomorrow but i was working on various modernizations
21:21 nerzhul sfan5, can you vote on 6259 please too ?
21:22 nerzhul we currently have 3 coredev votes, if you and smalljoker votes too i will start the PR if nobody else wants to replace all headers, and we can add a dev rule for it :)
21:22 sofar nerzhul: rapidxml?
21:22 nerzhul sofar, libxml2
21:22 sofar isn't that way too bulky?
21:22 nerzhul wait
21:22 nerzhul i can't remember :p
21:22 nerzhul libxml2 is another project i use
21:23 sofar rapidxml would be compatible and we'd include it in-tree
21:23 nerzhul yeah i use libxml2
21:23 sofar MIT/Boost licensed, C++, 43kb download size (zupped)
21:23 nerzhul irrlicht has a xml parser too :p
21:24 sofar well I'd keep the reliance on irrlicht to a minimum if we can
21:24 nerzhul https://gitlab.com/project-demeter/core/blob/7e9219b7994d50d9630c8a7f74c3ebbd7b0cd87c/client/menus/mainmenu.xml here is my xml main menu :p
21:24 nerzhul my main problem is the event handling
21:24 nerzhul i haven't found a good wait to handle events
21:25 nerzhul way*
21:25 nerzhul (i'm tired sorry)
21:25 nerzhul the XML library is not very important here
21:26 sofar it is if it increases size of minetest and makes it hard to build on win/mac etc.
21:26 nerzhul here is the parsing
21:26 nerzhul https://gitlab.com/project-demeter/core/blob/7e9219b7994d50d9630c8a7f74c3ebbd7b0cd87c/src/client/contrib/ui_menu.cpp#L212
21:26 nerzhul no real recursion, but i read all node elements :p
21:26 nerzhul with a nice function pointer handler heh
21:27 nerzhul sofar, if rapidxml is tiny why not
21:27 nerzhul XML loading permits to have nice interface defintions intead of raw strings and it's evolutive :)
21:29 nerzhul sofar, it seems rapidxml is as easy as libxml parsing for our needs and how i used libxml2 :)
21:29 sofar no worries, it was a suggestion
21:29 nerzhul yes but i will not work on a such thing you can if you are crazy :D
21:29 sofar ls
21:29 sofar wheps
21:29 nerzhul i prefer finish code maintenance before
21:30 bigfoot547 joined #minetest-dev
21:30 nerzhul i need to finish passing clang-tidy analysis on the whole code, only 25% was analysed/fixed , and if we want pragma we need a big commit, same thing for header maintenance, we are at 30%
21:31 sofar oh, if you want me to do another coverity scan when you're done with that
21:31 nerzhul i will continue to do little trivial commits on the morning to modernize step by step code using clang tidy
21:31 sofar let me know and I'll upload a new scan
21:31 nerzhul if you want we can do that later yes
21:31 sofar at least try and do one scan every release or so
21:31 nerzhul rubenwardy talked about lcov and gcov it can be good but we need to cover the whole code heh
21:32 nerzhul sofar, yes, using various tools
21:32 sofar yup
21:32 nerzhul clang-tidy can be integrated in CI when i finished to pass it over files, if needed
21:32 sofar lcov is nice
21:32 rubenwardy having code coverage analytics is a good way to encourage tests. Although maybe not so much with MT
21:32 nerzhul it will permit to ensure the common sense rules are used by PR owners
21:32 nerzhul rubenwardy, why did you close the PR ?
21:33 rubenwardy because I'd rather not leave such a small PR open whilst it needs lots of work
21:33 nerzhul having it in gitlab-ci can be nice, daily report generation, just before daily snaps
21:33 nerzhul you can just take the links i set and copy/paste code :p
21:34 nerzhul 2 gitlab ci steps and a little cmakelists fix and it's good
21:34 nerzhul the only thing i don't understand with gcov/lcov is how he thinks it's covered or not, on the library i own i have many unittests on many parts and covered parts are lower than real unittested parts
21:36 sofar unit tests work well for codepaths that catch rare errors
21:36 sofar unit tests does lousy for code that gets run thousands of times
21:40 lisac joined #minetest-dev
21:42 Taoki[laptop] joined #minetest-dev
21:47 Taoki[laptop] joined #minetest-dev
21:48 nerzhul merging #6258
21:48 ShadowBot https://github.com/minetest/minetest/issues/6258 -- ClientInterface: add a function to verify (correctly) if user limit was reached by nerzhul
21:50 Tmanyo joined #minetest-dev
22:02 nerzhul merging #5279 in ~10 mins
22:02 ShadowBot https://github.com/minetest/minetest/issues/5279 -- New lighting curve by numberZero
22:04 Fixer joined #minetest-dev
22:36 troller joined #minetest-dev
22:51 kensatya joined #minetest-dev
23:01 kensatya1 joined #minetest-dev
23:35 behalebabo joined #minetest-dev

| Channels | #minetest-dev index | Today | | Google Search | Plaintext