Time Nick Message 00:22 paramat i wrongly thought that existing worlds would be affected, not so it seems 00:40 hmmmm it doesn't break existing worlds because existing worlds read mgflags 00:41 hmmmm when I said that enabling them by default would break existing worlds, you modified the default internal mgflags value that is modified by map_meta.txt. that would break existing worlds. 00:43 paramat yep 00:58 paramat found it, that was when i moved dungeons and jungles flags from game to engine. if snowbiomes are made default it would be done using mgv6_spflags in .conf 01:54 hmmmm hey paramat, are you around? 01:54 hmmmm how finished is your improved generateBiomes? 01:54 hmmmm I want to generalize it somehow in order to improve testability 01:55 hmmmm how do you improve testability on something that works on a voxelmanipulator 01:56 hmmmm I'm thinking maybe it should be a 1xNx1 VoxelManipulator, so that em.X == 1 01:56 hmmmm so we'll unit test biome generation, arguably one of the most fragile parts of the entire system 02:22 paramat hi 02:22 paramat i have to go eat in a few minutes. my work so far is here https://github.com/paramat/minetest/tree/genbiome 02:23 paramat needs more testing but seems to work, then i have to do the same for mgv5 02:23 paramat so half finished 02:24 paramat also i need to make sure biomes get generated down to y = -192 to cope with mgv5 deep oceans 02:25 paramat after i eat i could finish the job, a few more hours perhaps 02:25 hmmmm it'd be good to write a unit test for that :-) 02:27 hmmmm anyway here's my idea for next-gen biomes: you remember how I wanted biomes to be the combination of terrain biomes and climate biomes, right? well terrain biomes, instead of being decided by some mathy algorithms, why doesn't the mapgen place hints 02:28 hmmmm so if the form of land is supposed to be an ocean, as determined by the biome, it can just set that to ocean 02:28 paramat i remember 02:28 hmmmm this 16x16 biome hint mapping would be per-MapSector 02:28 hmmmm and it'd have to be stored directly in the map 02:28 hmmmm but the benefits would be fantastic 02:28 paramat map sector is a vertical stack of mapblocks? 02:29 hmmmm yes 02:29 paramat nice idea 02:29 hmmmm it's the parent container for MapBlocks in Map 02:29 hmmmm but there's the ridge problem here 02:30 hmmmm cocindentally i found out that this is actually how minecraft currently does biomes. they're saved as an attribute in the map file 02:30 hmmmm but it got me wondering, does minecraft have any overlapping terrain? how does it account for this? 02:30 hmmmm if we have a mountain overlooking a river, is that vertical node column of intersection a river, or a mountain? 02:31 paramat ah.. 02:31 paramat from watching MC videos it has overhangs of course but terrain type seems to be consistent vertically 02:32 paramat i think.. 02:33 hmmmm yeah, the only knowledge i have of MC is from watching videos of it 02:34 est31 great I'm not the only one who doesnt know mc 02:35 paramat i tend get the impression of near-equal size biomes, each with a terrain type, im not keen on the result. seems there is no overall xlarge structure or 'big idea' 02:35 paramat not saying your idea is bad 02:35 hmmmm that's different 02:36 paramat yeah good 02:36 hmmmm the biome shape in minecraft is due to the uniformity of the prng 02:36 hmmmm what i'm talking about is a way to "know" what kind of terrain it is at that spot 02:37 paramat yes so before you were knowing through height and variance? 02:37 hmmmm "knowing" is used loosely there 02:37 hmmmm it was a wildly inaccurate guess at best 02:38 hmmmm my variance algorithm works much better as an edge detector than it does detecting if terrain is mountaneous or not 02:40 paramat the 'hints' would be derived from the large scale terrain generation, from the terrain noises? 02:40 hmmmm they'd be explicitly set by the mapgen 02:40 hmmmm so i would have this "terrain hint map" as a standard part of the mapgen interface 02:41 paramat that would enable players to edit and choose what terrain goes where? 02:41 hmmmm if they edit the map file, I guess 02:42 hmmmm they'd get to edit and choose which terrain type that vertical column is considered, to be more accurate 02:42 hmmmm but it's just as editable as mapblocks are inside of the block database now 02:43 paramat ok but normally the hint map is created by noises? 02:43 hmmmm i guess so. 02:43 hmmmm for example the river placement 02:43 hmmmm so you'd have the previously existing hintmap for that column passed along to you in makeBlock() 02:44 hmmmm you pass it along to generateTerrain(), that gets set to normal terrain, plains, etc. based on attributes such as varied persistence maps 02:44 hmmmm then you pass it along to generateMountains(), which would set whatever column to the 'mountain' terrain type wherever it decides to set a mountaineous node 02:45 hmmmm passed along to generateRiver, it'd set whichever nodes were carved out for a river 02:46 paramat interesting.. i go eat now, will work on my branch later 03:35 hmmmm hmm 03:35 hmmmm i like the *shapes* of biomes in minecraft better in general, but i agree with paramat they sizes are too consistent to be interesting 03:36 hmmmm they use a regular uniform PRNG to plot points on the map, zooming out in a fractal manner 03:37 hmmmm so the likely cause of the consistent sizes and shapes is the fact that the PRNG is uniform. meaning it could be 'solved' by breaking it somehow 03:37 hmmmm one thing that comes to mind is weighting certain random output values much higher in the RNG, but how to decide which to bias, and by how much? hrmm 03:37 hmmmm randomize the bias for the randomizer 03:38 hmmmm the specifics of the RNG bias should probably be sourced from the map seed 05:00 paramat hmmmm tested and ready for review #2713 05:00 ShadowBot https://github.com/minetest/minetest/issues/2713 -- Mgv5/v7: Fix generateBiomes biome recalculation logic, improve code by paramat 05:00 paramat waiting for checks 05:04 paramat the functions are identical for v5 and v7, ready for combining into biomemanager. now desert stone and sandstone reach down to -192, which is nice :) 05:05 paramat all those unnecessary recalculations of biome are gone, so mapgen is faster 05:08 hmmmm now, why -192? 05:08 paramat to cope with the very deep oceans of mgv5 05:09 hmmmm the problem is that you're coding for the parameters of that mapgen 05:09 paramat i calculated the deepest possible ocean 05:09 hmmmm with that specific set of default parameters 05:09 paramat yes, and mgv7 doesnt need to go so deep 05:09 hmmmm this has to be somewhat universal 05:10 hmmmm 1024, -192, all of them are arbitrary constants and prone to breaking if the parameters get changed 05:10 paramat yes i decided -192 was deep enough for most mapgens 05:10 paramat 1024 is my 'big number' gauranteed bigger than 'base filler' 05:10 hmmmm how are we guaranteed that 05:11 paramat hehe 05:11 paramat i was going to use (u32)-1 but nplaced needs to be a s16 to compare with depth_top etc 05:12 hmmmm depth_top and so on should be unsigned too 05:12 paramat any filler dept larger than one chunk will fail anyway 05:12 hmmmm positions of things are s16 05:12 hmmmm number of items or sizes are unsigned numbers 05:12 hmmmm one chunk is variable too 05:12 paramat ah okay i could try u16 then.. will do, then big number (u16)-1 05:13 hmmmm it could be as large as the entire map 05:13 paramat lol 05:13 hmmmm i'm serious 05:13 hmmmm set chunksize to 4096 and see what happens 05:13 paramat i'm amused 05:14 paramat you're also correct, updating PR 05:14 hmmmm well instead of fixing one small detail, maybe we should be working on the getting signed-ness correct everywhere 05:14 hmmmm also, comments 05:15 hmmmm the reason why this code is so hard to get right is because it contains logic that's literally more difficult to follow than anywhere else in the code for minetest 05:16 paramat more comments okay 05:16 hmmmm like the way I wrote comments in my version 05:16 paramat yes 05:17 hmmmm so anyway 05:17 paramat i rushed this a bit, it's late (early) here (time for MC videos/anime) so i need another day or so 05:18 hmmmm instead of checking for stone, water, and air, maybe we should think about checking the nodes' solidness 05:18 hmmmm ndef->get(n).solidness ? i think 05:18 hmmmm maybe that's a bit too much, not sure 05:22 paramat ah.. i tried u16 for deth_water_top but it generates warnings for comparison of signed and unsigned ints 05:23 paramat (depth water) 05:23 hmmmm that's because there's a distinction here 05:24 paramat it's compared with y 05:24 paramat depth top and base filler can be u16 05:24 paramat so nplaced can be too 05:24 hmmmm water_level is signed, depth_water_top is unsigned 05:25 hmmmm in this case, since water_level is an int, depth_water_top should be promoted to a signed int as well 05:25 hmmmm see, this is undefined behavior. 05:25 hmmmm int could be 16 bit or 32 bit, or even larger depending on platform 05:25 hmmmm if it's 16 bit, then it becomes equivalent to s16 05:26 hmmmm and then the s16 would be promoted to a u16 05:26 hmmmm thus changing the behavior entirely 05:26 hmmmm i used int a lot in my older code, and that's not a good thing 05:27 paramat water level should be s16 i think 05:28 hmmmm well, it's guaranteed to have the capacity of s16 as it is 05:28 hmmmm the only change here is the semantics on what the signedness is of the resulting expression "water_level - depth_water_top" 05:29 hmmmm maybe it would be a good idea to use a cast here 05:31 paramat better to make water level an s16? a change in one place 05:31 hmmmm better to change the expression to 05:31 hmmmm y > (s16)(water_level - depth_water_top) 05:33 paramat okay 05:34 hmmmm no wait 05:34 hmmmm change it to s32 05:35 hmmmm the risk of integer underflow in that circumstance is actually quite probable 05:35 paramat okay 05:39 paramat so i'm trying u16 for depth_top, base_filler, depth_water_top and nplaced. big number becomes (u16)-1 05:39 hmmmm that's actually USHORT_MAX, but we can't use that macro thanks to visual studio 2008 and lower 05:40 paramat depending on nose_filler_depth, base_filler could become negative ..? 05:40 paramat heh 05:40 paramat (noise filler depth) 05:40 hmmmm base_filler is signed righT? 05:41 hmmmm so it shouldn't matter 05:41 paramat oh i thought you said it should be u16 05:42 paramat 'sizes are unsigned' 05:42 hmmmm ah, base_filler is unsigned 05:43 paramat well in my update it will be 05:43 hmmmm in that case, you should take MYMAX(noise_filler_depth->result[index], 0) 05:43 paramat okay 05:45 paramat oh actually no noise_filler_depth is meant to go negative, it averages to depth_filler 05:45 paramat i'll just make sure base_filler doesnt go negative 05:46 hmmmm ahh right 05:46 hmmmm yeah good catch there 05:46 hmmmm noise_filler_depth is how much the base filler is modulated by 05:47 hmmmm it's noise with a very subtle impact, i like it though 05:48 paramat yes mostly +-1, rarely +-2 05:50 paramat BTW offtopic, is it okay to use fminf for floats? 05:50 hmmmm why?? 05:50 hmmmm i'd say it's better to just stick with the macro 05:51 paramat i'm using that in a new core mapgen 05:51 paramat so MYMIN MYMAX does all number types okay 05:51 hmmmm not only is MYMIN() faster, it's consistent with all the rest of the code 05:52 paramat ah excellent, i was wondering if it was for ints only 05:57 paramat biome gen down to -192 is perfect because the highest lava caves start at -256, and lava is stone lava. but do you want me to move this -192 constant to a #define in the header file? 06:00 hmmmm sure 06:01 paramat okay. i'll finish this tomorrow, thanks for the advice.. 06:03 hmmmm no problem 06:59 OldCoder hmmmm, engine question if it is all right. Is there any particular reason a setpos call to a specific location would work sometimes and fail other times? 06:59 * OldCoder assumes that setpos is a low-level API call 06:59 hmmmm don't know 06:59 OldCoder All right 07:00 hmmmm you can file an issue on the github issue tracker 07:36 OldCoder hmmmm, answer: One must do a minetest.after before setpos if this is register on join 07:36 OldCoder So, not a core issue 07:36 OldCoder Well, there ought to be a more elegant solution 07:36 OldCoder I.e. mods that do setpos too soon after join will fail 07:45 hmmmm perhaps the player does not exist on the map at that point in execution 07:46 OldCoder Could be 07:46 OldCoder I note similar code already in some mods 07:47 OldCoder I would have thought he did exist though for register on join 07:47 OldCoder At any rate I now have the first ever stable version of Hungry Games 08:27 rubenwardy xyz is no longer willing to host mmdb - it takes too long to fix problems and migrate it - does anyone else have servers that they are willing to host it on? I reckon it could use simplification as well, it's overly complicated ATM. 08:28 Calinou me? I don't guarantee 100% uptime though 08:28 Calinou I have a VPS, 4 vcore, 4 GB RAM, 200 GB storage, 100 Mb/s effective bandwidth. Runs Debian 8 64-bit 08:30 rubenwardy Awesome. It'll need rewriting / modification to remove dependencies on the forum. 08:30 Calinou I'm not a PHP guru :) 08:30 Calinou personally I'd start the MMDB over 08:30 Calinou ie. remove all existing stuff as it's out of date 08:30 rubenwardy MMDB is in Python 08:30 rubenwardy DFjango 08:31 rubenwardy Lol, that typos about right - Da-fuck-jango 08:32 Calinou not a Python guru either, just a beginner :p 08:32 rubenwardy Yeah :) 08:32 Calinou anyway I could host it 08:33 Calinou but my host has occasional lag/downtime issues, which make uptime about 99,5% or so 08:33 Calinou which is not that great 08:33 celeron55 hosting isn't a problem; the problem is detaching it from the forum's user accounts 08:33 rubenwardy It would be harder to authenticate users - ie: I could sign up for an account for Calinou before he made one. But that's no so bad 08:34 celeron55 i can host anything that works on openbsd but can't promise super speedy updates or complex migrations 08:35 rubenwardy It already has a login form that works without phpbb, just not a register form 08:35 celeron55 ....aaand actually i'm running slightly out of disk space so i'd need to sort that out first 08:36 celeron55 (mmdb contains around 600MB of data currently) 08:37 rubenwardy There is a lot more potential with it, which it is missing out 08:37 celeron55 by the way, our first problem is that mmdb isn't located at its own subdomain but under the forum subdomain 08:38 rubenwardy In terms of redirects? 08:38 celeron55 i wonder if minetest's mod store stuff will follow redirects properly 08:38 rubenwardy We might just have to break support if there's no other way 08:38 OldCoder Hi 08:39 OldCoder Actually, the three resources are a subject I'd been hoping to bring up this summer 08:39 OldCoder Backup copies of the forum, the mod database, and the wiki 08:39 OldCoder Is the discussion above related to the mod database? 08:39 rubenwardy yes 08:40 OldCoder This project could someday be comparable not to Mozilla but to one of the other serious ventures 08:40 OldCoder I feel it cannot continue in the current manner as far as these resources go 08:40 OldCoder No single person or even two people can possess the only copies 08:40 OldCoder But this part 08:40 OldCoder of the discussion can wait; putting it out there 08:40 est31 what does this have to do with mozilla 08:40 OldCoder Let me read up briefly 08:40 Megaf_ 09:27 xyz is no longer willing to host mmdb - it takes too long to fix problems and migrate it - does anyone else have servers that they are willing to host it on? I reckon it could use simplification as well, it's overly complicated ATM. 08:41 Megaf_ What's mmdb? 08:41 rubenwardy minetest mod database 08:41 OldCoder est31 I am literal. I am saying that this is a genuine serious long term project 08:41 rubenwardy I think that it should be possible to download the database of mmdb (minus password hashes) 08:41 OldCoder Not at the Mozilla level but potentially in the hundreds of thousands of users category 08:41 rubenwardy from the mmdb web interface 08:41 OldCoder No 08:41 OldCoder His server will most likely 08:41 OldCoder Not support it; much easier to ZIP 08:42 OldCoder Will he cooperate? 08:42 rubenwardy Who? 08:42 OldCoder This is xyz 08:42 OldCoder correct? 08:42 rubenwardy xyz won't be hosting mmdb anymore 08:42 OldCoder I feel that whoever does, multiple copies *must* be out there 08:43 OldCoder And I will raise this point with the wiki and the forums soon 08:43 rubenwardy I meant a link to the zip from the html of the mmdb web form, generated regularly 08:43 OldCoder Regarding hosting, I have pretty much unlimited disk and bandwidth 08:43 OldCoder Hm 08:43 OldCoder There is an exported ZIP 08:43 OldCoder that can be used to recreate the database? 08:43 rubenwardy I wish minetest.net was minetest.org, much more professional 08:44 rubenwardy :P 08:44 OldCoder I don't think either name is bad 08:44 OldCoder And it's not the subject ATM 08:44 OldCoder So, people are agreeing to move the mmdb? 08:44 rubenwardy I know. What are the contents of the zip? csv? 08:44 rubenwardy It's either move it, or discard it 08:44 OldCoder Well, is it downloadable now? 08:44 OldCoder Right now? 08:45 rubenwardy c55 has copies 08:45 OldCoder Remove passwords or whatever and let me take a look 08:45 OldCoder Are the passwords the same as at the forums or different? 08:45 rubenwardy yes 08:45 OldCoder I already have those passwords 08:45 rubenwardy they share salts and hashes 08:46 OldCoder As I already have the passwords, I can be offered the ZIP now without preparation 08:48 OldCoder Note: It is my position that the ZIPs for all three resources must be available at all times. Passwords can be stripped by scripts on the fly. 08:49 rubenwardy It is not good for one person to have the only copy, they could go AWOL 08:49 OldCoder Exactly 08:49 OldCoder Or two people 08:49 OldCoder No matter who the 2nd person is 08:49 OldCoder I have spent a few years now of Time that I have less of than you on this project 08:50 OldCoder Many people are doing the same 08:50 rubenwardy One problem that annoys me about MMDB is that only iqualfragile and thexyz had copies of the errorlog, there was nothing I could do (although iqualfragile did try to fix it, it was just an annoying fix) 08:50 OldCoder Yes 08:50 OldCoder It is not reasonable for a group project to be at risk in this manner 08:50 rubenwardy this project = minetest, or mmdb? 08:50 OldCoder Minetest 08:50 OldCoder Three resources are key: the forums, the mmdb, and the wiki (I assume) 08:50 * OldCoder has not looked at the wiki recently 08:51 OldCoder These resources need to be as FOSS as everything else 08:51 rubenwardy and dev wiki 08:51 OldCoder Two wikis? All right 08:51 OldCoder Agreed 08:51 rubenwardy but that's included i guess 08:51 OldCoder Could be 08:51 OldCoder I have the forums as they were six months ago 08:51 rubenwardy Why? 08:52 OldCoder Hm? Why? To prepare tests of the feasibility of porting them 08:52 OldCoder The tests were successful 08:52 rubenwardy Ah. 08:52 OldCoder The point is, if open copies are not available by Fall 08:52 OldCoder I feel it will be time to fork the forums 08:52 OldCoder As one year will be too late 08:52 OldCoder But it is growing rather late in my time zone 08:52 OldCoder 08:53 OldCoder If there are no conclusions for tonight... 08:53 rubenwardy ok 08:53 OldCoder I may be able to host the mmdb 08:53 rubenwardy It's 0953 for me 08:53 OldCoder I do not know that I could host the forums... 08:53 OldCoder Yes 08:53 OldCoder But all three resources need to be public or they need to be forked 08:53 OldCoder 08:53 * OldCoder has a fast network BTW. Not the current one; it is a loaner. 08:54 rubenwardy time zones are weird :P The contents are publicly accessable anyway, so not a security risk. What's your opinion on this, celeron55? 08:54 OldCoder Passwords 08:54 rubenwardy Passwords won't be included, ofc 08:54 OldCoder He is probably concerned about that. I feel that making all three resources public can be accomplished... 08:54 OldCoder without including passwords 08:55 OldCoder I propose that multiple senior people possess everything *including* passwords. To be clear, this does not need to be me. 08:55 OldCoder 08:55 OldCoder or include me, rather 08:55 rubenwardy how big is the forum db? 08:55 OldCoder Not large at all 08:55 OldCoder Very surprising 08:55 OldCoder But most files are not included 08:55 OldCoder I think my copy is only about 100MB zippeed 08:55 OldCoder I think my copy is only about 100MB zipped * 08:55 rubenwardy wat. wow 08:56 OldCoder Most files are external links 08:56 OldCoder Which raises another issue 08:56 OldCoder I personally want a copy of the forums 08:56 OldCoder So that I can begin mirroring 08:56 OldCoder ALL of the files 08:56 OldCoder As they have a tendency to disappear 08:56 OldCoder 08:56 OldCoder Tonight I created a Hungry Games world... 08:56 OldCoder It needed a specific map 08:56 rubenwardy was on uone 08:56 OldCoder The map had been stored on Ubuntu One 08:56 rubenwardy :( 08:56 OldCoder Which died 08:56 OldCoder But a kind fellow Tester found another link for me 08:57 est31 perhaps we should create a database for minetest maps 08:57 OldCoder I spent hours debugging a problem. Now the project has a spiffy new world. 08:57 OldCoder Could be. 08:57 rubenwardy I had considered that, est31 08:57 OldCoder The point is... projects are built on organized data and knowledge 08:57 OldCoder This is their life's blood 08:57 OldCoder The bits and pieces of this project are crumbling off 08:57 OldCoder 08:58 OldCoder I will offer hosting for all of the files. And make them all available in large Bittorrentable bundles. 08:58 OldCoder 08:58 OldCoder The forums are only a small part of the total size of the accumulated archives. In 3 years I estimate 30% of the material will be dead links. 08:58 OldCoder 08:59 OldCoder Some of it wasn't really needed. But the entire system is too fragile for a serious project. 08:59 OldCoder 08:59 OldCoder s/wasn't/isn't/ 08:59 rubenwardy http://irc.minetest.ru/minetest/2015-01-25#i_4130775 08:59 rubenwardy est31 08:59 OldCoder R 09:00 OldCoder Yes, rubenwardy this should be part of it 09:00 OldCoder 09:00 est31 schematics != worlds 09:00 rubenwardy Irrlicht has so many dead links 09:00 rubenwardy by schematics I meant .we files 09:00 OldCoder rubenwardy, est31 if you are the only ones present, take what I have said under consideration 09:00 est31 yes 09:00 OldCoder Worlds can be archived too BTW 09:00 rubenwardy full worlds could be part of it 09:01 OldCoder Ninja ^ 09:01 est31 .we files have a very bloaty format 09:01 OldCoder Unless ZIPped? 09:01 est31 not good for more than one house or so 09:01 OldCoder Yes 09:01 est31 no idea, havent tested it there 09:01 OldCoder Individual schems still useful 09:01 OldCoder 09:01 rubenwardy I like how BAW does it 09:01 rubenwardy ~g build a world 09:01 ShadowBot rubenwardy: https://www.buildaworld.net/ | Immerse yourself in beautiful worlds, with amazing graphics to inspire your creative (or destructive!) talents. Collaborate with your friends as a team, ... 09:01 OldCoder I got to sleep soon. But you follow the logic. For the project to grow and survive, these resources need to be organized and shared 09:02 est31 yes, they are useful, but things like "check out the map I made", or "this server is down now, download the map here" dont work 09:02 rubenwardy They have a library to drag and drop prefabs froms 09:02 OldCoder Please consider supporting a move or fork of the forums 09:02 OldCoder 09:02 OldCoder rubenwardy, est31 BTW minetest.org is less ugly now 09:02 OldCoder ^ Responsive Mobile Friendly 09:02 OldCoder Still needs work 09:02 rubenwardy dat tiling background :) 09:03 rubenwardy It is better than before, though. Goodwork 09:03 * OldCoder shrugs :P 09:03 OldCoder I am learning more 09:03 OldCoder Next pass will be better behaved 09:07 celeron55 i agree with OldCoder 09:07 rubenwardy I'm learning twitter bootstrap ATM, and wordpress 09:07 rubenwardy I thought you would, celeron55, it's logical 09:07 rubenwardy XD 09:08 OldCoder celeron55, :-) 09:08 celeron55 but who is going to oversee all this stuff; i'm not going to make myself responsible for making sure backups distributed between many people don't contain personal information 09:09 rubenwardy http://getbootstrap.com/2.3.2/ 09:09 celeron55 if that group of people contains more than me and xyz 09:09 OldCoder Same as other large projects celeron55 09:09 OldCoder I assume they have hierarchies and committes and... 09:09 celeron55 none of our websites have been particularly well designed to separate public information from personal information 09:09 OldCoder policies to prevent individuals from gaining too much control 09:09 technomancy OldCoder: I'm automatically extremely suspicious of any project or community that hosts data on web forums for anything other than an extra copy 09:09 OldCoder technomancy, go on 09:10 technomancy OldCoder: I haven't looked into it, but I'm assuming worlds have a lot of binary data, which git is not good at storing? 09:10 OldCoder Correct. However, worlds are not the core issue here 09:10 OldCoder They are an extra 09:10 technomancy oh, I see 09:10 OldCoder The map that I needed tonight was only 3MB 09:10 OldCoder Few people will download all of Silvercrab 09:11 OldCoder This is about the pure knowledge and bits and pieces needed to deploy it 09:11 OldCoder The forums, recipes, screenshots, mods 09:11 OldCoder I.e. forums, moddb, and two wikis 09:11 technomancy oh yeah... forums are absolutely the wrong place for documentation 09:11 OldCoder And the files that are linked from them 09:11 technomancy but I get that git seems intimidating. the UI is just a mess from a beginners' perspective. 09:12 OldCoder I think this can be worked out over time. How do you feel about wikis? 09:12 technomancy definitely a step up from a forum, especially if they're git-backed 09:12 OldCoder Indeed 09:12 celeron55 < technomancy> I'm automatically extremely suspicious of any project or community that hosts dataon web forums for anything other than an extra copy 09:12 OldCoder I would not propose to reshape things in one pass 09:12 celeron55 where do you expect things to be hosted then? is wiki ok? 09:12 technomancy even when forums are functioning as designed, going back through seven pages of forum posts to try to find the relevant bits is a lot of work 09:13 OldCoder See celeron55's question; it sounds as though a wiki is acceptable for some purposes 09:13 celeron55 everything in here is pretty much made by individuals and you can't expect them to have their own professional websites at least 09:13 technomancy some people take extra steps to try to collect all that into the first post, but that can't be done by the community usually, it has to be the original author 09:13 technomancy celeron55: I hope I don't come across as too critical. I'm only saying this because it seems like we feel like maybe we can do better? 09:14 celeron55 technomancy: be as critical as you want, but it's not very useful unless you actually have some solutions 09:14 technomancy and I'm sympathetic to the social challenges of teaching github best practices to people who just want to play games 09:14 celeron55 we're doing our best, mostly 09:14 * OldCoder feels that wikis are one path 09:14 OldCoder ModDB is probably useful if expanded to include all pieces 09:14 OldCoder No more Ubuntu Ones or Mediafires 09:15 celeron55 ideally minetest would have its own web platform made from the ground up for the needs of this specific community, but we don't have resources for making that happen 09:15 * OldCoder shudders thinking of Mediafire 09:15 technomancy there are well-trodden paths that work great for professional software developers, but I'm only just starting to learn the games/modding community 09:15 OldCoder Agile is good. Platforms can be worked out. 09:16 technomancy building on git means you get decentralization and easy backups for free, but it comes at a usability/approachability cost 09:16 OldCoder Well, you said a git-backed wiki might be all right 09:16 technomancy though github wikis kind of give you the best of both worlds; people don't necessarily know they're using git behind the scenes 09:16 celeron55 i don't think git is any kind of an issue related to this subject 09:16 celeron55 do you mean github? 09:16 OldCoder Hm? Me? 09:16 OldCoder It was his point 09:17 OldCoder I'd primarily like to see multiple copies of the 3 key resources *and* an effort to start collecting all the bits and pieces 09:17 OldCoder Moving from that into 09:17 OldCoder the type of organized system the 2 of you are discussing. 09:18 OldCoder I feel a wiki is a good place to assemble knowledge extracted from the forums. 09:18 OldCoder I don't think it's the only option. 09:18 technomancy I'm kind of jumping in the middle of the conversation, so sorry for that. but the way I see it, we have several different needs; code storage, data storage, documentation hosting, and discussions, and shoehorning documentation into a platform designed for discussions isn't ideal 09:19 celeron55 i think the wiki and forums should be combined but i have no idea how that can be practically done 09:19 OldCoder Subject for forum threads :P 09:19 technomancy TBH I'm much more comfortable discussing problems and future designs in github issues personally, but I understand not everyone feels the same way. 09:19 celeron55 for me, all discussion is documentation 09:19 technomancy I really wish GH issues were git-backed like the wikis =\ 09:20 twoelk therefore dumps should be offered now and then 09:20 OldCoder Well, one step at a time. I've stated what I'd like to see. And I'm serious about... 09:20 OldCoder Writing scripts to scan 10,000s of posts in an offline copy of the forums... 09:20 OldCoder and retrieving and archiving all the linked files. Bringing them home to the project. 09:21 OldCoder 09:21 technomancy documentation has different audiences. what's appropriate for core hackers is very different from what's appropriate for end users 09:21 twoelk that's why there are two wikis 09:22 technomancy yep; I think minetest itself does a good job with this. various mods, from what I've seen: not as much. 09:22 celeron55 so, are people thinking i would be best using my time if i started setting up the forum and other things on my own servers and making an automated system that allows people to download backups of each of them? 09:22 OldCoder Reviewing 09:23 celeron55 because xyz isn't going to do that when he hosts them, and i can't do that when he hosts them 09:23 OldCoder celeron55, there are two types of backups. One with passwords and one without... 09:23 OldCoder Moment 09:23 rubenwardy It's needed, but you're still a volunteer 09:23 OldCoder He sends you snapshots? 09:23 OldCoder How periodically? 09:24 rubenwardy xyz considers names of tables to be a security risks... 09:24 OldCoder Well they are 09:24 OldCoder celeron55, how frequent are the snapshots? 09:24 rubenwardy So you'd have to rename them 09:24 celeron55 i have daily database snapshots, that do not include configuration files, user-uploaded files of the forum or anything from mmdb 09:25 twoelk according to what OldCoder said I would also presume some backups with and some without linked content included such as files and pics 09:25 celeron55 that is, the bare essential of avoiding a complete disaster 09:25 OldCoder Hm. When will user-uploaded files be available to you? 09:25 OldCoder Does he make those snapshots less frequently? 09:25 OldCoder Tell me there is a backup of some sort of the uploaded files? 09:25 celeron55 well anytime i ask, but i don't have proper storage for them so i don't ask 09:25 OldCoder Hm 09:25 OldCoder celeron55, could we start with one 100% snapshot? 09:26 OldCoder Then sort this out? I can take it and I have the passwords already. Or another senior person can do so. 09:26 OldCoder The backup-less state of some of the components is not desirable. 09:26 celeron55 this is really starting to seem like i need to get a second storage-focused VPS and start organizing this web stuff 09:26 OldCoder Probably 09:27 OldCoder Not possible overnight. But if there is no 100% backup, not the user files... 09:27 OldCoder It is probably time to make a full copy 09:28 twoelk could we have a forum guideline that encourages Modders more to put their documentation on the main wiki? 09:28 celeron55 "a full copy" makes it all sound so easy 09:28 OldCoder I do not intend to speak lightly 09:28 OldCoder s/intend/mean/ 09:28 OldCoder But I do have the storage and these pieces are not very large 09:29 celeron55 we're talking about many website instances that all hold data in a database and as files, and have their own configurations 09:29 OldCoder Hm? Many website instances? Can you comment further? 09:29 OldCoder I see the pieces as: 09:29 OldCoder The forums, which I have brought up in a copy myself 09:29 OldCoder They are online right now 09:29 OldCoder at forum.minetest.org (or maybe it is forums) 09:29 OldCoder The moddb, and two wikis 09:30 OldCoder Plus the user uploaded and external linked files 09:30 OldCoder for any of these components 09:30 rubenwardy Access denied for user 'phpbb3'@'localhost' (using password: YES) [1045] 09:30 OldCoder It sounds as though the complete copy would only be a few GB 09:30 OldCoder Hm? Is that on my server? It will be fine shortly 09:30 celeron55 well i mean 1) two wikis, which have stuff in a database and as files and a configuration including some plugins, 2) the forum, which again has content in a database and as files and a configuration, 3) mmdb, which again has a database and files, and a configuration 09:30 OldCoder It is probably due to this being a temporary copy of the server 09:30 OldCoder Yep 09:31 OldCoder celeron55, I or other engineers can handle that. I made a fully functional copy of the forums in about 4 hours. 09:31 twoelk maybe include the skin database 09:31 OldCoder My server is on a truck somewhere near the U.S. East Coast 09:31 OldCoder yes 09:31 est31 truck?! 09:31 celeron55 a compressed copy will be somewhat over 2GB 09:31 OldCoder Yes 09:31 OldCoder Small 09:31 OldCoder :-) 09:32 * OldCoder has a few terabytes 09:32 OldCoder The days of limited storage are coming to an end 09:33 OldCoder I bought a colocated server. With one of those you aren't really limited. 09:33 rom1504 a mobile server, that's an interesting idea 09:33 celeron55 i much more value reliable storage than infinite storage 09:33 OldCoder Both are sort of needed 09:33 OldCoder Reliable comes from redundancy 09:33 rom1504 put a server on a truck, connect the server with 4G or something, then let the truck go anywhere 09:33 OldCoder I feel that at any one time there must be multiple copies of snapshots available 09:33 celeron55 yeah except that 4G can't handle the traffic :P 09:33 OldCoder rom1504, now you arer talking :P 09:34 OldCoder My server is not running from the truck 09:34 rom1504 :d 09:34 OldCoder It is headed for its new home 09:34 OldCoder s/arer/are/ 09:34 OldCoder I am on another octocore as a loaner. With a gigabit network I think. 09:34 OldCoder Most of you 09:34 OldCoder will be on such servers in the near future 09:35 OldCoder Times are changing. With endless bandwidth and data all possibilities will be open. 09:35 twoelk does the truck have a nice minetest logo on it's side? :-D 09:35 OldCoder I will look into it :P 09:35 OldCoder celeron55, I respectfully suggest that at least one full snapshot be made. I can host it and make copies available solely to senior MT people. We can then... 09:35 celeron55 i still don't care about hardware specs; it's more important that the person paying for the server is reliable than any features that the server system might have 09:35 OldCoder ^ Yes 09:36 OldCoder Again redundancy 09:36 OldCoder No single person 09:36 OldCoder Or pair of people 09:36 OldCoder Mozilla is not run that way 09:36 OldCoder If there are multiple copies of data; a project can never die or be killed. 09:36 OldCoder Redundancy is the key that outweighs even apocalypse. 09:37 twoelk one archive of minetest knowledge for each kontinent ;-P 09:37 OldCoder Not a bad idea 09:37 OldCoder xyz has Russia covered 09:37 OldCoder I am sure there is an Europe option 09:37 OldCoder I can represent the U.S. 09:37 OldCoder We do need Down Under 09:38 OldCoder Anyway there are two types of data administratively 09:38 OldCoder The complete snapshot which must be handled properly 09:38 OldCoder And a sanitized copy that could be used to reboot a project 09:39 OldCoder I propose that a complete snapshot be made at this time. It will have limited distribution. But there should be multiple copies in existence. 09:39 OldCoder Decisions about redundant hosting of public sites should then be made. 09:40 OldCoder The public sites may offer sanitized copies of the archives. This is not overnight. It is a proposal to be worked out. 09:40 OldCoder I offer to do some of the hosting but it does not need to include me... 09:40 OldCoder I do feel that the bits and pieces linked from the content, Ubuntu One and so on, need to be collected. 09:41 OldCoder If I can address IRL issues I will spend the time needed to do some of this. 09:41 * OldCoder has been doing this part since 1995 09:41 * OldCoder likes to collect websites and files 09:41 OldCoder 09:41 OldCoder I can't deal with captcha sites 09:41 OldCoder Such as Mediafire 09:41 OldCoder But any externally linked file with simple HTML surrounding it 09:42 OldCoder Can be pulled into an External Files database and can thereafter never be lost 09:42 OldCoder ^ OldCoder proposal 09:42 OldCoder 09:42 * OldCoder hopes that these thoughts are a sensible starting point and thanks everybody for their willingness to listen 09:42 OldCoder 09:44 rubenwardy sounds good 09:44 rubenwardy also, are you aware that you post empty lines on IRC sometimes? 09:44 * OldCoder bows and prepares to sleep. He respectfully suggests further discussion in the near future. If there is a 2GB archive... 09:45 OldCoder rubenwardy, I have explained those: 09:45 rubenwardy good night. Sleep well :) 09:45 OldCoder #1 they are paragraph breaks #2 they are respectful acknowledgments when there is nothing to be added 09:45 OldCoder #3 they are... 09:45 OldCoder Zzz 10:29 celeron55 hmm... i'm not really sure if i want to take this task, actually 10:30 celeron55 because frankly i hate managing shitty web applications 10:32 celeron55 anyway, i'm getting the full snapshot from xyz and i'm going to make sure this thing gets somewhere somehow 10:37 technomancy it does seem unfortunate that people who know the engine inside out are stuck doing administrivia like this. I wish I had a server of my own. 10:37 celeron55 yes that's what i mean; i could be doing something more productive with the time that i can allocate to minetest 10:39 technomancy =\ 10:41 technomancy have you asked for volunteers anywhere? 10:41 technomancy or I guess there's a bit of a trust issue since the server stores passwords etc? 10:47 celeron55 well, OldCoder is probably pretty much the only one who could properly handle this instead of me 10:48 celeron55 altough i know that not everyone trusts him either 10:48 celeron55 you probably saw his style of doing things 8) 10:50 technomancy well as a rule I never trust anyone willing to run PHP software on their own servers un-ironically so... 10:51 technomancy =) 10:51 celeron55 (and yes, if i publicly asked for a volunteer, people couldn't trust them with the passwords and possibly some other things even if they could prove they have the skills and time to do it properly) 10:53 celeron55 also hosting the stuff is a larger problem for me than it should be because i would first need to upgrade my VPS, and such an upgrade is too expensive at my current provider so i would first need to switch the provider 10:53 celeron55 and... yeah 10:53 celeron55 this is ridiculous 10:55 technomancy good old yak shave 10:55 celeron55 altough that's actually a smaller task than it sounds like because i use a configuration management system 10:55 celeron55 it's just that i need an openbsd vps for it to work because that's what i now use 10:56 technomancy the curse of success 10:57 celeron55 i would be totally fine with doing all this shit if it paid my bills but it doesn't 10:57 technomancy have you looked into funding options? patreon or gratipay, etc? 10:58 celeron55 well, i know of them, but i'm rather pessimistic about it 10:58 technomancy I had to shut down the S3 bucket for downloads of one of my projects that really took off because the bills started getting over $45/mo and growing 10:59 technomancy (was able to move to github, but it broken a number of old scripts) 11:00 celeron55 i'm quite afraid of sounding like all the "fund my useless life" patreons if i'd try that, and i also don't think this community has a lot of money to spare because it's full of kids 11:03 celeron55 i don't know though, i might be totally wrong 11:06 celeron55 also, i find it hard to think in that way after years of just keeping things rolling with a bare minimum effort 11:06 technomancy I'm thinking about using minetest to teach programming and unix skills to kids. if it works out I'd be willing to point some gratipay your way 11:06 technomancy but yeah, it is definitely awkward to start it 11:08 technomancy it's solid stuff though; impressive tech that's a lot of fun. I think it could get some good publicity among FOSS advocates if you can emphasize the "more than just a clone" aspect 11:08 celeron55 i have experience of doing subcontracting projects and i would probably use the same principles patreon/gratipay money 11:08 celeron55 +for 11:08 celeron55 it's just quite different to the "try something and if it works, publish it" thing that minetest has always been 11:10 technomancy yeah... I get that. it would be nice if it could just stay low-key, but... it's too awesome for that =) 11:11 celeron55 well i probably should market it as not just the software or the game or something like that, but as doing whatever the community as a whole needs 11:11 celeron55 ...it's what it's about anyway 11:12 celeron55 or actually 11:13 celeron55 i can expand this to be a lot more complicated than that; i mean, the history of minetest works like this: first there was the project that i was doing with purely the "try something and if it works, publish it" ideology, but then it changed to this community around what the original thing ended up as, where everyone is given kind of that same opportunity 11:14 technomancy yeah, you can kind of tell it started that way from the name =D 11:15 technomancy anyway, I don't know what the right answer is for this community; just something to think about 11:16 twoelk actually that initiall idea and offering the same possabillity for others is one of the best parts of minetest 11:17 twoelk and I do think that the path of using minetest as a tool for education would be a great chance for the project 11:17 twoelk Where coding wouldn't be the only thing minetest could be used at schools for 11:18 technomancy right; I totally get the notion of offering an engine that makes it easy for you to bring your own ideas to life 11:18 technomancy but I understand that it's difficult to communicate when newbies come in and just want "minecraft but for free" 11:18 technomancy I'm an Emacs user, so that notion is very familiar to me =) 11:22 celeron55 minetest's position is also quite weird in the modern game development world with unity3d and all that 11:22 celeron55 the fact that it's FOSS is a clear differentiation, but all else is kind of... fuzzy 11:24 technomancy oh yeah? 11:25 technomancy I'm not really familiar with that scene 11:25 technomancy the ability to build worlds with lua is hugely important to me; I can't function without a repl 11:25 celeron55 i mean, the minetest engine is kind of a toy from a game development perspective, but it's also not a game, and it has this community of people that actually like it quite as-is 11:25 est31 It isn't a real competitor to engines like unity or godot 11:26 est31 its a voxel game engine 11:26 Calinou Godot has no voxel mode :P 11:26 Calinou you'd have to write it yourself 11:26 technomancy is it a toy because it's implemented in a way that's considered naive by the pros or because it uses lua instead of forcing people to suffer through writing C++? 11:26 est31 you might have less possibilities, but making voxel games are far more easier with minetest than unity or godot 11:26 est31 technomancy, godot uses a high level language too 11:26 technomancy oh cool 11:26 est31 dunno bout unity 11:27 Calinou Unity also has its script language, as far as I know. 11:27 technomancy voxels are democratizing in a way though; everyone can build content for them instead of needing to hire a big team of artists 11:27 Calinou Godot uses its own language, GDScript, similar (but not the same) to Python 11:27 celeron55 technomancy: it's too inflexible for most game developers even if they want to make a voxel-based game; instead it's quite ideal if you just want to host a server to mess around in 11:27 est31 I think godot has muliple languages in fact 11:27 Calinou you can code your game logic in C++ too, but it's discouraged unless you need it 11:28 Calinou in theory, languages other than GDScript can be implemented, but no one got around to it 11:28 est31 because I read somewhere that its implementation is even smaller than the lua bindingy 11:28 est31 s* 11:28 technomancy I've been pretty impressed with lua's power:weight ratio even if it's not my favourite language 11:29 est31 lua has ... limitations 11:29 est31 but mostly I like it 11:30 est31 yea voxels make many things easier 11:30 est31 you don't have to detail everything into its smallest parts 11:30 est31 very nice and good concept 11:31 est31 because in non-voxel games there is always the comparison with reality 11:31 est31 "look here, this tree group looks exactly the same as the left of it" 11:32 technomancy similar to cartoons in a way; you just come into it with a different set of expectations 11:33 est31 yup. 11:34 est31 so regarding quality, voxel games are somewhere between GTA 5 and dwarf fortress :) 11:38 celeron55 question: do you think it would be wrong for me to set up a patreon/gratipay and ask money *before* starting to do stuff? 11:38 jin_xi dwarf fortress is beyond quality 11:39 est31 that only was about visual quality jin_xi :) 11:40 celeron55 apparently nobody will answer anything to that question; interesting 8) 11:43 technomancy celeron55: I don't think it would work with patreon, but it fits well into the concept of gratipay 11:43 technomancy it's supposed to be about "I like what this guy has done; I'm going to give him more money in hopes that he does more of the same, no strings attached" 11:43 technomancy because it's explicitly anonymous gifts 11:43 technomancy patreon is all about strings attached, which can be good in some situations 11:50 celeron55 that becomes a bit weird when you take into account the fact that i have been focusing on projects outside minetest in the recent years, but i guess i could state that it's explicitly to bring me back to working more on minetest 11:53 technomancy "Minetest is an infinite-world block sandbox game and a game engine, inspired by InfiniMiner, Minecraft and the like." <- sorry if this is a touchy subject, but is there a reason the first blurb you read about it doesn't refer to it exclusively as an engine? 11:53 technomancy I got the feeling the intent was to de-emphasize the role of minetest_game 11:55 celeron55 i'd say the public image of minetest hasn't really been well thought out 11:55 technomancy is there disagreement among the core developers, or just a lack of clarity in the "marketing"? 11:56 celeron55 we don't really have people who care about the marketing stuff 11:56 technomancy I thought I read that minetest_game was basically done, and that if someone wanted to take the idea further it should happen in a 3rd-party subgame... maybe I misunderstood 11:57 celeron55 yes, that's my statement and it's still valid; however things are moving very slowly 11:58 est31 btw do you like Calinou's draft for a new website? I do. 11:58 technomancy do you have a link? 11:58 est31 nope :( 11:59 est31 hope Calinou shows up ... :) 11:59 technomancy celeron55: FWIW I think that's absolutely the right approach. positioning it as a game in and of itself invites a lot of irrelevant criticism and de-emphasizes the strengths of minetest 12:00 technomancy I am really tired of the tired old "free software doesn't innovate" trope. 12:00 technomancy this is about enabling people to do things that would be completely infeasible in minecraft as it's designed 12:01 est31 minecraft doesn't even have an official modding API, am I right? 12:01 celeron55 est31: i don't think Calinou's draft is that much better 12:01 technomancy est31: that's correct; the mods break all the time. 12:01 technomancy it's all based on reverse engineering and violating the EULA iiuc 12:03 celeron55 i'm quite proud of the fact that basically everything in this community is properly licensed and there is zero legal grayness going on 12:04 Calinou est31, the “modding API” they keep promising is likely to be a running gag 12:05 technomancy when I looked into the mc modding scene it was a big http://p.hagelb.org/11what.gif and when I found minetest it was like "these are my people" 12:05 technomancy as a FOSS nerd 12:14 twoelk In the description of minetest maybe take out the confusing word infinite and add something along the lines of mt is an engine that allows to play subgames inspired by bla bla 12:21 celeron55 that doesn't make much sense to a random visitor either; describing minetest in a way that is actually true and actually makes sense is hard :P 12:22 technomancy what about saying "minetest is a game engine and a community; here are some of the kinds of games we have made..." 12:23 technomancy show by example? 12:24 twoelk which brings us back to the old problem of which game to feature prominently 12:25 celeron55 yeah this is a deep hole you're going into 8) 12:26 twoelk rather minetestwise a deep cave with many monsters and not enough torches at hand 12:28 est31 especially not enough wood 12:28 est31 you can craft torches and tools from wood, but you can't find wood in caves :) 12:29 technomancy ah yeah... curation and favouritism. tricky. 12:29 celeron55 it could work if we had an integrated system that generated the public stuff from a community database or something 12:29 celeron55 maintaining a showcase for all the community-made stuff by hand is not something anyone really wants to do 12:31 celeron55 i mean, it's quite exciting because it's not really something that is often seen, but it's also tedious due to the same reason; there are o ready-made solutions 12:31 twoelk made a list of games for the wiki that outdates faster than I have time to update 12:31 celeron55 there are no* 12:33 technomancy well, you only want the most polished examples on the splash page of minetest.net, but telling someone their subgame isn't polished enough for that is a touchy subject 12:41 twoelk http://wiki.minetest.net/List_of_Subgames see the explaining for the second column with the links to older irc discussions 12:43 twoelk oops, rather links to forum threads 12:44 technomancy wow, that's quite a list 12:47 twoelk I guess by now most of column 2 (x) is outdated news anyways 12:54 twoelk we could use this http://www.kiwix.org/ for offline versions of the wikis offered as download 12:55 celeron55 that's not a real snapshot though; probably very hard to restore back to being a website 13:02 twoelk indeed, kiwix seems to be an oneway road :( at least I can't find any info on converting back to a wiki 13:08 celeron55 so, while we were talking i wrote this draft just to see if i could come up with a reasonable text for such a purpose: http://fpaste.org/224649/32300030/ 13:08 celeron55 don't expect that to go live anyway soon or maybe ever, but feel free to comment :P 13:09 celeron55 s/anyway/anytime/ 13:15 celeron55 anyway, i think that's kind of plausible 13:18 twoelk hm, someday we will need an unified roadmap 13:19 twoelk though true lines 14-16 might be tricky for a public statement 13:19 est31 celeron55, have you found a nice engine yet? 13:19 technomancy wow, I had no idea replacing the engine was even an option 13:20 technomancy client-side scripting would really own; working within the limitations of formspects is a bit unfortunate 13:20 celeron55 well that one is rather far fetched but i don't think irrlicht will suffice forever even while everything else would 13:20 technomancy gotcha 13:20 * twoelk hasn't seen a convincing replacement candidat yet that addresses all issues 13:20 est31 yea my thoughts too 13:21 technomancy is the client-side scripting project still in the design/brainstorming phase? 13:21 est31 not even there 13:21 * technomancy nods 13:21 twoelk more storm than brain 13:22 est31 we only have determined who does it, not what he does :) 13:22 technomancy I'm excited about the ability to implement an xterm in minetest since I have the beginnings of a little toy unix 14:06 twoelk would this be an option to archive the minetest wikis? https://archive.org/details/wikiteam 14:17 est31 what do people who know more about C compilers know about this: https://github.com/minetest/minetest/pull/2695#discussion_r30898053 14:17 est31 is nrz right here 14:18 est31 or is a switch as fast as an array lookup? 14:25 exio4 est31: a switch may get compiled to a jump table, which would be pretty much a array lookup + jump, anyway, an array lookup would make it obvious that the operation is constant time 14:29 nore est31: I reckon that a switch is slower than an array lookup because there will be pipeline control hazards 16:31 Krock Comments for #2714 please. 16:31 ShadowBot https://github.com/minetest/minetest/issues/2714 -- Fix Windows build, clean up included headers by SmallJoker 16:41 hmmmm Krock: why not just change strings.h to string.h? 16:42 est31 Krock, the change inside s_security.cpp isn't the right way 16:43 est31 windows uses \r\n (or \n\r, forgot which way round) for line termination, so what will happen is: 16:43 Krock hmmmm: "libstdc++ doesn't include inside of , unlike libc++." https://github.com/minetest/minetest/commit/43702e 16:43 est31 lines either start or end with \r 16:43 Krock It's \r\n 16:43 hmmmm Krock: and? 16:43 hmmmm the point is that it needed string.h, not necessarily strings.h. i said this was a mistake 16:44 hmmmm what you're doing there now breaks compatibility with freebsd and it's just the completely wrong way to fix it 16:44 Krock I wasn't sure about that point. I'll remove those lines 16:44 hmmmm all you needed to do is remove one 's' 16:44 Krock string is already included in porting.h 16:45 hmmmm okay then 16:45 hmmmm maybe just remove the entire #ifdef .... then 16:46 Krock done 16:47 hmmmm as for the file mode change, I'm not really sure 16:47 est31 Krock, do you use minetest inside the context of cygwin, or is it 100% windows only build? 16:48 hmmmm you need to understand this means no line ending conversions will be performed and therefore you need to account for the extra added \r when you open a file created under windows 16:48 Krock est31, compiled on MSVC, Windows XP (no VM) 16:48 est31 because I wonder whether minetest on windows should or should not use \r 16:49 Krock windows doesn't really care but most editors save it as \r\n 16:49 hmmmm minetest on windows should place \r\n 16:49 hmmmm but minetest should absolutely never care about line endings 16:50 hmmmm so it's pretty much mandatory to ensure that there are no trailing \rs or what have you if you open it as a binary file 16:50 est31 this is only about reading 16:50 est31 Its ok for me if its ensured the \r characters do no bad stuff 16:50 est31 do you know what happens with them? 16:51 hmmmm they get left along with the input if it's opened under unix 16:51 est31 yea but here we deliberately open with "rb" 16:51 est31 which I think is the better alternative 16:52 est31 as with "r", all size calculations will fail 16:52 Krock I think lua should get the file as-is, unmodified. 16:52 est31 http://c-faq.com/stdio/textvsbinary.html 16:54 est31 also "rb" forces us to take care of \r ourselves 16:54 est31 but I guess lua simply ignores those characters 16:54 est31 ok then 16:55 Krock There are mods created on Windows and there were no problems with the line endings :) 17:03 Krock est31, is there anything I should change or could you agree with that pull please? 17:06 est31 Krock, did it fail building before? 17:06 Krock est31, yes. MSVC doens't know strings.h 17:06 est31 ok then +1 17:06 Krock hmmmm, please? 17:48 hmmmm yes?? 17:56 rubenwardy https://meldy.hira.io/Zerobin/?e34d9a8aa421da1f#y5yzNUdeaWQZzonpetyEuabwriJCWxKcAsJpMjAvZns= 18:02 est31 rubenwardy, what minetest version is that? 18:03 nolsen 0.4.12-dev 18:03 nolsen If that is correct. 18:03 nolsen I'm getting the version from what it says upon server join 18:04 nolsen est31, It first crashed multiple times when I didn't anything the username box. 18:04 nolsen I'm not sure you could use this crash all the servers. 18:05 est31 ouch 18:05 est31 ah I see 18:08 Krock hmmmm, talking about pull #2714 , est already agreed. Do you think it needs a change or would you agree too? 18:08 ShadowBot https://github.com/minetest/minetest/issues/2714 -- Fix Windows build, clean up included headers by SmallJoker 18:08 hmmmm yes, looks good 18:08 nolsen est31, I could try testing it again by clearing my username and see if it continues, on Windows and linux. 18:09 est31 would be great if you did 18:09 est31 I just wonder: how did you manage to connect with a blank username? 18:09 nolsen dunno 18:09 nolsen I didn't. 18:09 Krock fine. Please push that fix soon. 18:09 nolsen It just got stuck at "Connecting" 18:09 nolsen and then I timeout, I found out why and oh look, server crash. 18:10 nolsen try again, same thing. 18:10 est31 so the field was blank, was there some content in there before, or was it the first start of minetest? 18:10 nolsen first start 18:10 est31 ahhhh 18:10 est31 usually this is catched by mainmenu lua 18:10 est31 but not in this case 18:10 nolsen but I wonder if this could put other servers at risk. 18:11 est31 either way a must-fix 18:11 est31 yes indeed 18:11 nolsen because if someone finds out about this, they could just start crashing all the pub and priv severs. 18:11 est31 yea 18:11 rubenwardy lol 18:11 est31 so two things to do right now 18:11 nolsen est31, try clearing your name in minetest.conf and connect to 188.165.3.51 18:13 est31 yea 18:13 est31 I can reproduce it locally 18:14 kahrl a check at network/serverpackethandler.cpp:167 would probably be best 18:15 nolsen est31, Want me to pull the issue on github? 18:19 kahrl est31: https://gist.github.com/anonymous/469a0589d49ee112d184 18:20 est31 I have a slightly shorter version https://gist.github.com/anonymous/fdcf5e2c7e478ffdba47 18:21 est31 gonna push that then. nolsen what is your github username, so that I can attribute you? 18:21 nolsen UltimateNate 18:25 est31 https://github.com/minetest/minetest/commit/e13d2bafc6d0a4fb0d42cf9c229012f4a4f17131 18:26 * nolsen goes back discovering bugs 18:26 nolsen If I can find my minetest terminal 18:27 est31 ? 18:27 nolsen est31, I have terminals cluttering 18:27 nolsen and apps 18:28 est31 weird desktop environment? 18:28 nolsen no 18:28 nolsen LXDE 18:28 nolsen I use a terminal to open minetest 18:29 est31 ok 18:29 nolsen I wonder what happens if I use UTF-8 special chars like ÅÃÃÃ 18:29 nolsen in a username. 18:29 est31 that should be catched 18:29 nolsen But if the server can handle it? 18:29 est31 but please test it :) 18:30 est31 UTF-8 is one of the weak points of minetest 18:30 est31 freeminer is better in this regard 18:30 kahrl the reason only ascii characters are allowed is to prevent impersonation attacks, and to ensure every admin can type every username (in case they need to ban or kick) 18:31 nolsen It appears the server can handle i t. 18:31 nolsen hm... 18:38 kahrl (and disallowing symbols like . and / prevents directory traversal attacks when the server writes player files) 18:45 nolsen est31: Right now I'm seeing what bugs or exploits there is by using cheat engine :3 18:46 nolsen And having 2 clients open on my server. 18:46 est31 cheat engine? 18:47 Calinou it's a cheating program :P 18:48 nolsen http://www.cheatengine.org/ 18:48 est31 a debugger basically? 18:48 nolsen It can do speed hack, modify codes. 18:48 nolsen People could use it to hack. 18:48 nolsen est31: If you join my server, I can show you under a user name "Test", is running than normal. 18:48 nolsen If I set any speed higher, the server will detect and reset me. 18:49 nolsen I'm barely going under the server's cheat radar. 18:49 nolsen I sometimes have my position reset. 18:49 nolsen s/running/walking 18:51 nolsen s/People could use it to hack/People could use it to exploit. 18:51 est31 interesting program 18:52 nolsen I tried using it, but I'm not a hacker. 18:52 nolsen I just use the speedhack, sometimes it doesn't work 18:52 nolsen or work well. 18:52 est31 there are multiple definitions of "hacker" 18:52 est31 or "hacking" 18:52 nolsen s/hacker/exploiter 18:52 nolsen I guess this is more of an exploiting tool 18:54 est31 you can cheat in singleplayer as much as you want, but I guess when you do it on a public server, its owners won't like it. 18:54 est31 and ban you in most cases. 18:54 nolsen if they can find out 18:54 nolsen I'm just testing it on my server. 18:54 nolsen You might not even know one's exploiting. 18:54 Krock nolsen, use wpe pro to mess up a server 18:55 nolsen wpe? 18:55 Krock "wpe pro", it sends and receives packets 18:58 nolsen It seems speed 1.8 on the speedhack section is the most smooth option. 18:59 nolsen Though it's a great way to spam one's console with walking too fast errors :P 19:16 rubenwardy #1869 19:16 ShadowBot https://github.com/minetest/minetest/issues/1869 -- Add scriptapi interface to HTTPFetchRequest by Jeija 19:16 rubenwardy What's the stance on this, now that security is added? 19:23 est31 if, it should be added to the api thats only accessible when you trust a mod, or disable mod security 19:33 exio4 cheat engine is pretty useless if you have access to a compiler and the source code 19:33 est ^ 19:34 exio4 I mean, if you give me 15 minutes, I'll have speed hack, just let me recompile the source code! 19:40 Krock oh, if you're already compiling a minetest speedhack, also include a CPU speedhack 20:29 Megaf proller: I bet Freemine already has this feature included. #2715 20:29 ShadowBot https://github.com/minetest/minetest/issues/2715 -- ["Feature Request"] Stop crashing the entire server because "a nil value" 20:31 Megaf paramat: Hi, great work on biomes and mapgen and all that stuff, really, I do appreciate. But, shouldn't water freeze on snow biomes? 20:33 paramat comments from devs on game#519 would be appreciated :) this issue should perhaps have been in minetest 20:33 ShadowBot https://github.com/minetest/minetest_game/issues/519 -- Should mgv6 snowbiomes be enabled by default? 20:33 paramat hi 20:33 paramat it freezes to icesheet in tundra 20:33 Megaf paramat: I'm no dev, but I have enabled snowbiomes on my server today and it seems very nice, works good 20:33 paramat taiga is snowy but not cold enough for ocean to freeze over 20:35 paramat i guess lakes IRL would freeze in taiga, but oceans would not, so i chose no freezing 20:35 paramat cool 20:36 paramat it makes biomes too small though, that will be fixed soon 20:40 Megaf Devs < https://github.com/minetest/minetest/issues/2507#issuecomment-104761608 20:41 exio4 Megaf: what would happen in those cases? 20:41 Megaf I don't now 20:42 Megaf IMHO a non declared variable can be as buggy as a nil value 20:42 Megaf both can cause severe crash/currption because of missuse, both are bugs 20:42 paramat (comments from non-devs welcome too) 20:42 Megaf make both fatals then 20:43 Megaf Problem is, that will require more from mod devs 20:43 kilbith fix is pretty trivial 20:44 Megaf paramat: about snow biomes, I do think they could be enabled by default yes. But that is not my final word, I'd like to do more tests and keep observing my servers behaviours for the next couple of days 20:50 paramat to fix biome size i recommend a spread of (500, 500, 500) for biome noise 20:51 paramat mgv6_np_biome = 0, 1, (500, 500, 500), 9130, 3, 0.50, 2.0 in .conf 20:52 paramat if snowbiomes are made default that ^ may become default 20:52 Megaf That could causes some incositencies(I don't know how to spell this) on mapgen on existing maps 20:55 paramat hopefully not, as noise params are stored per-world in map-meta.txt 20:55 paramat it would affect new worlds only 23:23 paramat hmmmm how do these comments look? https://github.com/paramat/minetest/blob/c7ef3edc43640c52fe09036d685af7ffd5e2bbb6/src/mapgen_v7.cpp#L592 23:32 nolsen local finitewater = minetest.setting_getbool("liquid_finite") 23:32 nolsen erm 23:32 nolsen wrong post 23:32 nolsen 18:30:35: WARNING: Undeclared global variable "title" accessed at ...esktop\minetest-0.4.12\bin\..\builtin\mainmenu\store.lua:183