Minetest logo

IRC log for #minetest-dev, 2017-01-28

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:44 STHGOM joined #minetest-dev
01:22 STHGOM joined #minetest-dev
01:26 octacian joined #minetest-dev
01:26 octacian joined #minetest-dev
01:38 octacian_ joined #minetest-dev
01:50 octacian joined #minetest-dev
01:53 STHGOM joined #minetest-dev
02:30 Zeno` label removed
03:11 proller joined #minetest-dev
03:28 proller joined #minetest-dev
03:30 proller joined #minetest-dev
03:37 ssieb joined #minetest-dev
06:18 kaeza joined #minetest-dev
06:47 lumidify joined #minetest-dev
07:04 Hunterz joined #minetest-dev
07:14 nrzkt joined #minetest-dev
07:26 nrzkt hi all
07:49 OldCoder nrzkt, hi back
08:37 lisac joined #minetest-dev
09:06 Player_2 joined #minetest-dev
09:33 YuGiOhJCJ joined #minetest-dev
09:36 Thomas-S joined #minetest-dev
09:42 Krock joined #minetest-dev
09:42 Krock joined #minetest-dev
09:52 fwhcat joined #minetest-dev
09:56 Zeno` merging #5115 shortly
09:56 ShadowBot https://github.com/minetest/minetest/issues/5115 -- Plantlike: Fix visual_scale being applied squared by paramat
09:56 Zeno` it might cause minor problems, but as sofar said we're early in the release cycle
09:59 * Krock waits for it to upload his newest binary
10:00 Zeno` Krock, I'll give it 10 minutes wait
10:07 Zeno` Krock, ok
10:08 Krock may the linking begin!
10:31 troller joined #minetest-dev
10:51 proller joined #minetest-dev
10:54 red-001 joined #minetest-dev
10:55 red-001 joined #minetest-dev
10:55 red-001 joined #minetest-dev
11:12 fwhcat joined #minetest-dev
11:25 YuGiOhJCJ joined #minetest-dev
11:32 DFeniks joined #minetest-dev
11:51 Fixer joined #minetest-dev
13:02 lisac_ joined #minetest-dev
13:19 DFeniks_ joined #minetest-dev
13:26 red-001 !seen davisonio
13:26 ShadowBot red-001: I saw davisonio in #minetest-dev 19 weeks, 6 days, 22 hours, 32 minutes, and 13 seconds ago saying "Perhaps it can be solved by setting a maximum limit of 14 in the light source definition"
13:27 DFeniks joined #minetest-dev
14:27 QwertyDragon joined #minetest-dev
14:30 troller joined #minetest-dev
14:37 xerox123 joined #minetest-dev
14:40 sapier joined #minetest-dev
14:49 OldCoder joined #minetest-dev
14:51 nrzkt joined #minetest-dev
14:56 sapier I'm gonna rebase and merge #5085 in a view minutes so last chance for objections
14:56 ShadowBot https://github.com/minetest/minetest/issues/5085 -- Make entity on_punch same signature and behaviour as player on_punch by sapier
15:01 sapier https://github.com/minetest/minetest/pull/5045 nerzhul, sfan5 numberZero are there open issues? blocking this pull request?
15:01 sfan5 it's only missing approvals
15:02 nrzkt except the code style issue no problem for me
15:02 sapier which code style issue is left?
15:02 nrzkt sapier, we need you on 5100
15:03 nrzkt it should be fixed and merged in CSM branche asap
15:03 sapier Ahh I see :-) I'm gonna fix
15:04 proller__ joined #minetest-dev
15:05 sapier nrzkt what exactly on 5100?
15:06 nrzkt your points about security
15:06 Icedream joined #minetest-dev
15:08 sapier yes? did someone check or fix them? I don't see a answer there or a change? (maybe I'm blind I sometimes get confused by githubs style of updating)
15:08 OldCoder sapier, Hi.
15:08 sapier hello oldcoder
15:09 sapier nrzkt shall I really change L1670 in tile cpp? while I agree that's not coding style it's done this way everywhere in this file
15:09 nrzkt i don't know exactly what block this PR
15:09 nrzkt sapier, our coding rules indicate if you modify a line with wrong style, please fix the style
15:10 sapier me too 5100 is a improvement for sure and as long as csm ain't in master I see no reason for not merging improvements to that branch
15:10 sapier that's what the branch is for
15:10 nrzkt but do you see issue on security on this PR or is this sufficient ?
15:11 red-001 well as far as I can see mods only have access to other mods
15:11 sapier ok I'm gonna follow the coding style even I believe this is one of the cases where "follow to the text of the rules" is contrary to the intention of the rules ;-)
15:11 red-001 readonly access
15:11 red-001 but I haven't tested it
15:11 nrzkt red-001, can you rebase your two CSM PR we need to merge them asap
15:12 red-001 nrzkt, I reabsed 5100
15:12 red-001 ok I will rebase the other one then
15:13 red-001 I will rebase the other one as soon as smart git finnishs updating
15:15 sapier by the way what's result of the file access discussion for what I see there's two opinions "allow (limited) file access" and "no file access at all"
15:16 red-001 I think it's allow special api for file access
15:17 sapier so "no direct file access" ?
15:17 nrzkt sapier, i think have a virtual FS could be nice
15:17 red-001 that way we can stop mods from wasting disk space
15:17 nrzkt mod://<file> in a mod only virtual fs and shared:// for sharing between mods
15:17 sapier that's what I meant with "no direct file access"
15:17 red-001 e.g. generating 1gb files
15:17 nrzkt and yes, maybe limit size
15:17 sapier btw that would be helpfull on server too
15:17 red-001 ^
15:18 sapier I recently discovered there's still no minetest way to store world specific data is it?
15:18 red-001 are local mods suppose to say or just serve as a test?
15:18 sapier the only way is store some file to world folder ... of course that's simple too
15:18 red-001 stay not say
15:18 Krock well, mods can write their config stuff to the world
15:19 sapier well Krock there's not only config data to be stored to world
15:19 red-001 I think there should be a version of the player storage for worlds
15:19 Krock yes I know. all other data is serialized in some way
15:20 sapier e.g. mobf stores advanced spawning data to avoid recalculating it over and over again, quest_engine stores player quest information ... i think there are plenty of other examples where worldspecific gamedata need to be saved
15:20 red-001 then after a release or two direct access could be blocked
15:21 nrzkt since recent merce you have a way to store player extra attributes, it solve the behaviour for players (ex: player achievement progress, or quest progress)
15:21 sapier I believe I had some sort of minetest.world_settings_set() pull request years ago ... not sure if I can find it ... well I guess it'd not be a lot of work to reimplement it anyway
15:21 OldCoder Shara, I'd like to proceed with a text console PR. PM me when here.
15:22 Shara I'm here, but was  hoping on working on it myself.
15:22 Shara Feel free to PM.
15:22 Shara OldCoder: ^
15:22 sapier hmm player attributes ... true would solve the player relevant part ... I'll check and use it. But wouldn't help for orher parts like spawning data
15:22 juhdanad joined #minetest-dev
15:23 red-001 nrzkt, I think we need to add player name to on_chat_message_recive callback
15:23 sapier is there any limitation to the amount of data stored as attribute?
15:24 red-001 the point at which the player file stops loading normaly>
15:24 red-001 *?
15:24 sapier I read that as "logicaly no, technicaly of course"
15:24 nrzkt red-001, of course but its impossible with current chat protocol, it send a raw shit :)
15:25 kaeza wasn't there some pull request adding SQLite access to Lua?
15:25 nrzkt i need to finish #5117 to permit this
15:25 ShadowBot https://github.com/minetest/minetest/issues/5117 -- Chat protocol rewrite by nerzhul
15:25 nrzkt kaeza, atm no
15:25 kaeza spawning data could use that
15:25 kaeza nrzkt, :/
15:25 sapier I remember that too kaeza there was something similar quite some time ago
15:26 red-001 nrzkt, isn't there some could that separates out the playername?
15:26 red-001 nrzkt, isn't there some code* that separates out the playername?
15:26 nrzkt red-001, absolutely not, and i'm against adding shitty parser to solve the current chat protocol problems
15:27 sapier me too fix it correct or don't fix it at all
15:27 red-001 just saying that minetest is alreadying using one so it could be reused for messages that use the old protocol
15:27 sapier if it was using something like that we should get rid of it instead of increasing that hacks usage ;-)
15:28 red-001 well it even has a comment saying that
15:30 sapier does "dismiss review" on github mean "yes I fixed it" or "no I don't accept that comment"?
15:30 red-001 I have no idea
15:31 red-001 try it?
15:31 sapier that's somehow strange do they believe comments are always valid or why don't they provide a simple accept/deny  mechanism
15:31 sapier well I don't want to offend my reviewers by unintentionally using wrong button ;-)
15:31 Zeno` <OldCoder> Shara, I'd like to proceed with a text console PR. PM me when here.
15:32 Zeno` OldCoder, please let Shara have an attempt first?
15:32 kaeza it's probably for "this comment is no longer valid" a.k.a. "commenter is full of sh¡t" :P
15:33 Zeno` he did all the hard(ish) work by asking if it might be accepted after all
15:34 Zeno` s/he/Shara
15:36 sapier I'm gonna merge #4983 soon
15:36 red-001 nrzkt, there is a typo in the name of 22516eee29126179194e693b89ab8ba20597af3e
15:36 ShadowBot https://github.com/minetest/minetest/issues/4983 -- from_table: Fix crash for missing inventory or field by SmallJoker
15:37 red-001 on_damage_taken is misspelled
15:38 sapier merging now
16:02 Fixer sapier: that entity fix, people in boats/carts can be finally attacked?
16:03 red-001 so can 5100 be merged?
16:04 red-001 nrzkt, sapier ^
16:06 sapier red-001 to clientscripting branch? of course, but it doesn't mean security is complete
16:06 sapier fixer I don't know what issue prevented ppl to be attacked in boats, carts
16:07 sapier but I don't believe this fixes the issue on it's own, at best it makes it possible to be fixed
16:07 Fixer sapier: there was some deep reason, it was discussed somewhere, still not fixed to this day, you can go in cart and you are immune
16:08 sapier I don't know but If you're able to get a list of attached entities from the cart damage handler you could just pass the damage to the attached player
16:09 sapier but that would have to be done by cart/boat mod
16:15 blaze joined #minetest-dev
16:22 YuGiOhJCJ joined #minetest-dev
16:23 Amaz Is it a bug or a feature that entities with nametags show up on the minimap like players do?
16:24 nrzkt merged #5100
16:24 ShadowBot https://github.com/minetest/minetest/issues/5100 -- [CSM] Improve security by red-001
16:24 lumidify joined #minetest-dev
16:24 sapier Amaz it's a feature
16:24 OldCoder Zeno`, I'd already made the patch, months ago. But Shara and I have chatted about the matter.
16:25 Amaz sapier: Okay :)
16:25 Zeno` ok
16:26 nrzkt red-001, are you interested about the VFS issue for CSM ?
16:26 nrzkt oh #5113 needs rebase
16:26 ShadowBot https://github.com/minetest/minetest/issues/5113 -- [CSM] Add function to get the name of the player and functions to colour chat. by red-001
16:28 crazyR Who maintains the servers list?
16:28 lumidify joined #minetest-dev
16:28 nrzkt crazyR, serverlist server itself or servers in the list ?
16:28 nrzkt the list is published by servers themselves
16:31 crazyR nrzkt: serverlist server
16:31 nrzkt sfan5, if i remember
16:39 crazyR thanks
16:41 red-001 VFS?
16:41 red-001 oh virtual filesystem?
16:42 nrzkt red-001, hmm i'm working on it atm in fact :)
16:42 nrzkt red-001, if you want to help maybe adding core.get_node function permit to do nice things client side :)
16:45 red-001 so how are you planning to make vfs work?
16:45 nrzkt removal of all io method if it's not done in your PR and first add core.write_file and core.read_file, after enhance it to sandbox per mod
16:46 red-001 oh I see, I was thinking of something more high level
16:47 nrzkt explain me what is your idea ?
16:47 nrzkt and also limit file size per mod
16:47 nrzkt per file first and per mod after
16:48 red-001 I was thinking of a database-like system to which mods can save data
16:48 red-001 so core.store("mymod:player_data", table_with_data)
16:49 nrzkt hmm... using a sqlite db instead of pure files ?
16:49 red-001 and core.load("mymod:player_data")
16:49 sapier what about something similar to settings minetest.get_settings("somevirtualfilename")
16:49 nrzkt the problem with sqlite db is the db size, you cannot really limit it
16:49 sapier and then mysettings:set_(name,value) and mysettings:get(name)
16:49 red-001 well my idea was that it could be first implemented with files, and then maybe a more advance system
16:50 crazyR https://github.com/ethic-rush/database  <-- thats my lua implementaion of it
16:50 red-001 so take a hash of the name and use that as the file name
16:50 crazyR its not the best but it works
16:51 nrzkt red-001, in a file mode, is this better to have one file per mod with a K/V store using json ?
16:52 sapier crazyR: problem is this relies on io beeing available which we want to remove
16:52 red-001 well I would say one file, make it easier to check file size
16:52 nrzkt red-001, without doubt :)
16:52 red-001 also we want to make sure that servers can't bypass the file size limit by creating lots of mods
16:53 sapier imho the api should not provide any information about how the data is stored
16:53 nrzkt red-001, we should have global limitation & local mod limitation
16:53 sapier this way we can improve it whenever we want
16:53 red-001 ^
16:54 sapier just provide a clean api to store key value (as first step)
16:54 crazyR sapier: i understand. i was referancing that mod as an idea to maybe how the methods could work... structure wise?
16:54 nrzkt sapier, okay, as a json format ?
16:54 nrzkt 1 file per mod ?
16:54 red-001 I say so
16:54 crazyR so is there a reason why leveldb cant be used as the storage mechansm?
16:54 red-001 well one file per user account would be better in someways
16:55 sapier nrzkt: no don't say anything about the format data is stored
16:55 nrzkt crazyR, leveldb is not a good storage for relational data
16:55 red-001 how unique is the playername salt?
16:55 crazyR i know. but its gotta be better than file
16:55 nrzkt sapier, i didn't said i will call it write_json, but i want to know how i store the data really for the first version :p
16:56 red-001 ehh I meant how unique is the salt used for hashing the password
16:56 sapier for simplicity just store it in lua text form same as settings file?
16:56 red-001 maybe that could be used as the filename
16:56 red-001 or a hash of the playername and salt
16:57 sapier we should not create hundreds of files containing 10 bytes ;-)
16:57 nrzkt sapier, i will use CPP as an intermediate, i can like player extended attributes do a json with lua string data in values :)
16:58 nrzkt red-001, like in World Of Warcraft we should have two storages areas: 1 global & 1 per server
16:58 sapier I don't understand why you convert lua string data to json just to convert it back to lua but you'll have your reasons
16:58 nrzkt this permit to store global configurations & local server things
16:58 nrzkt sapier, it's a K/V interface
16:58 sapier what about just creating a second sqlite/leveldb (whatever db backend is selected) and store the date in world folder
16:58 sapier jason ain't a key value interface
16:59 sapier it's a plain description how to store information
16:59 nrzkt not exactly but can be used for taht :)
16:59 crazyR sapier: thats what i was thinking storage wise
16:59 sapier it could be key subkey1 value1 subkey2 value2 too
17:00 sapier most modders will store lua tables within the values anyway
17:00 nrzkt yeah, my idea is  if i do core.save_key('default:var1', lua__variable) it stores it in a json or a DB
17:00 nrzkt sapier, not a problem, look at player exnteded attributes
17:00 sapier noone wil manage hundreds of keys when it's more easy to just load the table
17:00 red-001 ^
17:01 nrzkt sapier, you mean instead of permitting multiple keys a mod store raw variable directly ?
17:01 sapier well as I said I don't care how the data is stored (unless it's bloated by factor 1000 or something like that ;-)
17:01 nrzkt and it's its problem to manage keys ?
17:01 sapier no I'd not make a limitation on number of keys
17:01 red-001 well we should allow a mod to use multiple keys
17:02 nrzkt K/V and V = raw lua table
17:02 nrzkt or variable or whatever :p
17:02 sapier e.g. if a mod just needs two parameters it's stupid to force it to write a table ... on the other hand if a mod needs 100 variables anyway it's (most likely) not gonna use 100 keys
17:02 nrzkt if we offer K/V modder can use multiple a key or a unique key with its dirt :)
17:02 nrzkt like modder prefers
17:02 sapier yes
17:03 nrzkt okay then K/V call
17:03 nrzkt after the storage, a DB size is difficult to limit
17:03 sapier and same api can be used on client and server side
17:03 nrzkt sapier, yeah, i write it for CSM but it should be ported to server too
17:04 nrzkt i will create ModApiModStorage class in cpp
17:04 red-001 whats the problem with doing part of the sandboxing in builtin?
17:05 sapier I'd recommend writing it for master as the api most likely will be identical
17:05 red-001 there is no way to undo seting a variable to nil as far as I know
17:05 nrzkt sapier, okay, in fact l_modstorage will be called from both sides, i will cp it and send the PR when ready
17:06 nrzkt sapier, setting to limit data size per mod and globally ?
17:06 red-001 wouldn't ModApiStorage be a better name?
17:06 nrzkt red-001, ofc
17:06 sapier red-001: if there's any leak within our sandbox you can escape it way more easy if the code is part of the sandbox then if it's not even loaded
17:07 sapier hmm I'd start with global at the beginning unless it's no big difference in work to implement it for both
17:07 red-001 but doesn't mod security do  just that?
17:07 red-001 remove access to functions
17:07 red-001 not remove them
17:08 sapier yes but security was initially done for server where security had to be added to existing environment
17:09 sapier there it had to preserve some (unwanted) functionallity which has been present before. On client side we have the opportunity to do it as correct as possible right from the begining
17:10 sapier it's a pitty chrome has gotten that fast compared to firefox
17:12 red-001 why is setlocale a problem?
17:12 juhdanad nrkzt: is there anything I should change in #4421?
17:12 ShadowBot https://github.com/minetest/minetest/issues/4421 -- Expose getPointedThing() as Raycast by juhdanad
17:13 sapier because locale is used for string/number conversions causing sideefects hard to judge
17:14 sapier and as long as there's no use for it it just spares us from doing that judgement disallowing it
17:14 red-001 well builtin uses it
17:14 red-001 not sure what for
17:14 sapier for what?
17:14 red-001 os.setlocale("C", "numeric")
17:14 sapier ohh I see ... yeah I guess it's even been me who added it
17:15 sapier formspecs string to number conversions
17:16 red-001 so is it ok to just set it to nil in lua it that case?
17:16 sapier juhdanad: isn't there a better name instead of "raycast" ? I know this is tecnicaly correct but I guess noone using it will ever care about if it's done by ray by woodstick or by anything else ;-)
17:16 juhdanad Do you have any ideas?
17:16 sapier red-001: I think so
17:17 sapier maybe something like get_pointed_at(...)
17:17 juhdanad And what would be the name of the returned iterator?
17:18 sapier or get_target() ... well target might be a little bit to generic
17:18 nrzkt how can we get modname after load ? at mod load lua_rawgeti(L, LUA_REGISTRYINDEX, CUSTOM_RIDX_CURRENT_MOD_NAME); return it, but after it's nil
17:19 sapier nrzkt: that's difficult
17:19 sapier especially if mods use functions of other mods (library mods) it's almost impossible
17:19 nrzkt sapier, then how can i sandbox a mod from another mod in our storage ? :)
17:19 sapier maybe ShadowNinja knows a way to do it
17:19 red-001 nrzkt, is mod sandboxing needed?
17:20 red-001 I think we should just use the same system as formspecs for this
17:21 nrzkt maybe not, but in client it's important to have different storages, to prevent rogue mod modifying other mods
17:21 red-001 if mod wants to access data from another mod it should be able to
17:21 nrzkt access data why not, but storage no
17:21 nrzkt each mod should have its own storage
17:21 sapier juhdanad: hmm difficult to find a name for it
17:21 juhdanad It is mathematically a ray.
17:21 juhdanad And I like mathematics!
17:22 sapier As I said it is correct but it's not "speaking" for non-math ppl ;-)
17:23 sapier btw noone else did mention this by now maybe it's something only I am uncomfortable with in this case don't bother about it
17:25 sapier nrzkt: on client side distinguishing between server sent mods and manually installed mods is way more important
17:25 sapier imho server side sent mods shall not be able to store any persistent data on client
17:26 juhdanad Do you mean that users will be able to play on servers with their own set of additional client mods?
17:26 sapier juhdanad: yes, but those mods will only be able to change ui things
17:27 juhdanad I just thouhkt it would be easy to publish a 'killaura' mod.
17:27 nrzkt sapier, i agree, but server side sent mods is not my priority for first CSM
17:27 sapier and there's some way to go till this is merged juhdanad
17:27 nrzkt having a working local mod API and strong API , after we will look at server sent mods
17:28 juhdanad Off-topic: how do I measure the memory consumption of mapblock meshes?
17:28 sapier nrzkt: well security is most important for server sent ones. For others it's same as for current mods the one installing it has a certain responsibility for them.
17:30 sapier but as we don't want two mod engines on client side we have to get the one we want done correct
17:31 lisac_ joined #minetest-dev
17:33 sapier juhdanad: isn't the raycast something like a shootingpath?
17:33 juhdanad Yes, it is. (but unaffected of wind, Coriolis force etc.)
17:34 sapier well if you use a railgun those effects are ignorable ;-)
17:34 sapier maybe call it shoot_at() and shootingpath
17:35 sapier any other opinions about that?
17:35 juhdanad I think modders would think that this method actually places a projectile in the environment.
17:35 sapier I don't wanna be the only one doing suggestions
17:35 sapier get_shootingpath_to()
17:35 sapier ?
17:36 sapier but to be honest my name suggestions usually aren't best ;-)
17:37 juhdanad Well, it is better. (but to be honest I don't really want to push more commits to that branch)
17:37 sapier Yes but there are already some nice features noone uses because of name beeing missleading I just want to save your feature from same fate
17:38 nrzkt sapier, red-001 it's a little draft #5131
17:38 ShadowBot https://github.com/minetest/minetest/issues/5131 -- Add ModStorage Lua API by nerzhul
17:38 nrzkt atm no storage as i don't know how to retrieve mod name (the mentioned call return nil)
17:38 juhdanad The problem is that line_of_sitht is already reserved.
17:38 juhdanad *sight
17:39 sapier I'd mention the data being world specific too nrzkt
17:40 sapier juhdanad: yes but you could add a param to it for example defining the mechanism to be used
17:40 rubenwardy joined #minetest-dev
17:40 sapier similar to pathfinding there you can/could specify the pathfinding mechanism
17:42 numZero joined #minetest-dev
17:42 juhdanad that would make line_of_sight really tricky. With one parameter it returns a bool and a vector; with another it returns an iterator.
17:43 sapier true not best idea
17:44 juhdanad sapier: "there are already some nice features" what are these?
17:44 sapier let me have a look at lua api i never can remember their names
17:45 sapier texture modifier is an example noone used it (if someone would have the bugs would've been reported)
17:46 nrzkt sapier, yes it's an evidence :)
17:46 nrzkt world private
17:46 numZero_ joined #minetest-dev
17:47 sapier damage and digging mechanisms for sure are used by a very very small group of ppl too ... it's exremely hard to understand
17:47 sapier imho it's overdesigned to many things put together instead of creating a more speaking while little bit more redundant api
17:48 sapier not sure but i believe voxelmanip isn't used that often too (but I could be wrong about that)
17:49 sapier juhdanad: what about path_of_sight?
17:52 sapier or viewpath?
17:55 red-001 yeah VM is pretty hard to understand
17:56 sapier btw not relate does someone know how to tell chrome to do a dns lookup prior sending content of address box to search engine?
17:57 red-001 I'm not sure if it does a dns lookup
17:58 sapier of course noone does care about privacy today but imho it's plain stupid to replace a proven mechanism like dns by something unpredictable like a search engine
17:58 red-001 I think it just checks it the address could be a site
17:58 juhdanad sapier: path_of_sight is good enough. But are you really sure that 'raycast' is misleading?
17:59 sapier juhdanad: it's not misleading it's just non speaking to a lot of ppl
17:59 sapier for others it's gonna tell precisely what is done but I believe first ones are majority ;-)
18:00 juhdanad What about "nodes_on_line"?
18:01 sapier yes would be better than raycast to
18:01 sapier too
18:01 juhdanad It tells that it returns an iterator.
18:01 sapier yes that name would tell me what it does too
18:02 juhdanad Unfortunately it does not tell that entities may also be returned.
18:02 juhdanad Maybe objects_on_line()
18:03 sapier thought about that too but term objects is already used for luaentity and player baseclass
18:05 sapier the function does only provide nodes/objects within the bounding box of pos1/pos2?
18:05 juhdanad Yes, why?
18:05 sapier so it basically provides everything the line does cross
18:06 juhdanad Only if you ask.
18:06 sapier yes but it could (if you call the iterator to the end)
18:06 juhdanad If you stop the iteration after the first pointed thing, the remaining area is not computed.
18:06 sapier line_crosses()
18:06 sapier or get_line_crosses()
18:06 juhdanad This would return a bool to me.
18:07 juhdanad What about Then the only remaining option is things_on_line()
18:07 sapier get_crossed_by_line
18:07 juhdanad Sorry... things_on_line.
18:07 sapier "things"? :-)
18:07 juhdanad After all, you get pointed_things
18:08 sapier hmm true we already use the (non speaking) term "thing"
18:08 juhdanad And everybody knows the word "thing", not like "raycast".
18:08 sapier ok why not thing is generic and already used
18:09 juhdanad Minetest's sets: thing=(node+object=(entity+player))
18:14 juhdanad sapier: I asked it on the PR's thread.
18:15 red-001 !seen paramat
18:15 ShadowBot red-001: I saw paramat in #minetest-dev 20 hours, 22 minutes, and 15 seconds ago saying "indeed index calculation doesn't check bounds or out-of-volume"
18:27 Gael-de-Sailly joined #minetest-dev
18:34 lisac_ joined #minetest-dev
19:01 DFeniks joined #minetest-dev
19:02 red-001 nrzkt, could you make ModStorage userdata like the player object?
19:03 red-001 then you could use rubenwardy's suggestion
19:03 red-001 minetest.get_mod_storage() will just return the userdata/object
19:06 juhdanad Could you help me? I would like to make a mesh buffer that has a reference to its material. This would require copying and modifying CMeshBuffer.h from Irrlicht. How do I do that legally?
19:16 nrzkt red-001, it's not as simple as player object, if i need to do that i need to instanciate a new object, but it's an interesting thing
19:16 red-001 I though the player object did that?
19:17 red-001 ever player object refers to a diffrent player?
19:17 red-001 every*
19:19 red-001 how do I only rebase one commit?
19:19 juhdanad cherry pick it.
19:19 Human_G33k joined #minetest-dev
19:19 sapier juhdanad: do not modify irrlicht code ;-)
19:19 juhdanad Why not?
19:20 sapier because you'll never get it merged
19:20 sapier minetest does not include irrlicht thus any changes to their code are useless ;)
19:20 juhdanad Every mapblock uses the same grass material, yet each mapblock has its own instance...
19:21 juhdanad No wonder that mapblock meshes consume a lot of memory...
19:21 sapier you can change this as long as you modify minetest files only but it's no use to change irrlicht itself
19:22 juhdanad Yes, I wanted to do that. But thi will be mostly Irrlicht code, I just make the material member apointer.
19:23 sapier what exactly do you mean with "irrlicht code" most ppl don't compile irrlicht themselfs but just use the distribution version thus those changes would not be there for them
19:23 juhdanad That I copy-paste unchanged methods into Minetest's code.
19:24 red-001 wow why did I do that before....
19:24 juhdanad It is inevitable, since the only way to remove a member from a class is to re-define it.
19:24 sapier uarg ... I know this is already done sometimes but that's worst thing you can do
19:24 red-001 that was so much easier
19:24 sapier it's gonna break whenever irrlicht changes it's internal structures
19:25 sapier of course it'd be even more easy to include irrlicht but it's still worst solution
19:25 red-001 rebased #5113
19:25 ShadowBot https://github.com/minetest/minetest/issues/5113 -- [CSM] Add function to get the name of the player and functions to colour chat. by red-001
19:25 juhdanad Well, I'll try anyways...
19:27 sapier I strongly encourage you to find a way not to copy code ;-)
19:31 lumidify joined #minetest-dev
19:32 nore sapier: well we did that already for colored chat I remember
19:32 nore and yes, it was ugly
19:32 nore so, if you have another solution, please find one
19:32 nore but if there is no other way, be aware it has already been done
19:33 nore copying an irrlicht class and hacking its own code
19:33 sapier I know it's been done multiple time but doing bad things multiple times doesn't make them better
19:33 nore (and due to Irrlicht compiled without rtti, it was even more awful)
19:33 nore sapier: yes, of course
19:34 sapier the more we copy the more we risk incompatibility to new code and it depends what type of code you copy gui code for example is way more separated then rendering code (usually)
19:37 rubenwardy juhdanad, iirc Irrlicht is MIT
19:37 rubenwardy so should be fine
19:37 sapier it's zlib but that's fine too
19:40 juhdanad I don't want to break anything! I just create a new class that derives from IMeshBuffer.
19:41 sapier just be carefull ;-)
19:43 juhdanad How can I measure the memory usage of the meshes?
19:44 Fixer vram usage?
19:44 juhdanad No, RAM usage.
19:48 Miner_48er joined #minetest-dev
20:09 red-001 nrzkt #5113
20:09 ShadowBot https://github.com/minetest/minetest/issues/5113 -- [CSM] Add function to get the name of the player and functions to colour chat. by red-001
20:10 red-001 you can remove the rebase need tag
20:19 red-001 so should I make a PR to remove the io library so the security is finished?
20:20 sapier well finished is a big word but it'd ne another step towards it
20:21 rubenwardy there's also dofile etc
20:21 red-001 well thats not possible
20:21 rubenwardy VFS
20:21 red-001 well I guess
20:21 rubenwardy worth leaving that for later though
20:21 rubenwardy removing io is much easier
20:24 red-001 I think it should wait for server to client code transfer
20:26 nrzkt i also think server to client should not appear too fast
20:26 nrzkt in fact not with 5088
20:26 nrzkt first have a working CSM purely client side, with a mod store
20:26 sapier true we should add that feature after client side scripting has prooven to be save
20:27 nrzkt improve API client side, adding features from client, interaction with local Hud
20:28 sapier still if we don't add it within reasonable time ppl will abuse mechanisms present e.g. abuse chat for sending code
20:28 red-001 true
20:29 nrzkt sapier, hmmm yeah it could be a wrong thing, but chat should not permit to execute code directly
20:29 red-001 nrzkt, someone could make a mod to do that
20:29 sapier well imho that's nothing to be discussed about but an absilute requirement
20:30 juhdanad joined #minetest-dev
20:30 sapier yet you can always encode code in something pure text and decode it by a special mod
20:30 nrzkt yeah, but without cleint mod you will have a very ugly user experience, and it's against the server owner
20:30 nrzkt then very risky for server owner to do it, as he can break his user's experience
20:30 sapier you just have to write a simple client mod receiving and decoding chat
20:31 sapier user won't even notice
20:31 sapier client side mod sits in between chat handler and can hide the code communicatio
20:31 sapier n
20:32 nrzkt yeah, but without the mod, message will not be ate and shown to user's chat
20:33 nrzkt then bad user experience, and this restraint the server owner's to do shit a little bit :p
20:33 nrzkt but i agree we should think about it
20:33 sapier yes so mod will fitst send a message "hey i'm installed at user x's client" and only those clients get the code messages
20:34 sapier if done correct noone will see this unless looking at network traffic
20:34 red-001 sapier, mods can't send chat
20:34 sapier can they show formspecs?
20:34 nrzkt CSM doesn't permit chat message sending, especially to prevent bots and flooding
20:34 rubenwardy to be useful, CSM need to be able to send info to server. And vise-versa
20:35 nrzkt rubenwardy, yeah, but not chat, chat is for human, not bots
20:35 sapier @rubenwardy not in first step
20:35 nrzkt i prefer mod channels to discuss between mod users
20:35 nrzkt and server acts as a bridge between mod users
20:36 sapier I don't even think communication as of in game communication would really provide what csm is supposed to do
20:36 sapier it'd suffer of same issues current minetest suffers LAG ;-)
20:36 sapier csm should be able to do things without talking to server
20:36 nrzkt sapier, with mod channel communication, you don't need server modding, just retransmit messages to subscribers, it's a pure C++ and lightweight usage
20:37 nrzkt example of usage, minimap player detection shared between players
20:37 sapier a very very very dangerous feature
20:37 sapier direct connection between scriptable client engines
20:37 nrzkt it's used un world of warcraft massively
20:38 red-001 sapier, why is client <-> server communication bad?
20:38 nrzkt you should only limit the message size and maybe words too
20:38 red-001 or do you mean client <-> client?
20:38 sapier red-001 it's not bad but I don't see the benefit for client <-> server (in game) communication it's still limited by lag
20:38 sapier bad is client <--> client
20:39 nrzkt not bad, it permit to share some informations between clients, but should be very very limited
20:39 sapier nrzkt: you can't
20:39 nrzkt imagine a calendar formspec, shared between mod owners
20:39 sapier do this in server
20:39 nrzkt it's not mandatory server side
20:40 sapier never allow a client to send any data to another client
20:40 sapier not even tunnled through server
20:40 nrzkt sofar, maybe you have more informations to give to us about that
20:40 sapier problem is if there's any bug in the sandbox any malicious client can attack the other client
20:40 nrzkt sapier, the client <-> client channeling feature is not mandatory for CSM release, we don't need it at first
20:40 sapier if you do not allow this you just have to fix the server to prevent it
20:41 sapier I know but client <--> client communication was suggested and imho we should strongly discourage anyone who wants to do this
20:42 sapier it's dangerous you open up a direct attack vector to our sandbox for a unknown number of clients
20:43 nrzkt i need to re-study blizzard API for this, there are soem things to learn on implementation, and, i repeat, at CSM start it's absolutely not required
20:43 nrzkt we only want to manipulate client from client
20:43 nrzkt itself
20:43 sapier yes that's first step
20:44 sapier first step no server <-> client communication and for sure no client <-> client communication (talking about lua engines only)
20:48 sofar it's optional imho
20:49 sofar I don't see the dangers per se
20:49 sapier define "it"? ;-)
20:49 sofar client-client messaging
20:49 sapier well sofar think about some buggy mod which could be exploitet to execute arbitrary code
20:50 TheReaperKing joined #minetest-dev
20:50 sapier if you have client client communication every connected client could do this
20:50 sofar can always happen irregardless
20:50 sofar if a server can send data to a client you can get that
20:50 rubenwardy I don't see the use of c<->
20:50 rubenwardy c
20:50 sapier yes but it's a difference user can decide to connect to a server
20:50 sofar for instance, in WOW specifically
20:50 sapier but user cannot decide whom other is connected to the server
20:50 sofar it allows loot sharing information between clients directly
20:51 sapier and server does not have any chance to protect it's clients
20:51 sapier wow is different
20:51 sofar doesn't matter
20:51 sofar client A has a mod which logs all received loot
20:51 sapier those guys do have a valid testing AND even more important they do have update mechanisms in place
20:51 nrzkt sapier, it's not different, wow also permit to write to disk and also uses lua
20:51 sofar client B requests the data from client A
20:51 sofar client A sends the loot to client B
20:52 sofar (it all goes through the server anyway, even in wow)
20:52 sapier as I said they are different the "solved" or at least reduced the impact by controling the code on client side
20:52 red-001 does WoW have issues with rec?
20:52 sofar pipe dream, anyone can edit their client to add more client mods
20:53 sapier well I don't know what wow does "through server" isn't same as "through server"
20:53 sapier there's a major difference if server just relays data or controls content of data
20:53 nrzkt sapier, you can cheat on wow by modifying memory to unlock blizzard lua and it works
20:54 sapier yes you can and if you do and get cought your account will be closed and your money is lost (not sure how big chances are)
20:54 sapier well what's worst to happen on minetest server?
20:54 nrzkt sapier, i did it at a moment 4 years ago, no problem
20:54 nrzkt it depend on what you are doing
20:54 rubenwardy you would get "banned" and return the next day with a different username and ip
20:55 sapier exactly yet there's nothing minetest server owners could do nor would there be any risk for criminals to be cought
20:55 sapier both things are usually present for wow
20:55 nrzkt sapier, and cheating Lua API is ofter used by many top guilds ...
20:55 sofar client-to-client bitcoin transerv
20:55 sofar client-to-client bitcoin transfer*
20:55 nrzkt sofar, client to client bitcoin mining :p
20:56 sapier see there's a  major difference if you're blizzard with a lot of lawyers testers and things like that or if you're a small minetest server owner
20:56 red-001 sapier, WoW is a way bigger target
20:56 sapier of course wow is a more valuable target but a way more risky one too
20:57 sapier on the other hand minetest has exactly zero risk while providing a little benefit
20:57 nrzkt say that to chinese cheaters and gold farmers :p
20:57 sapier especially as it's open source too so bugs are readable
20:57 nrzkt it's why we should have a strong API when it will come
20:58 sapier I'll never understand why ppl got used that much to running unverified unknown code but obviously big companies managed to make ppl accept it
20:59 sapier you can call me pessimistic but I believe we'll never have a sandbox hard enough to be capable of surviving direkt attack
21:03 red-001 dunno I think it's different with lua
21:08 Human_G33k joined #minetest-dev
21:38 Warr1024 joined #minetest-dev
21:47 red-001 #5133
21:47 ShadowBot https://github.com/minetest/minetest/issues/5133 -- [CSM] Block access to the `io` library by red-001
22:04 proller__ joined #minetest-dev
22:04 numZero_ joined #minetest-dev
22:06 red-001 could someone review it?
22:10 proller joined #minetest-dev
22:16 red-001 !tell nrzkt could you review #5133
22:16 ShadowBot red-001: O.K.
22:27 xerox123 joined #minetest-dev
22:31 Warr1024 joined #minetest-dev
22:35 lordfingle joined #minetest-dev
22:38 ShadowNinja New threading fix: #5134 (sfan5?)  What do you think about the alternative solution?  It would be a bit more complicated but it may be faster when not building with C++11.
22:38 ShadowBot https://github.com/minetest/minetest/issues/5134 -- Fix synchronization issue at thread start by ShadowNinja
22:39 paramat joined #minetest-dev
22:46 ShadowNinja Oh, there's also another tiny thing I noticed: The AIX conditional block seemed te be broken (people play Minetest on AIX?  I guess not since nobody noticed.).
22:47 red-001 AIX?
22:49 ShadowNinja ~g AIX
22:49 ShadowBot ShadowNinja: IBM AIX, UNIX for IBM Power Systems - IBM AIX Power Systems operating system- Offers the highest level of performance, security and reliability of any UNIX operating system. </l/?kh=-1&uddg=http%3A%2F%2Fwww.ibm.com%2Fsystems%2Fpower%2Fsoftware%2Faix%2F>, IBM AIX - Wikipedia - AIX (Advanced Interactive eXecutive, pronounced / ˌ eɪ aɪ ˈ ɛ k s /) is a series of proprietary Unix (5 more messages)
22:49 sapier ?
22:50 sapier maybe we should create a c64 port ;-)
22:50 sfan5 ShadowNinja: i'm guessing the threading impl. was initially copied from somewhere with aix support
22:53 ShadowNinja Probably not. kwolekr added that code, but he based his rewrite on my rewrite.  That's a minor issue though.  Fine if I go ahead and merge that little commit now (Maybe we'll remove all the esoteric OS support code later).
23:02 sapier1 joined #minetest-dev
23:05 torgdor joined #minetest-dev
23:05 Warr1024 joined #minetest-dev
23:16 xerox123 joined #minetest-dev
23:28 Warr1024 joined #minetest-dev
23:29 paramat #5109 simple PR well tested
23:29 ShadowBot https://github.com/minetest/minetest/issues/5109 -- OpenAL sound: Use a simpler distance model by paramat
23:36 Warr1024_ joined #minetest-dev
23:38 DI3HARD139 joined #minetest-dev

| Channels | #minetest-dev index | Today | | Google Search | Plaintext