Time Nick Message 00:08 Copenhagen_Bram hello 00:11 Copenhagen_Bram so, i'm talking to the dev of a game that's been hacked a lot, and i've been talking to them about how open source software isn't easier to hack and I've been using Minetest as an example of an open source game that you can't hack over multiplayer. It seems to me like minetest servers are well-protected against hacks, since the server is authoritative, there are accounts, and (I think) you can 00:11 Copenhagen_Bram easily recruit mods without needing to trust them with too much power. 00:13 kurtzmusch hack is such a broad term... 00:18 rubywarden Copenhagen_Bram: security is broken if you rely on the user not changing their software 00:18 rubywarden the most important thing in security is not to trust clients 00:19 Copenhagen_Bram Hmm 00:19 Copenhagen_Bram What would be a good place to introduce this dev to people who know about this stuff and talk to them? 00:19 Copenhagen_Bram Also, what are some other examples of open source games with secure servers? 00:22 rubywarden all the good ones 00:22 rubywarden good security should be the default, not the exception 00:25 kurtzmusch Copenhagen_Bram: if its done in the client, it can be "hacked". the client should only render things. of course, the developer might choose to offload some stuff to clients, but thats a concious decision and they should know its prone to 'hacking' 00:53 nephele you can let the client do work, as long as you verify it 01:08 Copenhagen_Bram How do you verify client work? 01:10 Copenhagen_Bram Also: Why wasn't Minetest written in Godot? If I were to write a game, is there any reason I might want to write the game in Irrlicht instead of Godot? 01:12 Quiark Copenhagen_Bram: I think a very good reason for the devs was that godot didn't exist at the time minetest was started 01:12 Copenhagen_Bram Ahhhhhhhh that's a very good reason lmao 01:13 Copenhagen_Bram I'm thinking about making a game of my own, in Godot. But I've never made a game before 01:14 Copenhagen_Bram I wanna start rebuilding the game that the dev I mentioned made, in fact, and I want to make it open source, better written, and more secure this time. 01:18 Quiark coding games is so hard :( 01:18 erlehmann Copenhagen_Bram, which game is it? 01:19 Copenhagen_Bram It's called "Fly Like a Bird 3" 01:19 Copenhagen_Bram > coding games is so hard :( 01:19 Copenhagen_Bram How hard? 01:19 Copenhagen_Bram Tell me about it 01:19 Copenhagen_Bram What am I getting myself into? 01:19 Quiark do you still have all your hair? 01:19 erlehmann Copenhagen_Bram, link? 01:19 Copenhagen_Bram yes 01:19 Quiark good for you 01:20 Copenhagen_Bram are you saying i'll pull it out if I start coding a game? 01:20 Copenhagen_Bram https://rw-developement.itch.io/flab3-classic 01:20 Copenhagen_Bram warning, it's not open source 01:21 Copenhagen_Bram or at the least it's all rights reserved I think? 01:21 Copenhagen_Bram I've heard a few times that it's open source but all I've gotten is an SDK that doesn't have all the sounds the game has 01:21 erlehmann open source is a corporate phrase that people invented because they thought “free software” sounds too communist, look it up mate 01:21 erlehmann i see 01:21 erlehmann so they are lying 01:22 erlehmann > Requires Unity 4.7 and some work to get running. 01:22 Copenhagen_Bram As I've warned, it's nonfree software 01:22 Copenhagen_Bram I know the difference between open source and free software, I just have a bad habit of saying open source. Sorry. 01:23 erlehmann btw 01:23 erlehmann > General, player and modder discussion is on-topic. 01:23 erlehmann this is not related to minetest, or is it? 01:23 erlehmann do you want to make it a minetest subgame? 01:23 erlehmann that would be interested 01:23 Copenhagen_Bram Oh. where's the off-topic channel? 01:23 erlehmann pixelbird 01:23 erlehmann interesting 01:23 Copenhagen_Bram Hmmmmmmmmmmm 01:23 Copenhagen_Bram that might even be easier than doing it in godot 01:23 Copenhagen_Bram I'll have to consider that 01:23 Copenhagen_Bram But how do you make the player fly in minecraft 01:24 Copenhagen_Bram And not fly like fly mode, like swimming in air 01:24 Copenhagen_Bram Bird flight 01:24 Copenhagen_Bram minetest* 01:27 rubywarden Copenhagen_Bram: by performing some checks or doing the work again 01:27 rubywarden whichever is easier 01:27 rubywarden in response to: 01:27 Copenhagen_Bram oh okay 01:28 rubywarden How do you verify [the] client['s] work? 01:28 rubywarden it's like checking maths homework 01:28 rubywarden you can either make sure both sides of the equation balance, or you could do the homework yourself and then compared the answers 01:29 rubywarden sometimes doing the homework yourself is easier than checking, but you can still benefit from the client doing some work because it can reduce perceived lag 01:29 erlehmann Copenhagen_Bram, if your minecarts have a max speed and a client exceeds the speed limit, ban it 01:29 Copenhagen_Bram ah 01:29 erlehmann it's the old P ?= NP thing :D 01:30 Copenhagen_Bram I'm seriously thinking about this flylikeabirdtest idea 01:30 erlehmann minetest mods are easy 01:30 erlehmann look at how boats and gliders work 01:30 erlehmann you might be able to code something convincing in a few hundred lines at most 01:30 Copenhagen_Bram Hmmmm 01:30 erlehmann are there plane mods? 01:31 Copenhagen_Bram First, can I build some chatrooms so I can get some people together to give me advice and moral support? 01:32 Copenhagen_Bram You guys are already giving me useful tips and encouragement 01:32 Copenhagen_Bram Then I can start working on some code 01:32 erlehmann if you build it in minetest, just stay here? 01:32 erlehmann also you can create a channel by joining an empty one 01:33 Copenhagen_Bram Alright 01:33 Copenhagen_Bram (I know a bit about creating channels on IRC. I've even used chanserv) 01:33 erlehmann nice 01:33 Copenhagen_Bram Any tips on using chanserv might be handy though 01:34 Copenhagen_Bram And I think I'm gonna create an IRC channel, a Matrix channel, and a Discord server, and bridge them together 01:36 Copenhagen_Bram Hmm... Or maybe I'll try to start coding first and just talk to you guys idk 01:37 Copenhagen_Bram I'll start a github repo right now I guess 01:40 Quiark Copenhagen_Bram: thats' what all the game devs do - create website, create forum, set up discord matrix slack, twitter facebook page 01:41 Quiark and then don't actually code any game because it's kinda hard 01:42 erlehmann Copenhagen_Bram, discord is scummy 01:42 erlehmann https://old.reddit.com/r/discordapp/comments/8nzb5d/why_is_discord_so_antiencryption/e001lr1/ 01:42 erlehmann > It is our legal and moral obligation to do everything reasonable in our power to enforce the law and our Terms of Service. If we were not able to decrypt messages we effectively neuter our ability to do this. 01:43 erlehmann what they are actually saying is “of course we'll deliver you homos to the thugs if the law requires us to do so” 01:43 Copenhagen_Bram erlehmann: and that's why the room would be bridged 01:43 erlehmann Copenhagen_Bram, but by that you reduce the security of the whole room to the security of discord, i.e. none 01:43 erlehmann Copenhagen_Bram, i would say: set up nothing and code. 01:44 erlehmann but that's just my advice, disregard it as you like 01:44 Copenhagen_Bram I'm thinking the same thing too, maybe I should code something first 01:44 erlehmann you can always setup something later 01:44 Copenhagen_Bram BUT, what kind of security does a public room need? 01:44 erlehmann also, if it's nice, you'll get a community 01:44 Copenhagen_Bram yeah 01:44 erlehmann whatever, i'm just saying discord is actively malicious and acting against user interests 01:45 erlehmann (no one reasonably wants their stuff to be *deliberately* not encrypted) 01:45 erlehmann but tool discussions like that are not for here i guess 01:45 Copenhagen_Bram ah 01:45 erlehmann Copenhagen_Bram, want any assistance on starting with mod development? i did it some years ago 01:46 Copenhagen_Bram Sure! 01:50 Copenhagen_Bram And yeah Discord sucks. But now I'm using it, because it's popular. But I haven't stopped using IRC or Matrix, and I've actually encouraged some Discord communities into bridging to Matrix 01:52 Copenhagen_Bram Thanks to me there are Matrix rooms for some good open source games called Hyperrogue and Hideous Destructor that are bridged to their discord communities. I'm rather proud of that. Now people can take part in those communities without being forced to use proprietary software. Perhaps that is worth having to use proprietary software myself to do it. 01:53 Copenhagen_Bram s/having//g 01:53 erlehmann hyperrougue is nice 01:53 erlehmann Copenhagen_Bram, have you played with the minetest mod glider? 01:53 erlehmann Copenhagen_Bram, https://forum.minetest.net/viewtopic.php?t=21425 01:54 Copenhagen_Bram no, but that's gonna be one of the first things I do 01:56 Copenhagen_Bram erlehmann: https://riot.im/app/#/room/#hyperrogue:chat.weho.st if you use Matrix 01:56 Copenhagen_Bram that room was briidged to ##hyperrogue once but looks like it's not anymore, lemme see what I can do about getting it bridged there again 01:57 erlehmann i try to avoid it, matrix is … let's say, designed following principles that elude me 01:58 erlehmann also maybe talk more about minetest instead of chat services? 01:58 Copenhagen_Bram alright 02:12 Copenhagen_Bram May I PM you? 02:56 erlehmann Copenhagen_Bram, yes 02:56 Copenhagen_Bram Yay 02:59 erlehmann rubywarden, i suggested Copenhagen_Bram read your book :) https://rubenwardy.com/minetest_modding_book/en/index.html 03:00 Copenhagen_Bram ooh there's a security section 17:05 Copenhagen_Bram Has anyone noticed weird behaviors with vehicles such as boats on slow computers? 17:06 Copenhagen_Bram When I'm on a boat in minetest, sometimes the boat locks up such that I can't steer and the boat still coasts in the direction it was going but keeps teleporting back to where it was earlier 17:12 Calinou Copenhagen_Bram: that's due to server lag 17:12 Calinou (or in singleplayer, the local server being unresponsive) 17:12 Copenhagen_Bram Hmm 17:12 Calinou vehicles are controlled server-side, there's no client-side prediction like in Minecraft 17:12 Copenhagen_Bram How do I prevent my local server being unresponsive? 17:13 Copenhagen_Bram Will there ever be client-side vehicle prediction? 17:14 Calinou no, I don't think so, not until we have server-provided client-side mods at least 17:14 Calinou (which likely won't happen anytime soon) 17:15 nephele I sure hope they get here earlier rather than later ;) 17:16 nephele There are already quite a lot of edge cases where prediction would be needed (direction of block placement or which block gets placed for some stuff for instance (specially if one wants minecraft like connecting stairs)) 17:19 Copenhagen_Bram > minecraft like connecting stairs 17:19 Copenhagen_Bram Doesn't mineclone 2 have that? 17:19 nephele You can implement them fine, i was talking about prediction 17:19 Copenhagen_Bram oh 17:19 nephele i.e preventing the stair to look misplaced for N seconds (untill the server has send the actual placement) 17:20 Copenhagen_Bram To be fair, I don't think I care much about something like that 17:20 Copenhagen_Bram I don't mind if a stair looks misplaced for a second. I just mind boats being weird 17:20 nephele Makes the game look less polished, prediction is important ;) 17:21 Copenhagen_Bram I'm used to stuff not happening for a second, my internet has a high latency. 17:21 nephele That certainly includes vehicles 17:21 Copenhagen_Bram Yes. 17:21 nephele Copenhagen_Bram: Then you have played bad games in the past :/ 17:21 Copenhagen_Bram what do you mean? 17:21 nephele With good prediction you normally don't notice that you have a bad connection, except in edge cases 17:22 nephele I think minetest predicts movements too, so you don't get an input delay of PING :) 17:23 Copenhagen_Bram Are you saying Minetest is a bad game then? Because when I connect to a server in Minetest, items and nodes sometimes temporarily revert after I've dug them or changed my inventory 17:23 Copenhagen_Bram Due to my ~700 or so ms latency due to satellite internet 17:23 nephele But then again any mod commands to change where you look etc. are all serverside, so they will always work horrible (except for maybe singleplayer) since you have per average ~300ms to move around freely till it resets your view 17:23 Copenhagen_Bram I guess minetest has bad prediction 17:23 Copenhagen_Bram hmm 17:24 nephele Copenhagen_Bram: That is an item of prediction yes, and minetest is horrible there, if you go anywhere out of the compfort zone of engine predicted behaviour stuff starts to suck for prediction :) 17:24 nephele Like, the actuall node placement in the stairs example is predicted, but the direction isn't 17:24 Copenhagen_Bram hmm 17:25 nephele also, it is predicted that you are always allowed to break nodes, or place them, while with prediction you could visually enforce protections clientside (even if that isn't securer it certainly looks much better) 17:26 nephele predict where you can't place seeds without them poping into existance for a second etc. :) 17:26 Copenhagen_Bram Is it less secure? Why can't the client visually enforcee protections while the server also enforces protections as it does before, at the same time? 17:26 nephele No, it isn't less secure, it is the same ammount of secure 17:27 Copenhagen_Bram Oh okay 17:27 nephele The server would still enforce them, the client can't be trusted with that 17:28 nephele Just that it now looks much better and easier to understand on the client 17:28 Copenhagen_Bram indeed 17:29 nephele Krock: Hello there 17:29 Krock hi nephele 17:29 Copenhagen_Bram hey 17:30 nephele Krock: How are server provided client mods going along, we were just talking about them for the purposes of prediction 17:30 Copenhagen_Bram yes client side prediction would be neat 17:31 Krock client-side prediction for node placement and inventory actions already exist 17:31 Krock FYI 17:31 Copenhagen_Bram ah, but they seem to time out or something after a while 17:31 Copenhagen_Bram I have ~700ms latency 17:31 nephele not really krock 17:32 Krock there was a PR to send mods to the client and execute the code there - but it's not safe enough 17:32 nephele assuming that everything suceeds is a bad prediction 17:32 Copenhagen_Bram if I dig a node, it will often reappear temporarily 17:32 nephele safe in what way? 17:33 Krock client-side protection. so that the client does not run whatever the server tells it to do 17:33 nephele That is what clientside mods are supposed to do though 17:33 nephele be arbitrary code within the confines of minetest 17:33 Krock they shall not wipe your filesystem 17:33 nephele Yeah... obviously, but that holds true for any mod 17:33 Krock "obviously". you asked for it 17:33 nephele not just clientside ones 17:34 nephele So i don't see how this situation would be worse 17:34 nephele Why isn't minetest namespacing itself away anyhow then? 17:34 Krock ofc it is. but the "secure" mod feature still has some gaps by using metatables 17:34 nephele I woulnd't try to build a perfect sandbox in the game 17:35 nephele especially when the OS gives you sandboxing caps too 17:35 Krock yeah. just run Minetest inside a VM 17:35 nephele You can use both certainly, but using just your homecooked ones seems stupid 17:35 nephele No, not a VM 17:35 Krock why? it's saf 17:35 Krock +e 17:35 nephele No, why? 17:36 nephele I somehow doubt that they would be any less or more secure than containers conceptually 17:36 nephele But their performance is muuuuuch worse 17:36 nephele so really not a good tool for minetest 17:37 nephele especially since you can't expect users to provide the protections themselves, you should namespace yourself, unconditionally 17:37 Krock what's a namespace 17:38 nephele Linues equivalent of solaris zones 17:38 nephele or linuxes equivalent of FreeBSD jails 17:40 Copenhagen_Bram i think i tried multiplayer doom once, there was no prediction 17:40 Copenhagen_Bram i would click to shoot, but the gun would shoot a second later 17:40 Calinou nephele: Minetest movement is client-side, it's not predicted 17:40 Krock but you can play dom everywhere 17:40 Calinou the server accepts your position and runs a few checks if anticheat is enabled 17:40 nephele Calinou: Server verifying movements? sounds like prediction to me :) 17:41 Calinou it's more prone to cheating, but also requires less resoruces on the server 17:41 Calinou nephele: no, prediction is when the client only sends *inputs* to the server, not its position 17:41 Krock it's not predicted server-side 17:41 Krock that's what he probably would like to say 17:41 nephele Calinou: Eh, both can be predicted 17:41 Krock can but isn't 17:41 nephele doesn't matter whether you predict that N is a valid position or predict that W is a valid move 17:41 Calinou Copenhagen_Bram: Zandronum has an option for clientside puffs, should make it feel a bit better at least 17:42 Calinou though I don't think weapons are unlagged like in modern games 17:42 est31 nephele: collision checking happens on the client, not on the server 17:42 Krock o/ est31 17:42 Krock yay 17:42 est31 hi 17:42 Krock hello :) 17:42 est31 at least few years back 17:42 est31 maybe devs have now added it since I went 17:42 Krock still the same 17:42 nephele est31: sounds like a bug to me ;) 17:42 est31 sure is 17:42 Krock there was a PR but it was so massive that it was never merged 17:43 Copenhagen_Bram how long has minetest had prediction problems? 17:43 nephele Krock keeps cheating on my server 17:43 Krock now it's rotting in the Rebase Needed grave 17:43 nephele :( 17:43 est31 Krock: link? I'm curious 17:43 est31 I had a PR for it myself 17:43 Krock nephele: "keeps" assumes multiple times. It was once 17:43 nephele You were on my server once 17:43 nephele that is 100% qouta ;) 17:44 Krock #7220 17:44 ShadowBot https://github.com/minetest/minetest/issues/7220 -- Move player movement code into Player class by bendeutsch 17:44 Krock ^ est31 17:44 est31 kk 17:44 Krock actually that's only the preparation for it.. 17:45 est31 yeah I see 17:45 Krock even that didn't make it through the review in time 17:45 est31 yeah my attempts were about doing collision checks only 17:45 nephele Krock: what about my PR btw 17:45 est31 that would forbid glitching through walls but still allow flying and stuff 17:45 est31 advantage would be less lag 17:45 Krock nephele: drowning in ridiculous controversy 17:46 nephele still? 17:46 Krock go check it yourself 17:46 Copenhagen_Bram are there any open source multiplayer games that are still enjoyable with high latency? 17:46 nephele Last comment was by dezzl i think? 17:46 nephele Copenhagen_Bram: Yeah, most 17:46 Krock Copenhagen_Bram: turn-based like chess 17:46 Krock or tic-tac-toe 17:46 nephele Garry's mod worked fine for moderately high latencies 17:47 nephele only was really unberable with pings of over 1S 17:47 nephele Don't play garrys mod though, it's bad now 17:48 Krock est31: yes, collision detection is also a good idea. if it's possible to compensate the lag as a "don't calculate: dead zone in time" it would be pretty fail-safe 17:49 est31 the issue my work had was that it checked the straight connection of latest point sent by the client and the last *verified* point stored on the server 17:49 est31 the problem with that approach was that it broke when you walked past corners 17:49 est31 in a laggy situation 17:49 est31 and walking up steps would be even worse 17:50 est31 so I tried adding a second check that based on: can you get from A to B at all= 17:50 est31 that used the path finding algo exant in minetest 17:50 est31 for that I even made the path finding algo faster 17:50 est31 that patch actually made it to master I think 17:51 Krock it still has its bugs, though. 17:51 est31 but the path finding algo was still far too slow and, more importantly, far to inflexible 17:51 est31 forgot the details. think it didn't work if you weren't directly on the ground 17:52 Calinou the corner/step issue could be avoided by adding a tolerance 17:52 Krock I also thought of using the Raycast functions to use the collision boxes rather than selection boxes. If old mid-player pos to new mid-player pos is clear - no problem 17:52 Calinou this is even built into some games' physics models, like the CPMA mod in Quake 3 17:52 Calinou (it's called "skimming") 17:52 Calinou in CPMA, if you run against a corner at an high speed while airborne, the game allows you to slide along it, then continue in your initial direction 17:52 Calinou it can make navigating maps much less frustrating 17:53 Calinou of course, you can only do it over a small distance 17:53 est31 Krock: I think my work used raycasts in fact 17:54 est31 https://github.com/minetest/minetest/commit/9aec701a4cb999b3d1eb097d4b01df0480b4ebd0 17:54 est31 this was the speedup commit 17:55 nephele with tolerance i will clip through any costum meshes that should be just too small for player 17:55 Krock uh.. I'd need to study that code in order to understand any of your changes 17:57 est31 #3894 was the noclip pr 17:57 ShadowBot https://github.com/minetest/minetest/issues/3894 -- Add serverside noclip enforcement by est31 17:58 est31 hmmm no it used collisionMoveSimple 17:58 est31 which IIRC just distributes the path into 1000 small steps and checks each for a collision 17:58 Krock yeah.. it's before juhdanad's Raycast addition 17:59 Krock I though it was distance-based steps 17:59 Krock speed * dtime 17:59 est31 ok 17:59 Krock or maybe that's only for the LocalPlayer calculations which have to be very previse 17:59 est31 something like that 17:59 Krock *precise 18:00 Krock seems like you spent quite some time in writing that - at least according to the code graveyard there 18:02 Krock but with the distance difference and time difference it would be (in theory) possible to limit the pathfinder distance to check 18:08 est31 one of the issues was that in situations with server lag, distance and time would get large, and the pathfinder would have to check a larger distance 18:08 est31 which then caused even more server lag 18:09 est31 which contributed even more to the problem :p 18:12 Calinou Copenhagen_Bram: Cube 2 games tolerate higher pings well due to their client-side physics and aiming 18:13 Calinou this also makes them prone to cheating, though their small playerbase these days means there are less cheaters 18:13 Calinou (Sauerbraten, Red Eclipse) 18:15 Copenhagen_Bram ooh 18:15 Krock est31: yay it's a wheel of death .. or something like that 18:15 Copenhagen_Bram why can't a game have both client side physics and also server authority? 18:16 Krock Copenhagen_Bram: because compensating the lags is very hard and calculating player movement quite expensive 18:16 Krock even more if it has to be predicted 18:16 Calinou most MMOs use client-side physics because of this ^ 18:16 Calinou computing physics for 400 players isn't like computing physics for a single player 18:16 Copenhagen_Bram yes 18:17 Krock closed-source also helps them to have less cheaters 18:17 Copenhagen_Bram hmm 18:17 Calinou many people run Minecraft servers at MMO scale, so I guess it can also apply here 18:17 Copenhagen_Bram does it really help?? 18:18 Krock well yeah. at least it's surely harder to modify the client. there's CheatEngine, though. 18:18 Copenhagen_Bram you know, i think open source software, because it's easier to cheat, makes it less interesting to cheat 18:18 Krock cheating isn't just about flying and no-clipping 18:18 Copenhagen_Bram I used to use cheat engine, but then I played open source games, and knowing that it would probably be easier to cheat them, didn't cheat them 18:19 Krock It was very helpful to me to integrate formspec stuff into the client so that I could find and fix security holes 18:19 Copenhagen_Bram also since cheating in singleplayer is usually well supported in such games 18:19 Krock cheese steak jimmy's 18:20 Copenhagen_Bram it's no fun to cheat when you can just type iddqd in the console 18:20 Krock cheat codes in Minetest would be funny 18:20 Copenhagen_Bram there are cheat codes in minetest 18:20 Copenhagen_Bram it's calle grant singleplayer fly, fast, noclip 18:20 Krock oh? can it spawn a Cobra Car? 18:21 Krock like easter eggs 18:21 Copenhagen_Bram oh 18:21 Copenhagen_Bram nyan cats are easter eggs though aren't they? 18:21 Krock yeah.. they were 18:21 Copenhagen_Bram if you want an easter egg, make one of your mods do something spooky when the system date is on halloween 18:22 Copenhagen_Bram maybe someone here could start adding an easter egg to their mod right now 18:23 Calinou ILOVESCOTLAND ;) 18:23 Copenhagen_Bram anyone can add an easter egg to minetest lol 18:23 Krock let's hardcode one 18:24 Krock I'm pretty sure you can find some funny comments in the code, but regular players won't notice that 18:24 nephele Eh, easter eggs arent hard to do 18:24 nephele I removed all commands on my server and replaced them with uhm, other text 18:24 rubywarden YASQUEEN 18:24 nephele like /mods -> "You'd like to know that wouldn't you?" 18:24 rubywarden Unlocks Nyan cats 18:25 Krock minetest.registered_chatcommands = {} 18:26 Krock rubywarden: your nickname is broken 18:26 nephele You are allowed to access that table directly? mkay 18:26 Krock yes sure. it's documented 18:26 Copenhagen_Bram yeah isn't it supposed to be rubenwardy? 18:26 Krock maybe it's cached so I can't tell for sure that this works 18:26 Krock Copenhagen_Bram: no 18:26 Copenhagen_Bram oh 18:26 Krock it's supposed to be rabenwurdy 18:26 Copenhagen_Bram lol 18:26 nephele very funny Kroxy 18:26 wubenrardy helloes 18:27 Krock hi 18:27 * wubenrardy creates a moddable game called Tinemest 18:27 Krock the real estate 18:27 nephele How come that gta v has a better lua modding model by now than minetest? ;) 18:28 rubenwardy Ruby warden is what hmm used to call me 18:28 rubenwardy nephele: info? 18:28 nephele It does have server provided clientside mods :) 18:28 nephele obviously isn't "rockstar official" but whatever, what info do you want? just where to get the mod or? 18:30 Krock nephele: the reason is called money and full-time jobs 18:31 nephele Krock: How so? it isn't made by rockstar 18:31 Elon_Sat0shi why hasn't anyone been able to make money with a free software game? 18:31 nephele The game is, but the modding engine sure isn't and rockstar isnt happy about it either, they just want to sell more cashcards for gta online, so a different multiplayer to that isn't in their interest 18:32 Krock Elon_Sat0shi: kinda yes.. thanks to Minetest I learned some bits about C++ 18:32 Krock but not make money in terms of selling it or receiving donations 18:32 Elon_Sat0shi has anyone tried selling access to their minetest server? (players must pay to play on the server or something) 18:32 Elon_Sat0shi and donations, merch 18:33 Elon_Sat0shi sell the latest version of the software on itch 18:33 nephele Why would anyone pay for that? 18:33 Krock I've seen some servers with donation links 18:33 Elon_Sat0shi copyright the assets and sell them 18:33 nephele Elon_Sat0shi: Then it isnt freee anymore 18:33 nephele but then again, you can totally sell a game and just include the source code 18:33 nephele it doesn't have to be foss to have it's sourcecode open 18:34 Krock LGPL requires you to include a link to the source code no matter whether you copyrighted media or not 18:34 nephele just put in the license "dont package this", and then distros won't package it, you can also just sell the assets, kind of like how openmw lets you play morrowind wherever, but you still need to have bought the game 18:35 Krock and just selling an add-on pack might be difficult 18:35 Elon_Sat0shi maybe even temporarily copyright the assets but make sure they become free after a few years or so 18:36 nephele That is the "we promise it's foss soon!" mentallity, which people (obviously) avoid 18:36 Elon_Sat0shi i know a trilogy of books where the first one is free but the next two are copyrighted, but promised to be in public domain by 2030 or something 18:37 rubenwardy Elon_Sat0shi: that's commonly called the ransom monetisation model 18:37 Elon_Sat0shi and why is it avoided? 18:37 Elon_Sat0shi okay, what's wrong with it? 18:37 Elon_Sat0shi isn't it better than something that's copyrighted forever? 18:38 rubenwardy let's put it this way - Minecraft had a similar promise 18:38 Elon_Sat0shi so it's bad when the promise isn't kept? 18:38 Elon_Sat0shi is there a way to legally guarantee that something will be free eventually? 18:39 Krock sign a contract with all users 18:39 Elon_Sat0shi hmm 18:39 rubenwardy it's not the free software way of doing things 18:40 rubenwardy there's nothing that stops you from making your own Minetest game and making it proprietary 18:40 Elon_Sat0shi what's the free software of making a profit? 18:40 rubenwardy or under that release in Xyrs policy 18:40 Elon_Sat0shi free software way* 18:40 nephele Elon_Sat0shi: apache 18:40 nephele :) 18:40 rubenwardy Redhat, Canonical 18:40 rubenwardy they provide services and support 18:40 erlehmann > there's nothing that stops you from making your own Minetest game and making it proprietary 18:40 erlehmann i guess the licensing would do that? 18:40 rubenwardy nope 18:40 Krock erlehmann: it's MIT 18:41 Elon_Sat0shi hmm 18:41 rubenwardy it's any license you want 18:41 rubenwardy the minetest engine is LGPLv2.1 18:41 rubenwardy but that doesn't affect the Lua scripts 18:41 Elon_Sat0shi i've noticed there are sites that sell minetest servers and support 18:41 rubenwardy yes 18:41 rubenwardy that's an example of the services monetisation model 18:41 erlehmann the minetest engine is LGPLv2.1 18:41 erlehmann that's what i meant 18:41 rubenwardy you can still make a proprietary game 18:41 erlehmann i remember being against licensing the engine under a more permissive license 18:42 erlehmann because then proprietary games would give nothing back 18:42 Elon_Sat0shi where do you get all these monetisation models? 18:42 rubenwardy you just need to release the source code for the engine 18:42 nephele erlehmann: just like how the gplv2 protected linux from beeing used commercially 18:42 rubenwardy ^ 18:42 nephele no wait... actually that never happened :) 18:42 erlehmann nephele, commercially is not the point. 18:42 Krock RHEL? 18:42 erlehmann nephele, giving back is the point 18:42 rubenwardy well, free software doesn't disallow commercial use 18:42 rubenwardy the GPU just requires you to give back 18:42 nephele erlehmann: AOSP is giving back, shitty vendors aren't 18:43 erlehmann the “price” for using linux is having to give your improvements to the customers 18:43 nephele but ganooh/linux doesn't care about what AOSP is giving back at all 18:43 erlehmann IMO, GPLv2 only was a mistake 18:43 nephele Nope, you can just not put stuff into kernelspace 18:43 nephele erlehmann: how so? 18:44 rubenwardy it's the same with Minetest - if you modify the engine, then you need to give back. But you can create proprietary work on top of the engine/kernel 18:45 rubenwardy in theory, at least 18:45 rubenwardy in practice no one has the time to enforce licenses 18:45 nephele Just look at what a shitshow the busybox gpl enforcement lawsuits were 18:46 nephele countless vendors sued, now what is the number of code lines busybox gained from released source code? 18:46 nephele Precisely 0 :D 18:46 nephele Turns out vendors write shitty code nobody wants 18:51 * Krock looks at the BIOS code writers 18:53 erlehmann nephele, GPLv3+ prevents two ways of saying “you can HAVE the code, but you can't RUN it” – tivoization and patent lawsuits. first is creating code-signing mechanisms that allow only the vendor code to run. second is giving other the code, but threatening legal action if they use it. both prevents the goal of the license, giving others the ability modify the code and run their own version. 18:54 rubenwardy !title https://www.youtube.com/watch?v=PaKIZ7gJlRU 18:54 MinetestBot rubenwardy: Linus Torvalds says GPL v3 violates everything that GPLv2 stood for - YouTube 18:54 erlehmann lel 18:55 erlehmann fun thing that corporate lawyers (that AFAIK were consulted by FSF) have a different opinion 18:56 erlehmann rubenwardy, IIRC the whole “home routers for cheap” stuff (openWRT etc.) came because someone sued linksys 18:57 erlehmann rubenwardy, http://ebb.org/bkuhn/talks/OpenWRT-2016/gpl.html 18:57 erlehmann > OpenWrt may be the most successful historical example of GPL enforcement. 18:57 erlehmann > The project began as the outcome of GPL enforcement action. 18:57 erlehmann such cases 18:57 erlehmann > SVN check-in r1 of the OpenWrt project was the actual source code we reviewed in our GPL compliance efforts. 18:58 erlehmann rubenwardy, kinda goes against the “in practice no one has the time to enforce licenses” 18:58 rubenwardy I was referring to Minetest 18:58 erlehmann there is even the which has a lot of this stuff https://en.wikipedia.org/wiki/Software_Freedom_Law_Center#BusyBox_litigation 18:58 erlehmann oh okay 18:59 erlehmann rubenwardy, is there still code from me in minetest and a possible defendant? i may be willing to sue them for breach of license. 18:59 rubenwardy well, not even that far - but even DMCA s 18:59 erlehmann DMCA? 18:59 rubenwardy also, good luck sueing someone in china 18:59 rubenwardy Digital Millenium Copyright Act is a framework for getting content providers to take down content 18:59 erlehmann oh, but i don't want it to get taken down 19:00 rubenwardy ie: you file a notice with Google Play to take down the apps of a dev 19:00 erlehmann the best outcome is the one cisco had, making them giving up the source code 19:00 erlehmann much preferably to being taken down on all accounts 19:00 erlehmann devs get more source code, users keep the app 19:00 rubenwardy you want people to give the source code without being sued 19:00 rubenwardy DMCAs are the better way than sueing 19:00 rubenwardy https://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act 19:01 rubenwardy you could file the notice with the app dev first 19:01 erlehmann reminds me of that minecraft (minetest?) streamer who always talked about “demonetizing” mobs 19:01 erlehmann instead of killing them 19:01 Krock but he killed them? 19:02 erlehmann yes 19:04 nephele erlehmann: tivoization prevention doesn't help anyone, it just means they run mit code instead 19:05 nephele and dual licensing doesn't help anyone since people will just say "yeah but i used the gpl2 variant" 19:05 nephele and gpl2 is incompatible with gpl3 and incompatible with dual gpl2+3 so, sucks pretty much 19:06 nephele >also, good luck sueing someone in china 19:06 erlehmann nephele, if there is MIT code available that does the same thing, that is the case. but there often isn't. 19:06 nephele Seeing as china never signed the internation thingy for copyright the chances of that suceeding are pretty much 0 anyway :) 19:06 rubenwardy yeah 19:06 nephele erlehmann: not really, the gpl is deiing 19:07 erlehmann nephele, ok, so where is the MIT minetest engine? 19:07 nephele there are only very nieshe things where you can't get an equivalent MIT thing 19:07 nephele erlehmann: There are other similar games, and games with a better lua api 19:07 nephele that /dont/ have the GPL 19:08 nephele Like gmod, even though their eula is now pretty hostile i still present them as an example, could argue the same for the unity engine, the unreal engine, the source engine etc. etc. 19:08 erlehmann the readline library is GPL and AFAIK that lead to some software being released because they wanted readline. if you frame it in having to release code as a payment, i think it makes sense to understand that “well, if you want a price, i'll go somewhere else” does not always apply 19:08 rubenwardy apache: https://github.com/MovingBlocks/Terasology 19:09 erlehmann nephele, for games that is pretty interesting actually. quake mods are free software nowadays because quake, quake2, quake3 were released as free software. half life mods, not so much. 19:09 erlehmann so while “natural selection” is a nicer game than “tremulous” IMO, i can't easily play natural selection now. 19:10 erlehmann (first is a half life 1 mod, second a quake 2 (?) mod) 19:10 erlehmann similar earth 2150 and warzone 2100. first was never released as free software, second was. first is the nicer game. now, after 20 years, the second still has players. the first one … well, if you make a LAN party. 19:10 nephele mods usually adopt similar licenses as their donor games 19:11 erlehmann in the long run, proprietary engines sadly vanish. 19:11 erlehmann or get reimplemented as free software (openttd being one example) 19:11 nephele the source engine is open source, but that is rather irrelevant now 19:11 nephele Openmw is also a good example, of how the engine may die 19:12 nephele also, quake{2,3} wasn't free software no? it was commercial software with source code afaik 19:12 erlehmann the engine was AFAIK? 19:13 nephele not at the start 19:13 nephele And there are many reimplementation of it not based on the original 19:14 nephele also, goldsrc /was/ based on the quake engine afaik 19:16 erlehmann nephele, can you give me a pointer to the open source source engine? 19:16 nephele https://github.com/ValveSoftware/source-sdk-2013 19:16 erlehmann also, does it mean being able to play HL2 with fully free software? 19:16 erlehmann nephele, which license, MIT? 19:17 nephele > SOURCE 1 SDK LICENSE 19:17 erlehmann nephele, that is not an open source license 19:17 nephele The source code is there, people have used it 19:17 nephele Doesn't matter whether you like the license or not 19:18 erlehmann nephele, yeah, but “open source” has a very specific meaning and since it is an invented term, it had that meaning from the start. https://opensource.org/osd 19:18 nephele Not correct 19:18 nephele Free software is the invented term 19:18 erlehmann o.0? 19:18 rubenwardy open source is also the invented term 19:18 nephele all software was open source 19:19 nephele propritare software came later 19:19 erlehmann to put it more clearly: if i only eat animals that eat plants, i may not be eating vegan. 19:19 erlehmann whatever i think the terms mean. 19:19 rubenwardy open source is almost identical to free software, except for the motivations: . https://opensource.org/osd 19:19 nephele erlehmann: did you read the license? 19:19 erlehmann nephele, yes. what makes you think i did not? 19:19 nephele It's basically you can make games from it, but you can't sell it 19:19 rubenwardy source-available is the name for licenses which aren't open or free software, but you are allowed access to the source code 19:19 erlehmann which is not compatible with point 6 of the Open Source Definition 19:20 nephele source-available is also an invented term 19:20 erlehmann > The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. 19:20 rubenwardy all terms are invented 19:20 nephele But just like MiB GiB etc, just because a new term exists doesn't mean people are going to start using it 19:20 erlehmann nephele, https://en.wikipedia.org/wiki/Open_source#Origins 19:20 nephele erlehmann: you really won't like the BSD-no-nuclear license 19:20 nephele I know better than to trust wikipedia on anything IT related ;) 19:20 erlehmann > Peterson suggested "open source" at a meeting[4] held at Palo Alto, California, in reaction to Netscape's announcement in January 1998 of a source code release for Navigator. Linus Torvalds gave his support the following day, and Phil Hughes backed the term in Linux Journal. 19:21 erlehmann i gather the term literally did not exist before? 19:21 erlehmann nephele, BSD-no-nuclear is not a free software or open source license probably? 19:21 erlehmann what if nuclear war is my field of endeavour 19:21 erlehmann (half-joking) 19:21 nephele It's not a term, it's an adjective and a term 19:21 nephele erlehmann: well, the license would forbid you from using it 19:22 nephele But regardless, i don't have a problem with the license of the valve sdk, regardless of whether OSI like it or not 19:22 nephele I have problems with licenses that OSI aproves too ;) 19:22 erlehmann nephele, yeah, just don't claim it is an open source license 19:22 nephele one doesn't always have to agree fully 19:22 erlehmann i have a problem with it because it would make it impossible, e.g. to include it on a debian DVD 19:22 nephele erlehmann: No, i claimed the engine is open source, not the license 19:22 nephele No, it would not 19:23 nephele There is nothing preventing debian from doing that, other than their own policies 19:23 erlehmann nephele, did you mean “the engine is open source” in any other way than “the source code of the engine is licensed under an open source license” ? 19:23 nephele erlehmann: nowhere did i say "OSI conform" 19:23 nephele I don't have to agree with their definition, so i don't 19:24 erlehmann nephele, so if i claimed a photo i bought from a store was “photoshopped” you would have no problem with my use of language? 19:24 nephele Yes, photoshopped has become an adjective to reffer to forgery, not specific to photoshop anymore 19:25 nephele just like how googling no longer reffers to google.com 19:25 nephele language changes all the time :) 19:26 erlehmann nephele, words have meaning. if the people around you assume a different meaning because you are using a term differently, it makes the discussion harder due to misunderstandings. 19:26 nephele erlehmann: linquistics is my hobby, i know this, and so does everyone else 19:27 nephele but words have meanings only in a specific context 19:27 erlehmann our context was software licenses 19:27 nephele Yes 19:27 nephele and "OSI compliant" is a valid term 19:27 nephele and i deliberately did not use it 19:27 nephele actually the context is a bit more than "software licenses" though 19:27 rubenwardy words and phrases have meanings 19:27 erlehmann i hereby humbly suggest instead of abbreviating stuff with terms that are commonly understood you spell it out in future, as in “the source code for the engine is available online” (which would AFAIK also be true for some unreal engine). 19:28 erlehmann that concludes my part of the discussion about the term “open source” for now. 19:28 erlehmann rubenwardy, we live in a society!!!111 ;) 19:28 erlehmann words have meanings and yet you use them, you hypocrites! :P 19:28 nephele erlehmann: i did not abreviate, i wrote what i ment, and ment what i said 20:39 MinetestBot 02[git] 04paramat -> 03minetest/minetest_game: README: Use correct link, make link clickable 135b21d1d https://git.io/JeDV4 (152019-12-04T20:38:01Z) 20:49 fruitsnack sfan5: hello, what ndk version was used to compile minetest for android? 20:49 sfan5 no idea 20:49 sfan5 probably the latest 20:50 fruitsnack Who's compiling it? 20:50 fruitsnack For the "releases" section on github 21:09 Elon_Sat0shi ugh 21:09 Elon_Sat0shi i thought i would start working on that mod today 21:10 Elon_Sat0shi but right now, i'm too depressed/stressed/burnt out to even take a bath 21:32 Elon_Sat0shi ugh 23:22 scr267_ Hi everyone, my server ran into the same error that p_gimeno experienced back on June 6th (saw that on the IRC logs): minetest/src/serverenvironment.cpp:e5: std::string LBMManager::createIntroductionTimesString(): A fatal error occurred: attempted to query on non fully set up LBMManager 23:22 scr267_ Just wondering if anyone has any idea what might be the cause? 23:29 scr267_ FYI, both minetest and minetest_game were pulled from branch stable-5 23:29 scr267_ I'm going to try tag 5.0.1 just to see if it makes any difference. 23:56 rubenwardy Weird