Time Nick Message 12:37 kilbith https://i.imgur.com/Bdc2Qd2.jpg 12:37 kilbith The first 2.5D FPS game in a formspec, using raycasting 12:37 kilbith ~10s to generate a frame 12:43 nerzhul ouch 10sec is huge 12:43 nerzhul for a such trivial model 12:44 rubenwardy well, it's a collection of boxes 12:45 rubenwardy although, that is surprisingly long 12:45 nerzhul do you want to add model viewer on formspec ? 12:45 kilbith there are half a million of boxes 12:45 rubenwardy are you using table.concat 12:45 kilbith no 12:45 nerzhul we see ~50 polygons 12:45 kilbith I will release the code soon 12:45 nerzhul maybe they are stacked 12:47 kilbith Each box is a pixel, there are no genuine "polygons" 12:47 kilbith These are fake 12:47 kilbith Well, this is how OpenGL is working actually 12:48 rubenwardy switching .. with table.concat will speed it up 12:48 kilbith Let's see 12:50 rubenwardy well, *Should 12:50 rubenwardy .. involves copying, table.concat involves slightly less 12:50 rubenwardy string.format is the best, but doesn't allow variable args 12:51 rubenwardy by table.concat, I mean appending to a table with t[#t + 1] and calling table.concat right at the end 12:53 rubenwardy there's also the copying from Lua to the engine, and across the wire, and then to the client 12:55 kilbith Yep, definitely faster 12:55 kilbith THanks 12:56 kilbith About a second to make a frame now 12:58 nore <@rubenwardy> by table.concat, I mean appending to a table with t[#t + 1] and calling table.concat right at the end <-- I'd advise not appending to the table like that 12:58 nore but instead using an index that holds the position to insert to and incrementing it 12:58 nore because computing #t is linear in #t, so appending is quadratic as well 12:59 kilbith This is even faster, yes 13:02 kilbith Any good video recording software on Windows 10? 13:03 rubenwardy oh yeah 13:04 rubenwardy OBS 13:04 rubenwardy quite heaby though 13:04 nerzhul obs, like on linux 13:04 nerzhul it's used by many youtube streamers 13:05 kilbith I don't mind if it's not OSS though 13:05 rubenwardy I use simplescreenrecorder on Linux, but no Windows support 13:05 rubenwardy there aren't any good non-OSS screenrecorders 13:05 rubenwardy well 13:05 rubenwardy all the ones I found add watermarks 13:05 nerzhul OBS is the most used as i said 13:05 rubenwardy OBS doesn't and is OSS 13:05 nerzhul and it has youtub estreaming support embedded :) 13:06 kilbith VLC? 13:06 nerzhul VLC doesn't record screen 13:07 nerzhul OBS permits to record the screen, a part of the screen, a window, do transition between record sources 13:07 nerzhul it's very nice 13:14 * tumeninodes is impressed https://i.imgur.com/Bdc2Qd2.jpg 13:15 kilbith Demo: https://www.youtube.com/watch?v=xtQXNJ8n3p0 13:16 kilbith Ok this is dog slow 13:17 tumeninodes screen recording sucks in 2018 13:18 tumeninodes I've been looking at external screen recorders, they seem the better way to go 13:21 tumeninodes just speed up the playback on youtube :P 14:04 ChimneySwift you can set a screen as a VLC capture device, not recommended 14:05 tumeninodes so, this will be fun to add into mods such as stairs, walls, etc. : / https://pastebin.com/5erRfFfu 14:06 tumeninodes if there is an ultra easy method to do this, someone please let me know :P 14:07 tumeninodes as this will only impact nodes which have multiple versions/texture varients 14:36 IhrFussel Wait wait wait... you always say "my server, my rules...obey or leave" but now you consider adding a way to allow the CLIENT to NOT obey to SSCSM sent mods?? That makes absolutely NO sense 14:36 IhrFussel If a client wants to play on MY server they have to ACCEPT all terms of it INCLUDING sent mods I want them to run! 14:37 IhrFussel Don't give clients the freedom to CHOOSE which server sent CSMs run on them 14:37 IhrFussel nerzhul ^ 14:38 IhrFussel Don't take "client freedom" THAT far, if a client wants full freedom they need to play SP 14:38 IhrFussel Plain and simple 14:39 nerzhul IhrFussel why i should accept all your rule, it's like disable JS on a website or block adds 14:39 nerzhul these rules are not only for server owners but also for clients if they want. It's interesting to see servers owners only think about their servers but doesn't always think about their gamers/clients 14:40 nerzhul i just returned the CSM drama point of view to the gamer point of view :) 14:40 IhrFussel You HAVE TO accept all rules on a server or else you can get punished...it was ALWAYS like that ... don't compare it to JS, cause most websites don't need it for essential features... when a server wants to run a CSM it will most likely have a very good reason for it 14:40 sfan5 IhrFussel: just like you can disable JS in a browser, clients will have the option of accepting no CSMs from the server 14:40 sfan5 if you do not like that, it's on your server to reject clients that do this 14:41 sfan5 (similarily to how modern websites or even Cloudflare's DDOS protection do not work with javascript disabled) 14:41 nerzhul yes; if server owner can have choice, the client should have choice too 14:41 IhrFussel sfan5, nerzhul wants a way to disable CERTAIN CSMs only and not a flag to enable/disable all sent mods 14:41 IhrFussel That will complicate things A LOT 14:41 nerzhul and we can enhance protocol at a point to make serverlist attribute "SSCSM mandatory" permitting clients to filter servers like this 14:42 sfan5 certain CSMs? not sure if that is useful from a client perspective 14:42 nerzhul if particle spawners sent from server make me laggy, why not ? 14:42 IhrFussel He expects the client to then tell "if you disable this CSM then feature x won't be available" 14:43 nerzhul currently i just expose the idea that if we have server CSM restriction we need to also think about client SSCSM restrictions to make their game correctly works as intended. It's an idea, nothing is developed 14:43 nerzhul and we can flag the server with SSCSM mandatory in server list, like we did with creative for example 14:44 nerzhul and when the client connects if he disabled SSCSM or refuse SSCSM server just disconnect it 14:45 nerzhul the client should have the choice too. It's not server owners dictatorship :) freedom is what we always expected in mt 14:45 IhrFussel But if a client then refuses to run SSCSM x then the code needs to be run server side? I mean you surely cannot just remove essential server features the need to be run somewhere 14:45 IhrFussel they* 14:45 nerzhul IhrFussel, i suggest you to discuss about this when we will start to think about that, and it's not in the 5.0.0 dev cycle 14:46 nerzhul first release 5.0.0, after prepare 5.1.0 with SSCSM and how to implement the correct behaviour for everybody 14:46 nerzhul i agree with you that offloading to client is nice 14:47 IhrFussel The client shouldn't be able to "hog" the server just because it refuses to run SSCSM...that is my point 14:47 nerzhul but i think some heavy calculation requires to be restricted if needed by client. offloading particles is very very nice, but a restriction (or just a setting for a such use case) permits the client to disable particles and increase its FPS 14:47 kilbith Code's released: https://github.com/kilbith/raycast 14:48 nerzhul IhrFussel, some contributors refused to contribute on GH because of JS , we accept them. I think we should accept client who refused server mods too 14:48 nerzhul if the client doesn't want the SSCSM you have two choice: he connects on your server, has a bad experience and disconnects forever or he is informed that there is SSCSM and can just not connect 14:48 nerzhul it's its choice, not yours 14:48 nerzhul his* 14:49 IhrFussel So server then need to run a SS mod AND send a SSCSM mod to clients that allow it ... that kinda defeats the purpose of SSCSM 14:49 nerzhul it's interesting to see server owners are equal in terms of behaviour 14:50 nerzhul (some server owners) 14:50 nerzhul always extremists 14:50 nerzhul it's a compromise, and a contract with players. By default the setting should not be enabled but client who doesn't want to run code from servers can be able to refuse to go to those servers 14:50 IhrFussel No, but until now you always told people "servers decide what you do on there, if you need full control you can play SP" 14:51 nerzhul IhrFussel, extremist. 14:51 nerzhul We can have well balanced servers. 14:51 nerzhul and there is 14:51 shivajiva nerzhul: stop talking crap, how dare you presume all server owners are the same, that's like me saying all devs are rude... 14:52 IhrFussel I said CORE DEVS said the above thing and agreed on it ... I saw it multiple times on GH issues 14:52 nerzhul if i want to play multiplayer without running non controlled code it's my choice, not yours (note: i personnally don't care about this on MT) 14:53 rubenwardy I agree with allowing users to opt out, however the API should be designed in such a way that it doesn't matter to the server in a lot of cases 14:53 IhrFussel Yes it can be your choice, but then the server also has the choice to just refuse you... and that would make things very complex if the client needs to have a flag for EACH possible SSCSM mod/callback and needs to compare it with the server on connect 14:54 nerzhul IhrFussel it's not server role to refuse clients who doesn't want SSCSM, but in the implementation i think it's the only implementation possible, and it's core side :) 14:54 rubenwardy Client-side mods sent by the server should also contain a signature created by ContentDB, with certified information such as mod name author and hash 14:55 nerzhul IhrFussel, as a first step have a opt out for all is the easier to handle, but we can think in 5.2 for example to have fine grained things. Remember the particle example, i think it's a good example without being too disruptive on the gameplay 14:55 nerzhul rubenwardy i agree with you, but we need a CA i think to sign those mods 14:55 IhrFussel Don't force servers to run code they want to off-load server side JUST because clients don't want to run SSCSMs is what I say 14:56 IhrFussel Don't give clients control over which code runs server side and which doesn't 14:56 rubenwardy Anything you offload shouldn't matter to the server 14:56 nerzhul IhrFussel i don't think we can restrict CSM hud offloaded from servers for example, because it's a gameplay thing. Same with formspecs 14:56 rubenwardy If it matters to the server, then that's a vulnerability - don't trust the client 14:57 nerzhul but restricting 3D performance used by SSCSM to permit users to play correctly on low devices is a good choice 14:57 nerzhul particles, light... 14:57 nerzhul i will open the debate on that part when the code will be mature enough 14:57 nerzhul there is no point in 5.0.0 as there is no SSCSM 14:57 rubenwardy That's more of a graphics setting though, than a csm thing 14:58 shivajiva if we have to have this bastardisation of csm you presented then both server and client can turn it off, the server can reject the client if it wishes and the client can choose to play elsewhere. Anything else is unacceptable. I find celeron55 to be polite and you to be rude but I'm not daft enough to claim all devs are the same... 14:58 nerzhul rubenwardy, yeah maybe a restrction based on graphic settings 14:58 IhrFussel So basically...what you want is just a client info that says "This server uses SSCSMs and if you disagree to load it then you will experience inferior gameplay" and then the particles the server uses (inside SSCSMs) are just gone? That is not a good idea but okay 14:58 rubenwardy Also, I hate all these acronyms 14:59 Unarelith do you have a better one IhrFussel? 14:59 Unarelith +1 rubenwardy 14:59 nerzhul SPCSM is better 14:59 nerzhul because there is CPCSM 14:59 nerzhul it's more logical :D 14:59 nerzhul we can also remove S 14:59 nerzhul CPCM and SPCM 14:59 nerzhul client mods 14:59 nerzhul "side" is useless :p 14:59 Unarelith :D 15:00 rubenwardy I think client scripts may be a more accurate term, maybe 15:00 rubenwardy But doesn't matter 15:00 nerzhul rubenwardy: if content store sign the mods sent from servers, why don't distribute it too ? 15:00 rubenwardy Well, they could contain more information than .lua 15:00 rubenwardy nerzhul: celeron55 is against that 15:00 nerzhul okay 15:00 IhrFussel Unarelith, YES don't implement a flag for each callback and refuse the client server side as soon as it disallows CSMs sent by the server 15:01 nerzhul rubenwardy, you don't distribute SM ? 15:01 rubenwardy He's against relying on any other services to connect to a server 15:01 nerzhul but if you verify signature you do it :p 15:02 IhrFussel The client needs to either allow all or none ... everything else will make it hell for server owners 15:02 IhrFussel But you don't seem to care much about us 15:02 rubenwardy The signatures would be generated before the server installs the csm 15:02 rubenwardy Then verified without a connection 15:02 nerzhul i care about everybody who is constructive :) 15:02 rubenwardy Because the client will have cdb's public key 15:02 rubenwardy This was sofar's suggestion btw 15:02 nerzhul i don't see how to implement that :p 15:02 nerzhul but okay 15:02 nerzhul at least we can start without signing i hope 15:03 Unarelith IhrFussel, so explain why it would be hell for you? 15:03 rubenwardy well, at some point we will have a secure hashing function to validate builtin 15:03 rubenwardy do the same with client/ folders (and ignore and signature files) 15:04 rubenwardy then compare that with the hash signed by CDB's private key in the signature file 15:04 rubenwardy I mean, heh 15:04 IhrFussel If you have a server with 200 mods (like mine) and want to offload certain features to the client BUT that client disallows features x and y and you STILL want to make it work for them then you have to code ANOTHER server side mod JUST to be able to make it work for them 15:04 rubenwardy basically, I'd like there to be some method of securing saying the author of a mod at the bare minimum 15:05 rubenwardy you can't show a list of SPCMs names and authors without it being signed, because the server could lie 15:05 IhrFussel We are NOT talking about a stupid website here that doesn't need all the fancy stuff with JS to work... we talk about a GAME and every single feature a client misses over another can be dramatic 15:05 Unarelith IhrFussel, well it depends on what features can be disabled. if it's only graphical features then it's a good idea. if it forces modders/server owners/game makers to duplicate code it's not. 15:06 rubenwardy A better approach would probably have all authors have an RSA key, but this is more complicated 15:06 Unarelith rubenwardy, why would it be? 15:06 rubenwardy the benefit of CDB integration is all versions of CMs will be archived 15:07 rubenwardy well, it would reduce dependency on CDB 15:07 rubenwardy this does need more thought really 15:08 nerzhul rubenwardy: at least we have openssl dep through curl :p 15:08 rubenwardy yeah 15:08 nerzhul but we will make curl and openssl mandatory in MT build then 15:08 nerzhul (it should, MT without curl is a little bit limited) 15:08 rubenwardy I don't think that's unreasonable 15:08 rubenwardy because yeah, cURL is a little central 15:09 rubenwardy I mean, you could make this non-cryptographic just by asking ContentDB what it knows about a particular hash 15:09 rubenwardy but this adds a potentially hard dep on CDB 15:09 nerzhul rubenwardy the RSA key for MT server owners can be complicated. It's done like this on nextcloud apps, you should look at their store implementation 15:09 nerzhul i have a private key and a public key signing releases signed by their CA 15:09 nerzhul each release is signed with openssl 15:09 Unarelith rubenwardy, what if you decide to separate the launcher from the game itself? 15:10 nerzhul openssl dgst -sha512 -sign ~/Téléchargements/ocsms.key ~/Téléchargements/ocsms-2.1.0.tar.gz | openssl base64 15:10 nerzhul i do this :) 15:10 Unarelith the launcher can actually have a hard dep on CDB 15:10 rubenwardy s/launcher/menu/g 15:10 rubenwardy :) 15:10 nerzhul please don't create a launcher... 15:10 Unarelith well, it's more like a game launcher to me 15:10 Unarelith and with the integration of CDB it really looks like one 15:10 nerzhul using the same binary is nice 15:11 Unarelith why? 15:11 nerzhul less code dup, only one window to manage 15:11 nerzhul and also it's a game 15:11 Unarelith code dup? you just compile with the same code. 15:11 nerzhul we can share code like server/client yes 15:11 nerzhul but it's soo 1990 to use launcher on games :D 15:12 Unarelith ._. 15:12 Unarelith all modern games has launchers nerzhul 15:13 rubenwardy not really 15:13 nerzhul the witcher 3: no, world of warcraft : no (i can use Wow directly), assassin's creed: no, all RTS games i play (and there is plenty): no 15:13 Unarelith nerzhul, Steam is a launcher 15:13 nerzhul but yes there is some launchers, in skyrm 15:13 rubenwardy Steam is not a launcher 15:13 nerzhul i can play without Steam 15:13 rubenwardy that's stupid 15:13 nerzhul without Battle.net 15:13 rubenwardy that's like saying MyFileManager is a launcher 15:13 rubenwardy sure, it starts the program 15:13 nerzhul and download updates 15:14 nerzhul but it's the only feature 15:14 rubenwardy so does apt, though 15:14 Unarelith rubenwardy, you can download texture packs, mods, update the program, backup your saves 15:14 Unarelith sounds like a launcher to me 15:14 rubenwardy that's just stupid 15:14 nerzhul Unarelith you want to only connect to server with MT main window ? 15:14 nerzhul when disconnecting returning back to your desktop ? 15:15 Unarelith what do you mean? 15:16 Unarelith rubenwardy, Steam is just a "superlauncher" to me, and imo Minetest should have a separate launcher, I'll explain why: 15:16 Unarelith 1) If someone ever decides to create a new launcher from scratch using any other libraries, he could do it 15:17 Unarelith 2) Since the launcher is separated, a hard dep to CDB isn't a big deal 15:17 nerzhul except game should validate mod just before loading :) 15:17 Unarelith and? 15:18 Unarelith don't tell me what should happen, but explain why it won't. 16:07 Shara nerzhul: your attitude toward server owners is disgusting 16:07 MinetestBot Shara: Dec-12 07:39 UTC see http://irc.minetest.net/minetest-hub/2018-12-12#i_5456929 onwards 16:08 jas_ :D 16:08 Shara Your comment on github too: "i think SSCSM should have restrictions from client side too. If a client doesn't want server to use some API it should have the freedom to do it. And yeah server owners will not like this suggestion" 16:08 Shara Don't assume all server owners are tyrants who want to lord it over players. 16:08 Shara I want clients to have control as well 16:08 Shara You are just revealing your bias over and over 16:08 nerzhul If i'm so rude just re-read what you said about players and CSM :) 16:09 Shara What exactly have I said? 16:09 nerzhul Shara i like your opinion about client and freedom 16:09 Shara (or do you direct that to someone else?) 16:09 nerzhul please note in the gh original discussion opened 3 or 4 days ago nobody answered to my technical question whereas i said it 3 times :) 16:09 Shara Well, you also ignored a bunch of thigns server owners said many times 16:10 jas_ so what 16:10 Shara things* 16:10 nerzhul then if i'm acid with some people sorry, but just answer my questions when i ask some informations ;:) 16:10 jas_ stahp 16:10 Shara The point is everyone is tired 16:10 nerzhul Shara: i think it's the point yes 16:10 nerzhul my point is enhance the CSM mod loading restriction to restrict builtin and rename it in master 16:11 Shara Server owner speaks. You imply they are stupid or don't read, while you ignore what they say. 16:11 Shara Round and round in stupid silly circles. 16:11 nerzhul trigger that feature freeze, fix the real bugs (CSM is not a bug, i think we have bugs in other parts than CSM in core no ?) and release the 5.0.0 16:11 Shara nerzhul: I have tried to recommend compromise 16:11 Shara Tried to say: let's talk about defaults or similar 16:11 Shara No.. ignored every time 16:11 nerzhul my compromise is extend the CSM mod loading restriction to the whole lua stack 16:12 Shara CSM may not be a 'bug' but it should never have been merged. That alone means you should speak with a bit more respect 16:12 jas_ wow 16:13 Shara It's not okay for you to assume all server owners are bad bad people and speak like that 16:13 nerzhul Shara, sorry but i can't do compromise for a such sentence. 16:13 Shara Sorry, I don't understand what that means 16:13 jas_ what's the big deal anyway? sorry i'm out of the loop. 16:13 nerzhul when you will answer my GH questions, not answer to questions i never ask, we can go ahead :) 16:13 nerzhul jas_ give me money dude and i give you drugs :D 16:13 Shara Oddly enough, I have 16:14 jas_ i got your money dude 16:14 jas_ check is in the mail 16:14 jas_ "" 16:14 Shara You ignored mine though, and it's been left to paramat again to try and answer 16:14 nerzhul jas_: heh 16:14 jas_ but what's the matter? what's even the question? 16:14 nerzhul Shara: paramat has took time to understand the issue and do the compromise i proposed 16:14 nerzhul and it's the best thing we can do 16:14 nerzhul now go ahead, stop the battle and focus on real bugs 16:15 jas_ i wanna throw this out there real quick if i may: when there are walls and walls of text, between bluebird, shara, and paramat, i honestly cannot read all that 16:15 nerzhul CSM is not used by majority of the users we should really focus on other code bugs 16:15 jas_ it's a tactic, i presume. maybe unintentional, but effective nonetheless 16:15 Shara jas_: honestly, better not to 16:15 jas_ anyway 16:15 jas_ so what's the big conflict? 16:15 nerzhul jas_ trump wall with mexicans 16:15 jas_ check 16:15 jas_ !next 16:15 MinetestBot Another satisfied customer. Next! 16:15 Shara right now, the conflict is simply that I'm sick of nerzhul insulting server owners 16:15 jas_ ok. nerzhul stop insulting server owners! 16:16 Shara show some respect, get some respect 16:16 nerzhul i never said: "servers owners are cowards" 16:16 jas_ (and optionally, apologize.) 16:16 jas_ good luck have fun o/ 16:16 nerzhul i respect people who take time to read the doc and answer my question 16:16 Shara nerzhul: I never mentioned "cowards" 16:17 nerzhul i don't respect people complaining just for complaining without verifying the implementation, and who are based on a 0.4.16 code and think we never listen to them whereas many efforts has been done for them, but are not released yet 16:17 Shara Sure, which would be fine 16:17 Shara Until you say things like: 16:18 Shara nerzhul: it's interesting to see server owners are equal in terms of behaviour 16:18 nerzhul i fixed the sentence to add "some server owners" 16:18 nerzhul just after :) 16:18 Shara And on github you just assume server owners won't support a fair system for players 16:18 nerzhul the 5.0.0 restriction system is fair 16:18 nerzhul but nobody tested it 16:18 Shara Talking about: "i think SSCSM should have restrictions from client side too. If a client doesn't want server to use some API it should have the freedom to do it. And yeah server owners will not like this suggestion" 16:19 nerzhul complaining servers owners are just complaining based on asumption we never coded the restrictions 16:19 Shara I'm a server owner. I never assumed that 16:19 Shara I thanked you for working on it in fact 16:19 nerzhul It's real, some server owners will not like that, and just reread IhrFussel reaction ti's exactly what i said :) 16:19 Shara We're not all Fussel 16:19 nerzhul i know 16:20 nerzhul i need to fix my sentences to add some everywhere i think :p 16:20 Shara Then please remember it. That's what I am asking here. 16:20 Shara Thank you 16:20 nerzhul but also i said "server owners", neither "the server owners" or "all server owners" 16:20 nerzhul it's undefined 16:20 nerzhul in french we have a correct distinguish between "des" and "les" 16:21 nerzhul "des" is undefined , "les" point on the majority 16:21 nerzhul in english they drop the "des" 16:21 Shara Well I'm not the only one who takes offence at comments like this. Language barrier don't help, I know. 16:21 nerzhul i think so, because each language and translation done to native language can be with errors. What is your native ? 16:22 tumeninodes how the hell does everything here correlate to "Trump" and Trump wall with Mexicans... tired of seeing it. No one here I guess would like if I started spewing my political views 16:22 Shara English, or maybe bad english, or sometimes backwards english :P 16:22 tumeninodes keep IRL politics out of it all thank you, unless you want to hear the other side 16:24 Shara But I am so tired of the discussions on CSM not being constructive. I'm probably just going to out-shout anyone who fails to talk constructively at this point, at least in -hub. 16:24 Shara And that goes for both sides of the debate 16:24 tumeninodes we really should have a no politics and no religion rule to this project, cuz it's starting to piss me off 16:24 Shara Well, they both fall under off-topic :P 16:29 Shara nerzhul: regarding the client being allowed to block things sent by the server: I really think this is fine. Servers can then decide how vital they want certain server-provided mods to be. Servers might choose to make certain things optional or required. If server-provided mods are required, the players get to make an informed choice about whether they want to accept or play somewhere else. 16:32 nerzhul Shara: the idea to have feature levels to make client choose the feature level is nice, if configured_feature_level >= feature_level => execute 16:32 nerzhul example: if CONFIG_FL_REQUIRE and feature_level is OPTIONAL => not execute 16:33 nerzhul a such thing must be implemented with SPCM then 16:33 Shara However it's done, clients need a choice 16:33 nerzhul i open an issue about that linked with 5.1.0 roadmap 16:38 nerzhul see #8002 16:38 ShadowBot https://github.com/minetest/minetest/issues/8002 -- Server Provided Client Mods: Required features 16:38 shivajiva I think nerzhul is simply avoiding the hard question, why is his version of csm a clone of the server api that lets clients add their own mods and why its acceptable to develop it to deliver mods when it didn't deliver the intent, that's what I really want to understand :) 16:40 nerzhul response: it's not a clone of server API. Some features has been cloned from server API to be offloaded on the client by client mods yes 16:41 nerzhul reponse2: why the server doesn't deliver mods: time to define the need, the serialization format, what embed, time to live outside MT with 3 childs 16:46 shivajiva so letting a client add it's own mods was the only method available to you and merging it forced that reality essentially though I suspect it was always part of your vision? 16:47 nerzhul do you know i'm not the only coredev ? :p 16:47 sofar kilbith: I'll post that to minetest-mods, thanks 16:48 nerzhul in fact client adding its own mod was the first method because we need to test APIs by ourselves while implementing them 16:48 nerzhul and after nothing more 16:48 nerzhul you can imagine we tested the API no ? :p 16:48 nerzhul it's why the code is as is 16:49 shivajiva It seems to me that you had a free hand in it and wasn't closely checked on the implications and conformity to the concept by the other devs tbh 16:49 nerzhul now go ahead, trigger the feature freeze after merging the restriction extent :) 16:49 nerzhul no i don't have a free and 16:49 nerzhul hand* 16:50 nerzhul remember one thing: mt is done by its contributors. celeron55 has given some devel ideas, but there is no real roadmap in the project becaus ethere is no project owner (in project management meaning, not a line on GH repository) 16:50 shivajiva I'm just making clear what my issue is so you don't think I haven't spent time reading and looking at this 16:51 nerzhul shivajiva: then answer my question : what CSM API found in the CSM API doc is a problem to release minetest because there is no restriction you can do server side ? 16:52 nerzhul i understand we don't have CPCM, it's a fact. But it's a feature and don't block minetest regular usage. Security issues are a blocker 16:52 nerzhul CPCM is not a security issue, i don't see how pushing mods to client can enhance their security 16:52 nerzhul SPCM sorry § in the two previous lines :) 16:52 nerzhul i'm tired ^^ 16:53 shivajiva the api looks fine from that perspective, I have no issue with it. That's why I am making clear what my issue is 16:53 nerzhul you want a feature and it's not developd due to dev team time 16:53 shivajiva no 16:53 nerzhul i think it's the idea 16:54 nerzhul i will leave work, i will read your answer later today 16:56 shivajiva I wanted what was conceptualised by celeron55 in the discussion and subsequent poc he provided instead of this mess tbh 16:57 sofar it's not a mess imho 16:57 shivajiva the situation is :) 16:58 sofar has anyone actually looked at that poc? 17:01 sofar anyway, I don't think it's relevant as I believe that the current CSM API is more than complete enough to be used for server-sent, signature validated CSM and exclusively, meaning, flavors/restrictions can be removed entirely, and we can remove the cpcsm vector entirely 17:03 sofar I believe that's what celeron55 intended and nrzh's work would be almost entirely wholly used - the important parts are on the API side anyway 17:06 shivajiva okay, this is the time for some wisdom from celeron55 I guess :) 17:41 Krock hi tenplus1 (imaginary) 17:43 IhrFussel I got mad earlier because of the idea to "let clients decide which functions are allowed to run from the server side" WITHOUT thinking about how server owner would have to realize ESSENTIAL features they want to offload to clients 17:45 IhrFussel And the ONLY option I can think about it "run the exact same code server side in case the client doesn't want to run the server sent mod' which defats part of SSCM 17:46 IhrFussel defeats* 17:46 IhrFussel Cause there is nothing to offload to those "muh privacy" clients 17:50 Krock path calculating for objects could be offloaded if the server sent the LuaEntity's name 17:57 T4im prediction might be; but you probably continue to want server side physics 17:57 IhrFussel But what's the point of SSCM if the server needs to basically ask for each client function to execute? And then some clients will say 'sorry cannot run this callback' 17:58 T4im better prediction might be one point 17:58 Peppy mmm, much to read today 17:58 IhrFussel You cannot even create a mod/game that RELIABLY executes fine on every client 17:58 Peppy Android app is still broken, I guess most players will be gone before this endless debates about CSM/SSCSM ends 17:59 Krock yes sure. predict what happens in lags using SSCSM, and correct with the server-sent data 17:59 Krock Peppy: did you try the 5.0.0-dev build yet? 18:00 Peppy Krock, yes, but I don't use Android 18:00 Krock question was whether you tried a 5.0.0-dev build yet 18:00 Peppy yes I did 18:00 Krock okay 18:00 sofar IhrFussel: prediction and mods that coordinate server-client are only part of the story. Most mods will likely never send data to the server and just act based on instructions from the server (e.g. sounds/decorations/particles/messages/hud stuff) 18:02 Krock well, if some improvements aren't applied for iOS systems, you'd have to fix the stuff by proposing a PR - iOS is not officially supported 18:02 IhrFussel sofar, but nerzhul wants to implement a PER CALLBACK flag for SSCM which means one client allows only feature 1 and 3 and another only allows 2 and 4 while a third one only allows 1 2 and 3 18:02 Peppy Krock, let's face it many young players do use Android 18:03 sofar IhrFussel: is that documented/drafted somewhere? 18:03 Krock for me it feels like all kids use an outdated fork of the Android Minetest client 18:03 Krock except octactian. he uses the PC version :D 18:03 Peppy sure, but they have no alternative :( 18:03 IhrFussel sofar, https://github.com/minetest/minetest/issues/8002 18:04 Krock they do. there's a beta program for the official Minetest client 18:04 Krock they can try the newest clients there 18:05 Peppy they can't play their beloved 0.4.17 servers with that 18:05 sofar IhrFussel: seems a lot of work for little benefit, the other 2 points are much more critical 18:06 Krock it's called 5.0.0-dev for a reason. months after it's released the situation will surely become normal again 18:06 Krock a protocol break is quite special 18:06 Peppy krock : I understand the break was necessary 18:07 Krock It Sucks But We Cannot Help It ™ 18:07 Peppy xD 18:09 Krock I spotted kilbith again! https://forum.minetest.net/viewtopic.php?p=338432#p338432 18:09 IhrFussel sofar, it would cause more work for server owners who want to implement something important as SSCM ... either the client who disallows that feature needs to disconnect or the server owners puts that much effort into it and copies the code (if possible) into a server side mod 18:10 IhrFussel But that is not the definition of "offload" 18:10 sofar offloading isn't the goal of csm 18:11 sofar it's a benefit, the goal is always better game experience 18:11 IhrFussel Huh? It was one of the major goals 18:11 Krock sofar: I think offloading is a very handy thing for CSM 18:11 sofar I'm not saying it isn't handy 18:11 Krock or at least "smoothing" the game 18:12 sofar I'm just saying the goal is better game experience, and offloading is a tool/path to some of it 18:12 Krock indeed 18:13 Peppy so, 0.5 will be out in months with SSCM, then server owners will struggle to have their mods running, then "hey, still anybody there ?" 18:13 sofar hehe, peppy is in a doom mood 18:13 sofar (palindrome) 18:13 IhrFussel Even if we don't talk about offloading...imagine a server relies HEAVILY on SSCM particles and now a client refuses to use that feature ... the server would need to execute the particles server side for that one client which is a rather absurd idea IMO 18:14 sofar it's not going to happen 18:14 Krock Peppy: it's the chicken and egg problem 18:14 Peppy i'd rather like being more positive :/ 18:14 sofar no server owner would agree to sending thousands of individual rain drops to each client 18:14 Krock "who's going to switch first" 18:15 sofar if the client refuses, oh well, he doesn't get the experience and his game play may be significantly hindered 18:15 Krock I don't think Android allows a dual-installation or Minetest, right? 18:15 sofar end of story 18:15 Krock s/of/of 18:15 Krock s/or/of/ 18:16 garywhite Krock: Nope, Android would consider the second installation as an update to the first 18:16 IhrFussel I'm sure there are things that cannot be simply dropped for "inferior experience" ... I said earlier MT is not a website where you can just disable optional JS and over 90% of them still work fine 18:16 sofar just disconnect the player 18:16 IhrFussel SSCM will be part of a game logic which requires every tid bit to run correctly 18:17 sofar "client disconnected: no SSCM ping received in 30 seconds" 18:17 sofar one CM mod, 5 lines of code 18:17 sofar I'll write it for you, too 18:18 Peppy being unable to install both Android versions of minetest sounds like a big concern to me 18:18 IhrFussel Yes but what I really hope for is a flag that tells the server if all/some/none flags are enabled from the client...so that server owners can drop those right away 18:18 Peppy some servers won't ever upgrade 18:19 garywhite Peppy: I think the only way would be to change the package name, and even then idk if it'd work 18:19 IhrFussel Or another idea -> local flags = player:get_client_flags() if flags.feature1 and flags.feature3 then --run end 18:19 Peppy "minetest legacy" 18:19 sofar IhrFussel: that's why I think it's bogus to begin with to add those 3 extra flags 18:19 sofar imho we shouldn't ever do that. 18:20 sofar the server owners will just change the code to mark everything required 18:20 sofar or kick players who don't enable optional stuff 18:20 sofar end result is that it's meaningless to even set those flags 18:21 sofar it's like saying, we won't arrest people for X anymore. But we just wrote a new law banning X 18:21 sofar don't do that :) 18:22 sofar there's something to be said for warning players before they connect, of course, unless every server uses sscm, at that point it no longer matters 18:23 IhrFussel I guess nerzhul doesn't plan to add a way to tell server owners that only "some" flags are enabled and to the server it just looks like "SSCM enabled" 18:23 Peppy Survey : who will first be killed by upgrade , server owners or players ? :D 18:24 sofar i think I've made my point, there's too many ways around it anyway 18:24 sofar you could potentially sandbox all sscm on the client and let it not affect anything in your game 18:25 sofar everything a stub 18:25 sofar except for server-client comms 18:25 IhrFussel Latest when the server expects the client to change some values or send something and gets no answer it will know that the feature is not enabled 18:25 IhrFussel Unless you also add "dummy" code that lies to the servers 18:28 sofar end result: flagging is mostly meaningless, don't even bother 19:23 Fixer Krock: how? 19:23 Fixer Krock: how you know it was kilbith? Also, he is banned? 19:23 Fixer Krock: or what was the problem? 19:23 Krock Fixer: see GitHub link. They also left a while ago 19:23 Krock returned now :D 19:23 Fixer Krock: they? 19:24 Krock he. 19:24 Krock using "they" when I'm not sure 20:02 nerzhul IhrFussel i think the best idea is suggested by Ezhh: restriction levels client side, as a contract between client & server, like the DNT in firefox, i think it's a good idea, client set a restriction level, and mods sent from server can enable some parts only if restrictions are sufficiently opened 20:02 nerzhul required, optional and maybe a 3rd level 20:02 nerzhul and as i said i want to work on mod transfer on a 5.1 because it can be a long time story 20:03 nerzhul because there is not only mod transport, but also verification, restrictions, verifications etcd... 20:12 VanessaE nerzhul: only if you overengineer it.... 20:55 rubenwardy what specific features would clients want to disable? 20:55 rubenwardy particles seems to be more of a graphics thing to me 21:06 nerzhul block chain ? :D 21:09 Fixer blockchain is dead 21:21 sofar nerzhul: there's no reason to not use the client media protocol to relay signed csms. Just before loading it in lua, you would validate the embedded signature. All that's needed is to modify e.g. https://github.com/minetest/minetest/blob/b298b0339c79db7f5b3873e73ff9ea0130f05a8a/src/server/mods.cpp#L106 to include "csm" and allow ".lua" as extensions 21:22 sofar my bet is that the code really just needs a few tweaks and you could already start transmitting and caching csms sent in no time 21:23 sofar retrieving from the cache and loading in lua is probably slightly more complex