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 |