Time Nick Message 00:00 celeron55 rarkenin wrote this: http://dev.minetest.net/Rarkenin/Proposal_System 00:01 StrayBytes Just as heads-up, instead of rarkenin I now use StrayBytes on IRC. 00:03 Jordach RealBadAngel, are you making connected textures 00:04 RealBadAngel Jordach, not really, im makin glass nodes that autoconnects to form surfaces 00:04 StrayBytes Comments on the proposal proposal? 00:05 hmmmm have you proposed the proposal system under the new proposal system? 00:06 StrayBytes Not yes, since the proposal proposal is still a proposal, and not policy yet. 00:06 hmmmm realbadangel, for now i think what we can do is just make it a config option.... we should call it solid_glass perhaps? 00:06 hmmmm we'll deal with the drawtype thing later because i'm sure right away people would appreciate that 00:07 RealBadAngel im adding now scratches to glass surfaces 00:07 hmmmm ahhhhhh 00:07 RealBadAngel about the name, im not sure 00:07 RealBadAngel maybe some other ideas? 00:08 hmmmm dunno, but i agree with you on not liking the scratches or streaks or whatever those are 00:08 Jordach RealBadAngel, i'd consider calling it: connectable blocks 00:08 hmmmm :3 00:08 RealBadAngel Jordach, this affects only glasslike nodes 00:08 RealBadAngel it is very specific 00:08 VanessaE hmmmm: I consider them equivalent to the streaks normally used to suggest glass in cartoons and technical drawings 00:08 hmmmm maybe someday we'll be able to expand this idea 00:09 Jordach RealBadAngel, some blocks such as bookcases would benefit from such 00:09 hmmmm and then procedurally generate a texture for each face of the connected blocks 00:09 Jordach because they never magically end do they 00:09 hmmmm vanessa, same here 00:09 VanessaE (if we had proper alpha support, I'd be drawing them as a mild, subtle glare, like a reflection or some kind) 00:09 hmmmm indeed 00:09 hmmmm see, that's another thing i'd like to do, proper alpha support 00:09 Jordach like irrlicht will ever support that 00:10 StrayBytes That's a start towardnice graphics... 00:10 Exio i would like reflection 00:10 hmmmm so many things, so little time 00:10 Exio but i have no f* idea how to code it :D 00:10 celeron55 StrayBytes: it does have the problem of possibly being prone to heavy compromises in game content / mechanics which lead to zero innovation 00:10 hmmmm see 00:10 Jordach hmmmm, focus a one at a time agenda 00:10 hmmmm people who want these things and use irrlicht just expand irrlicht 00:10 hmmmm (like Build A World for instance) 00:10 StrayBytes That's a fair point. 00:11 hmmmm i don't think it'd be horrible if one of us adds it to irrlicht and have minetest support it that way 00:11 celeron55 StrayBytes: as for the engine, it could work; i think the proposal proposal is somewhat unclear on how actual code is accepted or rejected 00:11 StrayBytes I'll work on clearing that up soon. 00:12 celeron55 i'm not sure if this differs at all in practice from what we have now, though 00:13 hmmmm just reading that thread now... "Hmmm designed it, he can fix it. Just like we are being asked to implement our own colored lighting." <---- i did not design it, that was blue42u 00:13 hmmmm i just polished it up a lot 00:13 hmmmm again, i am NOT interested in maintaining the lua hud 00:14 celeron55 i answered it there already, you have no need to repeat the discussion in here :P 00:14 hmmmm responsibility creep at its finest 00:14 celeron55 everybody knows the facts except mauvebic 00:16 StrayBytes Proposal updated a bit. 00:17 hmmmm so hold on a minute, minecraft has colored lighting? 00:17 StrayBytes And it's a wiki for a reason, feel free to submit edits. 00:17 celeron55 hmmmm: i think it doesn't 00:17 hmmmm figured as much... these people are full of shit 00:17 celeron55 it has similar coloring of light as MT has, except that MT does it right 00:17 celeron55 8) 00:18 hmmmm it's easier to add into minecraft because their MapNode structure is already 8 bytes and they don't use much of it from what i understand 00:18 VanessaE so tell me something: 00:18 hmmmm still a gross hack though 00:19 VanessaE why the apparent opposition to adding two more bytes per exotically-colored node? 00:19 hmmmm i have a feeling this is going to end with me putting my own things off to the side again and adding hardware lighting support and doing colored lighting properly 00:19 VanessaE (when a node already takes a few dozen bytes anyway I mean) 00:19 hmmmm two more bytes? 00:19 hmmmm and no, it doesn't take "a few dozen bytes" 00:19 hmmmm it's 4 00:20 celeron55 "per exotically-colored node" 00:20 celeron55 you can't add something to some nodes only 00:20 celeron55 the node structure is static for each node 00:21 Exio it is just 2 bytes, we already have 42cores cpus and 64gb of ram!!!!!111! 00:21 RealBadAngel http://i.imgur.com/tNkUdKT.png 00:21 celeron55 it's not as much about 2 bytes than about the 20 bytes that adding stuff without serious consideration will lead to 00:22 hmmmm i assume you did that by making a separate connected glass node? 00:22 VanessaE hmmmm: each node takes four bytes in the map/network? 00:22 hmmmm less, because of compression, but in memory yes it takes 4 bytes 00:22 celeron55 over network and on disk much less because they are compressed, but laoded into RAM they are 4 00:22 StrayBytes Are packets culled/grouped before being sent out? 00:23 StrayBytes It seems like there's a ton of overhead for the many small packets which are used in client-server interaction. 00:23 hmmmm there seems to be a bunch of misconceptions about all this 00:23 hmmmm i wonder if i should bother explaining exactly what's going on in the forums 00:23 RealBadAngel hmmmm, scratches are visible only if neighbour node is air or water 00:23 VanessaE it seems like there should be a lot more than that, but I'll take your word for it. Still, two more bytes and only applied to nodes that have exotic light shouldn't be very heavy in practice. 00:23 celeron55 also on average a MapBlock's mesh takes multiple times the space of the nodes in it, but the problem here really isn't clients but servers 00:24 Exio i just added a rand in that "function" where they say they add that stuff 00:24 Exio and saw it blink 00:24 Jordach RealBadAngel, that looks like nodeboxy glass 00:24 Jordach nice. 00:24 Exio i know how to implement it now, now? 00:24 hmmmm huh, add what stuff? 00:24 celeron55 StrayBytes: the MT protocol basically sucks all-around, that isn't a particularly large problem 8) 00:24 hmmmm yeah, celeron, you really overengineered the protocol 00:24 Exio hmmmm: the "colored lighting" in the mapblock_mesh 00:25 hmmmm those things are best left to the tier below application 00:25 Exio what maudevic (i can't recall his nick) did for changing/tweaking the colors 00:25 StrayBytes Maybe it's time to rework the protocol from near-scratch, first on paper before diving into code? 00:25 Jordach mauvebic* 00:25 hmmmm oh 00:25 hmmmm mauvebic didn't really do anything of substance there 00:25 hmmmm he just changed some colors around 00:25 Exio i was being sarcastic 00:25 Exio he only changed that and now he is saying that is the "way" to implement that 00:25 hmmmm :| 00:25 celeron55 StrayBytes: a new TCP based protocol would probably be a good idea, if somebody has the time to design and implement such 00:26 StrayBytes I could try to design it, but I suck at C++. 00:26 StrayBytes I've done a lot with transmission of data, though, at this level and lower levels as well. 00:26 Jordach or we could implement a more p2p protocol where chat isnt sent to the server exept / commands 00:27 celeron55 and in fact there's probably not much at all to design; just send the current stuff in a TCP stream 00:27 StrayBytes And block sends could live in the cloud. No servers at all. 00:27 StrayBytes And in-game-currency is real bitcoin. 00:27 StrayBytes :P 00:28 celeron55 i once thought after a workday that i could implement some kind of a REST/HTTP voxel server that would do nothing else, and then announce it and wait for somebody to make some part of a client for it 8) 00:30 Exio well, a random thing, what do you think about https://github.com/minetest/minetest/pull/653? 00:30 hmmmm oh 00:31 Exio it is not "compatible" with the actual code, but hm 00:31 VanessaE I thought that was already in. Obviously not. 00:31 hmmmm yeah you don't need to do that with the HUD api now 00:31 hmmmm just set the crosshair_alpha=0 00:31 hmmmm and then place your image in the hud api in the center 00:32 Exio is it possible to 'apply colors' to that? 00:32 Exio i mean, a white-crosshair-image with a blue/whatever/line, plus you being able to changing that in the client 00:32 hmmmm you can do all that yeah 00:32 celeron55 lua hud is kind of not fully useful for that 00:33 hmmmm why, because it can't be centered? 00:33 StrayBytes I'll take a few weeks to think and plan out a TCP-based protocol, not that it would necessarily be implemented. 00:33 celeron55 part of the idea of the custom crosshair is that the player can set any crosshair that he wants on his local client 00:33 hmmmm if the mods had access to each clients' dimensions, they can do all that on their own and more 00:33 hmmmm oh. 00:33 hmmmm alright, i'll add an image override then 00:33 celeron55 but dunno 00:33 StrayBytes The server could be used for TCP holepunching reasons, fallback to UDP holepunch, and fall bakc to relaying via the server 00:34 Exio hmmmm: how do you make the client "colorize" some luahud image? 00:34 celeron55 StrayBytes: in minetest, the server is authoritative of most things and none of other clients simulate other client's worlds, so that is kind of far fetched 00:35 hmmmm the client? you can't 00:35 Exio hm 00:36 StrayBytes No, what I'm thinking is that player movement and interaction could be done over p2p so the server doesn't have to relay it all. 00:36 celeron55 StrayBytes: i think the (quite humble) goal for it should be just to make a simple protocol that works because TCP works well 00:37 StrayBytes Yeah, I probably went too far. 00:37 StrayBytes But hey, can't I imagine a lag-free world? 00:37 kaeza misc: a ^tint[R,G,B,A] tex transform or smth like that would be useful, at least to reduce the amount of textures in mods like unified(dyes|bricks), coloredwoods, etc 00:37 Exio you can imagine whatever you want 00:39 hmmmm kaeza, that fits in with my colorlike drawtype 00:39 StrayBytes I'm thinking someday chunks could hop between players so the server would simply keep the clients up to date with simple changes and worry more about the important stuff. 00:39 celeron55 i do think we should work towards making minetest a bit more network protocol agnostic 00:39 hmmmm which hasn't been coded yet 00:39 RealBadAngel http://i.imgur.com/sr48Fwh.png 00:39 RealBadAngel looks almost good imho 00:39 hmmmm what's still wrong with it? 00:39 VanessaE almost? 00:39 VanessaE it looks very good 00:39 StrayBytes It would be shortest-path problem all over again :/ 00:39 VanessaE one thing: don't put blank pixels in the frame. that makes it look like ass 00:40 VanessaE :) 00:40 RealBadAngel me? 00:40 RealBadAngel thats default texture 00:40 VanessaE I assumed. 00:41 celeron55 it's not a frame, it's just the edge of bare glass! 00:41 VanessaE oh I see what's "wrong", the backside streaks are still visible. 00:41 VanessaE celeron55: maybe not, but to most people I'm sure it looks like a frame. 00:41 VanessaE and it *still* looks like ass :D 00:42 StrayBytes http://dev.minetest.net/Rarkenin/Draft_TCP_network_protocol 00:42 StrayBytes I'll work on it when I can. 00:42 StrayBytes Which means, unfortunately, not at the moment, 00:43 StrayBytes Do you think TCP holepunch could be implemented? 00:43 celeron55 StrayBytes: please leave out all p2p and other unnecessary things, especially if you can't implement it - nobody will have time or interest to actually make it 00:44 StrayBytes OK. 00:44 StrayBytes I'll just stick to basics. 00:44 StrayBytes Thoughif I ever learn C++, that may be my goal for improvement. 00:44 celeron55 make it the most KISS thing you have ever done 00:45 StrayBytes Understood. 00:45 StrayBytes I'll try to keep as much of the existing stuff in place/ 00:45 celeron55 i do predict you have too little knowledge of MT's serialization things to make anything final though (which makes me think you even starting that is kind of odd, but anyways) 00:46 StrayBytes I've actually already partially reimplemented part of the serialization in PHP for a bot that I ended up abandoning due to time constraints/ 00:47 celeron55 also i think just sending "message id" + "data length" + "data" triples will work just fine, so the only thing to define is how many bits to use for each :D 00:48 StrayBytes Staying in UDP? Or are you talking about TCP already? 00:48 celeron55 i mean, that'd be just putting the current UDP packets as messages with ids in the TCP stream 00:49 celeron55 do you think there would be need for anything else? 00:49 StrayBytes Packet aggregation would be very important when it won't cause more delay for time-sensetive packets. 00:49 celeron55 of course clean up stuff all-around, but generally otherwise 00:50 celeron55 doesn't common TCP implementations do somewhat reasonable amount of that automatically? 00:50 StrayBytes Why would we need message ids in the first place? TCP is already ordered, and length is enough as long as the code doesn't accidentally lose track of the data. 00:51 celeron55 StrayBytes: id = message name, or command or whatever you'd call it 00:51 StrayBytes Oh, I thought you were referring to packet ids. 00:51 celeron55 the title of the data, see clientserver.h 00:51 StrayBytes I'm aware. I just had the terminology backwards. 00:52 celeron55 i think they're called commands in the current implementation 00:54 hmmmm [08:47 PM] also i think just sending "message id" + "data length" + "data" triples will work just fine, so the only thing to define is how many bits to use for each :D indeed, sounds like a protocol i worked on for quite some time, except it started each packet with a sanity byte in the header:) 00:54 hmmmm well that's sufficient for a TCP protocol anyway 00:54 StrayBytes I'm thinking that the magic numbers should only be sent at the start of a session. 00:55 hmmmm magic numbers? 00:56 hmmmm anyway how about this: 1 byte for the packet id, 3 bytes for the length 00:56 hmmmm in that order 00:56 StrayBytes 0x4f457403 arethe magic numbers. 00:57 hmmmm erm where is that? 00:57 StrayBytes clientserver.h line 110 00:57 StrayBytes Used at the start of each old packet. 00:57 hmmmm ew 00:57 StrayBytes Now should be at the beginning of a session. 00:57 hmmmm also that number looks odd, can't really read it 00:58 StrayBytes Should long packets be split by IP fragmentation, or should we use application-level chunking? 00:58 hmmmm if you're going to put a magic number in, it ought to mean something 00:58 hmmmm i vote for 'mine' or the like 00:58 hmmmm application level chunking obviously 00:58 hmmmm here's how it should work: 00:59 Jordach *yawn* 00:59 hmmmm retrieve header, see the data length, expect that many bytes and don't trigger any packet handlers before all the bytes arrive 00:59 StrayBytes I'm thinking any non-time-sensetive packets are queued until either they've waited a certain amount oftime, a time-sensetive packet is due to be sent, or the queue reaches a certain size. Then they're sent as one to minimize overhead. 00:59 VanessaE three bytes for a packet length...isn't that a bit excessive? 00:59 hmmmm vanessae, from what i understand, packets can already be larger than 65536 in minetest 01:00 hmmmm or am i mistaken? 01:00 StrayBytes What about having packet length be preset for the commands for which that can be done? 01:00 VanessaE hmmmm: I would hope not given the average TCP packet is only ~1500 bytes.....shouldn't a new protocol consider that? 01:00 hmmmm StrayBytes, that adds a lot more complication... 01:00 hmmmm besides, if you're using TCP, it's assumed that your packet isn't very time sensitive in the first place :p 01:00 VanessaE (I know we aren't using TCP now, just saying) 01:01 hmmmm erm 01:01 hmmmm 1500 bytes is the frame size 01:01 StrayBytes What about making a TCP=UDP hybrid? 01:01 hmmmm and that's below our application level 01:01 hmmmm TCP/UDP hybrid? that's what the current protocol already is 01:02 VanessaE hmmmm: well even when that's the case, a 64k packet is a recipe for horribly latency issues, I think 01:02 StrayBytes Where's the TCP already in use? Just outsourced to cURL for media ftching, IIRC. 01:02 VanessaE s/ly/le/ 01:03 hmmmm vanessae, no you're not understanding, we send them as they are sent, not all in 65536 byte batches 01:03 VanessaE OH 01:03 VanessaE ok 01:03 hmmmm it's just that the maximum size could be that 01:03 hmmmm straybytes, yeah, TCP is just used for those things. my idea is that we use TCP for bulk transfers too, such as mapblock transfers 01:04 StrayBytes A lot of Minetest's packets are horribly small. Not culling them is a true recipe for lag. 01:04 StrayBytes Mapblocks, that's a start. 01:04 VanessaE StrayBytes: I think I'd be careful to distinguish lag from latency (even though one will cause the other) 01:04 hmmmm i know i'm probably getting annoying with using starcraft as an example but it's very well done 01:04 StrayBytes *latency then. 01:05 hmmmm starcraft buffers up all the packets to be sent in 250ms intervals 01:05 VanessaE hmmmm: so? if they did it right, they did it right - so let that program be MT's role model 01:05 VanessaE (so to speak) 01:05 Jordach for the networking part 01:05 VanessaE Jordach: natch 01:06 StrayBytes That's what I was thinking, except a time-sensetive packet can force the current buffer to be sent. 01:06 hmmmm sounds fair enough 01:06 Jordach go look at red eclipses, or openarena's networking code: they are flawless 01:06 Jordach and highly polished 01:06 Exio if a FPS doesn't have that plus a lot of client-side prediction 01:07 Exio it can't be called an actual FPS ;) 01:07 StrayBytes We'd want to set TCP_NODELAY if we're going to do our own packet culling. 01:07 hmmmm it'd be more helpful if someone just told us the gist of what they do rather than having us readin git all 01:07 hmmmm oh, no.... 01:07 hmmmm don't disable the nagle 01:07 hmmmm seriously for that stuff we use udp, for bulk transfers we use tcp 01:09 VanessaE Jordach: how hard do you think it would it be to port openarena's networking model to MT? 01:09 Jordach depends on the programmer's networking skill 01:09 hmmmm we don't need their networking model at all 01:10 Jordach hmmmm, most isps dont like people uploading tcp afaik 01:10 hmmmm .... 01:10 hmmmm that's stupid 01:10 VanessaE Jordach: so I can't send files to my website? um.... 01:10 Jordach hmmmm, torrenting is tcp 01:10 hmmmm and 01:10 VanessaE (I'm pretty sure rsync operates over TCP) 01:10 hmmmm practically everything else uses tcp 01:10 VanessaE exactly. 01:10 Jordach hmmmm, you do realise that tcp is a realy bad ide 01:10 Jordach idea* 01:10 hmmmm i do? 01:11 hmmmm you don't have any idea of what you're talking about, sorry 01:11 hmmmm TCP is great 01:11 hmmmm there's nothing wrong with TCP 01:11 Jordach because: isp willt think youre torrenting 01:11 VanessaE Jordach: you misunderstand. 01:11 hmmmm torrenting happens at the application level 01:11 VanessaE torrents may use TCP, but so does *everything* else nearly. 01:11 hmmmm everything you can possibly think of uses TCP 01:12 hmmmm websites, IRC, email, chat programs, etc. 01:12 VanessaE Jordach: the issue isn't what underlying protocol you use - it's what you DO with it. MT isn't going to be opening hundreds of inbound/outbound connections from a single machine. 01:12 hmmmm by your logic, your ISP thinks you're torrenting right now by using IRC 01:12 Jordach hmmmm, maybe 01:12 hmmmm sit back and think about that for a moment 01:12 Jordach but then again these days 01:12 hmmmm "these days" what? 01:12 hmmmm everything uses TCP 01:12 Jordach youre isp is paranoid about anything you do 01:12 hmmmm and it's not going anywhere 01:13 VanessaE Jordach: simple solution (not suitable for MT): SSL. 01:13 Jordach VanessaE, does it look like every website has https? 01:13 hmmmm i'm telling YOU as an expert on the topic that merely using a TCP connection does not flag anything as being a torrent 01:14 hmmmm i am not going to speak of this silly topic any further, go educate yourself by reading things on the internet if you still don't believe me for whatever reason 01:14 VanessaE Jordach: any website that values the security of their transmitted data uses https or ssl or some other method of encryption. 01:14 Jordach youre still going to get slowed down by the isp mechanically. 01:14 VanessaE mechanically? wtf? 01:15 Jordach VanessaE, someof them have computers to limit your usage 01:15 Jordach despite being unlimited 01:16 VanessaE Jordach: an average MT server only draws between 1kB/sec and 10 kB/sec per user that's playing. you're honestly trying to say that pushing 200 kB/sec (for 20 users, which is around half what my particular connection is capable of btw) is gonna get you flagged as an abusive customer? 01:17 Jordach VanessaE, depends on the time of length it happens for 01:17 Jordach isps will jump to conclusions based on high bandwitdh usage 01:17 VanessaE yeah, and you're not going to be pushing that sort of speed 24/7. 01:17 VanessaE you 01:17 VanessaE you're being paranoid now. 01:17 VanessaE put away your torrent client. 01:17 Jordach VanessaE, im not torrenting 01:18 Jordach my uncle runs a server, and he gets buffered by his isp despite being 100mb fibre 01:19 VanessaE buffered? or throttled? 01:19 Jordach throttled. 01:19 Jordach yet he only uses a 1/10th of full power 01:20 VanessaE 1/10 full power = 10 mbps = a constant 1 MByte/sec stream. THAT could get flagged as abusive especially if he's paying only for a "home" connection. 01:20 Jordach VanessaE, he runs a small home based server farm 01:21 Jordach 6 nodes in total 01:21 VanessaE that's why he's getting throttled. DUH 01:22 Jordach that;s why he makes the cash to pay for the 100mb line 01:22 Jordach most isps lie when they say about your speed 01:22 Jordach and i dont trust speedtest.net 01:23 Jordach i swear they use UDP 01:23 VanessaE el wrong-o. 01:24 VanessaE NO ONE uses UDP for anything serious except for MT and maybe some old voice chat programs 01:24 Jordach VanessaE, 10kb/s up on http, 0.7mb speedtest.net 01:24 VanessaE literally 99% of everything going across the Internet is TCP-based. 01:24 VanessaE there's a reason the root protocol is called TCP/IP. 01:24 Jordach bull. 01:24 VanessaE no bull. 01:25 hmmmm this is an unproductive conversation 01:25 VanessaE agreed. 01:25 Jordach i know all current generation video games consoles are udp 01:25 hmmmm jordach is denying simple truths about how the internet works and it has nothing to do with minetest development 01:25 StrayBytes Why don't we just have all players run dedicated fibre lines between them and the server? :P 01:25 hmmmm should probably stop spamming the channel 01:25 hmmmm what if i started going around and telling people that the water they drink is actually H4O2 and not H2O 01:26 StrayBytes It's all DHMO anyway. 01:26 hmmmm "only 10% of water is H2O actually, the water company mechanically limits you if you use H2O" 01:26 VanessaE Oh G*D anything but DHMO! BAN IT! 01:27 Jordach hmmmm, there are many people who would believe that 01:27 VanessaE hmmmm: ok, the description for water in the default game shall be renamed to "DHMO Source" et.al :D 01:27 hmmmm lol 01:27 StrayBytes I got my swim team tovote on not using DHMO during practices. Go figure. 01:27 VanessaE StrayBytes: no shit? 01:27 StrayBytes Really. 01:27 VanessaE *facepalm* 01:27 StrayBytes That's how stupid everyone is. 01:27 kahrl speedtest is unrealistically fast because isps prioritize traffic to and from there 01:28 kahrl not because of UDP or TCP 01:28 VanessaE ah, the prodigal son returns 01:28 StrayBytes And to consider I am on that team... 01:28 * StrayBytes shudders 01:28 StrayBytes Now can we get back on topic? 01:28 VanessaE no. :) 01:28 StrayBytes "Chit-chat goes to #minetest.¨¨ 01:29 StrayBytes Yeah... I love for these people to jump in off the starting block and land on tiled, rock-hard, rock-dry pool bottom. 01:29 Jordach kahrl, its their little way of lying to the customer 01:31 VanessaE Jordach: ok ok enough of this subject. 01:31 * VanessaE hands StrayBytes a spatula so he can spread those umlauts downward into full quote marks. 01:31 Exio is there any typedef for core::rect? 01:32 Exio nevermind 01:34 kahrl a protocol idea: someone mentioned leaving out the size field for small fixed commands, maybe the server could send a map from command ids to command lengths (after TOCLIENT_INIT) 01:35 kahrl commands that aren't included in this map are dynamic and need a size field 01:36 kahrl it would obviously be better than hardcoding the commands lengths in the server and client 01:36 hmmmm a size field is practically nothing in comparison to the beefy header that's already sent 01:36 hmmmm aggregating commands would be better 01:36 kahrl there would be no need for the header in the TCP stream 01:37 hmmmm except for the command id 01:37 hmmmm you can do that, sure, i don't really think it'll help much though 01:38 kahrl even the UDP header can be reduced, a lot of the stuff (like pings, split packets and so on) can probably be moved to the TCP side 01:40 Exio - https://github.com/EXio4/minetest/commit/b5e7d9bd419f96706006247ff6c74d2c34317061 02:03 hmmmm alright 02:03 hmmmm i should tell you guys what i've been up to 02:03 hmmmm so what i've been working on primarily is the caves 02:03 Jordach watching ponies? 02:04 hmmmm what i accomplished was making caves into its own self-contained class and it makes many things neater, and i divided up the pieces of the code into neat functions 02:05 hmmmm defineCave() was removed, what it does is implemented in the constructor 02:05 hmmmm to define your own defineCave(), then, you need to define your new constructor, override generateCaves(), and make sure it uses your derived cave class 02:05 hmmmm some other obvious benefits to this is that you can override each individual piece of the cave code 02:06 hmmmm it's easier to understand 02:06 hmmmm etc. 02:06 hmmmm unfortunately i can't do much with code reuse 02:07 hmmmm the cave class is named "CaveV6" which shall not be modified functionally (if you want to use it in your own mapgen, you need to make a derived class from it) 02:07 hmmmm modifying cave generation means modifying the terrain features, which is not allowed for v6 02:09 hmmmm however, for the V7 cave system, i am modifying V6 much more extensively and it doesn't seem like i can just override a couple functions to get the cleanness and functionality i want 02:10 hmmmm an unfortunate side effect of this is, effectively, having to duplicate what seems like a lot of functionality (but not code) 02:10 hmmmm before i start committing things, how many people believe i should move this off into its own file, cavegen.cpp (like dungeongen.cpp)? 02:11 Jordach yeah 04:25 hmmmm uhh, interesting? 04:25 hmmmm i kinda figured the caves didn't match up 100% after i did this 04:26 hmmmm i seemed to have fixed the walled-in-cave problem somehow 04:26 Exio walled-in-cave? 04:26 hmmmm s/seemed/seem/ 04:26 hmmmm yeah, up against a chunk boundary, you'll sometimes get a solid, flat wall of stone where you'd expect the other half of the cave hole 04:27 Exio ah 04:27 hmmmm this walled in cave problem isn't the same as the one that i completely understand that happens when multithreading is enabled 05:06 hmmmm https://github.com/kwolekr/minetest/commit/03868ff8e1bcdcc831b8bd845b8ea7961f7ea1c8 09:41 iqualfragile i know that the average minetest server does not have such problems but: when the uptime is high 09:43 iqualfragile it does not show a sane uptime on join anymore but sth like 1.71587e+06 09:45 Jordach 1.71587e+06 is just sanely compressing the amount of time to a smaller number. 09:49 iqualfragile but 1.71587e+06 does just not look good 09:51 sfan5 1.71587e+06 equals 1715870 so thats just stupid 09:51 VanessaE *nod* 09:51 iqualfragile is the uptime in minutes? 09:52 VanessaE don't use scientific notation at all (seconds, btw) 09:52 VanessaE expand it to minutes, hours, days, etc. 09:52 iqualfragile yeah, that fits 09:52 iqualfragile because that are only 20 days of uptime 09:53 iqualfragile and its allready _realy_ outdated… minetest develops too fast 09:53 VanessaE I was about to say...20 days old, you may as well be running 0.3.x 09:53 VanessaE :) 09:54 iqualfragile but i can still connect with git clients 10:01 Jordach at least were developing and not being still 10:02 iqualfragile that was ironic 10:02 Jordach like Minecraft most of the time 10:41 celeron55 >minetest develops too fast 10:41 celeron55 some people say exactly the opposite 12:02 Deivan I have a big amount of the "teleport incident" here... 12:02 Deivan When my char is teleported to the "(inf, 0,0)" or similar position... :-/ 12:07 Deivan About the new api, now is possible change a texture at running time? 12:26 sfan5 Deivan: i also experienced the teleport bug 12:28 Deivan Is strange, don't happen in the minimal game, only in my main game... I experienced 5 times in 20 minutes... 12:28 Deivan :-o 12:28 sfan5 it happend to me once on jordachs server 12:29 Deivan :-/ 12:29 Deivan Well, I have RL work to do... 12:29 Deivan Someone is writing a FAQ to the API? 12:29 Deivan I think is very necessary. :) 12:29 Deivan Well, cya. AFK 13:57 jojoa1997|Tablet i am just wondering if allowing ingame texture switching will ever be on the todo list? 13:57 sapier https://github.com/minetest/minetest/pull/673 reduce cpu power required to get free object id 13:58 sapier maybe this reduces object duplication problem too 14:01 celeron55 "reducing" a bug is exactly what one does not want to do; it is not fixing but will rather make fixing harder 14:01 celeron55 disclaimer: i don't know what this duplication problem you are talking is about 14:05 sapier it's not reducing the bug its removing a silly search algorithm starting at index 1 to get a new id everytime 14:06 sapier after looking at 200 objects for object 201 it'll look for 201 objects for object 202 ... 14:08 sapier new algorithm takes next free id thus reusing id's only after 65k have been used thus if the duplication was result of id collision (not prooven to be) this bug would be reduced 14:10 sapier so if you don't want to fix a bug because this may reduce frequency of another bug to happen this shouldn't be added 14:15 celeron55 i am not arguing against the algorithm 14:16 celeron55 i am arguing about the questionable secondary benefits you seem to advertise it to have 14:17 sapier sometimes I feel making anythin right isn't possible if I don't tell possible side effects I get blamed for not telling if I tell I get blamed for not fixing the other thing ;-) 14:19 sapier but true I was looking for the duplication glitch when discovering this slow oid generation algorithm ... if I find out why objects are duplicated I'll fix that one too :-) 14:31 RealBadAngel hi hmmmm 14:31 RealBadAngel http://i.imgur.com/AfERhKw.png 14:32 RealBadAngel here's where i am atm 14:34 hmmmm awesome 14:35 RealBadAngel ive decided not to replace current drawtype but add new one 14:35 RealBadAngel glasslike_framed 14:36 RealBadAngel so if you want framed glass, you can craft it with some glass and sticks for example 14:36 hmmmm sounds good 14:36 sapier duplication still happens with improved id handling so you don't have to worry about a partly bugfix 14:37 RealBadAngel this way we have old and new drawtype 14:37 RealBadAngel and new extra content 14:38 hmmmm oh my god 14:38 hmmmm seriously? that's how new items were added? 14:38 sapier are you talking to me hmmmm? 14:38 hmmmm why is it that so many things in minetest iterate over several thousands of items in order to accomplish something 14:39 hmmmm i wonder how much more of this type of code there is hiding 14:39 sapier yes I was astonished too maybe this didn't matter while there were next to no objects I have about 100 atm 14:39 sapier singleplayer 14:39 hmmmm hrm 14:40 hmmmm your optimization helps but still isn't ideal 14:40 hmmmm what if we used a bitmap for this 14:40 sapier driving with my monotail about 50 blocks results in unloading 90 and reloading them when driving back ... while those objects are loaded sometimes my cart is duplicated 14:41 sapier I don't know how a bitmap would be any faster? 14:41 hmmmm it'd be 64, 128, or 256 times faster 14:41 sapier oh to check if it's free 14:42 hmmmm also 14:42 hmmmm maybe skip lists would work 14:43 sapier lot of things can be improved but you may add additional overhead, I'n not sure how optimized stl already is 14:44 sapier atm regular case will be 1 find operation to get a new id 14:45 sapier way better than before where common case was number of objects +1 find :-) 14:46 sapier I've got about 20 carts by now ... and have only crafted 1 15:06 hmmmm ridges are tough to deal with :( 15:07 hmmmm i'm just screwing around underground in v7, and now i have grass growing inside of caverns.. :( 15:07 thexyz you can as well use stack, fill it with 65536 elements, pop IDs from it when you need a new ID, push ID to it back when it's freed 15:08 hmmmm that's pretty much how my skip list would work except it's a list instead of a stack and you don't need to add thousands of elements 15:09 thexyz isn't skip list O(log n)? 15:09 thexyz average 15:09 hmmmm perhaps O(1).... 15:09 hmmmm i wouldn't recommend something that i knew was log n 15:10 hmmmm the only way things get to be log n is if they deal with a tree structure 15:10 hmmmm welp 15:10 thexyz well, according to both my knowledge and wikipedia it's O(log N) 15:10 hmmmm nevermind 15:10 thexyz or maybe you're talking about something else 15:10 hmmmm i was 15:11 hmmmm hrmmm 15:12 hmmmm i am not finding the data structure i am thinking of on wikipedia 15:12 thexyz what is it capable of? 15:12 hmmmm not sure 15:12 hmmmm let me just describe it; 15:15 hmmmm you have a linked list of free IDs, every time you get a new ID you grab the first ID from the top of the list and then increment the lower bound of that link. when you go to free it, you just add that ID into the gap where it should be in order, if the ID you're re-adding to the free list connects the adjacent links, then you merge it all into one link 15:15 hmmmm hm 15:15 hmmmm that probably wasn't clear at all 15:16 sapier current algorithm is O(1) for normal case and O(n) for worst case 15:16 hmmmm wait, actually, is it necessary for new IDs to be the numerically lowest free ID? 15:16 sapier no it isn't 15:17 thexyz how's that different from what I was suggesting? 15:17 hmmmm then WTF, this is trivial 15:17 sapier my solution is already trivial ;-) 15:17 hmmmm thexyz, it's different because you suggested we fill a stack with several thousands of elements, here i am making them number ranges stored in links 15:17 thexyz oh, I see 15:18 hmmmm well if sapier says his is already decent, i guess that's good enough for me 15:18 * hmmmm is curious about what his algorithm is called 15:18 Jordach cant you use binary flags 15:18 Jordach if one is free, make it usable 15:18 hmmmm a bitmap? yes, i suggested that 15:18 hmmmm but it's still O(n) average case 15:18 sapier it's taking next id everytime checking if it's free in case there is some long time object beeing present after 65k objects have been created it'll have to skip it 15:19 sapier no 15:19 sapier my suggestion is O(1) in average case 15:19 hmmmm i was responding to jordach just now 15:19 sapier sorry 15:19 thexyz sapier's is actually O(n) worst case 15:19 thexyz well, not like it matters 15:19 Jordach hmmmm, common sensically, you would ensure any empty slots would have their ram freed 15:19 Jordach and ready to be used at any time 15:20 sapier yes O(n) in case there have been 65k objects and only recently used object has been freed 15:20 hmmmm yes, that's called a 'naive' way 15:20 hmmmm we are not naive people though, we're more clever than that 15:20 hmmmm so common sense isn't good enough 15:20 thexyz hmmmm: the problem is "you just add that ID into the gap where it should be in order", if I got this correctly, it's O(n) 15:20 sapier sorry using any overcomplicated way just to make it complicated sounds insane to me 15:21 hmmmm ah yeah, thexyz, that is true, freeing would take O(n)... 15:21 thexyz non-asymptotically sapier's modification is sane enough 15:21 thexyz I guess we should just put it in 15:21 thexyz and forget about IDs for a while 15:22 hmmmm sapier, I mean in reference to what jordach was just saying.. what was already being used is indeed the naive way to get a free number like that, your version is not complicated, but it isn't the naive solution 15:22 sapier oh I see ... I'd even call the old method "the stupid way" ;) 15:23 hmmmm naive is just a kinder way of saying stupid 15:23 Jordach a even simpler approach would be a 2d array, where the flag is stored in the second array co-ordinate 15:23 Jordach and have the id as the first 15:23 sapier jordach keeping multiple data structures in sync isn't simple :-) 15:23 hmmmm and i don't even see how that'd work 15:24 sapier creating a bitmap marking used ids ... still I assume keeping this in sync is way more risky than any benefit we would get of it 15:25 hmmmm why do programs use ~/.cache and not /tmp 15:25 hmmmm ugh 15:26 thexyz > $XDG_CACHE_HOME defines the base directory relative to which user specific non-essential data files should be stored. If $XDG_CACHE_HOME is either not set or empty, a default equal to $HOME/.cache should be used. 15:26 thexyz standards! 15:27 sapier "standards are linke women ... the other one is always better :-)" ... not quite sure who did say this 15:40 sapier LOL "infostream<<"ServerEnv: WARNING: Performing hack #83274" 15:40 sapier does anyone know what hack #83274 actually does? :-) 15:40 Exio seems legit, 83274 hacks in MT source 15:40 Exio sapier: 1/0=2! 15:41 sapier seams someone tried to fix this problem and made it worse :-) 16:05 hmmmm [screams internally] 16:06 Jordach2 btw, WInterspoon is LandMine 16:06 WInterspoon goood goood 16:06 WInterspoon booo hooo 16:06 Jordach2 thexyz, ^ 16:06 WInterspoon whats wrong kangaroo fucker? cant handle your own? 16:07 Jordach2 thexyz, keep operator engaged, he'll be back 16:07 Jordach^2 nick change again to avoid discovery 16:08 thexyz who's that? 16:08 sapier << wonders what hmmmm discovered 16:08 thexyz oh, I see 16:09 hmmmm god damn caves overcomplicate everything 16:10 sapier strange ... someone thought it'd be a good idea to make "insert" remove something in case of id is 0 :-/ 16:10 hmmmm the thing i'm experiencing is also a bug in mapgen v6 16:11 thexyz [off] like that 16:11 hmmmm except it's more noticable and annoying here because i just place grass and not grow it 16:11 hmmmm oh my god. 16:11 hmmmm so annoying. 16:12 hmmmm all of our problems would be fixed if we steal a bit from the mapnode structure somewhere and reserve it for "was this placed by caves?" 16:12 hmmmm but i'm avoiding that 16:12 sapier btw is luahud merged to an extent starting update of scriptapi split makes sense? 16:12 celeron55 that's not a good idea because there are many things like caves that might need similar flags 16:13 celeron55 or, i predict there can be 16:13 hmmmm luahud is completely merged 16:13 sapier or someone digging ceiling off a cave 16:13 celeron55 yes, do the update now; nobody is working on any scriptapi stuff at the moment 16:13 celeron55 and get it ready before somebody starts to 16:13 sapier ok then I'm gonna start to update the split changeset 16:14 sapier adding a folder for scriptapi is common consens? 16:14 hmmmm yes and modapi too 16:15 sapier ok just wanted to be sure 16:15 hmmmm well this sucks 16:16 hmmmm it is literally impossible to differentiate between air placed by a cave and air placed by 3d noise when carving ridges 16:16 hmmmm i can solve this by adding a check if below water level, but that's so hackish... 16:19 hmmmm well, having dirt underneath underwater ridges is something people probably won't miss, and it certainly is better than having bits of grass inside of lava caves 16:24 hmmmm neat, naturally occuring obsidian 16:40 BlockMen i think i found a bug in HUD api: when i use 'player:hud_change(hudid, "text", "whatever") ' it shows no effect. changing the color works fine 'player:hud_change(hudid, number, 0xFFFFFF)' 16:41 BlockMen *"number" 16:45 hmmmm uh oh 16:45 hmmmm erm for the time being, encase that parameter in {} 16:45 hmmmm thank you 16:49 celeron55 that has been reported a couple of times i believe 16:51 BlockMen celeron55, where? 16:51 BlockMen hmmmm, you mean here or at my code? 16:52 hmmmm nevermind, i'll push a fix within the next couple of minutes 16:53 BlockMen hmmmm, ok, thx 16:56 hmmmm https://github.com/minetest/minetest/commit/14ba94ad6a0e2176106af08e41d99ad81b03e9e4 17:12 BlockMen hmmmm, works fine. thx 17:18 PilzAdam celeron55, what happened to the "community release" thread? 17:44 thexyz PilzAdam: it's trashed 17:44 thexyz no idea who did that 17:45 hmmmm could've been celeron, he didn't like that thread too much 17:46 thexyz > tl;dr: mito551/minetest is a liberal experimental fork, where your commits are much more likely to be added than in minetest/minetest 17:46 thexyz well, initially minetest/minetest was aimed to be "a liberal experimental fork, where your commits are much more likely to be added than in celeron55/minetest" 17:46 Calinou thexyz: I trashed it, because these kinds of dicussion make us look like 4channers 17:47 Calinou feel free to put it back if you want 17:47 Calinou don't forget at how new players will look at us. 17:47 thexyz oh yes 17:47 thexyz let's suppose it hit bump limit 17:47 thexyz with all those shitty meme faces 17:48 Calinou people started using memes in that thread already 17:48 Calinou :P 17:48 thexyz so, did mauvebic burn out? 17:49 RealBadAngel i doubt it, hes too addicted 17:51 BlockMen Calinou, on the other side discussions like that are typical for a community 17:53 Exio just a random thing, about -delta, why not redirecting it to here? 17:54 sfan5 good idea 17:54 hmmmm i know this is off-topic, but it's simply amazing how much it helped to make dungeons have more rooms and some bigger rooms 17:54 sfan5 -delta feels like dead 17:55 hmmmm freakin' epic 17:55 Exio just +if #minetest-dev mlock and "work done" in that - just saying 17:59 celeron55 i don't approve censorship of things like that thread 17:59 celeron55 locking it is fine, but putting it in trash isn't a good thing 18:00 sfan5 I moved it back and closed it 18:02 hmmmm i guess the underlying problem is that we call it community-based development but it's really not 18:02 celeron55 free speech gives a better chance for disagreeing people to fix things that auhtorities can't fix 18:02 celeron55 it's better in the long run; if we just plain suck, then it's better that we get put out of power by a fork 18:02 celeron55 not depending on however unlikely it might seem 18:02 PilzAdam hmmmm, depends how you define community 18:03 hmmmm other FOSS projects aren't afraid to come out and just say "the team" 18:03 hmmmm i think it's because of how minetest development is advertised to be completely open, people expect to poop on a .diff and have us merge it 18:03 hmmmm "can you come up with a reason why it SHOULDN'T be added?" 18:04 celeron55 uhm 18:04 hmmmm oh how many times do i hear that 18:04 celeron55 can you point at any official page that says anything about being completely open or something like that? 18:04 hmmmm and then look at other projects, where people are actually grateful to the developers and not resentful like the community is to us 18:04 hmmmm official page? no, i can't 18:06 celeron55 then we can't do much about it and we'll just let it be - it's worth mentioning that outside contributions are taken in at a steady-ish pace anyway 18:06 celeron55 as long as the pace isn't 0, we don't have a large problem 18:08 hmmmm so i guess the best we can do is discourage people from using the phrase "community based" 18:09 hmmmm i know i'm guilty of saying that a few times, but i won't anymore 18:09 celeron55 upstream development is not particularly community driven, because of practical reasons; i think it should be kind of obvious though 18:10 celeron55 nevertheless i think it is unfair that the people complaining most also will do the least for making things the way they see best 18:11 hmmmm there seems to be a lot of information about colored lighting in particular... i was toying with the idea of completely explaining what would have to be done precisely and why it's bad and all other things, but then i remembered they probably don't care and/or aren't technical minded enough to understand 18:11 PilzAdam "This is the first completely community-made release" – http://c55.me/blog/?p=1436 18:11 hmmmm s/information/misinformation/ 18:12 celeron55 it's way more community-made from the standpoint of how previous releases were made 18:12 Exio PilzAdam: community-made = not-99%commits-by-celeron55 18:12 hmmmm hahh 18:12 hmmmm >Thanks c55 for kicking off this project. It is great to see a productive online community like this. 18:12 hmmmm "yeah, look at how horrible he is, he ruined minetest!" 18:12 celeron55 it just seems that for some people "community" means "random people" rather than "people who can be relied on making stuff that is good for the project" 18:13 hmmmm oh, i misread that 18:13 hmmmm for some reason i thought it said thanks for kicking c55 off this project 18:14 BlockMen i think the main problem is, that they dont accept that someone (or a few ppl) have to give the whole thing a direction. if everone put in everthing it just crashes... 18:14 celeron55 the blog comments are always interesting, the people who talk there tend to be different than those who talk on the forum, or in IRC 18:14 PilzAdam BlockMen ++ 18:16 celeron55 i do think the core team could be more transparent in what direction it is taking and what modders can expect from their mods being taken upstream and so 18:16 PilzAdam I see 2 communities here (or "groups" would be a better name): devs and players 18:16 celeron55 i see three: in addition to those, modders are a really strong one 18:16 sapier and dev's rarely play at all ;-) 18:17 hmmmm why on earth do we develop minetest 18:17 PilzAdam modders are inbetween the players and devs 18:17 hmmmm this makes no sense 18:17 hmmmm we never play the game 18:17 Jordach i think everyone should have a break 18:17 hmmmm we don't get any money off of it 18:17 hmmmm it's super time consuming 18:17 celeron55 maybe stop developing for a month or so and see what people think? 8) 18:17 hmmmm the pull requests would be in the stratosphere 18:17 Jordach i think the devs are just too wound up about things 18:18 sapier I don't have any idea hmmmm ;-) 18:18 celeron55 they already are, that's not much of a concern 18:18 Exio celeron55: 50% of the stuff will get ported to lua 18:18 Jordach Exio, they said that about oregen 18:18 Jordach did it? 18:18 hmmmm oregon 18:18 hmmmm every time i see that, that's what i think of 18:18 BlockMen im absolutly against a break. minetest is going to be really popular. i a break would throw minetest kinda back 18:19 hmmmm using the name "oregen" implies that it's something bigger than it really is 18:19 PilzAdam people of the player community tend to "attack" the core dev that is doing stuff ATM 18:19 PilzAdam remembet the shitstorm about lava, or obisidian? 18:19 PilzAdam *remember 18:19 celeron55 it's a bit like most teenagers hate their parents 18:19 BlockMen lol 18:19 Exio hahaha 18:20 celeron55 or much like 18:20 hmmmm 2edgy4me 18:20 BlockMen PilzAdam, but that are just a few ppl who do that. i think the main part of the community is ok with the current way of development 18:21 PilzAdam BlockMen, the main part of the actual players isnt on the forum, IRC or somewhere else 18:21 celeron55 but really, the atmosphere on this channel is fine, and also the modders are doing fine, and players are too; then just some people start some kind of wars in unreasonable ways 18:21 thexyz those who are ok are usually silent 18:21 PilzAdam so we can only guess what they want 18:22 celeron55 thexyz: that is very true and should be understood by everyone 18:22 sapier does anyone understand why a activeobjects data is stored in the mapblock where it originally spawned? if that block gets unloaded objects static data is stored while object itself may still active 18:23 sapier this if this object finaly gets unloaded it will be duplicated 18:23 celeron55 sapier: the design there is that the static version is always stored somewhere 18:23 celeron55 and it should work so that when the block in which the active object is unloaded, it will load the old block, erase it from there and write it to the new one 18:24 celeron55 because if the static data is removed for the time when it is active, any crash would delete the object completely 18:24 sapier so it's either duplicate or loose :-/ there has to be a better way 18:24 celeron55 s/in which the active object is unloaded/in which the active object is is unloaded/ 18:25 celeron55 sapier: there's no duplicate in the way i said 18:25 celeron55 if it works 18:25 celeron55 i guess it doesn't work in the current implementation 18:26 sapier no it doesn't seam to work my current working hypothesis is a block where static data really is stored can't be loaded for some reason this objects static data isn't deleted -> duplication 18:27 celeron55 maybe it has broken in some of the emergethread/whatever stuff 18:27 sapier sorry missing some , in this sentence 18:28 sapier I'm gona try to move static data to block where object is on the fly ... imho not best solution but worth a try 18:29 celeron55 what kind of items have even been reported to be duplicated? 18:29 sapier any moving entity 18:29 celeron55 ok; that makes sense 18:31 Jordach i have had that bug 18:31 Jordach i dropped a mese pick and i got two 18:31 sapier feels like the faster an entity moves the more likely to be duplicated as well as the more lag the more duplication too 18:33 PilzAdam unrelated: someone should fix the not loading entities bug 18:34 sapier define "not loading entities"? 18:34 PilzAdam you move away from one, then come back and it isnt there 18:35 sapier sometimes I feel I'm the only one fixing the strange bugs while all others only add new bugs(features) ;-) 18:35 PilzAdam move away again and come back some times and it sometimes appears, sometimes not 18:36 sapier that one :-) 18:36 sapier if I find it while looking for the other one I wont tell anyone :-) 18:38 BlockMen i have a question: wouldnt it make sense to change the current way of adding mods? if i want use a mod at build aswell in minetest i have to store it 2 times. 18:39 BlockMen it would be better to make it like at textures, so "global" using 18:39 Jordach "global" mods would be nice 18:40 BlockMen and after watching a few videos of mintest newbies i noticed that there are a few who had problems with the game selection, and then with the mods too 18:43 sapier isn't that what common mods are for? 18:43 PilzAdam sapier, no 18:43 PilzAdam common mods are for game creators 18:44 sapier still you could use it that way 18:44 PilzAdam no, not really 18:44 BlockMen sapier, but then the mods folder is senseless 18:45 kaeza I think this would be useful for that https://github.com/minetest/minetest/pull/599 18:46 kaeza I don't know about the implementation, but the basuc udea is good IMHO 18:46 PilzAdam no, common mods are something completly different 18:46 kaeza -u+i 18:47 PilzAdam just add something like mods/all/ for game independent mods 18:47 kaeza in fact, I was thinking about something like what c55 suggested in that pull 18:47 BlockMen PilzAdam, that would be enough i gues 18:47 BlockMen *guess 18:48 PilzAdam why do people still not get the idea of common? 18:50 kaeza PilzAdam, can you explain exactly what is the idea behind common? 18:50 PilzAdam it contains mods, that games can load 18:51 PilzAdam so a copy of "default" in all games is not needed 18:51 StrayBytes I request a channel op in #minetgest 18:55 kaeza PilzAdam, what #599 proposes is to add more "common mod dirs" (or rather, the ability to "import" mods from any game) 18:57 kaeza some people (imcluding myself) do not like modifying things like minetest_game and common 18:57 PilzAdam yes, people shouldnt do that 18:58 PilzAdam common mods are just for game creators, to not copy mods from the default game(s) 19:14 celeron55 installing mods is kind of hard for newbies now though 19:14 celeron55 i mean 19:14 celeron55 i actually didn't even think of this aspect 19:15 celeron55 there is only mods/minetest pre-created, but if they use some other game they need to put them into mods/build or so 19:16 PilzAdam IMO we should install all mods simply in mods/ and they are for all games 19:16 kaeza maybe in mods/all 19:16 PilzAdam if people want the for some games only, they can disable them in the GUI 19:16 hmmmm erm celeron, just curious, is it possible that emergePlayer is called before map is generated when starting a new map? 19:16 hmmmm actually it's not just possible, it's the only way that it can happen 19:16 celeron55 hmmmm: umm... i think that is the common case especially in singleplayer 19:16 hmmmm ..which explains why findSpawnPos() never freaking works 19:17 kaeza also, a recurring problem in mods, is that people who download from github get a "foomod-master" dir, while the game expects "foomod" 19:18 PilzAdam kaeza, the -master can be ignored by the engine 19:18 kaeza can the game just ignore the "-master"/whatever part? 19:18 hmmmm don't you see? no spot it looks at will ever be good because it's always content_ignore because it hasn't even been generated yet 19:18 kaeza ah 19:18 celeron55 ignoring it isn't implemented 19:18 PilzAdam someone just needs to code it 19:18 hmmmm so it _always_ iterates 1000 times and it _always_ gives up on a good spot 19:18 celeron55 hmmmm: i don't know, just fix it :P 19:19 hmmmm this is the true cause of the spawning too high bug 19:19 celeron55 no need to find anyone to blame 19:19 hmmmm but the thing is, it can't work by design 19:19 celeron55 it probably originally had some code for loading blocks for it or so 19:19 hmmmm unless you'd like it to just guess 19:20 hmmmm what? it didn't 19:20 celeron55 i mean, that code comes from the very original versions of MT 19:20 celeron55 it's way older than your work here 19:20 hmmmm it uses Map::getNodeNoEx() which calls getBlockNoCreateNoEx() 19:20 hmmmm so it's never created 19:20 celeron55 do you insist that i go look up on some 2010 versions to see what they did? 19:20 hmmmm no.... 19:20 celeron55 or shall we rather be productive 19:21 hmmmm i'm just saying that it's likely that it never really worked properly in the first place unless you modified Map::getNodeNoEx() within the time that it did work and then stopped working 19:22 celeron55 i'm not going to say anything about likeliness without actually looking up stuff 19:24 celeron55 i will say that it has probably been broken for a long time 19:24 celeron55 (which is obvious) 19:24 hmmmm yeah because people were blaming it on me for a time 19:25 hmmmm anyway what i figure i'll do is if it returns content_ignore, i'll assume that the current point is good to spawn at since nobody evidently built there yet or otherwise modified the land 19:29 hmmmm oh i'm sorry 19:29 hmmmm it was my fault 19:30 hmmmm i have selective vision it seems 19:39 hmmmm https://github.com/minetest/minetest/commit/daddd3770663655c3723ff9a4f4aba6010b1645c 19:42 PilzAdam finally 19:44 Exio :D 19:50 hmmmm well pilzadam, there are two very long-time bugs that were fixed like you wanted to see... black trees, spawning too high 19:50 hmmmm the thing is, this doesn't happen all the time because there was a reason why they weren't fixed quickly 20:53 emptty PilzAdam: do you plan to tag your mods repos at some point or you prefer to go with a rolling release? (just out of curiosity) 20:54 PilzAdam I prefer rolling release 20:54 PilzAdam I dont work on most mods anymore 20:54 PilzAdam so I mostly push bugfixes 20:54 PilzAdam (or random suggestions by users) 20:55 emptty someone should implement a popularity contest in minetest, where the usage of some given mods is reported to a server that can run stats 20:56 emptty something like http://qa.debian.org/popcon.php?package=minetest 21:22 RealBadAngel http://i.imgur.com/5d6sNvO.jpg 21:22 jojoa1997|Tablet nice 21:23 proller btw ubuntu prescie - minetest 0.3.1+dfsg-2 21:25 iqualfragile proller: yeah, thats a *bit* outdated but there is a ppa 21:25 iqualfragile -.- … i guess you already knew that 21:26 proller yes, 2-3 years old soft is normal for ubuntu and debian 8) 21:26 emptty this will propagate from debian automatically. I was too late for the last round of integration, so minetest will not be uptodate for the next stable of ubuntu (nor for the one of debian) 21:26 emptty but only servers are using the stable versions 21:27 emptty most debian users are on the rolling release (testing) 21:27 Exio hey, i'm on squeeze, still! :P 21:27 emptty and minetest will migrate as soon as the next stable comes out 21:27 emptty Exio: this explains why you feel the need to install some soft from the source :-P 21:28 Exio (being annoying other time to the core devs) what about https://github.com/minetest/minetest/pull/657 - https://github.com/minetest/minetest/issues/517 ? 21:29 Exio emptty: hm, :P 21:42 Tracerneo Hi 21:43 emptty I tried to install a mod in /usr/share/games/minetest/mods under linux; it gets detected and can be activated, but the textures are not found when starting the game 21:43 emptty it seems that only the lua is found in this location 21:48 Exio any op? 22:09 sapier1 https://github.com/minetest/minetest/pull/674 22:09 PilzAdam sapier1, capital letter at the beginning of commit messages 22:09 sapier1 this seams to fix duplication glitch too, at least did now dupplication happen since I aded it but I don't understand why 22:13 sapier1 so if someone understands why I'm really curious about it 22:44 VanessaE who cares about capital letters in a commit message? 22:44 sapier1 PilzAdam ;-) 22:44 VanessaE evidently ;) 22:45 sapier1 it'd be great if someone tested this changeset I'm not sure if it's only working in my case as I don't completely understand it ... the comment in there didn't help either