Time Nick Message 04:26 MTDiscord if that can be attached to the player, and can track external objects, that could actually work perfect for my uses 06:51 MTDiscord https://github.com/minetest/minetest/pull/12902 06:51 MTDiscord I think it's ready to be merged. 11:52 Guest74 at what minetest version was texture masking added? 11:52 Guest74 i notice that texture masking operations and not computed server side and it seems the clients are informed to make these masking operations 11:53 Guest74 so i assume MultiCraft 1.0 client for example does not support texture masking and such 'dynamic ops 11:54 Guest74 https://dev.minetest.net/OldChangelog 11:54 Guest74 New texture modifiers: ^[mask (sfan5), ^[colorize (BlockMen) 11:54 Guest74 0.4.10 → 0.4.11 11:55 Guest74 Brutal. 0.4.11 > 0.4.11 was released on December 24, 2014. 12:04 Guest74 hm, maybe there is a way in LUA that I can save a texture to file as a PNG? this could help me a lot, but I think there is not a way I can do this 12:07 sfan5 there's not 12:07 sfan5 the server does not even include any code to read textures, sounds or meshes 12:10 Guest74 oh my god I suppose it would be possible for me to write my own exporter right but in that case it would just be easier for me to write a program to do the masking in another language where i know what format everything is in memory 12:23 MTDiscord Minetest can encode PNGs, but you can't decide them afaik 12:23 MTDiscord *decode (on the server) 12:24 MTDiscord Which is rather odd tbh, is there a reason for not including decoding? 12:26 celeron55 decoding is way more complex than encoding because png has various modes and optional features that all need to be supported when decoding. when encoding, you can just implement one 12:27 celeron55 for decoding, you need to use a library 12:28 MTDiscord We don't use a library for encoding?! 12:28 celeron55 that might happen sometime In The Future(tm) as it relates to some library stuff that may change but i'm not up to date with the plans 12:28 MTDiscord The client decodes them anyways, can we not just copy what method that uses? 12:28 celeron55 the server doesn't depend on the same libraries as the client 12:29 celeron55 which is a good thing and a bad thing 12:29 MTDiscord I'm aware - but using the same dependency for dealing with PNGs would've seemed obvious to me. …oh unless Irrlicht has it's own PNG decoder we use 12:30 MTDiscord Makes sense now if that's the case 12:33 celeron55 https://github.com/minetest/minetest/blob/master/src/util/png.cpp 12:34 celeron55 that's literally all you need to encode a png (of course with not the best efficiency depending on the image content) 12:35 MTDiscord oh god, encode_png has its own PNG encoder implementation? I guess that makes sense since the server doesn't have an irrlicht dependency (and therefore, a libpng dependency) 12:35 celeron55 the only library used is zlib which is the general purpose compression algorithm png uses after all its other features 12:37 celeron55 (and which minetest uses anyway for its own compressed formats) 12:49 Guest74 enlightening celeron55 do you manage the tracker? if so, any idea why it likes to frequently double register servers 12:50 Guest74 and also with minetest and multicraft operating two seperate server trackers, why is there no way to specify them both in the minetest.conf? There is no elegant way to submit to both trackers unless you construct a spoof to one of them, as far as I am aware 12:51 Guest74 it's not a huge problem but it's disjointed 12:51 MTDiscord sfan5 hosts the server list afaik 12:51 celeron55 the server list is hosted by sfan5 and runs the code that's developed openly on github 12:52 celeron55 well there's no way to do that because nobody has implemented it 12:54 celeron55 it's not like all the features were there to begin with and then developers started removing them :D 12:59 Guest74 just seems odd that this situation would even arise 13:00 Guest74 such as why multicraft bother to run their own tracker when they also list servers from the minetest tracker 13:00 Guest74 it just creates these oddities 13:01 Guest74 when you can only submit to one tracker why would anyone submit to multicraft tracker when they can submit to minetest tracker that is displayed on all clients multicraft and minetest? 13:01 celeron55 multicraft is probably fighting a war where they want to make it impossible for MT to ban their servers from being visible to their clients 13:02 Guest74 oh right, why would sfan ban their servers? 13:02 celeron55 for us in actuality, it's not so much a war but rather we just try to sort the server list to be relevant to players 13:02 Guest74 sfan5: which repo contains your minetest server tracker? I can't seem to find it 13:03 MTDiscord https://github.com/minetest/serverlist 13:03 Guest74 Ah thank you I was looking on sfan5's github 13:04 Guest74 why would a multicraft server be deemed not relevant? the server list has ~420 servers on it, most of them are probably not relevant 13:04 Guest74 what makes a fair test case to rule between relevancy and non relevancy 13:04 celeron55 well that's pretty difficult as you can imagine 13:05 celeron55 but no matter how difficult it is, the servers have to be sorted somehow 13:05 Guest74 do you know how many players out of the 294 currency connected to minetest servers are connected via mobile clients based on mulicraft or similar, to assume most of them are forks of multicraft. 13:05 celeron55 in any case, multicraft's owner(s) don't really like MT so you can expect pretty much anything from them 13:05 Guest74 What is the dispute between either side? 13:07 Guest74 It seems odd to me that animosity would be created from what seems to be a protocol support dispute, and not just indifference. 13:07 celeron55 well they've basically ripped MT off to earn money, without donating to MT to offset it 13:07 Guest74 ah well that is the nature of releasing code as open source 13:07 celeron55 and they're pulling MT's development back for example in the way you found out, by not supporting new features 13:07 Guest74 ah yes well it is hard to update mobile clients, particularly iOS 13:08 MTDiscord iirc, they use to contribute back code, till they got annoyed with minetest pr hell. so to be fair they did at one point contribute back 13:08 Guest74 many MultiCraft 1.0 players cannot update without buying a new phone. 13:08 Guest74 and there are still many MultiCraft 1.0 players connecting 13:08 Guest74 it seems unfair and well, just bad practise, to cut off a playerbase like that 13:08 MTDiscord minetest did that long time ago with 0.4.x 🤷 13:09 celeron55 in any case, they're creating problems for MT, that MT wouldn't have if multicraft didn't exist 13:09 MTDiscord which is what multicraft 1.0 is (0.4.x) 13:09 Guest74 yes well you also would not have 294 players connected right now without them 13:09 celeron55 and if you think i'm arguing against you, you're mistaken 13:09 celeron55 this doesn't affect or worry me at all 13:09 Guest74 it's not an argument I'm just pointing out facts 13:10 celeron55 you asked for arguments so i'm listing you some possible ones 13:10 Guest74 sure 13:10 kilbith it must be pointed out that some core-devs earned money from MultiCraft 13:11 Guest74 yeah but it's an open source project, what did you expect? 13:11 Guest74 who actually thinks when they release code to the public that people wont use it in a way you don't want them to 13:11 Guest74 having sour grapes over that is silly 13:12 Guest74 you just have to accept that is the nature of things and move on, they made money where you could have but you didn't 13:12 kilbith I'm not sour, I've earned 18k€ the last summer with MultiCraft 13:12 Guest74 lol 13:12 kilbith I mean 2021's summer 13:12 Guest74 okay okay i see 13:12 Guest74 so you are on the multicraft side of the fence? 13:13 Guest74 this makes even less sense because you maintain the i3 inventory which is certainly NOT multicraft friendly 13:13 kilbith I care about making people happy 13:13 Guest74 really? 13:14 Guest74 what is your method of monetising multicraft btw? 13:14 kilbith what? 13:14 Guest74 do you pump ads through the mobile client? 13:14 Guest74 do you sell servers? 13:14 kilbith I don't own multicraft 13:14 Guest74 "I've earned 18k€ the last summer with MultiCraft" then how are you monetising it? 13:14 kilbith I did work for them at some point but not involved anymore 13:15 Guest74 i see, so what can you tell me about having worked for them? did you leave on good terms? and what kind of paid position did they give you and how are they generating that revenue? 13:16 kilbith it wasn't on good terms, the owner refused to pay me the last month and he refused to give money back to c55 to support upstream development 13:17 Guest74 still you took 18k that a good sum 13:17 Guest74 you where doing development work for them or something? 13:18 kilbith why so curious anyway 13:18 Guest74 assuming you worked 6 months that is 3k EUR a month that you where paid? 13:18 Guest74 i'm just trying to understand the situation a little 13:18 kilbith why? 13:19 kilbith what's the end goal 13:19 Guest74 has anyone considered slapping adverts on the mobile minetest client for android to generate revenue? 13:19 MTDiscord Guest74: yes, see multicraft 13:20 Guest74 Lol no because the multicraft owner, if someone could name him, is clearly not going to any money to celeron or the MT project 13:20 Guest74 which means that the MT project would need to launch their own adverts on their own mobile client 13:21 MTDiscord yeah he doesn't give a fuck about upstream, but he has indeed slapped adverts on the mobile minetest client 13:21 Guest74 then whats stopping you guys doing the same 13:21 Guest74 slap adverts on it 13:21 MTDiscord Integrity 13:22 Guest74 eh then why complain if someone else does it? 13:22 MTDiscord As long as they can do it without bothering us, we pretty much wouldn't 13:22 Guest74 based on integrity you should not even want to accept a donation from MC advertising revenue 13:23 Guest74 Warr1024 so how do you feel they bother the community? 13:24 MTDiscord I don't think they do very much, hence why I don't complain about them much. 13:24 Guest74 its an interesting situation 13:24 Guest74 thanks for entertaining my questioning everyone I have learned a little more 13:24 MTDiscord Historically there have been incidents, but those have been mitigated via a progressive parting of ways. Their ecosystem used to be tied to ours more, and it is becoming more distinct. 13:26 Guest74 I wish I had been there to witness it, now I have to reconstruct it from second hand events. 13:27 celeron55 MT a weird project when you compare it to most commercial projects, but there are many projects like MT in the FOSS world 13:28 muurkha Guest74: in general if a free software project like minecraft includes malicious code like adware the users will fork it to remove the malicious code 13:29 muurkha usually then most people switch to the non-malicious version 13:29 celeron55 free software project like what? :D 13:29 muurkha oh, there are a bunch of things on f-droid that have had adware removed 13:30 Guest74 yes sadly the mobile markets are highly saturated, the only real way to monetise apps on there is via adverts which is an industry rife with fraud. 13:30 muurkha other incidents have included the ubuntu-transmitting-searches-to-amazon thing and the sourceforge-corrupting-installers controversy 13:31 Guest74 corrupting installers lol? 13:31 MTDiscord Non-commercial FOSS sort of encourages you to throw away assumptions inherited from commercial-proprietary about what's valuable. For example, users have inherent value to a commercial product as paying customers, while for FOSS, they're merely a pool of potential contributors, so making something with mainstream popularity is not as important. 13:31 Guest74 corrupting competitor apps or something? 13:31 muurkha no, not competitor apps 13:31 Guest74 ubuntu-transmitting-searches-to-amazon is pretty sus! 13:31 muurkha sourceforge was injecting malware into installers if projects opted in 13:31 Guest74 oh my god 13:31 Guest74 like toolbars? 13:32 Guest74 very common these days, making money on the internet seems to rarely be white collar 13:33 Guest74 not everyone can beg for donations in the manner Jimmy Wales can ;) 13:33 MTDiscord FOSS projects also don't have things quite analogous to "competitors". Instead, what we have is more like other people running experiments, whose results everyone gets to benefit from. The only places this really doesn't work is when people fail to honor the licenses. 13:34 muurkha no, the installers would display ads. https://lwn.net/Articles/675002/ 13:34 Guest74 I'm not sure even Elon Musk is honouring the Linux license with whatever he's doing with SpaceX from what I've been hearing. 13:35 muurkha wih install buttons for additional apps whose owners were paying to have them included (which yeah were presumably things like toolbars 13:35 muurkha ) 13:35 Guest74 muurkha: well that's not too bad but if not doing correctly it could expose their users to exploits served via the ads 13:35 Guest74 yes sneaky install buttons are not fair play 13:35 muurkha 'At least two of the side-load payload applications are known: FileZilla includes Hotspot Shield, which is touted as an ad-supported browser security bundle (offering vague promises of anonymity, HTTPS safety, and firewall tunneling); other downloads are reported to include a "toolbar" for Ask.com and related web services.' 13:36 Guest74 having a "yes install blah" tickbox at the TOS screen should be illegal 13:36 muurkha from https://lwn.net/Articles/564250/ 13:37 muurkha https://www.infoworld.com/article/2929732/sourceforge-commits-reputational-suicide.html goes into more details (this was the year before the first lwn link above, after they got bought by decent people) 13:38 Guest74 sfan5: any idea where the duplication happens? you are aware of it right? looking at your code I assume it starts at update: so getWithIndex() but it seems this function should not fail right 13:38 Guest74 if the lock fails it reutrns none and no duplicate entry 13:38 Guest74 oops 13:39 Guest74 no if the lock fails it appends a duplicate 13:39 Guest74 https://github.com/minetest/serverlist/blob/master/server.py#L490 13:39 Guest74 if i is not None: self.list[i] = server else: self.list.append(server) 13:40 Guest74 I suppose having my server listed twice is not a bad thing for me 13:41 MTDiscord Minetest adding ads would be ironic, since we sort of lean the opposite direction. In fact, I have an ad removal mod on CDB... 13:43 Guest74 Sadly there would be no other method to monetise Minetest simply because it is the defacto free option, it is arguable the only reason people really play it over Minecraft is because it is free. 13:43 Guest74 Although I would love if Minetest could find a way to become profitable, I just really don't think there is any white collar methods. 13:43 MTDiscord Thankfully, there is no reason to assume that Minetest even should be monetized. 13:44 Guest74 Lol right 13:44 Guest74 Doesn't stop PAW crypto server from trying sadly X'D although he is bringing in a lot of new blood to the server list which is admirable 13:45 Guest74 I've seen his server at around 80 players fairly frequently which tops most servers by 30 on their peak player counts, most of that seems to be coming from his "crypto community". 13:45 Guest74 I wonder what percentage will convert to other MT servers, probably very little but there's hope. 13:46 mazes_84 can't use colorize for dark_grey and dark_green now, I need to pass hex values, any better way 13:46 Guest74 darkgrey should work without the _? 13:46 Guest74 I know hotpink does 13:46 mazes_84 ok 13:46 mazes_84 will have a try 13:47 mazes_84 Guest74: are you known as Guest60 ? 13:48 Guest74 https://github.com/minetest/minetest/blob/master/src/util/string.cpp#L363 13:48 Guest74 here is a full list of color strings mazes 13:48 muurkha i think you mean 'white hat', i.e., not evil, not 'white collar' 13:48 Guest74 I may have been Guest60 what did he talk about? 13:48 muurkha 'white collar' means 'working in an office' 13:49 Guest74 lol you'd indeed be correct there murrkha 13:49 Guest74 "SourceForge commits reputational suicide" 13:49 Guest74 more like "SourceForge seals it's own grave" 13:50 Guest74 or, hehe, "SourceForge quickly seals it's own grave before Git does it for them" 13:51 Guest74 I wonder if one day SourceForge will cease to be and all the projects once on it will be lost forever, and not even archive.org will have backed them up 13:51 Guest74 I think it is probable 13:56 muurkha well, some decent folks bought it in 02016 and it seems to be okay since then 13:56 muurkha and now it supports git 13:57 Guest74 that's cool I guess, you use it personally? 13:58 muurkha i don't think i've used sourceforge in 17 years 13:58 muurkha for development i mean. i've probably installed something from it more recently than that 13:59 MTDiscord TIL sourceforge still exists 13:59 MTDiscord whenever I try to find the site of some open source project and end up on sourceforge I always assume it's abandoned 🙃 14:00 muurkha hmm, this https://www.cbr.com/ikea-the-store-is-closed-cease-and-desist-horror-game/ is maybe related to the infinite ikea game 14:00 MTDiscord lol we've talked about that incident a couple times on discord 14:01 MTDiscord but for benrob I don't think he'll need a cease, just a desist, if it ever goes that far 😄 14:02 MTDiscord can always rebrand to the infinite JYSK though, I'm sure they wouldn't mind 14:06 Guest74 Ah that horror game looks like so much fun muurkha I saw this recently and really am excited to play it 14:07 Guest74 who is benrob ROllerozxa? 14:08 Guest74 he is the lead of the ikea game? 14:08 MTDiscord he makes the infinite ikea minetest game, which is a separate game from the one that got C&D'd 14:09 Guest74 ah okay! 14:09 MTDiscord https://content.minetest.net/packages/benrob0329/ikea/ 14:09 Guest74 yes ikea are heavy on lawyers they don't like people misrepresenting their brand 14:09 Guest74 it is very likely they just have not seen benrobs game but if informed they would send a C&D absolutely 14:10 Guest74 yes they would not like that 14:11 Guest74 i used their name innocently once 14:12 Guest74 i think it is just protocol to protect their trademark, they have people employed to make sure no one is using it and mail C&D when they findout someone is 14:13 Guest74 but they where quite pushy and persistent 14:13 Guest74 demanding 14:20 muurkha heh 14:20 muurkha almost like lawyers 14:38 MTDiscord Re: PAWS bringing players to the serverlist "which is admirable", no, not necessarily. Just increasing the raw player count is not, in itself, automatically good. Players who are interested in the material and engage with it at least a bit might possibly be valuable, but AFK farmers just hoping for a few microbucks are not necessarily a net gain. 14:40 MTDiscord Each user of MT brings a certain potential to become a contributor, whether engine PRs, valid bug reports, mods/packages, etc. They also bring a certain amount of network load, support workload, etc. They also also bring effects of very difficult to determine value, like affecting the server list and CDB scoring/sorting and influencing what parts of the ecosystem other players are exposed to. Whether an added player is net good/bad 14:40 MTDiscord is not so clear-cut. 14:40 Guest74 Lol yes, well, he makes them perform actions for rewards from what he told me, how he implements this, probably a simple edit to income.lua in the currency mod X"D 14:41 sfan5 Guest74: I'm not aware of duplicate listings, need more details 14:42 Guest74 https://github.com/minetest/serverlist/blob/218f8d9bc5b2b4e7edf21e731a53cbca8377783d/server.py#L370 14:42 Guest74 if self.lock fails it will return None and then it will add a duplicate entry 14:43 MTDiscord I don't know how it's implemented either, but there are some pretty obvious and easy ways to do this. I have an "experience points" system on my servers, and each dig/place, or 10 seconds of not-just-standing-around a player does awards them 1xp. If players reach a certain threshold, then their accounts are no longer subject to automatic deletion from inactivity. 14:43 Guest74 I frequently see my servers being double listed sadly 14:43 Guest74 why do you delete accounts for inactivity Warr? 14:44 Guest74 does having a large user account list cause problems for you? 14:44 MTDiscord Rewarding players for AFKing is highly dubious ... but rewarding players just for doing arbitrary stuff is ... also a bit dubious. It's important to keep the rewards moderate, at least. Promising to actually pay people something of real value for playing is bound to be controversial... 14:45 MTDiscord I delete old accounts for inactivity because (1) historically, having a large player database has been known to cause performance issues, though IIRC this is not necessarily universally true anymore, and (2) my game specifically has mechanics that treat offline players as if they still have some footprint in the world, which COULD lead to performance issues. 14:46 Guest74 ah yes that could make slow lua iterations even slower 14:46 MTDiscord Granted, there is one other server, on pretty modest hardware (weaker than my own $5/month VPS, from what I can tell) that does NOT purge offline accounts, and has one place where the "ghosts" of offline players are all gathered ... and it doesn't seem to be terrible for performance nevertheless ... but I'm gonna stay on the safe side, at leats. 14:46 sfan5 Guest74: "with self.lock:" cannot fail, it is not an if-statement 14:46 Guest74 wow what server is that Warr sounds cool I want to see that 14:47 MTDiscord One trick I've found for dealing with very large numbers of entities is not to register an on_step for them at all, and use an external timer to process them. This means that I can run logic for them much less frequently, and do things in a large batch operations where there can be some economies of scale. 14:47 Guest74 sfan5: well you see I'm not a python programmer but I can assure you my servers double list multiple times a day usually and if its not in the getWithIndex im not sure where it would be 14:47 MTDiscord The server with hundreds of offline ghosts is Kimapr's Darkest NodeCore server, on the public serverlist. You need to know at least the basic game mechanics well enough to climb out of the starting pit before you can play, and like 99% of players just end up stuck in there. 14:48 Guest74 the parts of the code pushing new servers onto the list, its got to be there somewhere 14:49 sfan5 I was thinking like more details on how the duplicate entries look 14:49 Guest74 well they look the same but have slightly different stats 14:50 Guest74 next time it happens ill dump the json for you 14:50 Guest74 pastebin it 14:50 sfan5 sure that'd be helpful 14:50 Guest74 np 14:51 MTDiscord If you are changing something about your server, and that change affects how the serverlist uniquely identifies servers, like if you change the address/port or something (e.g. your IP address changes and you're using IP and not a hostname for the address) then it would make sense to expect a duplicate listing then, until the entry for the old IP times out. 14:52 Guest74 nah i aint changing anything 14:52 Guest74 static ip 14:53 Guest74 oh wait 14:53 Guest74 does it use the IP of the server or the person who made the request sfan5? 14:53 Guest74 my server IP is static but I am making the request behind a GCN 14:54 Guest74 Carrier Grade Nat 14:54 MTDiscord If it relies at all on the source of the announcement request, that's arguably a bug. Servers might have weird outbound proxy setups or something. 14:55 MTDiscord It is unusual to have a server working from behind CGNAT, and unusual to have a server sending announcements from a different network than it's serving by ... but I suppose anything is possible. 14:57 MTDiscord I haven't messed with CGNAT for a while; the only people I knew who ran it ended up just renting a VPS and running both the hosting and the serverlist announcements from that. 14:58 Guest74 well it's a residential line with a static ip assigned to it 14:58 Guest74 so outgoing is always via the CGNAT 14:58 Guest74 but incoming is via whatever IP I assigned and give to services 14:59 MTDiscord Oh interesting 15:00 muurkha ugh, cgnat 15:01 MTDiscord The serverlist is open source (on MT's github) so you can see what it actually does directly... 15:02 Guest74 the double listing is probably also registering as a "server has restarted before within the last 2 hours" penalty too which is not great 15:02 Guest74 i some instances maybe, i mean, i doubt it changes that often 15:02 MTDiscord If you're ending up in a new listing and losing your old one, then any/all of your stats might be getting reset, so you might e.g. lose the "age" stat too... 15:04 Guest74 burtal server["ip"] = ip, p = request.remote_addr 15:04 Guest74 :'( 15:05 Guest74 sfan5: could you add to getWithIndex a if (server["ip"] == ip || serverhostname/ip) and server["port"] == port: 15:05 Guest74 sfan5: server["ip"] is the request IP and not the server IP so my cgnat is causing the problem 15:08 MTDiscord It's probably done on purpose, to prevent you from flooding the server list from one IP 15:08 MTDiscord No option for you to use the stable IP? 15:09 Guest74 No but if both IP's are considered it solves both problems 15:10 Guest74 otherwise I could technically at the moment, if I was a malicious actor, spam my server in the server list 100,000's of times from a swarm of proxies or similar 15:10 Guest74 all pointing to the same server 15:11 Guest74 although I would imagine that to no fair my server ranking that well in the eyes of the op 15:12 MTDiscord Why would someone flood the list with your server? They would just flood with tons of fake servers. 15:12 MTDiscord No easy way to protect from that 15:13 MTDiscord Considering both the request's IP and the server address sounds good anyways 18:14 beanzilla Hi there, I'm trying to determine if you could implement add_wear_by_uses for an older version of minetest? (I'm not sure where to start on the lua side of things) 18:31 beanzilla nevermind, I see many issues with trying to reimplement won't work. (unless I've got plenty of idle time to rewrite backward compatibility code)