Time |
Nick |
Message |
00:36 |
|
lisac joined #minetest-dev |
00:44 |
|
turtleman joined #minetest-dev |
01:00 |
|
twoelk left #minetest-dev |
01:03 |
|
STHGOM joined #minetest-dev |
01:40 |
|
DonBatman joined #minetest-dev |
02:39 |
|
kaeza joined #minetest-dev |
02:59 |
Zeno` |
do c++11 threads work? |
03:00 |
Zeno` |
/home/zeno/minetest/src/threading/thread.cpp:210:17: error: ‘m_thread_handle’ was not declared in this scope |
03:00 |
Zeno` |
but... of course that's not declared if USE_CPP11_THREADS == 1 |
03:01 |
Zeno` |
so all code that uses m_thread_handle obviously doesn't compile |
03:01 |
Zeno` |
hmm |
03:09 |
Zeno` |
how did this end up in the code? |
03:09 |
Zeno` |
it doesn't work! |
03:09 |
* Zeno` |
looks at git history |
03:22 |
Zeno` |
nvm, I just need sleep |
03:22 |
Zeno` |
sfan5 fixed it a while ago |
04:22 |
|
Hunterz joined #minetest-dev |
04:41 |
|
ssieb joined #minetest-dev |
04:54 |
|
Thomas-S joined #minetest-dev |
05:24 |
|
Fritigern joined #minetest-dev |
06:06 |
|
Hunterz joined #minetest-dev |
06:35 |
|
nrzkt joined #minetest-dev |
06:49 |
|
octacian joined #minetest-dev |
06:49 |
|
octacian joined #minetest-dev |
06:50 |
|
Player_2 joined #minetest-dev |
06:57 |
|
lumidify joined #minetest-dev |
07:16 |
|
lumidify joined #minetest-dev |
07:23 |
Zeno` |
I've +1 #4155 |
07:23 |
ShadowBot |
https://github.com/minetest/minetest/issues/4155 -- Implement player attribute backend by nerzhul |
07:24 |
Zeno` |
The code looks good, my basic tests seem to confirm everything works and it's been tested on a live server |
07:40 |
|
torgdor joined #minetest-dev |
07:44 |
nrzkt |
merging #4155 in maximum 4 hours :) |
07:44 |
ShadowBot |
https://github.com/minetest/minetest/issues/4155 -- Implement player attribute backend by nerzhul |
07:48 |
sofar |
do it! |
07:51 |
nore |
\o/ |
07:59 |
nrzkt |
sofar, done as it was requested by the people :p |
08:00 |
red-001 |
wow 4155 was merged??? |
08:01 |
red-001 |
I though it will never happen |
08:01 |
nrzkt |
it seems this devel branch is mor active :) |
08:02 |
red-001 |
ohh it's a version without sqlite |
08:02 |
red-001 |
still awesome |
08:02 |
sofar |
so who's good with textures and stuff? |
08:04 |
nrzkt |
red-001, it's a pure implementation using current tools |
08:04 |
nrzkt |
but sqlite/pg version will come next month i think, i need to backport it |
08:04 |
red-001 |
wow thats great |
08:05 |
nrzkt |
i have a working version since 18 months on my server |
08:05 |
red-001 |
seems like minetest dev is really active right now |
08:05 |
nrzkt |
red-001, can you rebase our CSM PR ? |
08:05 |
nrzkt |
need to go, see you |
08:05 |
red-001 |
well not right now, I need to leave soon |
08:58 |
|
nrzkt joined #minetest-dev |
09:19 |
nrzkt |
Zeno`: there are many code style problems :) |
09:20 |
nrzkt |
but if you are okay with change, good point, just need to fix code style |
09:20 |
Zeno` |
? |
09:20 |
Zeno` |
oh I didn't even look at style. That's for other people :) |
09:22 |
Zeno` |
pity that something like I dunno... Astyle cannot be applied to diffs |
09:22 |
Zeno` |
hehe |
09:22 |
Zeno` |
diffs/patches |
10:28 |
|
juhdanad joined #minetest-dev |
10:45 |
|
Warr1024 joined #minetest-dev |
10:55 |
|
blaze joined #minetest-dev |
10:56 |
juhdanad |
nrkzt: sorry, I don't understand what you wrote there: https://github.com/minetest/minetest/pull/4421#discussion_r98165535 |
10:59 |
|
xerox123 joined #minetest-dev |
11:00 |
|
Darcidride joined #minetest-dev |
11:06 |
juhdanad |
Ah, now I see. |
11:06 |
nrzkt |
you declare class Map; but there is no other Map * pointer usage in this diff for this file, i suspect this is a useless line |
11:06 |
nrzkt |
or misplaced |
11:07 |
juhdanad |
Yes, a rebase mistake. |
11:27 |
juhdanad |
nrkzt: #4421 is done! |
11:27 |
ShadowBot |
https://github.com/minetest/minetest/issues/4421 -- Expose getPointedThing() as Raycast by juhdanad |
11:29 |
|
torgdor joined #minetest-dev |
11:31 |
|
Fixer joined #minetest-dev |
11:35 |
|
YuGiOhJCJ joined #minetest-dev |
11:53 |
|
Icedream joined #minetest-dev |
11:54 |
|
paramat joined #minetest-dev |
11:59 |
|
Warr1024 joined #minetest-dev |
11:59 |
|
proller joined #minetest-dev |
12:11 |
|
Fritigern joined #minetest-dev |
12:36 |
paramat |
moving to 0.5.0 next release is ok with me, mapgenwise we now have multiple mapgens and a new default mapgen, 0.4.0 was roughly the time of starting mgv6 |
12:39 |
VanessaE |
will anything major break by doing so? |
12:48 |
paramat |
only the version number heh |
12:48 |
VanessaE |
then it needs to stay 0.4.x |
12:48 |
VanessaE |
0.5.0 is reserved for something big that breaks stuff |
12:49 |
VanessaE |
(I think it was originally for the idea of a major network code rewrite) |
12:49 |
kaeza |
something big like CSM? |
12:49 |
VanessaE |
CSM? |
12:50 |
kaeza |
client-side modding |
12:50 |
VanessaE |
oh |
12:50 |
VanessaE |
well I don't expect that will break anything :) |
12:50 |
|
nrzkt joined #minetest-dev |
12:51 |
paramat |
the light bug fixes by juhdanad bump mapblock serialisation |
12:52 |
VanessaE |
not broken enough ;) |
12:52 |
kaeza |
it won't break anything, but it will be big |
12:53 |
kaeza |
at least MT never encouraged use of version numbers for identification, so don't think anything will be broken by putting a five in there :P |
12:53 |
Zeno` |
Personally I would like to break things at this stage of the project |
12:53 |
Zeno` |
Not breaking for breaking's sake, but because it seems like some things might need to be broken to progress |
12:53 |
nrzkt |
currently CSM doesn't require any break |
12:53 |
Zeno` |
nrzkt, correct |
12:54 |
kaeza |
(that was the rumor about why there's no Windows 9, BTW :P) |
12:54 |
Zeno` |
But even if it did I am not sure I'd object to it strongly |
12:54 |
nrzkt |
but it will be a very big feature and a major version bump is logical |
12:54 |
nrzkt |
we will try to make the CSM (aka #5088 merge) without breaking change, and it is atm, as it's a purely client side feature, which is a good start to preview API to modders |
12:54 |
ShadowBot |
https://github.com/minetest/minetest/issues/5088 -- Client side scripting/modding by nerzhul |
12:55 |
Zeno` |
looking at the code and the PRs I think that things might need to be broken to make things better in the future |
12:55 |
Zeno` |
I know that it's a big deal, but just putting it off is not a (good) solution |
12:55 |
nrzkt |
Zeno`: red-001 we should finish security to make #5088 mergeable asap to master |
12:55 |
ShadowBot |
https://github.com/minetest/minetest/issues/5088 -- Client side scripting/modding by nerzhul |
12:55 |
nrzkt |
Zeno`: which part of CSM would require a break ? |
12:56 |
VanessaE |
I had no idea client-side modding was nearly ready |
12:56 |
Zeno` |
nrzkt, none that I can say. I am speaking in general |
12:56 |
kaeza |
it is a thing at least |
12:56 |
nrzkt |
VanessaE: in fact i started the branch last week and red-001 participate actively |
12:56 |
VanessaE |
(though looking at the PR description, still has some ways to go :) ) |
12:57 |
Zeno` |
there is a strange thing about CSM |
12:57 |
nrzkt |
the starting up is a very very little kernel, look at https://github.com/minetest/minetest/blob/client_side_modding/doc/client_lua_api.txt |
12:57 |
Zeno` |
even though CSM has never been supported it has been in a way (e.g. mainmenu) |
12:58 |
nrzkt |
mainmenu is a different lua stack as CSM |
12:58 |
Zeno` |
nrzkt, I know. But the idea is the same |
12:58 |
Zeno` |
CSM is something that I would love to see |
12:59 |
nrzkt |
now i need to start teaching my student, will answer a little bit slow for ~30mins |
12:59 |
nrzkt |
yeah Zeno` can you help us in one 5088 point ? especially security (on red-001 PR) |
12:59 |
Zeno` |
I think SN is better qualified to comment on that than I am |
13:00 |
Zeno` |
:) |
13:01 |
Zeno` |
or even nore |
13:01 |
nrzkt |
i think we should change the current I/O behaviour client side to use virtual namespaces |
13:01 |
Zeno` |
I've never really even looked at those parts of the codebase |
13:02 |
Zeno` |
I can review the code of course |
13:02 |
nrzkt |
currently if i remember it stuck to one specific folder, but i think a godot like path could be interesting, for example mod:// for a local mod storage and shared:// for a mod shared storage, what do you think zeno ? |
13:02 |
Zeno` |
but I would not like to make any kind of final decision |
13:02 |
nrzkt |
Zeno`: yeah, maybe you can help us to port some interesting calls ? |
13:02 |
Zeno` |
maybe, yes. I'll look at it |
13:02 |
nrzkt |
for example Minimap handlers |
13:03 |
nrzkt |
adding Lua calls to handle minimap (position, size, mode) |
13:03 |
nrzkt |
it's a static feature atm it could be an interesting HUD modding, changing the form (round, square...) |
13:03 |
nrzkt |
or core.register_on_punchnode |
13:03 |
nrzkt |
i added interesting registers to PR for a good modding startup, for example purely client side on_dig sound |
13:04 |
nrzkt |
we need to port map lua calls for local map, permitting to port easily ambiance mod purely client side |
13:06 |
* Zeno` |
is sleepy |
13:06 |
celeron55 |
read-only versions of the server apis are kind of a trivial design choice |
13:06 |
nrzkt |
for a first preview could be nice, after a second PR adding more things, like server side mod channels as sofar suggested and used by World of Warcraft permitting same mod to discuss with other mod users without involving any server part except message routing |
13:06 |
celeron55 |
and probably make sense |
13:07 |
nrzkt |
celeron55: for map ? yes obbviously client should not modify local map, except for particles but it's not exactly map |
13:07 |
nrzkt |
or maybe texture modding |
13:07 |
nore |
hmmm, I think client *should* be allowed to modify local map |
13:07 |
VanessaE |
so long as the server isn't forced to accept such changes. |
13:07 |
nore |
but it's up to the modders to make something compatible with the server |
13:07 |
Zeno` |
true |
13:08 |
nore |
i.e. like is done currently with node placement prediction, which is purely local |
13:08 |
nore |
and when the client receives map updates from the server, any client-side change is overwritten |
13:09 |
nore |
I guess we eventually want to remove node placement prediction from the engine even and make it a client-side mod |
13:10 |
Zeno` |
is that "safe"? |
13:10 |
nore |
Zeno`: why wouldn't it be? |
13:10 |
Zeno` |
not really sure, which is why I'm asking |
13:11 |
nore |
I mean, we're already doing it with node placement prediction |
13:11 |
|
lisac joined #minetest-dev |
13:11 |
Zeno` |
true |
13:11 |
nore |
so it shouldn't be a problem to allow mods to do it as well |
13:12 |
Zeno` |
without seeing how it works I think I agree |
13:18 |
|
Thomas-S joined #minetest-dev |
13:24 |
|
Taoki joined #minetest-dev |
13:32 |
nrzkt |
nore map prediction is not a very good idea, we risk desync problems |
13:32 |
nrzkt |
and it's not a performance gain server side |
13:33 |
nore |
nrzkt: well, desync problems are modder responsibility |
13:33 |
nrzkt |
nore: map desync problem ? absolutely not |
13:34 |
nore |
and while it's not a performance gain, it will allow the client to feel more responsive |
13:34 |
nrzkt |
and map loading client side is due to other things server side, like the big map lock |
13:34 |
nore |
nrzkt: well, the server will send the block again if it changed |
13:34 |
nore |
if this is not the same as what the client had, then we overwrite it |
13:34 |
nrzkt |
no |
13:35 |
nore |
why? |
13:35 |
nrzkt |
it's not good, as the client needs to send its mapblocsk to ensure they are correct, and server should compare and... it's a performance killer |
13:35 |
nore |
no, the client never sends its mapblocks |
13:35 |
nrzkt |
only texture modifications shloud be added, not terrain block changes or prediction, it's not the problem in our map loading |
13:35 |
nore |
what I said was that if ever the server sends the block again and the client hasn't the same, well, the server is right |
13:36 |
nore |
and if map sync wasn't correct then some mod was responsible |
13:36 |
nrzkt |
then what do you want to predict if server always send the mapblock? |
13:36 |
nore |
what I mean is something like node placement prediction |
13:37 |
nrzkt |
and how server know the mapblock isn't good to send it to client if client doesn't sent it ? |
13:37 |
nrzkt |
we already have that |
13:37 |
nore |
the client already makes changes to its local map to predict the placement of a node |
13:37 |
nrzkt |
node & dig prediction |
13:37 |
nore |
except that we'd like to have it moddable and improved |
13:37 |
nore |
it would be easy if client mods can modify local map |
13:37 |
nrzkt |
why mod node placement ? for a client side world edit ? |
13:37 |
nore |
and it would work the same as client prediction |
13:38 |
nrzkt |
i would see a client side map paint like in MC with world edit, terraforming using paintbrush client side |
13:38 |
nore |
well, look at nodes that have non-trivial on_place functions, such as an on_place = minetest.rotate, or nodes such as beds |
13:38 |
nrzkt |
it's |
13:39 |
nore |
if you place a bed, it places a second node (ok, not anymore, now it's meshes) |
13:39 |
nore |
but anyway, things like that aren't predicted by the node placement prediction code |
13:39 |
nrzkt |
for the node rotation it's a little bit more compliacated, but a local mod can override that to predict the correct rotation |
13:39 |
nrzkt |
if it's you want |
13:39 |
nore |
if it was moddable, it would be easy to predict the placement of such nodes |
13:39 |
nore |
yes, that's it |
13:39 |
nrzkt |
okay i understand |
13:39 |
nore |
so, we give access to the local map to mods |
13:40 |
nrzkt |
nore: for starting we need RO access to map |
13:40 |
nrzkt |
especially to know what node is under player and points at |
13:40 |
nore |
but they have *absolutely no idea* of what will happen to changes they make, because they could be overwritten any time |
13:40 |
nore |
^ of course |
13:41 |
Zeno` |
I agree with nore |
13:41 |
nrzkt |
nore: have you get time to help us working on 5088 ? especially for the map getters ? |
13:41 |
Zeno` |
there are some problems I can foresee but I don't think they're impossible to overcome |
13:43 |
nore |
nrzkt: I will see if I can find some time to work on it, but I'm not sure to be able to do that for now |
13:46 |
nrzkt |
no problem, take your time, 0.4.15 was released 1 month ago we have some time to work on it |
13:46 |
paramat |
#1531 are devs ok with me making bush leaves leafdecay? |
13:46 |
ShadowBot |
https://github.com/minetest/minetest/issues/1531 -- Be Able to Load Mods Without Restart |
13:46 |
paramat |
game#1531 |
13:46 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/1531 -- Bush leaves don't decay when removing the stem |
14:15 |
|
nrzkt_ joined #minetest-dev |
14:16 |
nrzkt |
kilbith hm |
14:16 |
nrzkt |
ooops |
14:20 |
|
lisac joined #minetest-dev |
14:29 |
|
Hunterz joined #minetest-dev |
14:43 |
|
lisac_ joined #minetest-dev |
15:03 |
|
octacian joined #minetest-dev |
15:03 |
|
octacian joined #minetest-dev |
15:09 |
|
nrzkt joined #minetest-dev |
15:13 |
|
octacian_ joined #minetest-dev |
15:14 |
|
octacian joined #minetest-dev |
15:26 |
octacian |
Do I have to do anything special to modify tab_mods.lua in mainmenu? I've tried doing several things, but in the end, when I do ./bin/minetest, nothing had changed |
15:56 |
|
rubenwardy joined #minetest-dev |
15:56 |
rubenwardy |
octacian, it's just a normal lua file |
15:56 |
octacian |
rubenwardy: problem was, I had forgotten to specify DRUN_IN_PLACE |
15:56 |
rubenwardy |
maybe you're editing in the wrong place? It may be running from /usr/local/share/minetest |
15:57 |
octacian |
I had to reinstall everything after HDD failure, and again, had forgotten to do DRUN_IN_PLACE |
16:05 |
|
proller joined #minetest-dev |
16:35 |
|
paramat joined #minetest-dev |
16:37 |
sofar |
Re: node placement prediction discussion - |
16:37 |
sofar |
I agree we should allow mods to modify the node placement prediction |
16:38 |
sofar |
but that's not the same as allowing the client to modify the map |
16:38 |
sofar |
it's one thing to tell the client "I predict node X goes there now" |
16:38 |
sofar |
since we know the server will be updating it soon |
16:38 |
sofar |
it's another thing to allow a mod to just put a node somewhere |
16:39 |
paramat |
#5115 any comments? |
16:39 |
ShadowBot |
https://github.com/minetest/minetest/issues/5115 -- Plantlike: Fix visual_scale being applied squared by paramat |
16:41 |
nore |
^ that's exactly what I meant by giving map access to the client: it's the mod responsibility to only modify things that will soon be updated by the server |
16:41 |
|
STHGOM joined #minetest-dev |
16:42 |
sofar |
but node placement prediction is a specific event |
16:42 |
sofar |
we can pass that on to client side mods |
16:42 |
sofar |
allowing node placement at any time in the client doesn't have any valid use as far as I can think of |
16:43 |
nore |
yes, probably |
16:43 |
sofar |
(besides, a good node placement prediction client side callback is really needed and possible) |
16:43 |
sofar |
on_node_placement(pos, node, placer, pointed_thing) |
16:43 |
sofar |
on_node_dig(pos, node, digger, pointed_thing) |
16:43 |
sofar |
those are all callbacks we should have client side |
16:44 |
sofar |
even allowing `pos` to be modified |
16:44 |
sofar |
or returning some complex return value |
16:44 |
sofar |
but if that is implemented well, I don't think you ever need set_node() |
16:45 |
paramat |
thanks |
17:01 |
|
Void7 joined #minetest-dev |
17:06 |
paramat |
i'll merge 5115 later tonight if no objections |
17:22 |
|
nrzkt joined #minetest-dev |
17:27 |
nrzkt |
sofar: it was exactly what i said, but maybe i should talk to nore in french as we are two frenchies :D |
17:27 |
nrzkt |
thanks sofar for making clarifications. |
17:30 |
|
Hunterz joined #minetest-dev |
17:36 |
red-001 |
#5115 |
17:36 |
ShadowBot |
https://github.com/minetest/minetest/issues/5115 -- Plantlike: Fix visual_scale being applied squared by paramat |
17:46 |
|
fwhcat joined #minetest-dev |
17:48 |
paramat |
game#1532 sorry i didn't do this when i added bushes |
17:48 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/1532 -- Bushes: Add leafdecay to bush leaves by paramat |
17:49 |
sofar |
I'm not sure we should |
17:50 |
sofar |
It's not like it's hard to clean up |
17:51 |
paramat |
i don't feel strongly about it |
17:52 |
paramat |
i was watching a lets play where they assumed there would be leafdecay, dug the stems for wood and left the leaves |
18:04 |
|
Krock joined #minetest-dev |
18:04 |
|
Krock joined #minetest-dev |
18:06 |
|
ssieb joined #minetest-dev |
18:06 |
|
fwhcat joined #minetest-dev |
18:22 |
crazyR |
can anyone tell me if any paticular port needs to be available in order for a server to update the serverlist? ethicrush is not showing |
18:28 |
|
Human_G33k joined #minetest-dev |
18:33 |
sfan5 |
crazyR: http port 80 (tcp) outgoing, nothing unusual |
18:34 |
crazyR |
just pinged it from the server and its reaching fine.. Is there any other reason why it wouldnt list a server? |
18:52 |
|
proller joined #minetest-dev |
19:00 |
|
YuGiOhJCJ joined #minetest-dev |
19:00 |
red-001 |
nrzkt, rebased #5100 |
19:00 |
ShadowBot |
https://github.com/minetest/minetest/issues/5100 -- [CSM] Improve security by red-001 |
19:01 |
red-001 |
looks like mods are only able to access files in the /clientmods directory |
19:01 |
|
proller joined #minetest-dev |
19:05 |
|
tenplus1 joined #minetest-dev |
19:05 |
tenplus1 |
hi folks, it seems latest daily build doesnt put dug items into inventory |
19:05 |
tenplus1 |
do we have problems ?? |
19:06 |
paramat |
creative mode? |
19:06 |
tenplus1 |
nope, normal... creative is off |
19:06 |
tenplus1 |
tried picking up sand and other nodes and nothing goes into inventory at all |
19:06 |
tenplus1 |
only today's build... yesterdays was ok |
19:06 |
tenplus1 |
no mods running |
19:08 |
paramat |
https://github.com/minetest/minetest_game/commit/bee5b316a86abba55ddb3bf97eab3cb9fb5803b5 ? |
19:09 |
paramat |
"-- Don't pick up if the item is already in the inventory" |
19:09 |
tenplus1 |
for creative... but... creative isnt on/active |
19:09 |
paramat |
that's all i can think of |
19:09 |
tenplus1 |
can only be, it interfers with items being added... |
19:09 |
paramat |
yeah, but maybe a bug is triggering that |
19:11 |
paramat |
you could test by using the creative mod from before that commit |
19:11 |
|
STHGOM_ joined #minetest-dev |
19:11 |
tenplus1 |
testing |
19:12 |
tenplus1 |
yup, that's the problem... |
19:12 |
thatgraemeguy |
oh I just noticed this |
19:12 |
tenplus1 |
it messes with pickup |
19:14 |
paramat |
bug confirmed |
19:14 |
paramat |
when creative is off |
19:14 |
tenplus1 |
*phew* thx dude |
19:15 |
paramat |
rubenwardy! |
19:15 |
paramat |
can you post an issue? |
19:15 |
tenplus1 |
kk |
19:17 |
tenplus1 |
https://github.com/minetest/minetest_game/issues/1533 |
19:18 |
paramat |
thanks |
19:25 |
|
proller joined #minetest-dev |
19:36 |
|
est31 joined #minetest-dev |
19:42 |
|
rubenwardy joined #minetest-dev |
19:47 |
|
torgdor joined #minetest-dev |
19:49 |
rubenwardy |
pushing small fix in 5 mins... https://github.com/rubenwardy/minetest_game/commit/b06368adf2c5e5d00fa2e34fb914e6bc67dc82cf |
19:49 |
rubenwardy |
paramat ^ |
19:49 |
rubenwardy |
misread the code |
19:50 |
paramat |
looking |
19:50 |
tenplus1 |
sweet, I was just about to add a pull also :PPP |
19:50 |
paramat |
well anyway +1 |
19:50 |
tenplus1 |
:pPpP |
19:50 |
rubenwardy |
ok, merging now... |
19:50 |
paramat |
i'm assuming you know what you're doing |
19:51 |
tenplus1 |
works fine :P |
19:51 |
tenplus1 |
thanks ruben |
19:57 |
tenplus1 |
the original handle_node_drops was inside of the IF check for creative... why was it ever put outside ? |
19:57 |
paramat |
i was wondering that |
19:58 |
tenplus1 |
I see the point if 'creative' priv was re-added and players could use it for that... |
19:58 |
paramat |
i don't understand the original pull at all |
20:00 |
paramat |
handle node drops seems to call itself |
20:01 |
tenplus1 |
will that affect performance ? |
20:02 |
paramat |
register on place node now returns creative mode bool, doesn't seem to make sense |
20:04 |
paramat |
rubenwardy shouldn't this code be inside the if statement as before? |
20:07 |
paramat |
handle node drops should only be over-riden in creative mode? |
20:07 |
|
Human_G33k joined #minetest-dev |
20:08 |
paramat |
oh i see it's to enable per-player creative |
20:09 |
tenplus1 |
adding that part just now paramat with a 'creative' privelage |
20:13 |
paramat |
wish i'd reviewed this before merge |
20:13 |
tenplus1 |
works, I've added 'creative' privelage that works on survival games (non creative) per player |
20:13 |
paramat |
thing is, now on every node dig extra code is being run for this rarely used feature |
20:14 |
tenplus1 |
true, unless 'creative' can be switched on/off during play |
20:14 |
paramat |
i can't see any need for per-player creative |
20:15 |
tenplus1 |
I already use it on Xanadu... for builders we trust |
20:15 |
paramat |
ahh |
20:16 |
tenplus1 |
whaddya think: http://pastebin.com/qWkaUzR5 |
20:16 |
tenplus1 |
it's the init.lua file |
20:18 |
|
zorman2000 joined #minetest-dev |
20:19 |
paramat |
hm it's not so bad now i understand it more |
20:19 |
tenplus1 |
just have to display apppropriate inventory screen when privelage detected as well |
20:19 |
tenplus1 |
if a normal player presses 'i' it shows crafting only, grant them 'creative' and I want it to show creative inv. |
20:19 |
tenplus1 |
without the need to log out and in again |
20:20 |
red-001 |
could someone link me to the test code for lua sandboxes? |
20:20 |
rubenwardy |
tenplus1, you need to refresh sfinv when the priv is granted: https://github.com/rubenwardy/perplayer_gamemode/blob/master/init.lua#L20 |
20:21 |
paramat |
ah register on placenode returning true makes sense now |
20:22 |
tenplus1 |
rubenwardy: wait, where in creative mod could I check and add that to be sure ? |
20:23 |
rubenwardy |
you'd need this PR https://github.com/minetest/minetest/pull/4713 or a minetest.after |
20:23 |
rubenwardy |
it's not very nice tbh |
20:23 |
tenplus1 |
ahh... will wait for those.... until then it works after client reconnect :D |
20:24 |
paramat |
ok i understand the PR now |
20:24 |
paramat |
no strong objections |
20:26 |
|
fwhcat joined #minetest-dev |
20:26 |
tenplus1 |
the only thing that bothers me is the constant checking of "creative_mode" bool... wont that affect performance on a server full of players |
20:27 |
tenplus1 |
couldnt we simply read it into a value and check that instead ? since you still have to sign out and in to change to creative mode |
20:29 |
paramat |
yes please cache the setting |
20:30 |
paramat |
^ rubenwardy |
20:30 |
tenplus1 |
hows that look: http://pastebin.com/fDL8U57f |
20:33 |
tenplus1 |
also puts less of a strain on handle_node_drops when checking |
20:33 |
paramat |
.. since the setting is being 'got' on each node place and dig in normal game |
20:34 |
tenplus1 |
will up that code to Xanadu tonight hopefully for testing |
20:34 |
tenplus1 |
works ok singleplayer |
20:35 |
paramat |
however you're now getting player privs each time |
20:36 |
tenplus1 |
that's already cached and stores in a table |
20:37 |
tenplus1 |
*stored |
20:38 |
tenplus1 |
how about I do: if creative.mode or minetest.check_player_privs(name, {creative = true}) then return true end ; return false |
20:40 |
paramat |
anyway i added an issue for a cache |
20:41 |
tenplus1 |
checking |
20:42 |
tenplus1 |
want me to add pull for what I have ? |
20:47 |
|
Gael-de-Sailly joined #minetest-dev |
20:49 |
tenplus1 |
paramat: https://github.com/minetest/minetest_game/pull/1535 |
20:51 |
paramat |
ok we'll consider the code |
20:51 |
tenplus1 |
:p |
20:53 |
Krock |
some code style issues but otherwise fine :) |
20:54 |
tenplus1 |
? really ? thought I used same style :P |
21:11 |
|
tenplus1 left #minetest-dev |
21:13 |
|
ircSparky__ joined #minetest-dev |
21:33 |
red-001 |
#5100 ? |
21:33 |
ShadowBot |
https://github.com/minetest/minetest/issues/5100 -- [CSM] Improve security by red-001 |
21:33 |
red-001 |
could someone review it? |
21:42 |
est31 |
I'm quite confident that the proposed CSM model is insecure, and that RCE can be easily obtained |
21:42 |
est31 |
that being said, its probably possible to RCE without CSM already |
21:42 |
ssieb |
RCE? |
21:42 |
est31 |
remote code execution |
21:42 |
est31 |
e.g. right now it seems like the whitelist allows access to the filesystem |
21:43 |
est31 |
this is horrible |
21:43 |
est31 |
even IF you dare to write code that checks file paths to be correct or not, it should not be done |
21:43 |
est31 |
what if a mod just writes junk to the disk? |
21:43 |
est31 |
files filled with "HELLO HELLO HELLO" |
21:44 |
est31 |
then the disk is full, in the worst case your system can't boot any more |
21:44 |
est31 |
also, why is setlocale allowed |
21:45 |
est31 |
builtin should not need it |
21:45 |
est31 |
finally, the lua script env should run in a separate process and communicate with the main minetest process via IPC |
21:46 |
est31 |
as its on the same computer, communication is fast enough to still allow CSM controlled controls, and similar |
21:46 |
est31 |
but it allows a much better overview over what is controlled by client scripts and what isn't |
21:46 |
est31 |
also, current voxel manips don't do bounds checking, you shouldn't expose them to CSM |
21:48 |
est31 |
generally though, great to see people working on it |
21:48 |
paramat |
thanks for input, what's the danger with voxelmanips? |
21:48 |
est31 |
paramat, if I remember correctly, voxelmanips don't do bounds checking due to performance concerns. |
21:49 |
est31 |
it may be okay if mod security is disabled, but if mod security is enabled or mods run on the client, then that's bad |
21:49 |
est31 |
because you can read/write memory out of bounds, which can mean you can get arbitrary code execution |
21:49 |
paramat |
getting the index for a position doesn't check bounds |
21:50 |
est31 |
reading is bad as well, it can be combined with other bugs |
21:50 |
paramat |
oh maybe i'm misunderstanding 'bounds' |
21:51 |
est31 |
well idk, when you use a voxelmanip to set some node inside the manip's buffer, then you give x,y,z |
21:51 |
est31 |
internally it calculates an offset via a calculation like x* xstride + y*ystride + z |
21:51 |
est31 |
or somehow else |
21:52 |
est31 |
then it uses that offset as index into some array of len s |
21:52 |
est31 |
if the offset is smaller than 0, or bigger or equal to s, its out of bounds |
21:52 |
paramat |
i see |
21:53 |
est31 |
meaning, the code to "set" the node now sets some other memory location outside of the buffer, and that location can be even code, which gets executed |
21:53 |
paramat |
indeed index calculation doesn't check bounds or out-of-volume |
21:55 |
|
DI3HARD139 joined #minetest-dev |
21:56 |
est31 |
generally though I think its good to have progress on CSM |
21:56 |
|
Icedream joined #minetest-dev |
21:57 |
est31 |
just don't make stuff part of the stable API that's supported forever which is insecure |
21:57 |
|
Fixer joined #minetest-dev |
22:08 |
|
proller joined #minetest-dev |
22:15 |
|
proller joined #minetest-dev |
22:19 |
red-001 |
the filesystem stuff can be removed at some point in the future and replaced with some sort of storage api, like that web browsers use |
22:19 |
red-001 |
then you can easy add max file sizes |
22:19 |
red-001 |
easily* |
22:21 |
red-001 |
plus client sided lua doesn't have voxelmainpl |
22:22 |
red-001 |
setlocal is set to nil as soon as builtin no-longer needs it |
22:22 |
red-001 |
same with debug.get_info |
22:23 |
|
octacian joined #minetest-dev |
22:23 |
est31 |
the security should not depend on builtin |
22:23 |
est31 |
and filesystem stuff should be removed at the start already |
22:23 |
est31 |
not even dofile should be allowed |
22:24 |
red-001 |
so how do you recommand files are loaded then? |
22:24 |
est31 |
the entire mod should be put into one big file, who reads it any way |
22:24 |
red-001 |
thats really messy |
22:24 |
red-001 |
plus it will break builtin |
22:25 |
est31 |
mhh right |
22:25 |
est31 |
why store the client mod on the disk |
22:25 |
red-001 |
if everything is in one file sooner or latter you will have to use preprocessors to make it possible to even work on a mod |
22:25 |
|
proller joined #minetest-dev |
22:25 |
est31 |
should be held in ram any way |
22:26 |
est31 |
ooor.... how are csm mods loaded |
22:27 |
red-001 |
for now it's purely client sided |
22:27 |
red-001 |
no transfer from server |
22:27 |
est31 |
mhh I see |
22:28 |
est31 |
well then obviously dofile is required |
22:28 |
red-001 |
iirc something about testing everything before we allow the server to send code |
22:28 |
est31 |
good idea |
22:29 |
red-001 |
obviously this will need improvement once servers are allowed to send code to the client |
22:30 |
red-001 |
I'm thinking of allowing a small amount of storage per mod, which a special api |
22:30 |
red-001 |
maybe like 5mb |
22:30 |
est31 |
or make it per server |
22:31 |
red-001 |
thats a better idea |
22:31 |
est31 |
otherwise servers make tons of mods |
22:31 |
red-001 |
maybe make it 20 per server then |
22:31 |
est31 |
sounds good |
22:32 |
est31 |
well if you say that csm API is unstable then its sorta okay to first add it then remove it |
22:33 |
red-001 |
call it can experimental feature or something like that |
22:44 |
ssieb |
couldn't you load the mods from the disk restricted to a certain subtree, but not allow them to write? |
22:49 |
est31 |
yes, but that code can have bugs |
22:49 |
est31 |
(the code to check the fs) |
22:52 |
red-001 |
well thankfully minetest isn't a big target for this sort of stuff but it's still good to take reasonable precautions |
23:03 |
|
YuGiOhJCJ joined #minetest-dev |
23:07 |
|
Fixer joined #minetest-dev |
23:08 |
|
Fixer joined #minetest-dev |
23:34 |
|
proller joined #minetest-dev |
23:45 |
red-001 |
could someone remove the rebased need tag form #5100 ? |
23:45 |
ShadowBot |
https://github.com/minetest/minetest/issues/5100 -- [CSM] Improve security by red-001 |
23:45 |
red-001 |
also #5078 needs more reviews |
23:46 |
ShadowBot |
https://github.com/minetest/minetest/issues/5078 -- Remove guest nicknames by red-001 |