Time |
Nick |
Message |
01:10 |
|
smk joined #minetest |
01:14 |
|
sys4 joined #minetest |
01:14 |
|
qur joined #minetest |
01:31 |
|
xBarkDog joined #minetest |
01:35 |
|
xBarkDog joined #minetest |
02:02 |
|
appguru joined #minetest |
02:23 |
|
khimaros_ joined #minetest |
02:24 |
|
kyle56 joined #minetest |
02:32 |
|
kyle56 left #minetest |
03:29 |
|
YuGiOhJCJ joined #minetest |
04:30 |
|
diceLibrarian joined #minetest |
04:49 |
|
Verticen joined #minetest |
05:00 |
|
MTDiscord joined #minetest |
05:45 |
|
fluxionary joined #minetest |
06:27 |
|
cow321 joined #minetest |
07:18 |
|
diceLibrarian joined #minetest |
08:18 |
|
Leopold_ joined #minetest |
08:23 |
|
calcul0n joined #minetest |
08:57 |
|
definitelya joined #minetest |
09:09 |
|
xBarkDog joined #minetest |
09:21 |
|
s20 joined #minetest |
09:24 |
|
Sobinec joined #minetest |
09:40 |
|
Leopold joined #minetest |
09:47 |
|
jluc joined #minetest |
10:12 |
|
Talkless joined #minetest |
10:14 |
|
mrkubax10 joined #minetest |
10:34 |
|
jaca122 joined #minetest |
10:38 |
|
TomTom joined #minetest |
11:03 |
MinetestBot |
[git] grorp -> minetest/minetest: Remove non-existent textures from texture_packs.md 524721e https://github.com/minetest/minetest/commit/524721ee275875d4c76808bb0c9cb0ed3ccb3ac1 (2023-12-26T11:01:46Z) |
11:06 |
YuGiOhJCJ |
hello, I was wondering how Minetest is generating the world from a unique seed and storing the full world in an sqlite file. I don't know how many cubes the world is composed but I guess that storing the full world when you start the game will make a too big file, several Go and will use all your disk space. So, what is stored exactly in this file? |
11:09 |
YuGiOhJCJ |
(note: I already know how to generate the same values from a seed using rand/srand) |
11:17 |
calcul0n |
the world is generated where players are, and only that is stored |
11:17 |
calcul0n |
which is already a lot in fact, world data can become pretty big on old servers |
11:22 |
YuGiOhJCJ |
yes that makes sense but in this case, the player position is very important for the world generation, it means that there is a function that is taking in parameter player position and the unique world seed, generates the world near the player (let's say a 100x100x100 area), but it's a problem because it means that if a player moves forward instead of backward, we will start by generating cubes located forward, from the seed, and so |
11:22 |
YuGiOhJCJ |
the sequence of numbers generated will not be the same that if the player decided to move backward, how is it possible that the world is always the same, not matters which decision the player take moving any directions |
11:23 |
YuGiOhJCJ |
? |
11:25 |
jluc |
guess it depends on the position, not the direction |
11:25 |
jluc |
f(x,y) |
11:25 |
calcul0n |
this is the magic of perlin noise :) |
11:25 |
YuGiOhJCJ |
I already heard a lot about perlin noise but never read it carefully |
11:26 |
MTDiscord |
<bla8722> player position is only used to determin which part of the world is loaded/generated but not for how its generated |
11:26 |
YuGiOhJCJ |
bla8722, yes it makes sense |
11:26 |
YuGiOhJCJ |
so the world will always been generated the same way, from the unique seed |
11:27 |
calcul0n |
yes |
11:27 |
YuGiOhJCJ |
so there is a function f(x,y,z,seed) that is generating from the position + seed always the same value? |
11:28 |
calcul0n |
exactly |
11:28 |
YuGiOhJCJ |
ok I think I understand now |
11:28 |
YuGiOhJCJ |
thanks |
11:29 |
calcul0n |
i suggest to read wiki's page about perlin noise, you'll get an idea of how it works |
11:29 |
|
Waffelo joined #minetest |
11:29 |
calcul0n |
https://en.wikipedia.org/wiki/Perlin_noise |
11:29 |
YuGiOhJCJ |
yep I'll do it thanks |
11:32 |
YuGiOhJCJ |
can we say that the pseudo-random number generator functions ("srand" to initialize a new sequence and rand to get the next number from this sequence) won't be used when using perlin nose? it looks like that these are two different methods |
11:38 |
calcul0n |
yes that's different |
11:39 |
calcul0n |
hmm, hard to explain :) |
11:39 |
|
appguru joined #minetest |
11:40 |
calcul0n |
we could say the same maths are involved but they are used differntly |
12:05 |
|
s20_ joined #minetest |
12:13 |
|
mrkubax10 joined #minetest |
12:27 |
YuGiOhJCJ |
I think I got it, firstly you have a seed, secondly from this seed you create a sequence of numbers that you store in an array, so same seed means same sequence of numbers, now you can call your perlin noise function f(x,y,z,array) that will return the wanted value from the position + array |
12:28 |
|
imi joined #minetest |
12:35 |
YuGiOhJCJ |
not sure however why they say that the numbers in this array have to be between 0 and 255 |
12:38 |
|
jaca123 joined #minetest |
12:42 |
calcul0n |
this is just how the original implementation work, there are different technics |
12:42 |
calcul0n |
minetest uses some kind of hash function to get a gradient at (x, y) |
12:43 |
calcul0n |
here: https://github.com/minetest/minetest/blob/524721ee275875d4c76808bb0c9cb0ed3ccb3ac1/src/noise.cpp#L157 |
13:38 |
|
jaca122 joined #minetest |
14:09 |
|
sy joined #minetest |
14:09 |
sy |
Hey all |
15:47 |
|
Desour joined #minetest |
15:47 |
|
appguru joined #minetest |
15:51 |
|
jaca122 joined #minetest |
16:58 |
|
mrkubax10 joined #minetest |
17:44 |
Desour |
would someone like to play and test out the ghost crypt game with me? |
17:44 |
Desour |
this here: https://content.minetest.net/packages/group_foo/ghost_crypt/ |
17:45 |
Desour |
it's a game jam submission, but looks like it's multiplayer only |
17:52 |
MTDiscord |
<warr1024> I tried it out by running a local server and launching a second instance to join. Of course some of the mechanics you can't fully test, and of course you can't really get a feel for the pace of action when you can only play one part at a time, but it's notoriously hard to arrange play time for competitive multiplayer games (that aren't already popular) so at least it's an option. There's a "testing server" listed. Maybe people could try |
17:52 |
MTDiscord |
to arrange events where people meet on that server at the same time so there are enough people to play. I'd also be interested in seeing videos and such of actual gameplay with multiple people, which could be a good way for people who can't make those events to see what the game is capable of. |
17:53 |
|
Guest47 joined #minetest |
17:53 |
Guest47 |
hello |
17:53 |
Guest47 |
is there some limit to operate techpack in a public server? |
17:54 |
Guest47 |
someone knows something more about this discussion on forum: https://forum.minetest.net/viewtopic.php?t=19784&hilit=error+generate_key2number&start=150 |
17:55 |
Desour |
that's why I asked. I tried to get ppl to join the test server at the same time, warr0x1p10 |
17:57 |
DeepThgt |
Guest47, from my experience with technic and mesecons, which also have performance issues of the same variety, here is what i have learned has helped perfomance |
17:58 |
DeepThgt |
switching to postgres from sqlite for the world db, compiling with luajit, disabling hyperthreading |
18:00 |
Guest47 |
i understand, so not exist something in postgres yet, I need to compilate |
18:01 |
MTDiscord |
<warr1024> Desour: oh, you meant right now though, right? If that works, good, but if it doesn't work well enough, I'm just suggesting that if you schedule it for some time in the future, like a day or 2 from now, you'll have more time to get people to plan it into their schedules. |
18:02 |
MTDiscord |
<warr1024> Ideally they should just pick like 3 times a day as "meeting times" around the clock (for people in different TZs) and post that on the description page so that people don't pop in for a random 5 minutes here and there and miss each other. |
18:02 |
Desour |
yep, that's also what I planned ^^ |
18:04 |
|
mrkubax10 joined #minetest |
18:13 |
Desour |
trying again in about an hour, and/or tomorrow 17:00 UTC |
18:15 |
Guest47 |
so guys, about the error on techpack just compiling a new version with postgres? |
18:20 |
DeepThgt |
boo mesecons and worldedit dont play nice |
18:29 |
|
CRISPR joined #minetest |
18:48 |
|
Leopold joined #minetest |
19:23 |
MinetestBot |
[git] grorp -> minetest/minetest: Make the loading screen progress bar respect "gui_scaling" 335af39 https://github.com/minetest/minetest/commit/335af393f09b3629587f14d41a90ded4a3cbddcd (2023-12-26T19:21:15Z) |
19:32 |
|
Desour joined #minetest |
19:33 |
Desour |
ok, am back. is there someone who wants to play now? |
19:33 |
|
CRISPR joined #minetest |
19:33 |
Desour |
if not, I'll just ask again tomorrow, 17:00 utc |
19:34 |
Desour |
DeepThgt: last time I tried, using worldedit for mesecons constructions worked very good |
19:46 |
|
cow321 joined #minetest |
19:52 |
|
CRISPR joined #minetest |
20:09 |
DeepThgt |
Desour my issue wasnt that, it was what i was trying to do |
20:10 |
DeepThgt |
ty tho |
20:14 |
DeepThgt |
one good way to crash a server, try setting an entire plane to any node :D |
20:14 |
DeepThgt |
like, 30927 0 30927 to -30927 0 -30927 |
20:14 |
DeepThgt |
it does NOT like that |
20:15 |
|
Sobinec joined #minetest |
20:36 |
DeepThgt |
https://imgur.com/umeEIA6.png |
20:37 |
DeepThgt |
worldedit is too much fun |
20:57 |
DeepThgt |
m |
21:04 |
|
appguru joined #minetest |
21:47 |
MTDiscord |
<jordan4ibanez> Fractally |
21:51 |
|
CRISPR joined #minetest |
22:15 |
MTDiscord |
<jordan4ibanez> Realistically, set node should have a local constant for memory usage per instruction and internally multiply it by the volume of the area and then break it up into steps for on step or something if it exceeds the memory limit of the vm |
22:16 |
MTDiscord |
<jordan4ibanez> Not set node, the voxel area api |
22:26 |
|
Guest47 joined #minetest |
22:27 |
Guest47 |
hello! Early I was asking about the error described in this post https://forum.minetest.net/viewtopic.php?p=414454#p414454 |
22:27 |
Guest47 |
but I needed to go out, so I'm back to asking again, the one way to solve this is compiling the mod change to postgres? |
22:28 |
Guest47 |
the error is: TL-ERROR Number2Pos pos is nil |
22:28 |
Guest47 |
and mod is Techpack |
22:29 |
MTDiscord |
<wsor4035> hmmm, is that mod using minetest.serialize for large data? if so, wouldnt be suprised |
22:30 |
MTDiscord |
<wsor4035> looking at https://github.com/search?q=repo%3Ajoe7575%2Ftechpack%20minetest.serialize&type=code, yeah, yikes |
22:31 |
MTDiscord |
<wsor4035> timebomb waiting to happen |
22:44 |
|
Guest47 joined #minetest |
22:44 |
Guest47 |
sorry, something wrong in this connection |
22:45 |
MTDiscord |
<warr1024> (Anyone whose IRC client doesn't collapse join/part noise and gets mad over a little of it is a masochist anyway 😏) |
22:46 |
|
imi joined #minetest |
22:46 |
Warr1024 |
Sometimes when I upgrade my client it'll get stuck in a restart loop and I'll have like a half dozen reconnections before I get it stabilized again 🙄 |
22:46 |
Guest47 |
yess :D |
22:47 |
Guest47 |
but i didnt understand how to use this link https://github.com/search?q=repo%3Ajoe7575%2Ftechpack%20minetest.serialize&type=code |
22:48 |
MTDiscord |
<warr1024> Same, actually; I don't know if the purpose of that link it to show "look: among the uses of serialize in this mod, some of them are clearly working on large 'database'-type objects" or to show "they use serialize way too much, to the point where it seems unlikely they're making consistently good judgements about whether it's appropriate." |
22:49 |
MTDiscord |
<warr1024> It looks like it could be quite painful to have to evaluate each of those cases to see how big data could actually typically be expected to grow under "normal" non-contrived situations. |
22:50 |
MTDiscord |
<warr1024> I've frankly gotten away with a lot of serialize abuse myself, without taking care for explicit guardrails, and it's mostly just gameplay factors that have minimized the risk of players finding exploits that can break serializaiton.. |
22:50 |
Guest47 |
so its about how much each player can amount in every single slot? inv or chest? |
22:51 |
Guest47 |
the server is allow 999 in each slot for anything |
22:51 |
MTDiscord |
<warr1024> If, let's say, you use serialize to serialize the content of a container into an item, like a shukler box or whatever ... then, let's say you allow players to write near arbitrarily long books, or you allow them to nest containers, where the contents of the container are stuffed in an item that can get serialized inside another container ... eventually you have a recipe for potential disaster. |
22:51 |
MTDiscord |
<jordan4ibanez> But how can we fix this |
22:52 |
MTDiscord |
<warr1024> Allowing items in large quantities like 999 isn't an issue, since if they can stack they don't take up more space than the extra 2 digits to represent the quantity ... but things that don't stack and contain arbitrarily large user-supplied data like written books can become an issue. |
22:53 |
MTDiscord |
<warr1024> The simplest hack to fix it is to use json instead of serialize, which I think does not suffer the same limit problem. But it may suffer other problems (I'm not sure of its rounding behavior), it definitely doesn't represent all possible data structures that lua can, and it may have performance trade-offs. It also won't save you once your tables start getting to be to much for the lua VM itself. |
22:54 |
MTDiscord |
<warr1024> The real long-term solution is to redesign your thing entirely so that you never have huge hunks of data that need to be loaded/saved at any given time, but everything is either limited in scale, or you break things down into smaller transactions. |
22:55 |
MTDiscord |
<warr1024> mod_storage, for example, once upon a time sucked because it wrote an entire mod's data as a big JSON file every 5.3 seconds ... but now that it uses an actual database backend, so long as you're not still using the legacy file one, those keys can be accessed one at a time. That doesn't help so much with itemstack or node meta (and I'm not sure about players) but in at least some cases you can redesign to avoid these problems. |
22:55 |
Guest47 |
I understand now, so techpack is not recommended to public servers with no restrictions to users |
22:56 |
MTDiscord |
<warr1024> Personally I can't say anything specific against techpack given just what I've seen (I didn't look too deeply into the original issue report) but if indeed it's a problem of not guarding against users creating data that's large enough to cause crashes, then yeah, it's "vulnerable to abuse" basically and so you should consider that when making the decision about whether to use it or not. |
22:57 |
MTDiscord |
<warr1024> You can still of course even run packs that are vulnerable to abuse, as some choose to do because not having the gameplay features is an unacceptable trade-off for them, and they just have to do more moderation and cleanup work sometimes in exchange. |
22:58 |
MTDiscord |
<warr1024> Of course, if the "abuse" scenario also can happen eventually under normal gameplay circumstances without deliberate attacks ... well, that's another level of problem to consider. |
22:58 |
|
depsbzl joined #minetest |
23:00 |
Guest47 |
i understand now, well I think is not solution for now. I was playing in the simple server that uses this mod and it crashes with error and the admin wants to remove, but a lot of constructions that we made was based on techpack, so a caotic situation |
23:01 |
MTDiscord |
<warr1024> Oh oof, yeah, once you've gotten invested then you've got a problem, and that may be a big part of the trade-off that keeps people just constantly fixing crashes instead of just not running the offending mods anymore. |
23:03 |
Guest47 |
yes, but he wants to remove. So techage is susceptible to same error? |
23:04 |
MTDiscord |
<warr1024> I actually have no idea how techage and techpack are related, if at all. |
23:04 |
MTDiscord |
<wsor4035> Never use mintest.serrialize and I stead use minetest.write_json |
23:05 |
Guest47 |
but, the mod I think was installed from original source, no modifications |
23:05 |
MTDiscord |
<warr1024> Never using serialize under any circumstances is a bold generalization and, even assuming I could be sure I never ran into data structures that json doesn't handle well (like mixed array/hash tables) I'd still want somebody to verify first that JSON performs at least comparably to serialize. |
23:06 |
Guest47 |
the admin of server tells he wont change the code byself |
23:06 |
MTDiscord |
<warr1024> And yes, it shouldn't be the responsibility of a mod user (server operator, singleplayer user, etc) to maintain an incompatible fork of the mod that uses serialization differently... |
23:08 |
Guest47 |
yes, i know. so concluding no solution until Joe7775 releases a fix |
23:09 |
MTDiscord |
<warr1024> 🤷 no good ones, probably, at least. |
23:09 |
MTDiscord |
<warr1024> it's not easy to fix "oops I trusted the wrong serialization format" either |
23:10 |
MTDiscord |
<warr1024> you have to do stuff like providing an upgrade and migration path for existing worlds |
23:10 |
MTDiscord |
<warr1024> and the fix isn't necessarily just to slap JSON in there instead; often this is a warning that the serialization format itself is just a symptom of dealing with irresponsibly large objects as monoliths to begin with. |
23:10 |
MTDiscord |
<luatic> yep |
23:12 |
Guest47 |
well, so if I found this serielize code in techage, probably it has the same problem, i'll check this |
23:14 |
Guest47 |
and yes, I guess he does |
23:15 |
Guest47 |
https://github.com/search?q=repo%3Ajoe7575%2Ftechage_modpack%20minetest.serialize&type=code |
23:17 |
MTDiscord |
<warr1024> Lots of people use minetest.serialize and in 99.9% of cases it poses no issue, so just looking for the presence of the code is only very weak evidence that there's cause for concern. To really know, you kinda have to analyze what they're doing with it. |
23:28 |
|
loggingbot_ joined #minetest |
23:28 |
|
Topic for #minetest is now The official Minetest channel | Latest version: 5.8.0 (2023-12-04) | General, player and modding discussion is on-topic. If in doubt, post here | Responses may take a while, be patient | Rules: https://wiki.minetest.net/IRC#Rules | Development: #minetest-dev | Server list: https://minetest.net/servers | IRC logs: https://irc.minetest.net/minetest |
23:28 |
Guest47 |
May I access this chat form discord? |
23:30 |
MTDiscord |
<jordan4ibanez> Yes |
23:31 |
MTDiscord |
<jordan4ibanez> I give you express permission with absolutely no warranty |
23:32 |
Guest47 |
:D thank you jordan |
23:32 |
|
panwolfram joined #minetest |
23:32 |
MTDiscord |
<luatic> I think you have to be of a certain "rank" to access this chat from discord? |
23:32 |
Guest47 |
the channel name there is #minetest too |
23:33 |
MTDiscord |
<luatic> it's minetest-irc |
23:34 |
Guest47 |
and the server is Minetest, right? |
23:35 |
|
illwieckz joined #minetest |
23:36 |
Guest47 |
well dont appear to me so i have to use for here |
23:37 |
MTDiscord |
<luatic> yep the server is Minetest |
23:38 |
Guest47 |
so the rank is necessaru |
23:38 |
Guest47 |
necessary |
23:38 |
Guest47 |
but may i talk in general no? |
23:38 |
MTDiscord |
<luatic> Yes, you may talk in general. The "rank" requirement exists to prevent spam from newcomers, I believe. |
23:39 |
MTDiscord |
<warr1024> Right, we just expect people to talk a bit in the non-IRC channels first so that if there are moderation issues with them, IRC isn't subjected to the consequences as well. |
23:39 |
MTDiscord |
<warr1024> but it doesn't take long to earn the necessary privileges. |
23:40 |
MTDiscord |
<warr1024> Also don't 100% rely on the Discord only for your access to IRC. The bridges CAN go down (and of course Discord as a platform could become arbitrarily shitty in any way it wants to overnight). |
23:41 |
Warr1024 |
hence why a lot of us are connected directly via both protocols, when we have that optoin. |
23:41 |
Guest47 |
right. I understand. thank you for all in next time I'll use for that as Hephaestus |
23:42 |
Guest47 |
what irc cliente do you use? |
23:42 |
MTDiscord |
<wsor4035> thelounge |
23:42 |
MTDiscord |
<warr1024> Yeah, that, self-hosted, for me. |
23:43 |
MTDiscord |
<warr1024> It's not very featureful but it works well on mobile (if you have a server to host the server component) which is one of the major obstacles a lot of users have with IRC usage today. |
23:44 |
Guest47 |
no and im using win11 |
23:45 |
MTDiscord |
<warr1024> That's a shame. You can rent a VPS for under $10 a month, but that's a lot to bother with if it's JUST for an IRC client and you don't have some other use for it. |
23:45 |
MTDiscord |
<warr1024> I think there are publicly hosted instances, but then, I never know how much I should trust those, especially with things like NickServ credentials. |
23:47 |
Mantar |
if you're on desktop, hexchat is pretty good |
23:48 |
Guest47 |
oh no, I asked just to access this irc channel, I didn't express myself well |
23:50 |
DeepThgt |
warr1024 you can rent a vps for under $13 usd per year to run znc on |
23:50 |
DeepThgt |
10 a month is massively overpaying for a bouncer |
23:51 |
MTDiscord |
<warr1024> I used hexchat on desktop and found it to be pretty good, yeah. Unfortunately I've grown way too used to the idea that I should be able to get up and leave my desktop at any time and as long as I have my phone with me, I shouldn't lose immediately access to what I was connected to... |
23:51 |
|
hephaestus joined #minetest |
23:51 |
DeepThgt |
https://lowendbox.com/blog/1-vps-1-usd-vps-per-month/ <-- cheap shithosts |
23:51 |
Guest47 |
done with hexchat |
23:51 |
hephaestus |
thank you guys |
23:52 |
MTDiscord |
<warr1024> Hmm, those low-end machines are pretty good looking, i.e. I didn't see that "burstable" shit that Amazon EC2 does... 🤔 |
23:53 |
DeepThgt |
ya id rather have a colonoscopy than use amzn for anything |
23:54 |
DeepThgt |
on that list ive used racknerd only |
23:54 |
DeepThgt |
no complaints for what i paid |
23:54 |
MTDiscord |
<warr1024> Amazon Web Services has so many random products that colonoscopy is probably one of them, so your could achieve your worst nightmare there. |
23:54 |
DeepThgt |
lmao |
23:54 |
MTDiscord |
<warr1024> I wish I had know about $1 a month VPS hosting before I'd scope-creeped the other like $6 a month worth of shit I'm running on mine now 😄 |
23:55 |
DeepThgt |
when time for renewal comes up you know at least |
23:55 |
DeepThgt |
if you feel like migrating |
23:56 |
DeepThgt |
i used to use these for wordpress/woocommerce installs |
23:56 |
DeepThgt |
worked well |
23:57 |
|
sparky4 joined #minetest |
23:59 |
MTDiscord |
<warr1024> Heh, goes on my todo list, and I'll have to figure out exactly how much of the ~$7 per month Contabo machine I'm actually using at this point... |