Time Nick Message 03:53 sofar ok so, I've been fighting a b3d model and unable to get a second material (texture) to show up in-game 03:54 sofar but the material is present in blender, and I'm darn sure it is 03:54 sofar so how do I go about instrumenting minetest to tell me how many materials it finds? 03:55 sofar because damming there's 2 materials in my blender model and it's showing exacly as it should with 2 textures in blender, and not in minetest 03:55 sofar and when I flip the order of the textures array in the model properties it uses the other texture 03:55 sofar for both materials :() 03:55 sofar I've got a lot of hair 03:56 sofar and I'm at the point of pulling it all out 03:56 sofar (I've never had issues doing multiple texture files (tiles) in .obj models) 03:57 sofar as a matter of fact, if I export as obj it works, and I see both textures used correctly 03:58 paramat no idea, sorry =/ 04:04 sofar OH GEESH 04:05 sofar if I "force saving material if no uses" in blender it works 04:05 sofar all that time lost sleep last night :/ 04:05 sofar welp, at least I can proceed to the next part now 04:06 paramat good. btw Jordach is good with blender if you get stuck https://forum.minetest.net/viewtopic.php?f=17&t=6114 04:06 sofar it was either him or stu, but neither around lol 04:47 DustMote` VanessaE might know 04:47 DustMote` she did quite a bit of blender stuff for minetest IIRC 04:47 DustMote` anyway, solved for now 05:12 sofar forcing export of the material did it 09:32 nrzkt sfan5, DustMote` sofar ShadowNinja can you review #5081 it's a bugfix for #4067 09:32 ShadowBot https://github.com/minetest/minetest/issues/5081 -- Do not force deletion of players when mapblock is full by nerzhul 09:32 ShadowBot https://github.com/minetest/minetest/issues/4067 -- Canceling: No player for peer_id when too many objects on the map 09:32 sapier wow those bugs are still present? 09:32 nrzkt yes sapier :p 09:33 nrzkt the fix is fairly trivial i think i only need another coredev review, but force_delete is only wrote when we trigger the error :) 09:33 sapier I remember discussing about them about (felt) 4-5 years ago ... not sure if it's only been 3 but thatd be more then enough too 09:36 nrzkt sapier, are you okay with this trivial patch ? 09:40 sapier I just approved #5081 should there be a commit in #4067? 09:40 ShadowBot https://github.com/minetest/minetest/issues/5081 -- Do not force deletion of players when mapblock is full by nerzhul 09:40 ShadowBot https://github.com/minetest/minetest/issues/4067 -- Canceling: No player for peer_id when too many objects on the map 09:40 nrzkt the 5081 only fixes 4067 09:40 nrzkt i mentioned the concerned issue :) 09:41 nrzkt merged thanks 09:41 sapier oh I see this is generic not for clearobjects call only 09:41 sapier well even better then I tought 09:47 cheapie I was *just complaining* about that bug. Glad to hear it's finally being fixed :P 09:47 sapier yea true less then a decade and already fixed you're quite happy ;-) 09:47 nrzkt cheapie, in fact fix was easy, just need to have an issue and take 5 mins to look at the code :p 09:48 cheapie That bug has been around for about 2 years now. I'll see if I can get VanessaE to update her servers. 09:50 sapier it's at least 3 years cheapie 09:50 cheapie Might have been. 09:50 cheapie s/about/at least/, I guess. 09:51 sapier I remember that bug beeing there when I did the initial network protocol cleanup and it's been there before as I already saw it when I started mobf ... first files (I still have dates in) are from 2012 09:52 nrzkt sapier, hmmm in fact the fix is not right.... we trigger the warning, let me change this 09:54 * VanessaE stands by to update her servers 09:54 sapier well I did assume it to still cause some warning as we're over object limit for that bug 09:55 nrzkt sapier, #5082 is a little enhanced version, what do you think about it ? 09:55 ShadowBot https://github.com/minetest/minetest/issues/5082 -- Warning fix for 2ea60156437962d7d29d20606bf5d9189059f76b by nerzhul 09:56 * cheapie waves to VanessaE 09:56 VanessaE hi 10:01 sapier hmm not sure if this is good actually this code does ignore the setting if for some stupid reason 10000 players are in same block a block could contain 10000 objects. are we sure those would be loaded on block load? 10:03 sapier what about first storing all player objects and then fill the block with others? 10:04 nrzkt players are not loaded at block load, it's not a problem 10:05 sapier so why do we save them in this case? 10:05 nrzkt the main problem is not players, it's we remove players from game when there are many other objects 10:05 nrzkt this function cleanup the mapblock, not regarding object type 10:06 nrzkt brb, feel free to comment, the fix is in master, this is just an enhanced version 10:07 sapier I see the code already is little bit hard to read and should be refactored ... but that's not a result of this fix 10:24 * VanessaE continues to wait for a cue to update... 10:27 sapier for what I understood the update is already pushed to master VanessaE 10:27 Zeno` the sound of silence 10:27 Zeno` hi sapier. it's been a while! 10:27 Zeno` welcome back 10:27 VanessaE sapier: see above 10:28 VanessaE [01-21 04:55] -ShadowBot/#minetest-dev- https://github.com/minetest/minetest/issues/5082 -- Warning fix for 2ea60156437962d7d29d20606bf5d9189059f76b by nerzhul 10:28 VanessaE do I need to wait for that? 10:28 Zeno` it can be merged now 10:28 Zeno` doing so. Any objections? 10:29 sapier no just merge, I doubt anyone will refactor the code soon ;-) 10:29 Zeno` ok 10:29 Zeno` done 10:31 VanessaE ok, updated and put into service. 10:33 Zeno` has anyone reported any further 0,0,0 issues? 10:33 Zeno` (well, big lags on login) 10:33 VanessaE I haven't heard. 10:33 Zeno` hmm 10:34 Zeno` I joined a .15 server today and it took 4 minutes to login properly 10:34 Zeno` after that no lag whatsoever 10:34 Zeno` I'll keep an eye on it 10:36 VanessaE well VE-C seems to work anyway. 10:36 Zeno` yep 10:36 Zeno` this particular seems ok normally as well 10:36 Zeno` it may be a VPS issue 10:36 Zeno` hard to tell :/ 10:47 sfan5 Zeno`: the (0,0,0) bug is only fixed if mods cooperate in fixing it 10:48 sfan5 it's still possible to get the 0,0,0 bug on .15 if you use outdated mods 10:52 Zeno` sfan5, ah. Thanks! 10:52 Zeno` that makes sense 10:53 red-001 could someone confirm it's impossible to get minetest to generate a "guest" nickname in 0.4.15 ? 10:54 red-001 the code is still there but it's broken 12:00 juhdanad I have an idea for translucency sort, could you consider that if you have time, please? #5083 12:00 ShadowBot https://github.com/minetest/minetest/issues/5083 -- Transclucency sort idea 12:56 red-001 looks like #5078 might need a controversial label 12:56 ShadowBot https://github.com/minetest/minetest/issues/5078 -- Remove guest nicknames by red-001 13:14 nrzkt thanks Zeno` 13:15 VanessaE red-001: +100000000000 13:18 nrzkt red-001, i added the label and a comment for Krock & est31 13:26 red-001 looks like generating guest nicknames has been broken for some time 13:26 red-001 aleast since 0.4.14-dev 13:43 nrzkt Zeno`, sfan5 can you review trivial #5084 ? It's a response to #4790 13:43 ShadowBot https://github.com/minetest/minetest/issues/5084 -- New setting: enable_statusline_on_connection by nerzhul 13:43 ShadowBot https://github.com/minetest/minetest/issues/4790 -- Let mods suppress or modify the initial message sent by server on player join. 13:57 red-001 updated #5077 13:57 ShadowBot https://github.com/minetest/minetest/issues/5077 -- Detach the player from entities on death. by red-001 15:02 sapier #5085 fixes inconsistent signatures of on_punch for player and entities 15:02 ShadowBot https://github.com/minetest/minetest/issues/5085 -- Make entity on_punch same signature and behaviour as player on_punch by sapier 15:09 nrzkt Zeno`, sfan5 sofar can you look at #5077 ? 15:09 ShadowBot https://github.com/minetest/minetest/issues/5077 -- Detach the player from entities on death. by red-001 15:10 sfan5 nrzkt: lgtm 15:12 nrzkt merged 15:12 nrzkt yeah i have a real proper base for client side modding, but i cannot enable mod_security by default 15:12 nrzkt mod_security doesn't permit to load the builtin init 15:15 nrzkt i think if we want to make it happen a day, we should start with a very earlier begin and add callbacks step by step :) 15:18 nrzkt sfan5, sofar Zeno` nore ShadowNinja #5086 is the first step to glory :p (lol) 15:18 ShadowBot https://github.com/minetest/minetest/issues/5086 -- Client side scripting (first step) by nerzhul 15:29 sapier nrzkt you didn't sandbox lua 15:33 sapier means if by some time server sent scripts could be executed within that environment server will have full access to everything the user startding minetest can access 15:34 nrzkt mod_security permit this sandbox, i cannot just enable it atm 15:34 nrzkt because we have some things forbidden by mod_security in builtin 15:34 sapier then this should not be merged till the other issues are fixed 15:34 nrzkt i didn't solved it but it should 15:34 nrzkt atm you cannot load mod, only builtin is active 15:35 nrzkt except if players does shit with its builtin, you are not affected :) 15:35 sapier doesn't matter there will be new features added quite soon and noone will think about enabling that annoying security thingy 15:36 nrzkt sapier, yes it's a nice point 15:36 sapier especially as server sent scripts are one of the main reasons why ppl want client side scripting 15:36 nrzkt i will look at this, don't hesitate to comment, i don't really look at what is blocking with mod_seuciryt atm 15:36 nrzkt i don't want server to send script 15:37 nrzkt i prefer players install mod themselved and servers tell clients or forbid client without required mods 15:37 sapier btw I'm not sure if mod_security is save enough 15:37 sapier it's been designed for securing servers where user has done the decision to install a mod 15:37 sapier a client connection doesn't do that decision 15:38 nrzkt it also forbid many things to client, i looked at the current things it's quite good, maybe we should have a child object for client adding more restrictions 15:39 sapier I didn't have a look at mod security by now but I remember how many dangerous features have been "absolutely necessary" for mod authors when mod security was started about 2-3 years ago 15:39 sapier for example I never ever want server to be able to load arbitrary lua libs on my client 15:40 nrzkt yes i know, there was very dangerous features 15:40 sapier nor do I want server to open a network socket on my client 15:40 sapier or read files or even ram of my machine 15:41 sapier in fact imho client side scripting should only be able to modify in game data nothing else 15:41 sapier that's dangerous enough ;-) 15:42 sapier especially as we cannot prevent a client sending arbitrary data back to server there'll always be a way for malicious code to do so 15:42 nrzkt sapier, yes i agree with you 15:42 nrzkt i added two more callbacks, now i will look at mod_security enabling 15:43 nrzkt yes, mod_security blocks dofile 15:43 nrzkt it was a problem with builtin :p 15:44 nrzkt how mod works for inclusions 15:45 nrzkt dofile too 15:45 nrzkt then mod_security is a little bit too strong, how can i make client side modding work if dofile is forbidden 15:45 sapier didn't it just override the original dofile to allow only certain "save" paths? 15:46 nrzkt sapier, looking for that 15:46 nrzkt ouch 15:46 nrzkt yes 15:46 nrzkt in mainmenu 15:46 nrzkt if line:find("dofile") then 15:46 nrzkt modname = modmgr.parse_dofile_line(modpath,line) 15:46 nrzkt end 15:47 nrzkt oh i see the problem i think 15:48 nrzkt but i don't know how to solve it 15:48 sapier can you explain it to me? 15:48 nrzkt mod_security override dofile, load etc itself, but it seems it's not working with my implementation 15:48 sapier bad 15:49 sapier but I'm sure you'll gonna find out what's wrong 15:49 nrzkt lua_pushcfunction(L, sl_##lib##_##name); \ 15:49 nrzkt lua_setfield(L, -2, #name); 15:50 nrzkt it should work, but i missed something i think 15:50 sapier I'm gonna squash and merge #5041 soon if noone tells about open issues 15:50 ShadowBot https://github.com/minetest/minetest/issues/5041 -- Improved texture modifier handling to be more usefull for mods by sapier 15:51 nrzkt ShadowNinja, help :p 15:51 sapier *smile* Shadow our grand wise old man of lua 15:51 sapier well quite sure "old" ain't true at all but ... 15:52 nrzkt server & client stack are doing same initialization, i just need to find what is wrong with my implementation :p 15:53 sapier I'm quite glad shadow did refactor and improve the lua stuff so much :) 16:03 sapier red-001 you know #5077 adds a legit warning to our build? 16:03 ShadowBot https://github.com/minetest/minetest/issues/5077 -- Detach the player from entities on death. by red-001 16:07 nrzkt oh i found the issue 16:07 nrzkt ... 16:07 nrzkt const Server *server = script->getServer(); 16:07 nrzkt if (!server) return false; 16:07 nrzkt it cannot work on client :p 16:08 sapier partial 16:08 sapier calling this server is missleading 16:08 sapier it'd be better called engine 16:08 red-001 whats the warning? 16:08 nrzkt sapier, i think i will change this to IGameDef permitting to use it properly on both sides, but i hope it won't need casts 16:09 sapier red-001 https://gist.github.com/sapier/bbca8328723006b97d0c16ea42cac578 16:10 red-001 I though NULL was always zero? 16:10 red-001 seemed like a nice way to write it then passing zero 16:10 red-001 nicer* 16:10 sapier well seems like compilers did start to distinguish between 0 and NULL again 16:11 Krock NULL can point to any location that represents an unallocated value 16:11 red-001 I though that was nullptr 16:12 Krock uh.. now I'm not sure anymore 16:12 red-001 and NULL was macro that is set to zero 16:12 red-001 e.g. #define NULL 0 16:13 sapier well no matter NULL is supposed to be a pointer value not a number value 16:13 sapier of course on x86 and c atm this is identical 16:15 Krock srsly, sapier? Please use tabs 16:15 Krock (most recent commit) 16:15 sapier yeah saw it too late fixing it immediatly 16:15 nrzkt we don't use C++11 so nullptr is not possible 16:15 Krock and are you sure +cmd works as expected? 16:16 red-001 an integral constant expression rvalue of integer type that evaluates to zero 16:16 red-001 (until C++11) 16:16 sapier for me it does 16:17 Krock red-001, which definition is that? 16:17 red-001 not sure... 16:17 sapier red-001 it doesn't matter right now this does cause a quite easyly fixable warning so it should be fixed 16:18 sapier NULL or 0 is one of those quasi-religious fights wich never will end 16:19 sapier @krock and this has been the most quick solution of making a char beeing print as number to a c++ stream 16:20 Krock I haven't seen this expression yet, so I wondered if that really works. If it does, then fine :) 16:21 sapier Me too ;-) I was astonished how easy this was, I'd have expected something like std::numeric or similar 16:22 sapier guess it's some sort of trick the + causes a implicit cast to numeric type while not changing the value itself ;-) 16:22 red-001 krock what's your reasoning behind being against #5078 ? 16:22 ShadowBot https://github.com/minetest/minetest/issues/5078 -- Remove guest nicknames by red-001 16:23 red-001 so should I make another PR to change to null to zero? 16:23 sapier I thought guest nicknames are already gone? 16:23 Krock red-001, people have no idea where to get accounts, thus having a suggestion to at least join the game is a good idea 16:23 sapier I don't think you need a pr for a fix that small 16:23 red-001 yes 16:24 red-001 they are already gone, but it's because of a bug 16:25 Krock ooh. Now I see. It's an automatical filled name when none is used 16:27 red-001 nrzkt is your client side scripting pr based on the old one? 16:27 sapier I'd remove it from client too maybe mainmenu could do this too and show a warning if left empty 16:27 nrzkt no 16:27 nrzkt i did it from scratch, can you provide a link ? 16:27 red-001 #4577 16:28 ShadowBot https://github.com/minetest/minetest/issues/4577 -- Client-side mods by duckbrain 16:29 nrzkt i see, his PR is not very good in fact, he has good ideas but copy many useless things from server 16:29 red-001 ^ 16:29 nrzkt for example why mapgen api is loaded client side ? or HTTP api ? 16:29 nrzkt or rollback 16:30 red-001 yeah not sure why myself 16:30 nrzkt my pr is lightweight, provide better interfaces and doesn't rewrite non working mod security :p 16:30 red-001 only parts of the utilities api can be reused 16:30 nrzkt i revert #5077, please fix the last issue 16:30 ShadowBot https://github.com/minetest/minetest/issues/5077 -- Detach the player from entities on death. by red-001 16:30 red-001 ok will do 16:31 pilino1234 @nrzkt @sfan5 @red-001 why was #5077 merged with these issues still present? 16:31 ShadowBot https://github.com/minetest/minetest/issues/5077 -- Detach the player from entities on death. by red-001 16:32 red-001 are those with the pr? 16:32 red-001 I though they were without it 16:33 pilino1234 I meant the issues I wrote on github 16:33 pilino1234 ah, was just reverted 16:33 nrzkt pilino1234, i reverted it, it's a good idea to fix both, yes, PR is quite good, we will re-merge it when it will be good 16:34 red-001 well they didn't happen when I was testing... 16:34 red-001 let me try test it again 16:34 pilino1234 Yes, it's an annoying bug otherwise. But the player is still too attached to the entity after dying 16:34 pilino1234 @red-001 steps to reproduce these issues: 16:34 red-001 huh so you killed the player with lava? 16:34 pilino1234 get in boat, place lava above boat 16:34 pilino1234 yup 16:35 red-001 I used tnt with is server-sided 16:35 nrzkt sapier, yeah now mod security works with client scripting :D 16:35 nrzkt it's good then 16:35 red-001 could be the reason I failed to reproduce the issues 16:35 pilino1234 @red-001 I'll try if tnt works properly. But lava doesn't work right now 16:40 pilino1234 dying by tnt works properly, you're not "connected" with the boat after respawning. But lava death is brok atm 16:41 red-001 ok I will try and fix that 16:41 nrzkt sfan5, Zeno` sapier ShadowNinja nore #5086 is now okay for review, i let the examples to show the current way, i think it should be merged as is permitting more core dev or users to add interesting features to this API 16:41 ShadowBot https://github.com/minetest/minetest/issues/5086 -- Client side scripting (first step) by nerzhul 16:42 red-001 clientsided chat commands could be a good start 16:43 nrzkt red-001, like clearing chat ? yes 16:44 nrzkt this PR is the core preview for API, no mod support ATM, just first step, the PR should not contain everything, permitting multiple persons to work on it 16:44 red-001 I got clientsided chatcommands working with the previous pr so it shoudln't be hard to port over 16:45 red-001 also it might be a good idea to try and reuse the file transfer system from the old pr 16:45 nrzkt atm i prefer not receiving anything from server 16:46 nrzkt but this can be discussed later 16:46 red-001 nrzkt, can you reopen #5077 ? 16:46 ShadowBot https://github.com/minetest/minetest/issues/5077 -- Detach the player from entities on death. by red-001 16:46 red-001 or do I need to make a new pr? 16:47 pilino1234 you need to make a new pr, github doesn't let you push more commits after it was merged 16:50 sfan5 red-001: you can't reopen PRs 17:12 red-001 could someone review #5071? 17:12 ShadowBot https://github.com/minetest/minetest/issues/5071 -- Rename functions in the minetest namespace to be more consistent. by red-001 17:12 sapier nrzkt you'll have some work to do mod security doesn't provide enough security for client side scripting 17:12 nrzkt maybe, but please enhance this in another PR, using mod security by default without problem is first step, fixing mod securit should be done in a separated pr 17:13 nrzkt this permit multiple core devs to work on this implementation together 17:13 sapier I don't agree to this opinion, being able to delete files from client side scripting environment is a no-go 17:14 sapier what about creating a branch on github for working together? 17:15 red-001 isn't that the same as being able to delete files on the server as there is no way to transfer files to the client? 17:16 sapier seems to be red-001 but as client side scripting usually is supposed to be used for running scripts sent from server there's a HUGE difference 17:17 sapier of course right now you'd have to use some tricks to do so but the change to do is minor and then any server does have full access to userdata on client 17:18 sapier I'm writing test code to be run in scriptenv showing critical functions 17:19 nrzkt1 Sapier branch could be a good option but should be used by all devs not only me 17:19 sapier at least everyone adding to clientside scriptapi 17:20 nrzkt1 And users can do pr on this branch. 17:22 nrzkt1 Then when i will be back i will create branch from my pr, are you okay ? 17:23 sapier Yes 17:23 nrzkt1 Maybe you will help to solve issues :). Except security are you okay with current pr ? 17:25 sapier I'd have done it the same way ;) in fact you use the preparations me and shadow did years ago the way they have been intended to be used 17:25 sapier but as I said security has to be added for client side scripting PRIOR merging it to master 17:26 nrzkt1 No problem for me security is very important 17:27 nrzkt1 Can you list issues to fix on current pr ? 17:30 sapier I'm gonna provide a simple testscript to be added as some sort of unit test, but it' s gonna take a while as I have to leave now 17:30 nrzkt1 Nice Idea to make things work 17:31 sapier https://gist.github.com/sapier/f8ebd68f18d29f80dd4743e8b917f705 you can use this preliminary list for starting work if you like 17:32 sapier sorry had to update it 17:33 sapier forgot to create "/tmp/somefile" prior making my test to rename and delete it ;) 17:33 sapier os.exit should not be allowed too ;-) especially as test stops there 17:34 nrzkt1 If I remember os namespace IS forbidden with mod security 17:38 sapier obviously not 17:38 nrzkt1 Erf 17:38 sapier I just ran that lua script from within your client side init.lua script 17:40 sapier we will have to check debug gunctions too especially the "set" functions 17:40 sapier but I'm already late bye 17:43 est31 ... I think I want to retire for a while from minetest development 17:44 est31 I didn't contribute anything meaningful in the past year and don't feel like I wanted to in the close future. 17:45 est31 I've last really played the game equally long ago 17:47 est31 I guess I'll join the pool of nascent devs who show up every few months or so. 17:48 est31 have fun everyone 17:49 sfan5 huh 17:55 nrzkt1 Oh :( 17:58 juhdanad :( 18:06 VanessaE :( 18:06 red-001 so does #5078 need three approvals to be merged or is that not how it works? 18:06 ShadowBot https://github.com/minetest/minetest/issues/5078 -- Remove guest nicknames by red-001 18:07 sfan5 why three 18:07 red-001 ohh did est31 go on hiatus? 18:07 sfan5 and no, +1 and -1 don't just add up 18:07 sfan5 nrzkt1: your branch is in the wrong place btw 18:07 nrzkt which branch sfan5 ? 18:08 sfan5 >nerzhul created branch client_side_modding at minetest/minetest 7 minutes ago 18:08 nrzkt as discussed with sapier this make sense to have it on main repository to work together on this huge feature 18:08 sfan5 okay then 18:08 nrzkt this permit users to know and help us if they want too :) 18:09 nrzkt i hope this can be merged without having all feature, just core required features and next retrieve the classic workflow 18:09 nrzkt i changed enable to send in #5084 18:09 ShadowBot https://github.com/minetest/minetest/issues/5084 -- Add show_statusline_on_connection setting by nerzhul 18:09 nrzkt to show* 18:10 sfan5 i suggest renaming it to show_statusline_on_connect 18:10 nrzkt okay 18:11 nrzkt done 18:11 sfan5 lgtm 18:12 nrzkt sfan5, i created #5088 to follow the branch dev for client side modding 18:12 ShadowBot https://github.com/minetest/minetest/issues/5088 -- Client side scripting/modding by nerzhul 18:12 nrzkt will merge #5084 a little bit later, after build 18:12 ShadowBot https://github.com/minetest/minetest/issues/5084 -- Add show_statusline_on_connect setting by nerzhul 18:30 nrzkt merging now :) 18:32 red-001 so can PR's to client_side_modding be made? 18:32 red-001 or is it just for core devs 18:34 nrzkt red-001, yes it's there for that 18:35 nrzkt but branch can be rebased or force pushed to be sync with master 18:36 juhdanad Does anyone want to test #4986? It only needs one more approval. 18:36 ShadowBot https://github.com/minetest/minetest/issues/4986 -- Hardware node coloring by juhdanad 18:37 red-001 btw I updated #5078 to fix a bug it caused 18:37 ShadowBot https://github.com/minetest/minetest/issues/5078 -- Remove guest nicknames by red-001 19:04 nrzkt red-001, you talked about contributing to client_side_modding, you get ideas ? i think adding callback is first step, and verify every lua call posssible to forbid dangerous 19:06 red-001 well I was planning to add functions to display chat and send chat to other players 19:07 nrzkt1 I don't understand what you mean because WE display chat here but permit override it 19:07 nrzkt1 Adding client side commands could be nice 19:08 red-001 I might try and port my work on chat commands as well 19:08 red-001 also think of moving the death formspec to lua 19:08 red-001 thinking* 19:08 nrzkt1 I think we should re-use same API as server side 19:09 nrzkt1 And formspec override for death can be quite easy, just add a call to set formspec 19:10 nrzkt1 We should also document API asap 19:11 red-001 of course 19:12 nrzkt1 For death, it could be nice to have on_die callback, and do lua formspec for death and permit override it 19:13 red-001 yeah thats what I was thinking 19:26 red-001 is making a queue public seen as bad style? 19:26 rubenwardy what for? 19:26 red-001 minetest code seems to avoid it 19:27 nrzkt1 Yes it is red 001 19:27 rubenwardy I'd personally avoid it 19:27 rubenwardy there should only be one consumer of a queue IMO 19:27 rubenwardy well, excepting workers 19:27 nrzkt1 Attributes in classes should be private or protected 19:27 nrzkt1 Only struct are designed for public membres 19:28 nrzkt1 Membres* 19:28 rubenwardy ummm no 19:28 nrzkt1 Rrrr fuck Android 19:28 rubenwardy structs and classes are exactly the same, except for whether public or private is default 19:29 nrzkt1 Yes for c++ but in good code practices you should have setters and consumers 19:35 red-001 so could I put a the function for pushing to the queue in the header file? 19:35 nrzkt1 What do you want to do ? 19:37 rubenwardy you should. Reduces possiblity of abuse 19:37 nrzkt1 Ofc 19:37 red-001 #5089 19:37 ShadowBot https://github.com/minetest/minetest/issues/5089 -- More chat functions by red-001 19:38 nrzkt1 Please rebase i squashed first commit :) 19:38 red-001 ok 19:39 red-001 was wondering why it was conflicting 19:44 nrzkt !tell sapier in fact os.exit was allowed by mod security whilelist, i'm removing it 19:44 ShadowBot nrzkt: O.K. 19:46 red-001 rebased #5089 19:46 ShadowBot https://github.com/minetest/minetest/issues/5089 -- More chat functions by red-001 19:47 nrzkt thanks red-001 19:48 nrzkt red-001, please respect code side, and don't pass strings as copy, but const ref 19:49 red-001 ok will fix that 19:49 nrzkt red-001, i don't like the message sending from client it's not good, players can send messages to server or use mods to floor servers, or rogue mods can send messages to server without user agreement 19:49 nrzkt write to chat is okay, not sending 19:50 red-001 ok I will remove that part 19:51 red-001 however I think there is a limited set of situation it could be useful for 19:51 red-001 e.g. coloured chat 19:52 nrzkt colour chat hsould be purely client side in fact 19:52 nrzkt but i think we will need a better chatting protocol permitting client side to do real things 19:52 nrzkt i think we can take same chatting modes than World of Warcraft protocol 19:53 nrzkt user_id, msg_type, channel_id, message 19:53 nrzkt msg_type = whisper, announce, normal, channel id for future server side channels (maybe) 19:53 red-001 so for the code style stuff I need only need to change displayChat, right? 19:53 nrzkt rubenwardy noted other indent problems 19:55 nrzkt rubenwardy, sfan5 can you review #5090 it's fairly trivial but fixed a point mentionned by sapier about client side security, but i think this call should also be removed from server 19:55 ShadowBot https://github.com/minetest/minetest/issues/5090 -- ModSecurity: os.exit should not be used by Lua API by nerzhul 19:56 sfan5 sounds good 19:56 nrzkt i let the PR opened some time, please add your labels if you are good :) 20:33 red-001 updated 5089 20:33 red-001 #5089 20:33 ShadowBot https://github.com/minetest/minetest/issues/5089 -- Client Scripting: More chat functions by red-001 20:34 nrzkt1 Better, i will merge i later 21:05 nrzkt merging #5090 21:05 ShadowBot https://github.com/minetest/minetest/issues/5090 -- ModSecurity: os.exit should not be used by Lua API by nerzhul 21:56 red-001 #5091 21:56 ShadowBot https://github.com/minetest/minetest/issues/5091 -- [Client-sided scripting] Don't register functions that don't work. by red-001 21:59 red-001 nrzkt ^ 22:00 nrzkt red-001, yes i didn't removed all ModApiUtil functions, this cleanup is quite good, let me a minute to look at all 22:01 nrzkt okay 22:01 red-001 btw core.log seems to be partially broken 22:01 nrzkt red-001, why ? 22:01 red-001 messages with a log level of deprecated don't show up in the log 22:01 nrzkt mkdir can be kept, mod security check paths 22:02 nrzkt CHECK_SECURE_PATH(L, path, true); 22:02 red-001 I though the client wasn't suppose to have file system access? 22:02 nrzkt get_dir_list cannot i think you can get dir of everything there 22:03 nrzkt red-001, i think we can at a moment write mod files to disk, but okay for not having it atm, we will consider that later 22:03 red-001 so should I re-add mkdir and get_dir_list? 22:04 nrzkt no 22:04 red-001 ok 22:04 nrzkt we will re-add mkdir later, but get_dir_list never, it's not secure a mod can look at every file in file system as it seems 22:11 thePalindrome Honestly, I don't see much use of client-side filesystem access except for mods that have files uploaded to the server 22:11 thePalindrome In my head I'm thinking some form of client suggested radio 22:12 thePalindrome But even something like that stretches the bounds of reason 22:12 thePalindrome Actually, I would appreciate some form of client-side configuration access 22:13 thePalindrome such as keybindings 22:15 nrzkt atm you have access to client settings, i don't know if it's a good idea, why game should have access to settings 22:15 red-001 it could be useful in builtin 22:15 red-001 not sure about mods 22:16 red-001 #5092 22:16 ShadowBot https://github.com/minetest/minetest/issues/5092 -- Add client-sided chat commands by red-001 22:16 thePalindrome Settings in general seems overly broad 22:16 thePalindrome I'm more hoping for a per-mod config 22:17 nore imho, mods shouldn't be allowed any access to filesystem, except for some kind of "choose file" dialog, that would thus be done by the engine without any way for the mods to access it 22:17 thePalindrome So that the client can change the "activate power armor" 22:17 nore (and the mod would have read access to the chosen file in that case) 22:17 thePalindrome For config, I'd say don't even bother with filesystem access 22:17 nore no, not for config 22:17 thePalindrome Oh, like that 22:17 thePalindrome I suppose 22:17 nore for other things, like a if you want to send a file to the server 22:18 nrzkt red-001, for chat commands i thing move the common part to builtin/common/chatcommands could be good to prvent duplicate Lua between client and server 22:18 nore red-001: wrong branch to push to 22:18 nrzkt red-001, yes you propose master :) 22:18 nrzkt please re-open on the right branch (gitlab permit that, not github...) 22:20 thePalindrome Oh yeah, I scoured the bits of documentation I could find, but I can't find a changelog for .15 22:21 thePalindrome So forgive me for asking, but what's been done as far as client-side modding? 22:22 red-001 chat callback, leave callback and display message function 22:22 thePalindrome Ooh 22:23 red-001 currently I'm working on chat command support 22:26 sofar how about client graphical and sound assets? 22:27 sofar if a texture is on the server, does the client also have access to it? 22:27 sofar same for sounds? 22:27 thePalindrome iirc every mod asset is automagically sent to the client on connect 22:28 sofar oh, yeah, that's probably right 22:28 red-001 I think that there should be some sort of virtual filesystem for client sided mods 22:29 red-001 maybe with builtin having access to the real filesystem 22:29 thePalindrome If by 'builtin' you mean the whole privilaged mods system we have 22:29 thePalindrome Unless I'm misunderstanding things 22:30 red-001 I mean the part of minetest thats written in lua 22:30 thePalindrome No wait, I forgot that builtin is actually built in 22:30 * thePalindrome was thinking of default 22:31 red-001 ;) 22:33 nrzkt sofar, it's the early stage you are free to contribute to minetest@client_side_modding 22:33 lisac Hey, this question might be stupid: But would it be possible, using client-side scripting, to write a lua script which sends a message every x seconds? 22:34 lisac and can be ran on any server? 22:34 red-001 no 22:34 red-001 there is no command for send message 22:34 lisac Oh. 22:34 lisac But what commands are there? 22:34 red-001 becuase of the risk of rouge mods 22:34 nrzkt lisac, n, red-001 added it in a PR but i refused to send messages to server from lua client, this make possible to flood servers easily 22:34 lisac nrzkt, That's what I was thinking about. 22:35 lisac Spambots. :P 22:35 nrzkt lisac, => https://github.com/minetest/minetest/pull/5088 22:35 nrzkt here is the PR for client_side_modding branch 22:35 nrzkt i will update changelog when each PR on it will be merged 22:35 lisac I saw that a few seconds ago 22:35 red-001 apart from a few utility commands there is only display_chat 22:35 lisac which is where my client side scripting question came from. 22:38 nrzkt atm mods cannot be loaded, only builtin is designed 22:39 lisac but can't user modify builtin? 22:39 nrzkt please note i will squash commits from same author in the branch if multiple commits are following with the author, to reduce the commit number size and make rebase easier, i will do this sometimes, be careful on branch changes 22:39 lisac does server ever check what client side code the client is running? 22:39 nrzkt he can, like server side 22:39 nrzkt no it's impossible as if client can modify builtin himself he can also change core cpp itself and send a fake lua signature 22:39 lisac Right. But then, he could've written a spambot in C++ before, too. 22:40 lisac right? 22:40 nrzkt client can change minetest GUI too if he wants 22:40 nrzkt lisac, you don't need lua for that, do it in Cpp 22:40 thePalindrome builtin can be modified by anybody with git and make :P 22:40 lisac lol 22:40 nrzkt with 0.4.15 i added chat rate limit server side, just enable it and it's finished 22:40 thePalindrome Sweet 22:40 red-001 correction: anyone with a text editor 22:41 lisac Client can also make himself fly, by editing C++ code. 22:41 lisac almost as if server doesn't do a thing about client moving 22:41 nrzkt i don't know if this will trigger a 0.5, but some things can be nice to change , like playing sounds client side when node dig/place instead of letting server doing this 22:42 thePalindrome ^ 22:42 nrzkt we can keep compat on many things, but some interesting additions needs to change server API and remove play_sound from some builtin parts to let the user play sounds himself, but we will see later 22:42 nrzkt atm just provide mod API, maybe with local formspec possibilities, if possible :) 22:43 thePalindrome Oh yeah, I should finish my ambience mod 22:43 sofar nrzkt: I would like to have some sort of channel messages at one point 22:43 thePalindrome A friend of mine's a composer that loves minetest 22:44 nrzkt sofar, i want to change the TOCLIENT_CHAT_MESSAGE packet to a proper packet which some interesting attributes to handle client side, especially in API/mods, permitting custom colors depending on message types 22:44 sofar nrzkt: not talking about chat messages 22:44 sofar just mod communication channels for data stuff 22:44 nrzkt oh, like in World of Warcraft 22:44 sofar yes 22:44 nrzkt yes it's possible to have this, i have a channel backend in my fork i can port easily 22:45 sofar e.g. sending locations of players around 22:45 lisac My minimap seems strange http://imgur.com/fbh1FvM 22:45 nrzkt sofar, why mods needs that ? server can do it itself 22:45 nrzkt you can also send fake location from your client :p 22:46 sofar not relevant 22:47 sofar all that data would be untrustable anyway 22:47 sofar yes, a server can do everything, but that would just increase the workload 22:47 nrzkt sofar, your example is wrong, sending position is cheap for server, cheaper than receiving meta data and broadcasting to other cliets :p 22:48 sofar it's just an example 22:49 nrzkt in wow you have timers on bosses etc but i don't see any interesting things atm for this, but yes this could be an addition and let modders think about interesting things 22:50 sofar exactly 22:50 nrzkt but first, add more callbacks from client to client side modding :D 22:51 sofar particles, sounds 22:51 nrzkt on_particle_add ? on_sound_play ? 22:51 sofar no 22:51 nrzkt i talk about callbacks :p but yes we should have those features heh 22:51 nrzkt sofar, will you contribute to the branch ? :) 22:51 sofar player movement 22:51 sofar object movement 22:52 sofar damage taken 22:52 sofar health changed 22:52 nrzkt yeah damage/health is in the road it's on the PR 22:52 sofar block dug 22:52 nrzkt https://github.com/minetest/minetest/pull/5088 you are free to edit or add comments to help us to have a roadmap :p 22:52 sofar but also a timer 22:52 sofar need to be able to periodically run code 22:53 nrzkt ofc, those bindings are required 22:55 sofar the client code should be able to read most of the map 22:55 sofar so it can do additional decorations 22:55 nrzkt sofar, do you have an example of decoration ? 22:56 sofar torch smoke particles 22:57 sofar fire smoke particles 22:57 sofar footstep particles 22:57 thePalindrome Particle particles :P 22:57 sofar water bubbles 22:57 thePalindrome ooh 22:57 sofar sand dust stuff 22:58 sofar rock rubble when digging overhead 22:58 nrzkt sofar, year :) 22:58 sofar leaves when digging trees 22:58 sofar this is all easy stuff 22:58 red-001 updated #5092 22:58 ShadowBot https://github.com/minetest/minetest/issues/5092 -- Add client-sided chat commands by red-001 22:58 sofar also, I'd like to have some form of looping node sounds 22:58 sofar e.g. machine nodes that emit a humming sound that just loops 22:59 sofar atmosphere sounds in general 22:59 thePalindrome I feel like machine nodes could use some work 23:00 nrzkt red-001, nice you started to move some core part for chat to builtin heh 23:00 nrzkt red-001, just a comment to fix and it's good to me, sofar can you lok at #5092 it's the startup to client side commands 23:00 ShadowBot https://github.com/minetest/minetest/issues/5092 -- Add client-sided chat commands by red-001 23:03 red-001 done 23:06 nrzkt sfan5, sofar can you review #5092 it's good for me to merge on client side branch 23:06 ShadowBot https://github.com/minetest/minetest/issues/5092 -- Add client-sided chat commands by red-001 23:12 red-001 nrzkt, are you working on formspec? 23:12 nrzkt no 23:13 nrzkt i added #5093 i'm adding more callbacks atm 23:13 ShadowBot https://github.com/minetest/minetest/issues/5093 -- CSM: Add on_death callback by nerzhul 23:13 red-001 ok 23:20 red-001 does NO_MAP_LOCK_REQUIRED actually do anything? 23:21 nrzkt nothing on client 23:21 nrzkt it's just an empty define 23:23 nrzkt red-001, i merged my PR for on_death callback, which adds 2 other callbacks, then you can use on_death callback now, and also i added preview.lua for preview functions to prevent poluting init.lua 23:24 red-001 ok I'm working on adding formspec support 23:25 nrzkt red-001, nice, but warn about a thing: they should not conflict with server formspec, they should have something (maybe a flag) to define which modding area define it 23:25 sofar well, at any point in time the server may push a formspec to the client 23:26 sofar so you shouldn't really interfere in that 23:26 nrzkt ofc 23:26 red-001 what do you mean by not conflict? 23:26 nrzkt example formspec "death" 23:27 nrzkt if server create a formspec "death" it should not override client "death" :) 23:29 red-001 so client handle input into client formspecs and server handles input into server formspecs? 23:30 nrzkt exactly 23:30 nrzkt it's not a simple thing you want to work on, but, each formspec mode (client or server) should interact with its parent, and also formspec names between client & server should not conflict 23:34 nrzkt go to bed, see you, red-001 take your time :) and thanks for contributions 23:34 red-001 good night 23:36 red-001 so I assume client formspecs should take precedence over server ones? 23:37 nrzkt absolutely no, they should not, client formspec is a client formspec and server formspec should be server formspec 23:37 nrzkt red-001, also please rebase #5092 23:37 ShadowBot https://github.com/minetest/minetest/issues/5092 -- Add client-sided chat commands by red-001 23:37 nrzkt the two formspec modes should not know the other 23:41 red-001 done 23:41 sofar hud stuff 23:42 nrzkt sofar, please comment main issue to have a persistent and fiable thing :D 23:42 nrzkt but yes i agree HUD should be modded client side, like inventories :) 23:45 sofar all default HUD items should just be client side 23:47 nrzkt sofar, yes 23:48 nrzkt i cannot remember how they are currently designed but if they are sent by server at connection design it to be client side doesn't work because we will override them each time, except with protocol breakage 23:49 nrzkt red-001, for chat commands... maybe we should use . instead of / for client to distinguish client & server commands, what do you think sofar? 23:50 nrzkt brb gtb :D time to sleep