Time Nick Message 00:00 paramat the niggest issue i see with servers is the automatic use of hundreds of mods, many badly coded and over intensive, then complaints about performance and MT devs getting the blame. but, it's expected from kids who don't know better yet 00:02 paramat tumeninodes just add new registration functions, copypaste them from the others, and change the nodebox def as i showed you on github 00:03 paramat oops, *biggest heh 00:03 sfan5 (to me, the solution is simple: perform the compositing one time only, and "re-render" only the completed, static image) 00:03 sfan5 fyi that's what MT actually does 00:04 sfan5 i'm not sure if it does a lookup of textures every frame or how that works, but the tile.cpp code will cache any applied modifiers 00:05 paramat we are always working on improving performance, just a case of dev time, not a case of neglect as some believe 00:07 paramat server owners just have to work within current limits instead of overloading MT 00:07 Shara paramat: we know, but there definitely are issues which it is not easy for server owners to overcome 00:08 Shara It's about placing blame (at least for me) anyway 00:08 Shara It's not* 00:08 Shara Heh, bad typo 00:09 Shara The issue for me is how difficult it becomes to maintain a server over time when the auth file gets bigger and bigger (that practically broke my server at one point due to the insane amount of checks being done on such a large file)... then the map becoming increasingly larger and more and more difficult to work with 00:10 Shara The solutions are not always easy though. 00:10 Shara And sometimes it's just about adjusting expectations instead 00:12 paramat yeah, there are issues 00:13 paramat stuff that simply isn't acceptable 00:13 paramat ugh this 4w / linuxdirk guy ^_^ 00:14 Shara I suspect server owners start "blaming" devs so often for things because features get introduced that we don't want or actively dislike (sometimes very strongly), and from the outside it can seem that developer time is much better spent on fixing the issues and not adding new headaches. 00:14 paramat i agree with you there :] 00:14 Shara REality doesn't go that way of course, because volunteers. 00:14 paramat (CSM) 00:14 Shara (Exactly) 00:16 Shara CSM is all about servers... but server owners do not want it... yet we're stuck with it. 00:16 Shara But let's not start that pointless conversation again :) 00:21 Fixer Shara: bump nerzhul to introduce auth in sqlite, if map is too big to your, you can limit and trim it to smth like +/- 5000, it is still huge and will take decades to be full 00:21 Shara Fixer: no good. Need the PRs paramat has been working on for a real solution. 00:22 Fixer Shara: also, bump some guys to introduce smart mapblock saving 00:22 Shara Also I already moved my auth to a db on the server that had that problem. Not waiting who knows how long for devs to do it 00:22 Shara Some things modders can handle, even if there shouldn't be a need :) 00:23 Shara Yes well, I'd love very much to see better handling of how maps are saved... but you can't force a dev to work on something that they don't want to 00:23 Shara And I doubt that would be a small thing... and would it even help on existing maps? 00:24 paramat rubenwardy 4w seems to be trying to stir up paramat hate, at some point i'll consider this personal attacks which if continued means a possible ban from github, like mr. k 00:24 Fixer Shara: nerzhul has the code, he needs to backport it 00:24 Shara Fixer: code for which thing? 00:24 Fixer nerzhul: ^^^vvv 00:24 Shara We've covered a few different points there 00:24 red-001 paramat, colour me surprised 00:24 Fixer Shara: db auth 00:25 paramat k is halfway to a github ban currently 00:25 Shara paramat: link? I do love to thumb down stupid pointless insulters 00:25 red-001 it's 4w he is basically a well known troll 00:25 red-001 paramat, who is k? 00:25 Shara Fixer: I don't need db auth. I have db auth 00:25 paramat obvious 00:25 red-001 no its not 00:25 Shara Is to me 00:25 Fixer Shara: and it helped you, right? 00:25 red-001 oh french graphics coder? 00:26 Shara :) 00:26 paramat yes 00:26 paramat https://github.com/minetest/minetest/pull/7030#issuecomment-364566051 00:26 Shara Fixer: Yup. Not saying it wouldn't be good to add, just too late for me really, and could even give me trouble on one server 00:26 Shara And well, there's a mod that does it quite nicely now 00:27 red-001 unlike k graphics 4w also doesn't contribute in any way 00:28 paramat i can cope with 4w as long as it doesn't get personal 00:28 red-001 paramat, is that qoute basically the gist of it? 00:37 Shara red-001: follow the link paramat gave there and there is more 00:41 red-001 Shara, got a script that hides 4w comments and it's kinda a pain to enable and disable 00:44 Shara heh 00:46 red-001 also it's a massive hack since I didn't figure out how to get the code to run after that whole update only loading thing the js or something does, so I kinda just detect the url change a set a bunch of timers to have my code run hoping at least one of them will run after the new content loads 00:47 red-001 s/a set/ and set 00:52 paramat yes the quote is essentially it, except he wrote the same 4 days ago in the issue 01:02 Fixer on of the minecraft oldest servers (8 years old) has map limit just smaller than mt one (radius of about 30km) 01:02 Fixer one* 01:30 VanessaE sfan5, RBA may have been referring to texture lookups. idk for sure. 01:31 VanessaE it's been way too long and we can't ask him now :-/ 01:32 VanessaE paramat: why can't *static, immovable* entities be lightweight? can they not be turned into ordinary scenery? 01:32 VanessaE s/scenery/geometry/ 02:00 paramat they can probably be more lightweight, just not as lighweight as a node 02:00 paramat the experts think entities are too intensive currently 02:49 tumeninodes paramat: thank you 03:20 Megaf it possible to remove world size limit in Minetest? 03:20 Megaf is it* 03:25 VanessaE no. 03:25 VanessaE not without compatibility problems 03:26 Megaf well, what if I dont mind about compatibility? 03:27 VanessaE *shrug* 03:28 * Megaf browsers the code 03:28 VanessaE it's been requested before but the devs don't think it's needed. 03:28 tumeninodes give it a whirl and see.. :D 03:51 Megaf In accordance with your request, the nsxxx210.ip-5-196-88.eu server has now been deleted. 03:51 Megaf This operation is irreversible. 03:51 Megaf I think my server is gone forever ^ 03:51 Megaf rubenwardy: I just canceled my Kimsufi 03:51 Megaf tomorrow I will be removing my Linode as well 04:22 paramat "it possible to remove world size limit in Minetest?" no it's hardcoded by the co-ordinate integer type s16 04:23 Megaf I shall make that a gloat 04:23 Megaf float* 04:23 paramat heh 04:24 Megaf paramat: so basically it's possible to increase the size without much code change tho it would be harder to remove the limit 04:24 benrob0329 If you go much further out, floating point becomes too imprecise as well 04:24 Megaf I like the idea of trully ulimited map size 04:24 paramat it's a big job to alter every s16 to a s32, but possible 04:25 benrob0329 You'd have to move the world around the player, rather than the player around the world for truly unlimited iirc 04:25 Megaf benrob0329: that is VERY pylosophical 04:25 Megaf whatever you spell that 04:25 paramat it wouldn't be unlimited, just very very big 04:26 benrob0329 True 04:26 benrob0329 We'd need to use 64bit coords as well 04:26 Megaf not a problem 04:26 Megaf why not 128 bit? 04:27 Megaf soon we gonna see 128 bit CPUs 04:27 benrob0329 Because 64 is the largest currently usable by most computers 04:27 Megaf They are out there already, for very specific stuff 04:27 benrob0329 Without major performance problems 04:28 VanessaE because s64 would be such a huge map size you couldn't store it all on a consumer hard drive anyway. 04:28 benrob0329 Also that 04:28 benrob0329 But that would allow for space to be truly, well spacious 04:29 benrob0329 Also the main world could be a single planet 04:29 paramat all that world would never become generated anyway 04:29 VanessaE Megaf: at s64, the map could go to +/- 4'294'967'296m 04:30 benrob0329 That would be awesome, but also horridly difficult to implement afaik 04:30 paramat s32: 2 billion nodes in every direction 04:31 Megaf hold your horses 04:31 VanessaE or that, too. 04:31 Megaf so 04:31 Megaf can we make theworld larger using s32 then? 04:31 Megaf I mean 04:31 Megaf wait 04:32 Megaf we use s16 currently 04:32 Megaf so, drawbacks in going s32? 04:32 VanessaE if you go beyond s16, it could be whatever, the lack of compatibility would be the same 04:32 paramat so the vector co-ord would need to be <= 64 bits? so a limit of 21 bits per axis? 04:32 benrob0329 And potentially end up with the mapgen algorithms spiraling out of control 04:32 VanessaE mainly functions that hash node or block positions 04:33 Megaf it's 4:32 AM and I'm here talking about 32 bit integers and mapgen algorithms 04:33 benrob0329 Sounds like a normal day 04:33 Megaf That's the scariest part 04:34 benrob0329 paramat: mapblock relative coords might need to be a thing 04:34 VanessaE paramat: well, that would work too. 2M nodes per axis then 04:34 Megaf I like the sound of that 04:34 benrob0329 Or even better, octree coords :^) 04:34 VanessaE (that'd be about half the size of the US) 04:34 VanessaE (I think) 04:34 Megaf Two Million Nodes https://i.ytimg.com/vi/cmQLnBtDjbw/maxresdefault.jpg 04:35 Megaf http://i0.kym-cdn.com/entries/icons/original/000/002/252/NoMeGusta.jpg 04:36 benrob0329 I mean, I'd probably donate towards such a change 04:36 Megaf any change we can have the same area as Earth? 04:36 benrob0329 0.6 anyone? 04:36 Megaf benrob0329: oh boy 04:36 Megaf benrob0329: if you open a github issue for that I will support it 04:37 benrob0329 We need bounties 04:37 benrob0329 I'd donate to a few issues if I could 04:38 VanessaE lesse. earth is 40074 km in circumference... so you'd need 22 bits per axis 04:38 VanessaE so minimum s128. 04:39 VanessaE well, 22 bits on X/Y 04:40 Megaf Earth is big 04:40 VanessaE so s64 would do, if you don't mind limiting Z to 20 bits (1048 km) 04:41 Shara Random test of sea corals using rooted drawtype: http://gingercat.tk/dg/hw_coral_test.png 04:41 VanessaE so 64 bits would be enough to model the earth down to a depth of ~948 km 04:41 Shara No more horrible flickering/air mess! 04:41 VanessaE nice, Shara 04:42 paramat good stuff 04:43 Megaf Shara: Now I know how you wanted to draw the corals... 04:43 Megaf :P 04:43 Shara :P 04:43 benrob0329 Shara: noice 04:43 Megaf the same colours I was thinking about 04:43 Shara Needs a lot of work still, but first step toward coral ocean biome anyway 04:44 VanessaE Megaf: so. gonna convert us to 22/20/22 bit coords? :) 04:45 Megaf eh 04:45 Megaf we could use something GPS like 04:45 Megaf based on degrees 04:45 VanessaE no. 04:46 Megaf Shara: some of the corals could hurt if touched 04:46 VanessaE the result would be even less compatible than it is now 04:46 Megaf precisely 04:46 paramat degrees is for spheres 04:47 Megaf how do you navigate in a cube? 04:47 Megaf cuboid* 04:48 Megaf maybe current coord system is optimal 04:53 Megaf [04:44:36] Megaf: so. gonna convert us to 22/20/22 bit coords? :) 04:53 Megaf how hard can that be? 04:53 VanessaE famous last words. ;) 04:55 Megaf eh 04:58 Megaf meh, Im having a look at the code 04:58 Megaf every single mapgen and 100s of other files redefine s16 all the time 04:58 Megaf cant we just define that once in a .h file? 04:58 Megaf https://github.com/minetest/minetest/search?p=2&q=s16&type=&utf8=%E2%9C%93 05:00 Megaf (I dont know what Im talking about) 05:06 Sokomine rather than enlarging the world an option to remove map blocks that where generated once and never changed by players might be helpful. disk space is cheap but not unlimited 05:08 Sokomine Shara: nice corals. are they flowerlike? 05:09 Shara Sokomine: plantlike_rooted 05:09 Megaf hum, mapblocks after certain range from buildings could timeout and be degenerated 05:13 Sokomine Megaf: currently can't be done. we have no idea if players did anything in the mapblocks. or when they where last loaded or created 11:35 CWz happy 200+ server, minetest! 11:48 Krock CWz, that's nothing new actually 11:48 Krock > peak 504 11:49 sfan5 the peak value actually isn't accurate 11:49 sfan5 but yeah we've had >200 servers before 13:49 Jordach 992 tris for an automatically extruded entity 13:55 Jordach !tell benrob0329 https://i.imgur.com/3jQ58MG.png 13:55 MinetestBot Jordach: yeah, yeah 14:01 Jordach https://i.imgur.com/mpCQufk.png it mostly likes complex shapes 14:13 Jordach https://i.imgur.com/IMnFZnz.png 14:46 Megaf Hello everyone 14:47 Krock hi Megaf 14:47 Krock Jordach, I see potential $.$ 14:48 Megaf Blender is so underestimated by many people 15:41 Calinou death to Source FilmMa-- 15:41 Calinou oh wait… 16:12 Jordach SFM is better than blender for animating 16:20 red-001 mods can put thier own settings in the secure namespace right? 16:21 IhrFussel I found the source of my protection problem 16:22 IhrFussel 2018-02-10 17:20:21: ERROR[Main]: AREAS FROM FILE ARE NOT A TABLE 16:22 red-001 that just means the data is corrupted 16:23 IhrFussel It's weird how it always works on 2nd try without changing anything 16:23 red-001 IhrFussel, did the file exist when you got that error, if yes did it look like some data got cut off while writing it? 16:23 red-001 yes the areas mod overwrites the file if it fails to load it 16:23 IhrFussel Now the question is why doesn it fail to load sometimes 16:23 IhrFussel does* 16:24 IhrFussel io.open() gives no error 16:24 red-001 IhrFussel, does the data get wiped on second try? 16:24 IhrFussel No 16:24 red-001 huh 16:24 IhrFussel It's the exact same file 16:24 red-001 oh it must have been destroyed when someone modified something relating to protection after it failed to load 16:25 red-001 IhrFussel, copy the deserilize function to a lua sandbox and run it a few hundard times on that data and see if it works? 16:26 shivajiva is it like deserialize fails because the data appears not to be a table even though it is? 16:26 shivajiva because the error points to that 16:27 red-001 shivajiva, could be data not being fully loaded 16:27 IhrFussel if type(self.areas) ~= "table" then minetest.log("error","AREAS FROM FILE ARE NOT A TABLE") self.areas = {} 16:27 red-001 nil after all is not a table 16:27 IhrFussel The weird part is that it only started happening recently 16:27 shivajiva and a missing final brace isn't either 16:27 red-001 IhrFussel, could you also do a minetest.log("error", dump(self.areas)) before discarding the data? 16:28 shivajiva yea ^ 16:28 red-001 and really if the files exists and can't be loaded the mod should error out 16:28 red-001 file* 16:28 shivajiva lets see what it's got 16:28 red-001 and maybe dump the length of the raw data read from file 16:29 red-001 that should show if it's getting cut off 16:31 shivajiva your check is stopping the file being overwritten thankfully 16:31 red-001 shivajiva, no? 16:31 red-001 logging an error doesn't crash the state 16:32 red-001 you're thinking of error("") 16:32 red-001 (unless there is some setting no-one told me about) 16:33 shivajiva I thought type checking forced it to error? 16:33 red-001 no 16:34 red-001 assert(type(self.areas) ~= "table") would error out 16:34 red-001 on it's own type(self.areas) ~= "table" just returns false 16:34 IhrFussel If I'm not quick and someone protects something the file will be a new one 16:35 IhrFussel It doesn't happen right now...I'm restarting 10 times now 16:36 shivajiva yea it's asserting it that would :) 16:36 shivajiva had to check my sauth code :P 16:38 IhrFussel But if it loads mostly fine and sometimes fails it's 99% not a write error correct? 16:39 shivajiva yes that would be logical 16:39 red-001 I would assume so 16:40 shivajiva it points to deserialize failing the other 1%, time for an issue? 16:40 IhrFussel areas doesn't save the data on shutdown so if it fails to load once and I restart without anyone saving something and it *suddenly* works fine then the problem must be the loading of the file 16:41 shivajiva but not io 16:42 shivajiva diff error for io 16:43 IhrFussel No io.open() error in both cases...read and write 16:43 shivajiva it has a handle on the file or it doesn't at that stage 16:44 shivajiva if lua had an issue reading files it would have been picked up long ago 16:45 shivajiva so the next process is deserialize 16:46 IhrFussel self.areas = minetest.deserialize(file:read("*a")) 16:46 shivajiva lets sit on it till you can dump the table and it's length 16:47 shivajiva remember xban suffered similar issues and was happy to overwrite it's file 16:53 sfan5 are you using safe_file_write yet? 16:54 IhrFussel It's not about writing, loading fails without writing 16:55 IhrFussel The protection file itself is fine, it contains return { DATA } 16:56 IhrFussel I also don't believe that I shutdown the server now the 4th or 5th time in 1 week at the exact time when a player tried to protect something...very very very unlikely 16:57 IhrFussel And debug.txt would contain "minetest.log("error", "[areas] Failed to serialize area data!")" if saving failed 16:58 IhrFussel io.open() after that also has no error else Id see "minetest.log("error","FATAL AREAS ERROR ... COULD NOT WRITE TO FILE, ERROR CODE: "..err)" 17:00 IhrFussel Really I added several minetest.log() lines to loading/saving and only the result of minetest.deserialize() throws an error 17:02 sfan5 is your file too large perhaps? 17:02 IhrFussel And it appears to be random...I cannot find a pattern (yet) 17:03 IhrFussel 932 KB 17:06 IhrFussel I added now a dump(self.areas) in case it fails again and minetest.deserialize() says it's not a table ... just a matter of time until I can tell what the log reports as output 17:07 shivajiva excellent 17:07 IhrFussel Can dump() handle any data type? 17:08 shivajiva anything but user data, that's the only time it fails 17:08 IhrFussel I can only imagine if it's not a valid tab le sometimes, it's likely a bren string 17:08 IhrFussel broken* 17:10 IhrFussel could a ~ 1 MB file cause problems in lua? 17:11 Shara I don't believe so, given xban files used to get much larger before troubles started 17:12 shivajiva it's more like >5 MB where it gets funky with xban 17:12 Shara My areas.dat is 875KB and no issues... yet 17:12 Shara But not that far behind yours 17:13 IhrFussel I also don't think it can be the SSD...if it was faulty I would probably have way worse problem s than just a large file not loading sometimes 17:14 shivajiva I've looked at areas and it has to be rewritten if it's going to utilise a db correctly 17:20 Shara Well, away for a while now, but I am concerned areas is a potential problem my server will also hit at some point... 17:22 Megaf Shara: why you say that? 17:22 Megaf I've been using areas since my first server, only had problems twice 17:22 Megaf :) 17:22 Shara Because everything else that was not in a db broke so far 17:22 Shara But... away now :P 17:22 Megaf Okidoki 17:23 IhrFussel I experience those corruption problems since 2 weeks now ... didn't update MT recently...I did sometime in January the upgrade to 0.4.17 17:24 IhrFussel Not sure if 0.4.17 changed minetest.deserialize() or any corresponding c++ code 17:25 IhrFussel related c++ code* 17:28 Megaf I wonder if it could be related to UTF-8 or non UTF-8 stuff in areas names 17:29 Megaf Minetest has serious problems with accents and non English stuff, lile á, ç and ê 17:29 Megaf Often it inteprets those as strings of stuff 17:33 IhrFussel That doesn't really explain why it fails to load after 1 restart but succeeds after another 17:39 Megaf !title https://en.wikipedia.org/wiki/CopperheadOS 17:39 MinetestBot Megaf: CopperheadOS - Wikipedia 17:39 Megaf Android distro focused on security 18:17 Fixer DATA PROSPECTATOR 18:18 Megaf !server Megaf 18:18 MinetestBot Megaf: Megaf Server v4 | 163.172.154.119:30003 | Clients: 0/20, 0/2 | Version: 0.4.17-Megaf / MegafXploreNext | Ping: 12ms 18:19 Megaf Will eventually move it to Amterdam 18:20 red-001 pretty sure minetest.(de)serialize is all Lua 18:20 rubenwardy yes 20:05 sofar goddammit nextcloud you piece of shit 20:07 Krock NEEDS CAPS LOCK 20:08 Fixer HE LOVES YOU 20:09 sofar the upgrade from 11 to 12 to 13 leaves you stuck at 12 because 12 doesn't support php-7.2 20:09 Jordach nice 20:10 sofar and a completely broken install, too 20:17 Fixer is this shaders or smth http://minecraftonline.com/w/images/c/c4/3WYfn91.jpg 20:20 Jordach render 20:20 Jordach GLSL shaders don't make fireflies everywhere 20:53 Calinou sofar: don't you mean that 13 doesn't support PHP 7.2? 20:53 sofar 12 20:54 sofar but you can't skip it when upgrading 21:13 Jordach wonders of open source 21:18 Jordach https://www.openhub.net/p/minetest-c55 21:21 Jordach !tell paramat you've got 603 commits to Minetest Engine :D 21:21 MinetestBot Jordach: I'll pass that on when paramat is around 21:22 red-001 that data is really outdated last I checked 21:22 red-001 couldn't figure out how to fix it 21:27 rubenwardy it over estimates 21:27 rubenwardy maybe because it counts the same commit multiple times 21:27 rubenwardy due to be on different branches 21:28 rubenwardy paramat has 342 actual commits 21:30 red-001 also it lists paramat's first commit as being a year ago 21:31 red-001 looks like it lists every email as a seperate user 21:56 Calinou red-001: .mailmap can be used to fix that 21:56 Calinou but not all services read it 21:56 Calinou ("git shortlog" will take .mailmap into account, for example) 21:56 Calinou a .mailmap was added recently to godotengine/godot :) 22:16 Fixer inactive: 77%, heh 22:20 Fixer omg, mc2 has 185 issues open and 280 closed 22:33 Fixer sofar: prune throws me error when trying to prune: Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo to work. This is a stub 22:33 Fixer sofar: win7sp1 22:51 Krock Does anyone have an idea why LuaJIT could panic when raising an luaL_error or using luaL_checklstring on a table? 22:53 Krock probably not the right place to ask