Time |
Nick |
Message |
00:23 |
|
Lesha_Vel joined #minetest |
00:25 |
|
Lesha_Vel joined #minetest |
01:28 |
|
v-rob joined #minetest |
01:30 |
|
wolfshappen joined #minetest |
01:40 |
|
wolfshappen_ joined #minetest |
01:52 |
|
Lesha_Vel joined #minetest |
02:02 |
|
olliy joined #minetest |
02:14 |
|
wolfshappen joined #minetest |
02:34 |
|
lemonzest joined #minetest |
03:02 |
|
Insayne joined #minetest |
03:10 |
Insayne |
Hey |
03:29 |
|
Oksanaa joined #minetest |
03:55 |
|
v-rob joined #minetest |
04:53 |
|
Sven_vB_ joined #minetest |
05:00 |
|
MTDiscord joined #minetest |
05:39 |
|
v-rob joined #minetest |
05:57 |
|
Lesha joined #minetest |
06:01 |
|
riff-IRC joined #minetest |
06:24 |
|
JackFrost joined #minetest |
06:27 |
|
calcul0n joined #minetest |
06:32 |
|
Oksanaa joined #minetest |
08:00 |
|
___nick___ joined #minetest |
08:02 |
|
v-rob joined #minetest |
08:04 |
|
___nick___ joined #minetest |
08:20 |
|
YuGiOhJCJ joined #minetest |
09:34 |
|
fling joined #minetest |
09:37 |
|
Fixer joined #minetest |
09:57 |
|
Fixer joined #minetest |
09:57 |
|
definitelya joined #minetest |
10:02 |
|
___nick___ joined #minetest |
10:04 |
|
___nick___ joined #minetest |
10:08 |
|
Verticen joined #minetest |
10:17 |
|
Talkless joined #minetest |
10:29 |
|
specing joined #minetest |
11:08 |
MTDiscord |
<luatic> 56independent: oh hello there https://stackoverflow.com/users/14234512/56independent |
11:11 |
|
Fixer_ joined #minetest |
11:17 |
|
Fixer joined #minetest |
11:57 |
|
appguru joined #minetest |
12:02 |
|
jvalleroy joined #minetest |
12:02 |
|
jvalleroy joined #minetest |
12:13 |
|
CieNTi joined #minetest |
12:15 |
CieNTi |
Hi guys! I have a doubt regarding "the best approach" because I'm a bit lost with the information I found. There is the official MT (.net) with lot of things in github, and it seems is relatively new because previously there was things on gitlab |
12:16 |
CieNTi |
then there is the forum, which seems the development announces, based on mainly github repos with a little information (little readmes, no screenshots or big explanations) |
12:16 |
CieNTi |
then there is the "final" (.org), and also "big forks" like multicraft |
12:16 |
CieNTi |
and there is also "mesehub" with a git that it seems the people use, instead of github |
12:17 |
CieNTi |
the first question is here -> what to do? official one? version X or Y? best source of 'official' or 'updated' information? |
12:20 |
rubenwardy |
CieNTi: .net is the official site and is not new |
12:20 |
sfan5 |
the repository on gitlab.com is a mirror, the official one is at github.com/minetest/minetest |
12:20 |
sfan5 |
git.minetest.land is just a git host like you said |
12:20 |
CieNTi |
and the next -> there are mentions to some issue regarding "irrlicht". In official (.net) is not clear what is the problem, or if it is fixed (it seems like latest one is using a customized version? it is fixed?). In final (.org) complaints a lot about .net and how different this and that ... seems more like an internal war xDD but also says |
12:20 |
CieNTi |
something about irrlicht |
12:20 |
CieNTi |
what is the best approach? I'm kinda lost xD |
12:21 |
sfan5 |
minetest.net is the one you want, the others are old/outdated |
12:22 |
sfan5 |
and irrlicht is the graphics library we use |
12:23 |
CieNTi |
thanks for replying, I assumed .net and github, but as a 100% new user to minetest (I never heard about it until 1 month ago, first because I never searched for minecraft alternatives until 1 month ago xDD) the amount of information is massive, and when you reach the forums the most of the threads are really really old ... so the "war" between 0.XX |
12:23 |
CieNTi |
and 5.XX, and MT vs MC seems to be not completed on that ones |
12:24 |
sfan5 |
well a few(?) people say they prefer the old 0.4 version but fact is that development only happens at 5.x |
12:24 |
|
proller joined #minetest |
12:25 |
sfan5 |
(for example the latest version 5.5 is from January) |
12:26 |
CieNTi |
yeah, just for the records I'm asking my doubts, but my first approach was to go for .net and "as explained in the instructions", that is my current installation |
12:26 |
CieNTi |
why there is that kind of preference, to keep a 0.XX instead of going to 5.X ? |
12:27 |
CieNTi |
because I read it in a few places, but I cannot understand the reason xD |
12:29 |
sfan5 |
it basically comes down to the fact that 0.4 servers are not compatible with 5.x clients (and the other way around), so people sometimes didn't want to move |
12:30 |
Krock |
5.x dumped quite some legacy code to improve code structure. the network changes (for good) made the versions incompatible |
12:30 |
Krock |
obviously you'll find many new features in 5.x which 0.4.x does not contain |
12:31 |
CieNTi |
so the real complain is more related to not being able to move from old maps/server to new ones? |
12:31 |
Krock |
no. it's that old clients cannot connect to new servers |
12:31 |
rubenwardy |
Maps are fully compatible |
12:32 |
CieNTi |
xD then i fully dont understad why is that a problem xDDDDD |
12:32 |
Krock |
whereas "new" refers to 3 year old binaries at this point |
12:32 |
CieNTi |
I mean, if it is just a change in the sense you are explaining to me ... i would never complain about that, is just ... evolution of code and updates |
12:33 |
rubenwardy |
There are quite a few forks that are never updated, and so the players are stuck on 0.4 and don't no better |
12:33 |
rubenwardy |
But that would have been a problem eventually without a network break |
12:33 |
CieNTi |
thanks all for answering my doubts :) |
12:33 |
rubenwardy |
*know |
12:33 |
CieNTi |
rubenwardy ahhh I see |
12:34 |
CieNTi |
perfect then |
12:35 |
CieNTi |
I have 2 things in mind with minetest .. one is pure personal fun and mod development ... the other is try to implement in my company as an alternate way of doing things |
12:35 |
CieNTi |
and here is my second BIG doubt -> the connection to the outside world |
12:35 |
CieNTi |
I saw the IRC mod, and a few others |
12:36 |
CieNTi |
the main approach is always to create a bridge with lua, then a server which do/bridge othe things |
12:36 |
CieNTi |
am I right? |
12:37 |
rubenwardy |
There's a built-in https client API you can use to connect with outside servers |
12:37 |
rubenwardy |
This is used for the discord bridge mod |
12:37 |
CieNTi |
I mean, there is not already rcon-alike or similar, there is no this kind of network capabilities in a buil-in fashion, and you cook yourself the bridge of your needs, right? |
12:37 |
rubenwardy |
For other things, you can use a trusted environment to get access to UDP and TCP sockets, although this isn't always super easy to set up |
12:37 |
erlehmann |
CieNTi for client side mods, you are limited to giving out information via log files, such as in the mumble and rumble mods |
12:38 |
CieNTi |
oooook perfect |
12:38 |
CieNTi |
thanks |
12:38 |
CieNTi |
I was more thinking in server mods really, but that is a reall nice point to know, thanks erlehmann |
12:39 |
CieNTi |
thanks rubenwardy I had that idea in a "should be more or less", but a confirmation is really relaxing to me after all this information I read xD |
12:39 |
CieNTi |
this half hour is worthing 1+ month xD |
12:39 |
erlehmann |
CieNTi if you want to do more complicated client side stuff (e,g, automated structure building outside of creative mode), you have to use a cheat client like dragonfire and waspsaliva. those clients announce themselves as far as i know (“hi, i am using a hacked client”) and the only servers were you can be 100% sure you are not banned for automating game actions are calling themselves “anarchy servers”. |
12:40 |
CieNTi |
Ohhhhh that explain a few other things hahahaha |
12:40 |
erlehmann |
tell |
12:40 |
erlehmann |
which things |
12:40 |
erlehmann |
CieNTi rubenwardy wrote a book on server mods https://rubenwardy.com/minetest_modding_book/en/index.html |
12:41 |
CieNTi |
i was thinking all the time the anarchy thing as related more to a "free for all, pvp always on, I will kill you as soon as you spawn" thing |
12:41 |
CieNTi |
not the hacked/modification thing |
12:42 |
erlehmann |
pvp is always on indeed |
12:42 |
CieNTi |
so that explain different things I read (I cannot remember exact right now), that does not fit into my "anarchy" concept |
12:42 |
erlehmann |
but it is also that people on anarchy servers believe there should be no restrictions on clients |
12:42 |
CieNTi |
about the book ... yes, I found it and saved as gold hahahaha (thanks rubenwardyfor your work! really explanatory) |
12:42 |
erlehmann |
so the admins will not, for example, ban you for flying without fly privilege (but they may install serverside anticheat plugins, haha) |
12:43 |
CieNTi |
ok |
12:43 |
erlehmann |
and in general, MOST players on anarchy servers are nice, but a few lie, cheat and steal |
12:43 |
CieNTi |
thanks a lot for all this information, really |
12:43 |
erlehmann |
so it is a unique environment. instead of AI enemies you have super smart evil people called griefers who only want destruction. |
12:43 |
erlehmann |
(it is fun for them) |
12:43 |
|
proller joined #minetest |
12:44 |
CieNTi |
yeah I found a pair of that guys ... |
12:44 |
erlehmann |
usually the only things that are forbidden on anarchy servers are 1. crashing the server 2. doxxing people |
12:44 |
CieNTi |
but it is true that most of the people I found in all the servers is nice |
12:45 |
CieNTi |
are* |
12:45 |
CieNTi |
(oh my english!) |
12:45 |
erlehmann |
also if a server says “no dating”, what they actually mean is “no flirting or lewd chat” |
12:45 |
erlehmann |
it took me a while to understand |
12:45 |
erlehmann |
it is a slang thing |
12:45 |
CieNTi |
hahahaha good to know |
12:45 |
erlehmann |
and yes, if a server says “this is a dating server” (as oysterity does), you can be lewd in chat lol |
12:46 |
CieNTi |
xDDDDDD |
12:46 |
erlehmann |
but people might hunt you down lol |
12:46 |
CieNTi |
hahahaha |
12:48 |
CieNTi |
well I'm going to clean my environment after all this conversation, with the peace of mind of knowing the right way hahaha |
12:49 |
CieNTi |
I'm far from it ... but if I want to collaborate with a mod, I assume github and minetest-mods like my basis, right? |
12:49 |
|
sobkas joined #minetest |
12:49 |
erlehmann |
i heard the story that there was one griefer who destroyed a lot of stuff but could not stand lewd text |
12:49 |
erlehmann |
so people drove the griefer off with a script that spammed the chat with lewd bullshit lol |
12:49 |
erlehmann |
CieNTi in general, try to be nice too please. and consider that the person you mete in game might be a young kid or someone who is much older than you. you do not know and it does not matter usually. |
12:50 |
|
erlehmann joined #minetest |
12:50 |
CieNTi |
aahahahahahahaha what a punishment hahahahahaha |
12:51 |
erlehmann |
CieNTi also some more tips: there are servers that have unique game structure. for example “minigames”. |
12:51 |
CieNTi |
yes about to be nice ... it's always my preference xD |
12:51 |
erlehmann |
also the server ”inside a box” is an escape room puzzle server |
12:51 |
erlehmann |
it is very different from normal minetest |
12:51 |
erlehmann |
think “portal” game, but without portal gun |
12:51 |
erlehmann |
if you like puzzles, try also the singleplayer game ”alter” |
12:51 |
CieNTi |
oh I see, thats pretty nice |
12:52 |
erlehmann |
sorry the server is called “inside the box” |
12:52 |
CieNTi |
it is brutal how big and different things can be made with minetest xDD |
12:52 |
erlehmann |
if you like a challenge, try the game ”exile”. it is VERY hard. |
12:52 |
CieNTi |
I also saw the CERN related one |
12:53 |
CieNTi |
and I must admit that the f-king entrance is the same (I was there, I can confirm xD) |
12:53 |
erlehmann |
also, there are mineclone2 and mineclone5. mineclone5 has more features, but it is … experimental … meaning it definitely has more bugs. |
12:54 |
CieNTi |
i have mc2 because was my first try, but I want to try mc5 also |
12:55 |
erlehmann |
they are abbreviated mcl2 and mcl5 |
12:55 |
erlehmann |
if you go on oysterity anarchy server i can show you around some time |
12:55 |
CieNTi |
and what about nodeclone ? it says it is "another thing". it is like you explained "inside the box" or similar? |
12:58 |
erlehmann |
you mean nodecore? |
12:59 |
erlehmann |
in case you mean nodecore, it is a different type of gameplay |
12:59 |
erlehmann |
with different crafting system |
12:59 |
erlehmann |
also one game which is VERY cute but has no servers is repixture |
12:59 |
erlehmann |
it has cute villages too |
12:59 |
CieNTi |
oh lol I wrote nodeclone ... yes I was asking about nodecore xD |
13:00 |
CieNTi |
repixture? I think I never read it ... I'll save it to get info |
13:00 |
sfan5 |
https://content.minetest.net/packages/Wuzzy/repixture/ |
13:02 |
CieNTi |
about oysterity -> I just joined to 30421 |
13:03 |
CieNTi |
repixture looks nice, i'll play it later to test it :D |
13:04 |
|
GNUHacker joined #minetest |
13:09 |
definitelya |
Minecore needs to be a thing; like a mix of "mine" and " encore", maybe. |
13:09 |
MTDiscord |
<jordan4ibanez> Minetest 2 |
13:09 |
definitelya |
Or just "mine the core", but that's boring. |
13:09 |
MTDiscord |
<Sublayer plank> @rust_shill_u128 Minetest Rust Edition? :P |
13:09 |
definitelya |
jordan4ibanez: Yes, with 2X the development! |
13:11 |
MTDiscord |
<jordan4ibanez> Well you're going to have to create an irrlicht ffi |
13:12 |
MTDiscord |
<jordan4ibanez> Well, I suppose you could port irrlicht to rust and find out the errors and then fix the minetest version of it if there are any |
13:15 |
erlehmann |
rewrite minetest in rust |
13:15 |
erlehmann |
:---DDDDD |
13:15 |
MTDiscord |
<jordan4ibanez> What have you started Rollerozxa oh no |
13:16 |
MTDiscord |
<jordan4ibanez> When will we have the ability to load up Rust binaries as mods? ? |
13:17 |
definitelya |
inb4 "When the train comes to the station, all the complaining happens and we skip the release". :) |
13:18 |
MTDiscord |
<jordan4ibanez> In the year 2047, Minetest version 1.0 is finally released, all it is, is an image of a single cube |
13:19 |
definitelya |
jordan4ibanez: Oh I won't be fooled, there will *still* be bugs... |
13:19 |
MTDiscord |
<jordan4ibanez> "Finally, perfectly optimized. No conflicting api views. Only cube" |
13:20 |
MTDiscord |
<Sublayer plank> reject minetest, return to cube |
13:21 |
erlehmann |
jordan4ibanez as i said before, stop doing minetest: https://mister-muffin.de/p/4RY8.png |
13:23 |
definitelya |
erlehmann: What about virtual Geomag? That'd be cool. |
13:24 |
MTDiscord |
<ROllerozxa> REAL Minetest |
13:24 |
erlehmann |
by REAL developers HEHEHEHEHE |
13:25 |
erlehmann |
definitelya this is the way: http://fffff.at/free-universal-construction-kit/ |
13:25 |
MTDiscord |
<jordan4ibanez> We are just playing with really, really low resolution CT scan programs |
13:25 |
erlehmann |
> The Free Universal Construction Kit offers adapters between Lego, Duplo, Fischertechnik, Gears! Gears! Gears!, K’Nex, Krinkles (Bristle Blocks), Lincoln Logs, Tinkertoys, Zome, and Zoob. |
13:26 |
definitelya |
Wow! |
13:26 |
definitelya |
Krinkles? lol |
13:26 |
MTDiscord |
<jordan4ibanez> Hmmmm interesting |
13:33 |
|
GNUHacker joined #minetest |
13:45 |
|
Crawler joined #minetest |
13:45 |
Crawler |
hi |
13:45 |
Crawler |
is here anyone with experience in modding? |
13:47 |
definitelya |
Crawler: Of course, ask away and people will help you. |
13:48 |
Crawler |
i have the problem that i have created a slab but in the inventory it shows as a normal node not a half and i search now over some days for a solution |
13:49 |
Crawler |
the node is made with node-box when its important to know |
13:50 |
definitelya |
I am not an expert in modding, but I would compare your node inventory image code to some other mod, like in the "stairs" mod. |
13:51 |
Crawler |
you mean to create a special texture for this? |
13:52 |
definitelya |
Dunno, probably. I just meant I'd check out how other mods do it. |
13:52 |
erlehmann |
no it should work automagically |
13:52 |
erlehmann |
if you have right node type |
13:52 |
erlehmann |
i think |
13:52 |
erlehmann |
Crawler show code |
13:53 |
Crawler |
this are some lines... im allowed to post it here? |
13:53 |
sfan5 |
you can put your code on as pastebin site such as https://paste.debian.net/ |
13:53 |
Crawler |
ah ok 1mom |
13:53 |
definitelya |
lemon. |
13:55 |
Crawler |
https://paste.debian.net/1233171/ |
13:55 |
erlehmann |
> drawtype = "nodebox", "allfaces", |
13:55 |
erlehmann |
what |
13:55 |
erlehmann |
that's not how it works? |
13:56 |
erlehmann |
i suggest to remove the allfaces part |
13:56 |
Crawler |
it was in for this that i have make tests |
13:56 |
MTDiscord |
<jordan4ibanez> Drawtype is of element type String, it looks like you've accidentally created a solo string element in that table after that, removing it should clean that up a bit |
13:56 |
erlehmann |
inventory_image = minetest.inventorycube(my_blocks.tarray_slab[i]), |
13:56 |
erlehmann |
remove this |
13:56 |
erlehmann |
Crawler remove the inventory image |
13:56 |
erlehmann |
then try again |
13:57 |
Crawler |
ok 1mom... |
13:58 |
Crawler |
lol... i have belives i need this inventory_image to show the items there x.x |
13:58 |
Crawler |
thanks it work |
14:00 |
MTDiscord |
<jordan4ibanez> Success! |
14:02 |
erlehmann |
:) |
14:02 |
erlehmann |
Crawler inventory cube always makes a full node |
14:02 |
erlehmann |
a cube |
14:03 |
Crawler |
good to know this... im searching now some days for this solution and to analyze other mods hasnt help me im a beginner and to understand the code of other persons is to hard for me |
14:05 |
|
Bombo_ joined #minetest |
14:05 |
erlehmann |
Crawler read the minetest book by rubenwardy. it is more useful to read it first then learning from other mods. |
14:09 |
sfan5 |
tip: you almost never need to use minetest.inventorycube |
14:11 |
Crawler |
i am only on study the API wiki but sometimes there are less informations about this |
14:16 |
erlehmann |
Crawler read the book seriously https://rubenwardy.com/minetest_modding_book/en/index.html |
14:17 |
erlehmann |
you will be much better prepared for reading API documents after having read it |
14:17 |
erlehmann |
i have seen many people try to learn from mods from other people |
14:17 |
erlehmann |
the problem is, they will figure out how to do it somehow, but not necessarily the best way |
14:17 |
erlehmann |
and misunderstandings of code are also happening that way |
14:18 |
Crawler |
ah this website... there i was too but there i hasnt too found this solution what i have need |
14:19 |
|
Taoki joined #minetest |
14:22 |
erlehmann |
Crawler try to work through it a bit before you develop |
14:22 |
erlehmann |
have patience |
14:22 |
erlehmann |
it pays off to learn foundations |
14:23 |
Crawler |
im a guy which learn better with learn by doing some thing i doesnt understand |
14:24 |
Crawler |
*all of the meaning |
14:27 |
Crawler |
my code looks on the first maybe terrible but im optimize them when i have learned new things |
14:30 |
erlehmann |
yes, everyone says that |
14:30 |
erlehmann |
everyone who likes to learn from other people's codes |
14:31 |
erlehmann |
Crawler you will learn much better from other people's codes when you have fundamental understanding how minetest works |
14:31 |
definitelya |
Crawler: Same, that's how I started my Linux migration journey. |
14:31 |
Crawler |
my init.lua was on the start over 400lines after them i have start to use arrays my code is shrinked a lot |
14:32 |
erlehmann |
regardless, the wiki is out of date at some points |
14:32 |
erlehmann |
you should look into doc/lua_api.txt or how it is called |
14:32 |
erlehmann |
for up to date documentation |
14:36 |
Crawler |
the problem what i still not to understand is to import arrays or othertings into other parts of my mod because he say then that he cant find this what i give until if i give him were he has to looking for this |
14:36 |
Crawler |
i see a lot of topic and codes but i dont get it how this work |
15:42 |
|
Talkless joined #minetest |
16:00 |
|
kamdard joined #minetest |
17:05 |
|
Verticen joined #minetest |
17:26 |
|
Desour joined #minetest |
17:35 |
|
grouinos joined #minetest |
18:09 |
|
lemonzest joined #minetest |
18:54 |
MTDiscord |
<MisterE> Crawler, start with reading the book, and using what you can understand fromeit to make something. Make more things as you go thru the book. Then head over to nathansalapat's (minetestvideos) modding tutorials, and repeat the process. then skim thru the api, and try to understand a bit more. Then you will have enouch tools at your disposal to start making whatever you might want |
19:03 |
Crawler |
actually i have a good way with small problems how the problem with the texture but how on the rubenwardy page there is as example no information what i have todo that i be able to see the frame inside of a framed glass on one picture he show only that the frame is missing there |
19:06 |
Crawler |
when i look in other mods the glass looks the same as my but there are pictures were i can see the frame inside |
19:24 |
|
behalebabo joined #minetest |
20:21 |
|
mazes_83 joined #minetest |
20:21 |
mazes_83 |
ouch me stupid |
20:22 |
mazes_83 |
worked on "vehicle", but did logic by step, instead of time elapsed |
20:22 |
mazes_83 |
on test game it's nice. but on loaded server: vehicle position stutters |
20:23 |
Desour |
brumm bruummmmm brum brum bruuuuummmm |
20:23 |
mazes_83 |
hope some will have fun reading this |
20:26 |
|
Gustavo6046 joined #minetest |
20:29 |
|
Oksanaa joined #minetest |
20:56 |
|
behalebabo joined #minetest |
21:05 |
|
Komodo joined #minetest |
21:05 |
Komodo |
Hi all, is there a way to grab the world name from the game? For example, I would like NPCs or lorebooks to reference the name of the world the player or operator has setup. The closest function I can find that might work for this is minetest.get_worldpath() |
21:06 |
Komodo |
but that gets the world path. maybe that can be used and just truncated with some code |
21:06 |
Komodo |
https://dev.minetest.net/minetest.get_worldpath |
21:06 |
Komodo |
minetest.get_worldpath(): returns e.g. "/home/user/.minetest/world" |
21:07 |
MTDiscord |
<Jonathon> i think? minetest always gives it as / (even on windows) so you can do string.split on / and grab the last value |
21:07 |
Desour |
Afaik the worldname is always the name for the world folder. So taking worldpath:split("/", false) should give you the worldname |
21:07 |
Desour |
!doc Komodo |
21:08 |
MTDiscord |
<Jonathon> scratch my above comment, minetest on windows does use \ |
21:08 |
Desour |
!api Komodo |
21:08 |
MinetestBot |
Komodo, someone thinks you should read the API docs, please go to: https://github.com/minetest/minetest/blob/master/doc/lua_api.txt |
21:08 |
MTDiscord |
<Jonathon> so desour's method would fail |
21:08 |
Desour |
^ don't use the dev wiki |
21:08 |
Komodo |
yeah, windows leans back, Linux leans forward is how I always remember that |
21:09 |
MTDiscord |
<Jonathon> a quick string.find for \ vs / would work, and then split on that |
21:09 |
Komodo |
What is an alternative for the outdated unmaintined dev wiki? Ruben's book? |
21:09 |
Desour |
!api Komodo |
21:09 |
MinetestBot |
Komodo, someone thinks you should read the API docs, please go to: https://github.com/minetest/minetest/blob/master/doc/lua_api.txt |
21:09 |
MTDiscord |
<Jonathon> the lua api is not an equivelent for the wiki desour |
21:09 |
Komodo |
Thank you Jonathon and Desour, sounds like a feasible solution for what I'm tryint to accomplish. :) |
21:09 |
sfan5 |
newer versions have a world name in world.mt |
21:10 |
Desour |
doesn't minetest already replace the \s to /s when giving stuff to lua? |
21:10 |
sfan5 |
you can also read that from lua |
21:10 |
Komodo |
Noted, ty |
21:10 |
MTDiscord |
<Jonathon> desour: no |
21:13 |
Komodo |
Thank you gents |
21:31 |
|
FreeFull joined #minetest |
21:31 |
lemonzest |
any forum mods around? I just signed up and I've not gotten the conf email to activate, sent it twice now, is gmail addresses a problem? |
21:32 |
sfan5 |
I can activate your account if you tell me the name |
21:32 |
lemonzest |
lemonzest :) |
21:33 |
sfan5 |
done |
21:33 |
lemonzest |
woot thanks :D |
22:26 |
|
specing joined #minetest |
22:44 |
|
grouinos joined #minetest |
23:08 |
|
sobkas joined #minetest |
23:12 |
|
behalebabo joined #minetest |
23:15 |
|
sobkas joined #minetest |
23:16 |
mazes_80 |
about lock mechanism: I see 'key_lock_secret' metadata copied from doors or trap to key skeleton, but I have no clue how it is assigned |
23:16 |
mazes_80 |
pointer to sources files or hints |
23:17 |
|
Insayne joined #minetest |
23:18 |
Desour |
https://github.com/minetest/minetest_game/search?q=%27key_lock_secret%27 |
23:21 |
mazes_80 |
already looked at this, the only way to get this key_lock_secret is from node metadata, but how is it assigned to node -> no clue |
23:22 |
mazes_80 |
I thought I would find refs in engine sources, but nothing more |
23:23 |
Desour |
you don't need to assign meta as a whole to a node. you get a metaref and set key-value pairs there |
23:23 |
Desour |
it is then stored in the mapblock |
23:23 |
Desour |
get_meta() returns a metaref, not a meta |
23:24 |
Desour |
oh, and set_node deletes all meta. use swap_node if you don't want that |
23:24 |
mazes_80 |
no no, I don't wan't to assign for nodes |
23:25 |
mazes_80 |
I want to share keys for my vehicles |
23:26 |
mazes_80 |
I guess I can initialize any string I want, just respecting unicity |
23:26 |
MTDiscord |
<luatic> mazes_80: have you had a look at the keys mod? https://github.com/minetest/minetest_game/tree/master/mods/keys |
23:27 |
mazes_80 |
ofc |
23:27 |
Desour |
https://github.com/minetest/minetest_game/blob/fff3b98ab0d1f47e2869ea83ec24da7faf41c80c/mods/keys/craftitems.lua#L31 |
23:27 |
MTDiscord |
<luatic> https://github.com/minetest/minetest_game/blob/240f9a6a8527d71376839d9efac70db9a6dd6566/mods/keys/craftitems.lua is what I would've linked |
23:27 |
mazes_80 |
there's quite some step to achieve same result for entities |
23:28 |
MTDiscord |
<luatic> why? |
23:28 |
MTDiscord |
<luatic> in on_rightclick, you should be able to obtain the wielded item |
23:28 |
Desour |
this looks awful, the secret is just some string created using a non-cryptographic PRNG |
23:28 |
MTDiscord |
<luatic> then obtain the secret of that using item:get_meta():get_string("secret") |
23:28 |
mazes_80 |
main help is from mods/default/functions.lua |
23:29 |
MTDiscord |
<luatic> Desour: Granted, using SecureRandom might be slightly better, but I doubt that this can be exploited in it's current form |
23:29 |
Desour |
to use keys for objects, you need to overwrite the key's on_use |
23:30 |
MTDiscord |
<luatic> Yeah, there's two ways to go here: Either change the key to do something special if an entity is pointed, or change the entity to do something special if the player is wielding a key. |
23:30 |
MTDiscord |
<luatic> but Desour: I think using cryptographic random would be very overkill here |
23:30 |
mazes_80 |
guess from the entity side is easier |
23:30 |
MTDiscord |
<luatic> NTM that on some odd BSD systems or whatever it might be unavailable and we'd have to fallback to the PRNG anyways |
23:31 |
Desour |
using a non-crypto PRNG for such stuff is a underkill |
23:32 |
Desour |
I wouldn't want to use a system that can not generate cryptographic random numbers |
23:32 |
MTDiscord |
<luatic> I don't see how this could possibly be exploited. I didn't write this code and it's rather old but still the performance penalty a secure RNG would introduce needs to be justified. |
23:32 |
mazes_80 |
string.format("%s:%x-%x-%x-%x", minetest.get_gametime(), math.random(1048575), math.random(1048575), math.random(1048575), math.random(1048575)) |
23:32 |
MTDiscord |
<luatic> what is this |
23:32 |
mazes_80 |
string.format("%s:%x-%x-%x-%x", "mymod:myentity", math.random(1048575), math.random(1048575), math.random(1048575), math.random(1048575)) |
23:33 |
MTDiscord |
<luatic> ??? |
23:33 |
MTDiscord |
<luatic> this isn't the secret generation from the keys mod, although it does resemble it |
23:33 |
MTDiscord |
<luatic> why the gametime or entity name? |
23:33 |
mazes_80 |
just the way I use to get random IDs |
23:33 |
mazes_80 |
entity name in this case |
23:34 |
Desour |
"the performance penalty" is totally negligible as long as there's no weird construction that uses extreme masses of sceleton keys all the time |
23:36 |
MTDiscord |
<luatic> Desour: A very sophisticated attack would have to (1) determine the secret you want to reproduce, which shouldn't be possible if it's properly marked private in node meta (although the inventories containing the keys get sent, so it could be obtained from there), (2) pop the exact right amount of random numbers to get the right 4 (!) random numbers in a row, while many other mods are popping random nums for various different purposes and |
23:36 |
MTDiscord |
(3) finally use the key to unlock something in a game |
23:36 |
MTDiscord |
<luatic> Honestly, I consider this an easter egg. If you manage to carry out such an attack, those locks shouldn't be a problem for you. |
23:37 |
MTDiscord |
<luatic> NTM that you could've already segfaulted MT trivially. |
23:37 |
|
panwolfram joined #minetest |
23:38 |
Desour |
well, ok, considering one can only obtain keys with random secrets from the server, and not arbitrary player-provided secrets, it's quite impossible |
23:39 |
Desour |
(as long as math.random is not overwritten <https://xkcd.com/221/>) |