Time |
Nick |
Message |
00:18 |
BillyS |
Yeah, it was a firewall issue |
00:57 |
tumeninodes |
heh heh... so you think |
00:58 |
|
ANAND joined #minetest-hub |
00:59 |
tumeninodes |
remember, those students have been going off into the real world for a long time..., basically, the real world is for some High School for the rest of your life, and for others, College for the rest of your life with one added bonus..., you get to work every day |
00:59 |
ANAND |
Hello everyone! :) |
01:00 |
tumeninodes |
HELLO! WHY ARE YOU YELLING?! |
01:00 |
tumeninodes |
:D |
01:00 |
ANAND |
:P |
01:01 |
tumeninodes |
My bad, you were just excited. I saw the ! and it tricked my brain into seeing all caps |
02:34 |
|
paramat joined #minetest-hub |
03:09 |
|
tumeninodes left #minetest-hub |
05:20 |
|
lumberJuice joined #minetest-hub |
05:37 |
|
longerstaff13 joined #minetest-hub |
05:38 |
|
longerstaff13-m joined #minetest-hub |
08:30 |
|
entuland joined #minetest-hub |
08:30 |
|
jluc joined #minetest-hub |
09:12 |
|
Fixer joined #minetest-hub |
10:31 |
|
twoelk joined #minetest-hub |
10:32 |
|
CWz joined #minetest-hub |
11:09 |
* longerstaff13 |
appears |
11:10 |
rubenwardy |
o/ |
11:18 |
|
Krock joined #minetest-hub |
11:25 |
|
IhrFussel joined #minetest-hub |
11:26 |
IhrFussel |
Krock, what did you mean on my server? |
11:26 |
Krock |
IhrFussel, now it's about half an hour since hexchat first tried to connect to freenode |
11:27 |
Krock |
I wonder what went wrong with my connection |
11:27 |
IhrFussel |
Worked 1st try for me (HexChat 2.14.1) |
11:30 |
Krock |
hmm.. |
11:47 |
|
Fixer joined #minetest-hub |
11:58 |
|
tenplus1 joined #minetest-hub |
11:58 |
MinetestBot |
tenplus1: Jul-02 21:12 UTC <Krock> Protector needs a simple patch. https://notabug.org/TenPlus1/protector/src/master/init.lua#L260 ("return true") change to "return onlyowner". Otherwise any node can be abused to store text |
11:58 |
MinetestBot |
tenplus1: Jul-02 21:18 UTC <Krock> actually just check whether the node at "pos" is a protector node, somewhere here https://notabug.org/TenPlus1/protector/src/master/init.lua#L531 |
11:58 |
tenplus1 |
hi folks :P |
11:58 |
tenplus1 |
hey Krock |
11:58 |
Krock |
hi tenplus1 |
11:58 |
tenplus1 |
ooh, bugfixes :) thanks dude... checking now |
12:06 |
tenplus1 |
krock, can you explain the changes please |
12:07 |
tenplus1 |
protector.can_dig is a true or false function |
12:08 |
Krock |
I know. first suggestion wasn't that great, instead, check whether it's a protector node in register_on_player_receive_fields |
12:09 |
Krock |
or better: move the position data away from the formspec, into a local table |
12:09 |
tenplus1 |
why would that help ? |
12:09 |
tenplus1 |
if someone uses csm to edit metadata it wouldnt matter wether it was a protector or block of dirt |
12:09 |
Krock |
because currently you can add members to "air" |
12:09 |
Krock |
in combination, there's no member count limit |
12:10 |
Krock |
you can paste the entire lorem ipsum into air this way |
12:11 |
Krock |
and another existent node might need the "members" metadata field for its own purposes |
12:12 |
tenplus1 |
this is only if someone opens formspec using csm, right ? |
12:12 |
tenplus1 |
protector redo should only allow metadata to be written to actual protection nodes if used properly, and it has a limiter set |
12:12 |
tenplus1 |
so I gotta make it csm proof *shakes fist* |
12:12 |
Krock |
yes, that's exactly what I meant |
12:14 |
twoelk |
hi tenplus1 o/ |
12:14 |
tenplus1 |
hi twoelk :P |
12:24 |
tenplus1 |
Krock: updated, has node check included |
12:25 |
rubenwardy |
tenplus1: use a context |
12:25 |
rubenwardy |
!book formspec |
12:25 |
MinetestBot |
rubenwardy: Formspecs - https://rubenwardy.com/minetest_modding_book/en/chapters/formspecs.html |
12:25 |
rubenwardy |
see contexts there |
12:25 |
rubenwardy |
also, is it worth adding something to track vulnerabilities for server owners? |
12:26 |
rubenwardy |
not sure what existing software there is for that |
12:26 |
tenplus1 |
wait, what ? |
12:26 |
rubenwardy |
don't send the position with the formspec |
12:26 |
rubenwardy |
store it in a local table |
12:27 |
IhrFussel |
randomuser111 joins server, builds something, earns privs ... suddenly joins as randomuser222 doesn't know how to change the name back, complains about invalid password, joins with 20 other accounts and each time complains about not having the privs |
12:27 |
tenplus1 |
lol fussel |
12:27 |
IhrFussel |
Is apparently 6 years old (hard to believe) |
12:30 |
tenplus1 |
so use a table outwith meta to pass information to formspec ? even if it's just the position of the protector |
12:30 |
rubenwardy |
yes |
12:30 |
rubenwardy |
well |
12:30 |
rubenwardy |
if you also check the node type and the player can access it |
12:31 |
rubenwardy |
and you're fine with them being able to select arbitary nodes of that type |
12:31 |
rubenwardy |
no matter the difference |
12:31 |
rubenwardy |
then that's probably fine |
12:31 |
rubenwardy |
the engine needs support for contexts :) |
12:31 |
tenplus1 |
the on formspec checks the node to be sure of what it is, pos could easily be gotten anyway so not uber important |
12:32 |
rubenwardy |
so it's fine if they can select any protector node, even if far away? |
12:32 |
rubenwardy |
well "even if far away" can be fixed with dist check |
12:32 |
tenplus1 |
you mean the android bug ? infinite reach ? |
12:32 |
rubenwardy |
no |
12:33 |
rubenwardy |
users can submit formspecs with any value they choose |
12:33 |
rubenwardy |
which means they could submit one with a node 1000s of blocks away |
12:33 |
tenplus1 |
can metadata be written to a map area that isnt loaded / |
12:33 |
rubenwardy |
no |
12:33 |
rubenwardy |
not sure what would happen |
12:34 |
rubenwardy |
I think get_meta would turn nil |
12:34 |
rubenwardy |
so crash |
12:35 |
tenplus1 |
added a meta nil check to receive fields |
12:38 |
Krock |
also protector:node_* crashes if it's an invalid position |
12:38 |
Krock |
due to string_to_pos |
12:39 |
Krock |
if not fields.close_me then -> if not fields.close_me and not fields.quit then |
12:39 |
Krock |
so we can finally use ESC on these formspecs |
12:40 |
Krock |
maybe I should make a PR for all these issues |
12:43 |
Krock |
tenplus1, are you working on it right now? asking for the case you're doing some rewrites which would then conflict |
12:47 |
tenplus1 |
fixed ESC closing, added pos table for formspec |
12:47 |
tenplus1 |
testing |
12:47 |
tenplus1 |
what conflicts ? |
12:49 |
Krock |
with changes that I'd do if there are still ways to crash it |
12:50 |
tenplus1 |
explain plz |
12:50 |
Krock |
nvm.. |
12:50 |
tenplus1 |
if I can add ways to protect this from csm or crashing now it'd be kewl |
12:51 |
tenplus1 |
thanks rubenwardy, external pos table works fine |
12:54 |
tenplus1 |
wait, if it checks a local table for player position which is only updated through right clicking the blocks themselves then I can remove the get_node check for protector in received fields |
12:55 |
Krock |
you thought so. no. |
12:55 |
tenplus1 |
? |
12:55 |
Krock |
a protector node can still be dug, the table variable is kept. |
12:56 |
tenplus1 |
nope, once the formspec is closed the player position is set to nil |
12:56 |
Krock |
when is the formspec closed? when "quit" is sent? |
12:56 |
tenplus1 |
it only exists so long as player is editing the formspec from protector right click |
12:57 |
Krock |
what if the client doesn't send quit? |
12:57 |
tenplus1 |
if not fields.close_me and not fields.quit then |
12:57 |
tenplus1 |
minetest.show_formspec(name, formname, protector_formspec(meta)) |
12:57 |
tenplus1 |
else player_pos[name] = nil ; end |
12:58 |
Krock |
spamming ESC closes the formspec too.. after long trying |
12:58 |
Krock |
(or holding ESC) |
12:58 |
tenplus1 |
it does ? isnt that a bug in the engine then ? |
12:58 |
Krock |
neither close_me nor quit are then sent |
12:59 |
Krock |
I'm glad it's that way because I freak out every time I try to close that formspec with ESC |
13:00 |
Krock |
oh well, the client must not show the formspec. it can simply be blocked from being shown, whereas the server still thinks it's open |
13:01 |
tenplus1 |
if the client/csm tries to show a protector formspec then it wont let you edit anything inside unless the local player_pos has been set... and csm cannot set that |
13:04 |
Krock |
1) client right-clicks a protector formspec, doesn't let the formspec show. 2) protector is replaced by and other node 3) show the formspec. possible to write to whatever node there is now |
13:04 |
Krock |
*by any other |
13:05 |
Krock |
^ assuming the get_node check is removed |
13:06 |
tenplus1 |
so if csm arranges a replacement node it swaps in, fiddles with meta, then swaps back to protector |
13:07 |
tenplus1 |
any csm mod could totally overwrite protector meta without having to check anything |
13:08 |
Krock |
no, the client does not have direct access to the node meta. it's about abusing the code conditions which would allow this in an unintended way |
13:08 |
tenplus1 |
so csm is limited and cannot use set_meta or on_player_received_fields |
13:09 |
shivajiva |
Krock: fwiw the meta was nil |
13:09 |
* tenplus1 |
is really starting to detest CSM |
13:11 |
Krock |
shivajiva, strange. get_meta should actually error because pos is nil |
13:12 |
Krock |
tenplus1, yes, then no. It can trigger "on_player_received_fields" and submit any data to it (better restrictions in 5.0.0) |
13:13 |
Krock |
I doubt that fix was ready when 0.4.17* released |
13:15 |
tenplus1 |
nab updated, check code now krock |
13:17 |
shivajiva |
ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod 'protector' in callback on_playerReceiveFields(): Invalid position (expected table got nil). |
13:18 |
tenplus1 |
? |
13:18 |
shivajiva |
[C]: in function 'get_meta' |
13:19 |
tenplus1 |
is that through normal use shiva or crash testing ? |
13:19 |
shivajiva |
Krock testing |
13:19 |
tenplus1 |
with latest code I just updated ?# |
13:20 |
shivajiva |
nah |
13:20 |
tenplus1 |
*phew* test new one plz :D |
13:21 |
* longerstaff13 |
appears |
13:21 |
tenplus1 |
hi longer |
13:21 |
longerstaff13 |
afternoon 11 |
13:22 |
shivajiva |
can only patch as I use a fork but will attend to it :) |
13:22 |
shivajiva |
Hi longer :) |
13:23 |
longerstaff13 |
afternoon shiva :P |
13:24 |
* longerstaff13 |
is hosting a minetest server with barely any mods from his laptop :D |
13:25 |
tenplus1 |
0.4.17 or 0.5 ? |
13:25 |
longerstaff13 |
0.4.17.1 |
13:25 |
tenplus1 |
oh yeah, when creating new 0.4.17 worlds I get this error on 1st run: 2018-07-03 14:18:19: WARNING[Main]: /!\ You are using old player file backend. This backend is deprecated and will be removed in next release /!\ |
13:25 |
longerstaff13 |
o.o |
13:26 |
Krock |
https://wiki.minetest.net/Database_backends#Player_backend |
13:27 |
tenplus1 |
shouldnt it default to sqlite3 ? |
13:27 |
rubenwardy |
removed in the next release |
13:27 |
rubenwardy |
lol |
13:27 |
rubenwardy |
what a lie |
13:28 |
tenplus1 |
it only appears on first run of a new world, weird error... |
13:28 |
Krock |
"will be removed in a future release" |
13:28 |
sfan5 |
technically the next release is 5.0.0 not 0.4.17 |
13:28 |
sfan5 |
removing this in .17 would've been stupid anyway |
13:29 |
longerstaff13 |
does make sense to remove it in a whole new release |
13:29 |
Krock |
removing it in 5.0.0 would not be helpful either. users already worry about these compat breaks because the mods may break .. humbug |
13:30 |
tenplus1 |
I dont mind breakage in 0.5 so long as it loads the map... mods can be altered |
13:30 |
rubenwardy |
was going to convert your title parsing code to python so I can use it in CDB |
13:30 |
rubenwardy |
but https://github.com/SmallJoker/ModIndexer/blob/master/Program.cs#L479-L580 |
13:30 |
rubenwardy |
why is it so long |
13:30 |
tenplus1 |
am just eager to hurry it along and get there so i can tailor mods to 0.5 |
13:30 |
Krock |
tenplus1, that's exactly the point. if the files backend is removed, it won't load |
13:31 |
Krock |
because it would be yet another breakage. but the first for maps. |
13:31 |
rubenwardy |
Krock, you should definitely make it so it checks the entire forum list every time to look for deleted topics |
13:31 |
Krock |
rubenwardy, because what are regexes |
13:31 |
rubenwardy |
and then only download if the ID isn't added yet |
13:31 |
rubenwardy |
or if it's been a while |
13:32 |
rubenwardy |
!title https://gist.github.com/rubenwardy/90b046a0e61d388c103bf0692de3bb90 |
13:32 |
MinetestBot |
rubenwardy: forumlistparser.py · GitHub |
13:32 |
rubenwardy |
just need to add authors and fancy title parsing |
13:33 |
rubenwardy |
oh, and parse dates |
13:33 |
Krock |
uh.. python. new lands to me |
13:34 |
tenplus1 |
thx for assist rubenwardy and krock, notabug updated for Protector Redo |
13:34 |
rubenwardy |
:) |
13:34 |
Krock |
np |
13:34 |
rubenwardy |
Krock: it's great |
13:34 |
rubenwardy |
BS4 is very nice for parsing HTML |
13:34 |
rubenwardy |
well |
13:34 |
rubenwardy |
I wish it had a nicer CSS style selector |
13:34 |
rubenwardy |
or jQuery style |
13:34 |
rubenwardy |
after this, I'll only need your mod search for the repo links |
13:35 |
Krock |
well, topic titles may change. other topics are dead after years |
13:35 |
rubenwardy |
you can get topic titles from the list |
13:35 |
Krock |
also the topic contents change, such as repository links |
13:35 |
rubenwardy |
yes, hence the need to occasionally reparse |
13:36 |
rubenwardy |
personally, I'd make it download the first list of topics every day, and the whole list once a week. In both, download pages for any new topics. For whole list, remove any that are no longer there |
13:37 |
rubenwardy |
not sure about reparsing |
13:37 |
rubenwardy |
the forum topic content for repo links |
13:40 |
sfan5 |
rubenwardy: tip: if you use re.search you change instead write r"t=([0-9]+)" |
13:40 |
sfan5 |
s/change/can/ |
13:40 |
rubenwardy |
ahhh |
13:40 |
Krock |
@topic title. everything outside of brackets could be removed. if there's a mod name: attach afterwards. however, topics are also bumped, so it's not quite easy to find out whether it was deleted or moved |
13:40 |
rubenwardy |
is that the only difference? |
13:41 |
sfan5 |
pretty much https://docs.python.org/3/library/re.html#search-vs-match |
13:41 |
rubenwardy |
ah, must have misread that |
13:42 |
rubenwardy |
it actually doesn't need to be similar to K's mod srch actually |
13:42 |
rubenwardy |
as I'll overwrite that anyway |
13:42 |
Krock |
yes, otherwise it couldn't be superior :D |
13:42 |
rubenwardy |
lol |
13:43 |
rubenwardy |
problem with just moving tags is forms like this: |
13:43 |
rubenwardy |
[Mod] Title [v1][asas] - Added some things! |
13:43 |
rubenwardy |
you'd want Title, not Added some things! |
13:43 |
rubenwardy |
err |
13:43 |
rubenwardy |
you'd want Title, not Title - Added some things! |
13:43 |
|
AndroBuilder joined #minetest-hub |
13:43 |
rubenwardy |
so maybe pretag state, title state, posttag state, post text state |
13:43 |
rubenwardy |
funn |
13:44 |
rubenwardy |
not sure how many topics are different to that |
13:44 |
rubenwardy |
[Pretag][Pretag] title [posttag][posttag] post text |
13:45 |
Krock |
yes but human input finds many ways so that even [Mod] Cool new stuff aded!! [1.1][mod_name] Mod Name Things does not output the correct "Mod Name Things" |
13:45 |
rubenwardy |
well |
13:45 |
rubenwardy |
as long as I get a ~95% accuracy rate it's fine |
13:45 |
Krock |
because there's no rule on how to write the forum titles apart from that it must be tagged |
13:45 |
rubenwardy |
I can edit the 10 topics left |
13:45 |
rubenwardy |
there is |
13:45 |
rubenwardy |
for Releases |
13:45 |
rubenwardy |
not for WIP - that would be the bigger issue |
13:46 |
IhrFussel |
Can your regex handle this case? Then it#s probably fine xP [MOD][API][TINY][SERVER][GIT]Player knockback[punchback] |
13:46 |
Krock |
yes, right. Was talking about common WIP Mod outcome |
13:47 |
rubenwardy |
yes, IhrFussel |
13:47 |
rubenwardy |
however it won't handle tags not having [] |
13:47 |
rubenwardy |
or tags after a post text |
13:47 |
rubenwardy |
I'll get a list of topic names, and bulk run regexes on them |
13:48 |
rubenwardy |
sed would be the correct tool for that, right? |
13:48 |
IhrFussel |
Then this would fail [mod] A22 |
13:48 |
Krock |
sed works. python might also have a lib for that |
13:49 |
rubenwardy |
python does |
13:49 |
rubenwardy |
oh, sed probably uses GNU regex |
13:49 |
rubenwardy |
probs better to use python as that's the varient I will be using |
13:49 |
rubenwardy |
IhrFussel: no, as posttags and posttext are optional |
13:49 |
rubenwardy |
so is pretags |
13:49 |
rubenwardy |
only title is required |
13:50 |
IhrFussel |
I prefer regex's where I can write {1,} or {1,5} not the stupid lua ones |
13:51 |
rubenwardy |
Lua doesn't have regex |
13:51 |
rubenwardy |
Lua has patterns |
13:51 |
IhrFussel |
I know but many call it that |
13:51 |
rubenwardy |
they're wrong :P |
13:51 |
IhrFussel |
There are also languages that claim to have regex but don't support {} |
13:52 |
rubenwardy |
are patterns regular? |
13:52 |
rubenwardy |
a regular expression is something that can parse a regular language |
13:52 |
rubenwardy |
so it's not about how it's written |
13:52 |
rubenwardy |
but about what it can do |
13:53 |
rubenwardy |
not sure what makes something regex though |
13:57 |
shivajiva |
regular expression is defined as a sequence of characters that define a search pattern, hence the confusion over lua patterns probably |
14:09 |
IhrFussel |
Is lua the only language with their own type of "search pattern"? |
14:09 |
IhrFussel |
its own* |
14:13 |
rubenwardy |
^(?:\[([^\]]+)\]\s*)*[^\[]+\s*(?:\[([^\]]+)\]\s*)*[^\[]*$ |
14:13 |
rubenwardy |
kek |
14:13 |
rubenwardy |
IhrFussel: nope |
14:14 |
rubenwardy |
basically every single language and tool has their own |
14:14 |
rubenwardy |
Python, PHP, GNU, perl |
14:14 |
rubenwardy |
however most of them use similar rules |
14:14 |
rubenwardy |
Krock, sfan5: look at my regex and cower in awe |
14:15 |
rubenwardy |
although finding out where each thing is will be painful |
14:15 |
rubenwardy |
not sure how to do that |
14:15 |
rubenwardy |
named I guess? |
14:15 |
rubenwardy |
this is an awesome website: https://regex101.com/ |
14:16 |
sfan5 |
that looks like a regex you'll write once and never understand again |
14:17 |
rubenwardy |
yes |
14:17 |
rubenwardy |
I'm going to split it into multiple strings then add them before compiling |
14:17 |
rubenwardy |
like a regular grama |
14:17 |
rubenwardy |
*grammar |
14:23 |
Krock |
<sfan5> that looks like a regex you'll write once and never understand again |
14:23 |
Krock |
HAHAH how true :D |
14:27 |
Krock |
Notabug just threw error 500 by creating a new PR. oh well. it's not perfect |
14:27 |
tenplus1 |
lol |
14:30 |
Krock |
tenplus1, *ding* new present for you. Say "open" to open it |
14:31 |
tenplus1 |
open |
14:31 |
Krock |
It's a PR for protector |
14:31 |
rubenwardy |
anyone know the best way to group groups in regex? |
14:31 |
Krock |
(group1|group2)? |
14:32 |
rubenwardy |
as in, I want to know which of the groups are pretags, which is the title, and which are post tags |
14:32 |
rubenwardy |
not sure how named groups work |
14:33 |
Krock |
only match tags and the content. then filter the content by a white or blacklist |
14:33 |
Krock |
*content of the tags |
14:33 |
rubenwardy |
heh |
14:34 |
Krock |
uh well, it's complicated |
14:47 |
|
lumberJ joined #minetest-hub |
14:47 |
tenplus1 |
Krock: your changes dont allow me to enter members to the node |
14:48 |
Krock |
checking |
14:48 |
Krock |
oh. enter is the keyword here |
14:49 |
Krock |
that's because quit is sent when the field should close the form |
14:50 |
|
paramat joined #minetest-hub |
15:00 |
Krock |
tenplus1, fixed |
15:00 |
Krock |
err.. |
15:00 |
tenplus1 |
updated :90 working |
15:06 |
Krock |
tenplus1, https://notabug.org/Krock/protector/commit/a359dad3c52 |
15:06 |
tenplus1 |
old clients ? shouldnt it be 0.4.16 and above ? arent we wanting ppl to update |
15:07 |
tenplus1 |
since get_look_horizontal etc is 0.4.16 ? no ? |
15:07 |
Krock |
yes. clients. the server requires 0.4.16 |
15:07 |
Krock |
not sure how far behind mobile users are |
15:07 |
tenplus1 |
always thought formspec ran server side and not client ? |
15:09 |
Krock |
when the client is a bit older, they interact slightly different with the formspecs. like pressing enter, which always closes the formspec for them |
15:09 |
IhrFussel |
According to my own server stats most mobile users use 0.4.14 or 0.4.15 still |
15:10 |
tenplus1 |
lagging behind |
15:10 |
tenplus1 |
or using clones |
15:10 |
IhrFussel |
3rd-party-apps don't need to update their engine code since 0.4.X is still pretty much compatible with any other 0.4.X |
15:11 |
IhrFussel |
At least 0.4.11+ |
15:12 |
IhrFussel |
0.4.11 didn't display colored name tags yet AFAIK so some players didn't get the "red = admin, orange = MOD" |
15:13 |
red-001 |
IhrFussel, does the coloured string get sent to them? |
15:13 |
red-001 |
Krock, clearly it's not a bug |
15:13 |
IhrFussel |
I think I check their prot version and strip it in case they use <= 0.4.14 |
15:13 |
red-001 |
ah |
15:14 |
IhrFussel |
But that only applies to chat...the set_nametag_atrributes() still gets the new color, not sure what 0.4.11 does with it |
15:15 |
red-001 |
chat should be fixed in core |
15:15 |
Krock |
getting 0.4.11 clients to update is quite easy: https://github.com/minetest/minetest/blob/stable-0.4/minetest.conf.example#L312 |
15:16 |
IhrFussel |
Well since 5.0.0 is only compatible with 5.0.0 there is no need for that I guess |
15:16 |
Krock |
nvm, not that one. it would be the strict protocol version check |
15:16 |
Krock |
since the pre_v25 setting only applies for clients, but servers still accept them |
15:17 |
red-001 |
oh lol |
15:17 |
red-001 |
looks like the fix is only included in 5.0.0 |
15:17 |
IhrFussel |
Maybe I could just add a new sentence to the join formspec in case the client prot version is < (26?) |
15:18 |
red-001 |
nvm |
15:18 |
tenplus1 |
updated, thanks krock |
15:18 |
red-001 |
github is weird |
15:18 |
Krock |
tenplus1, np. |
15:19 |
tenplus1 |
:P |
15:19 |
red-001 |
IhrFussel, chat should be fixed by core |
15:19 |
red-001 |
but I don't think nametags are |
15:19 |
IhrFussel |
You mean the engine should already handle the stripping of colors? |
15:20 |
red-001 |
from chat |
15:20 |
red-001 |
https://github.com/minetest/minetest/commit/c399f5a5419efdafec766268af008ed24418fcd4 |
15:20 |
IhrFussel |
In 0.4.17-dev from dec? |
15:20 |
|
Fixer_ joined #minetest-hub |
15:20 |
red-001 |
what git hash? |
15:22 |
tenplus1 |
Krock: is notabug behaving itself for you now ? |
15:22 |
Krock |
tenplus1, sorry? |
15:22 |
red-001 |
paramat, there is a 0.4.18? |
15:22 |
Krock |
^ not discussed yet in #-dev |
15:23 |
red-001 |
ok |
15:23 |
Krock |
to clarify, there's no definitive decision. it has been discussed |
15:23 |
red-001 |
link? |
15:23 |
tenplus1 |
"Krock: Notabug just threw error 500 by creating a new PR. oh well. it's not perfect" |
15:23 |
IhrFussel |
Should be included in my server version then... I compiled after merging this https://github.com/minetest/minetest/pull/6751 |
15:23 |
Krock |
red-001, internal organisation discussion. contributors don't have access to that, I thnk |
15:24 |
Krock |
tenplus1, it only happened once. maybe it'll do again if I submit more PRs :D |
15:24 |
red-001 |
oh did github add something for that? |
15:24 |
tenplus1 |
:P |
15:24 |
Krock |
red-001, yes, there are now rather private pages where posts (like in twitter) can be written |
15:25 |
red-001 |
ah https://blog.github.com/2017-11-20-introducing-team-discussions/ |
15:34 |
IhrFussel |
Still need to code that players with prot version >= 29 receive their own message back though |
15:34 |
IhrFussel |
That was not fixed in-engine I think |
15:35 |
IhrFussel |
Or maybe it only affects custom chat message callbacks |
15:38 |
red-001 |
it always only effected custom chat |
15:38 |
red-001 |
IhrFussel, yeah no point changing working code |
15:42 |
rubenwardy |
looks like it isn't possible for a group to capture more than one time in python |
15:42 |
rubenwardy |
so ^((?:\[[^\]]+\] *)*)([^\[]+) *((?:\[[^\]]+\] *)*)[^\[]*$ |
15:42 |
rubenwardy |
:'( |
15:45 |
sfan5 |
you mean capture multiple times into a signel group |
15:45 |
sfan5 |
single* |
15:45 |
rubenwardy |
yeah |
15:49 |
|
ANAND joined #minetest-hub |
15:49 |
|
Gael-de-Sailly joined #minetest-hub |
15:49 |
tenplus1 |
o/ |
16:13 |
|
garywhite joined #minetest-hub |
16:13 |
tenplus1 |
hi gary |
16:14 |
garywhite |
hi |
16:49 |
TommyTreasure |
hi tenplus1, feature request for protector -- make logo node walkable = false in config option |
16:49 |
tenplus1 |
if I do that then any falling node can drop onto it and make it drop as item, breaking protection |
16:49 |
TommyTreasure |
hmmm, didn't realize that |
16:50 |
tenplus1 |
falling nodes have issue with signlike nodes |
16:50 |
TommyTreasure |
good to know |
16:51 |
tenplus1 |
:P |
16:51 |
TommyTreasure |
i had a few, that with even spacing, got in the way of my 'advance train' track system |
16:52 |
tenplus1 |
bury below tracks :D |
16:53 |
TommyTreasure |
using the tool to place them. was kind of nice to not leave small node holes open in the layout |
16:54 |
TommyTreasure |
but, a little extra work to keep the tracks safe from griefing, is worth the effort |
16:54 |
tenplus1 |
yeh, cover the gaps :P |
16:57 |
TommyTreasure |
one more question. if i 'invent' a new group for a node, would that keep it from being mined by any in-game tool? |
16:58 |
TommyTreasure |
basically, only able to be removed by WE |
16:58 |
tenplus1 |
should be indestructable to all tools apart from the one you want to mine it, yes |
16:58 |
tenplus1 |
like cloud blocks :P |
17:01 |
TommyTreasure |
last night was the first time i'd even seen ( and noticed ) the cloud block in a mod |
17:01 |
tenplus1 |
it's handy for admin only builds |
17:02 |
TommyTreasure |
my issue was with the bedrock nodes. able to be dug with technic drills |
17:03 |
tenplus1 |
drills should have a check for {unbreakable=1} and not break 'em :D |
17:04 |
TommyTreasure |
that's what the nodes were set to. seemed that they worked before i installed the reworked release of technic |
17:04 |
TommyTreasure |
can't remember though |
17:05 |
TommyTreasure |
present group for bedrock nods, that is |
17:06 |
TommyTreasure |
i must still be asleep. can't get my fingers to type correctly |
17:06 |
tenplus1 |
ehehe |
17:07 |
tenplus1 |
anyone ever tested this yet : https://forum.minetest.net/viewtopic.php?f=9&t=20393 |
17:10 |
Krock |
OP did |
17:11 |
tenplus1 |
seems, complicated... |
17:25 |
red-001 |
if someone doesn't find a way to make it turning complete I will be disappointed |
17:25 |
tenplus1 |
?? huh |
17:30 |
red-001 |
oh he just removed last-login |
17:30 |
tenplus1 |
who, what ? |
17:30 |
red-001 |
I guess not having last login by definition fixes issues with it |
17:30 |
red-001 |
https://bitbucket.org/sorcerykid/auth_rx/src/df42508ef64e73cf70975b96215dfe68da340c2b/init.lua?at=master&fileviewer=file-view-default#init.lua-549 |
17:30 |
nerzhul |
"on high-traffic Minetest servers" lol i hope 40 connections per second are handled without any significant for any mod |
17:31 |
nerzhul |
and SRP is one of the most secure protocols |
17:31 |
nerzhul |
also when the auth to sqlite is merged, this thing will become useless |
17:32 |
tenplus1 |
so 0.5 will have this anyhoo ? or parts of it |
17:32 |
red-001 |
no |
17:32 |
nerzhul |
parts of this PR ? no |
17:33 |
nerzhul |
i will make the auth PR a blocker as it's mandatory to have a consistent thing between player db & auth db |
17:33 |
Krock |
everything or nothing |
17:33 |
red-001 |
we already have a real database linked |
17:33 |
nerzhul |
and when it's merged, postgresql support |
17:33 |
nerzhul |
bye bye any pr, postgresql permits to share auth between same "galaxy" servers |
17:33 |
Krock |
also leveldb, redis and whatever there still is |
17:33 |
red-001 |
how is the PR for that doing? |
17:34 |
nerzhul |
never push auth to redis |
17:34 |
nerzhul |
https://github.com/minetest/minetest/pull/7279 |
17:34 |
nerzhul |
i don't rember what is missing on it but it's nearly complete |
17:34 |
nerzhul |
and generic |
17:35 |
nerzhul |
and it has unittests <3 |
17:35 |
red-001 |
tenplus1, I hope the author did a lot of testing on this |
17:36 |
nerzhul |
at least bendeutsch pr has nice unittests haha |
17:36 |
sfan5 |
looks like someone NIH'd sqlite |
17:36 |
Krock |
my comment about the legacy account is still not addressed |
17:36 |
sfan5 |
also a scripting language |
17:36 |
red-001 |
NIH? |
17:36 |
sfan5 |
way to go overboard |
17:36 |
red-001 |
not invented here? |
17:36 |
nerzhul |
and the lua minetest post is quite ugly, he implemented transactional in lua, lol |
17:36 |
sfan5 |
red-001: yes https://en.wikipedia.org/wiki/Not_invented_here |
17:36 |
nerzhul |
all transactional backends like sqlite or pg has it directly |
17:37 |
* red-001 |
wonders why the "opcodes" aren't strings |
17:37 |
nerzhul |
https://travis-ci.org/minetest/minetest/jobs/398654074#L1471 |
17:37 |
nerzhul |
nice |
17:38 |
red-001 |
surely that has a smaller chances to go horribly wrong |
17:38 |
nerzhul |
the feature coverage is sufficient to me |
17:38 |
nerzhul |
Krock can you remember which change ? so many comments on the pr |
17:38 |
tenplus1 |
faster than current auth setup ? |
17:38 |
nerzhul |
without doubt, it's a sqlite db |
17:39 |
nerzhul |
if you migrate to it |
17:39 |
nerzhul |
and no corruption problem |
17:39 |
tenplus1 |
+100 we need 'dis |
17:39 |
nerzhul |
if you have a big server and already a postgresql db, i suggest to migrate to pg when i code it |
17:39 |
tenplus1 |
what about sql? |
17:39 |
red-001 |
the filter thing would be kinda nice as a Lua thing |
17:39 |
nerzhul |
sqlite is good for tiny servers |
17:39 |
Krock |
nerzhul, it's still shown in /files. https://github.com/minetest/minetest/pull/7279/files#r186809850 |
17:40 |
red-001 |
empty sandbox with just table and string utils |
17:40 |
tenplus1 |
I mean if I ran it on Xanadu would it work ok ? |
17:40 |
tenplus1 |
migrate current auth.txt over etc ? |
17:41 |
nerzhul |
ty Jricj |
17:41 |
nerzhul |
migrate a pseudo csv file to a db is very easy |
17:43 |
sfan5 |
the db_commit method is not atomic, it might fail to find the file if it aborts between .remove() and .rename() |
17:44 |
red-001 |
sfan5, but it's a bit faster so it must be right |
17:46 |
IhrFussel |
sqlite is fine with 20+ players too it depends on the hardware...my server would have a max_lag of 0.2 secs if only mapgen ran |
17:46 |
nerzhul |
slqite is file with thousands of entries |
17:46 |
nerzhul |
red-001, storage rule, never trust storage |
17:47 |
nerzhul |
file/fine |
17:47 |
IhrFussel |
My server only uses sqlite and everyone say "it's smoother than almost every other server" |
17:47 |
red-001 |
I was joking |
17:48 |
IhrFussel |
That is quite an achievement to get such comments with 185 mods and 10-20 players regularly |
17:49 |
tenplus1 |
:) |
17:49 |
sofar |
there is no strong direct correlation between players and sqlite performance. If all players are close together, it's just like there is one very active player |
17:49 |
tenplus1 |
!server xanadu |
17:49 |
MinetestBot |
tenplus1: Xanadu | 98.166.127.241 | Clients: 13/40, 6/16 | Version: 0.4.16 / minetest | Ping: 108ms |
17:49 |
red-001 |
auth is a lot more like what DBs are meant to handle than map blocks |
17:50 |
red-001 |
I doubt any real DB couldn't handle minetest auth |
17:51 |
|
jluc joined #minetest-hub |
17:51 |
IhrFussel |
I use sauth but that one is actually one of the heavier mods regarding execution time... the prejoin callback takes 50-100ms mostly |
17:51 |
IhrFussel |
Not sure why |
17:52 |
IhrFussel |
My server got a little over 100,000 accounts so that could be the culprit |
17:53 |
IhrFussel |
But deleting old auth means that these names can be re-used and players then suddenly have access to all their locked objects and projects |
17:54 |
IhrFussel |
It's legal griefing |
17:54 |
tenplus1 |
heh |
17:55 |
red-001 |
legal griefing sounds like a mine(craft/test) punk rock band |
17:56 |
IhrFussel |
Haha^^ No but really... don't wanna start from scratch as new player? Just find abandoned projects, writre down the owner name and try to join as them...and voila! You may be rich |
17:56 |
|
Darcidride joined #minetest-hub |
17:56 |
Krock |
deleting old auth means you should also delete the player from the player database, so only the map has leftovers from them |
17:56 |
nerzhul |
IhrFussel, sauth + 50ms + 100k records ? logical for any non indexes dataset |
17:56 |
Krock |
finding these can be quite difficult |
17:57 |
red-001 |
50 ms doesn't seem too bad |
17:57 |
tenplus1 |
what exactly does auth contain for each player taht cannot be included in separate player files |
17:57 |
red-001 |
tenplus1, password information |
17:57 |
red-001 |
and privs |
17:58 |
tenplus1 |
isnt it hashed anyhow ? |
17:58 |
red-001 |
privs should really be in player files |
17:58 |
|
lumberJ joined #minetest-hub |
17:58 |
IhrFussel |
Yep I'm talking about stuff on the map...locked chests, fridges, furnaces etc ... those are then owned by the "fake" account |
17:59 |
red-001 |
yeah I suppose it could be |
17:59 |
IhrFussel |
If auth would be part of the players/ file it would be better to manage if using DB |
17:59 |
red-001 |
just makes it easier to plug minetest into some external auth |
17:59 |
red-001 |
* in theory |
18:00 |
Krock |
red-001, I think you meant: "auth and player file should be the same" |
18:01 |
tenplus1 |
it would be far easier to include auth info inside player files and backup seperately for restore when needed |
18:01 |
tenplus1 |
player file is already in use a lot for other stuffs so it's just as important |
18:01 |
Krock |
I believe the only reason to have them separate was so that the auth can alter players which are no longer loaded by the server |
18:01 |
red-001 |
realistically it doesn't matter |
18:03 |
red-001 |
mostly stuck with the way it is now |
18:03 |
CWz |
Great now we have fucking homophobes on bananaland harassing a girl and telling some fucked up shit |
18:03 |
tenplus1 |
time to ban/block/revoke shout |
18:04 |
red-001 |
CWz, homophobes? |
18:04 |
paramat |
100,000 accounts, man .. |
18:05 |
red-001 |
can you read a sqlite database minetest is using without minetest deciding to crash? |
18:05 |
paramat |
all those random mobile players using unofficial apps |
18:05 |
sfan5 |
red-001: if it handles SQLITE_BUSY of course |
18:05 |
tenplus1 |
gotta make player craft wood before their player file is saved... |
18:09 |
nerzhul |
if a random app non official crash and break the player auth it's not out problem |
18:09 |
twoelk |
I thought sqlite was rather restrictive with multiple read-write actions and might crash if a read attempt was made from outside minetest while minetest itself was writing to the database |
18:10 |
nerzhul |
if you want concurrency you don't use sqlite |
18:10 |
nerzhul |
you will use postgresql |
18:10 |
nerzhul |
note: multiple emerge threads with sqlite3 map backend = poor sqlite |
18:11 |
tenplus1 |
that's why I was wondering about inserting auth.txt info into player files using player:set_attribute() :get_attribute() |
18:12 |
tenplus1 |
then you dont have to scroll through all those names, just load the player that's prejoining and check |
18:12 |
tenplus1 |
or is that silly ? |
18:15 |
twoelk |
if you have thousands of playerfiles in a single folder the system might get slow when handling the folder |
18:15 |
sofar |
no, shouldn't |
18:16 |
sofar |
minetest doesn't iterate over folders |
18:16 |
tenplus1 |
but we already have 1000's of pl;ayer files in a folder |
18:16 |
sofar |
so there's no penalty for opening a file in a folder, really |
18:17 |
twoelk |
a large cache for example seems to trouble weak hardware - at least from my experience |
18:19 |
tenplus1 |
am thinking on_prejoin it loads auth info from playerfile using player:get_attribute() and does whatever checks it has to... if join sets last login and sets new attribute |
18:19 |
twoelk |
but I was allready told years ago that the hardware I sometimes try to run minetest on is to old :-D |
18:19 |
tenplus1 |
what spec twoelk? |
18:19 |
twoelk |
um, at office now, nice hardware here |
18:19 |
tenplus1 |
heh |
18:20 |
tenplus1 |
Xanadu ran on an old Pentium D for the longest time and it ran well... no lag and 30 players |
18:20 |
tenplus1 |
and that was with mechanical hdd |
18:29 |
|
tumeninodes joined #minetest-hub |
18:29 |
tenplus1 |
wb tumeni |
18:29 |
twoelk |
http://irc.minetest.net/minetest-dev/2013-10-12#i_3368852 hm ok I think I don't attempt to run minetest on xp anymore |
18:30 |
tumeninodes |
how do youuuu do tenplus1?, twoelk, everyone else |
18:30 |
tenplus1 |
good ta, you ? |
18:30 |
tumeninodes |
well, the cookies I bought suck, other than that... alls good |
18:30 |
tenplus1 |
aww, what kind ? |
18:30 |
twoelk |
I do run it on old vista or win2000 machines with 2gb of ram quite often though, .... and o/ |
18:31 |
paramat |
MT code hasn't caught up with its popularity. still coded for a bunch of friends using a cult program |
18:31 |
red-001 |
well players are in a database now |
18:31 |
|
ssieb joined #minetest-hub |
18:31 |
twoelk |
uh? what cult? |
18:31 |
red-001 |
to avoid killing the filesystem |
18:31 |
tenplus1 |
o.O |
18:31 |
nerzhul |
twoelk mt 5.0 doesn't support xp anymore |
18:31 |
nerzhul |
not sure for vista |
18:32 |
twoelk |
nyan cats are gone, my underground temples are empty |
18:32 |
red-001 |
twoelk, the one that punches trees |
18:32 |
tumeninodes |
some sort of sugar dough w m&ms, weird after taste and seem stale. (I usually stick with homemade but... too hot to bake) |
18:32 |
tenplus1 |
you didnt buy them from Tesco did ya ? |
18:32 |
tumeninodes |
nerzhul... nothing, should support vista |
18:33 |
tumeninodes |
no..., market basket, the NE coast of US equivalent |
18:34 |
paramat |
100,000 accounts is just scary, but then i find the idea of a public server scary too :) |
18:34 |
twoelk |
hm, maybe I should make a CSM that sneaks nyancats back in - now that would be something for a secret cult temple |
18:35 |
tenplus1 |
lol, https://notabug.org/tenplus1/pbj_pup <-- both nyan's and pups |
18:35 |
Krock |
moognu is the solution for all problems |
18:35 |
IhrFussel |
100,000 player files...let me check the actual auth DB |
18:35 |
tenplus1 |
hah, already did that one krock :P |
18:36 |
twoelk |
found a glowing pup on hometown not long ago - then the server crashed and the map got corrupted - go figure ----- revenge of the cat |
18:36 |
IhrFussel |
Fastest way to check amount of records in sqlite table? |
18:38 |
Krock |
SELECT count(*) FROM tablename .. perhaps? |
18:38 |
Krock |
dunno if that's SQLite compatible |
18:39 |
IhrFussel |
104,744 ... not that far apart |
18:39 |
* tenplus1 |
tries to decypher auth.lua to use player attributes instead :P |
18:39 |
twoelk |
hm, tenplus1 you could collect the others and add the statue of bastet and the glowingMinetest letters to your mod :D |
18:40 |
tenplus1 |
statue of bastet ? |
18:40 |
Krock |
tenplus1, except that you can't change the privileges for players which aren't online with attributes |
18:40 |
twoelk |
https://forum.minetest.net/viewtopic.php?t=18718 |
18:40 |
tenplus1 |
yeah, was thinking that |
18:42 |
tenplus1 |
no way to override that though ? |
18:42 |
tenplus1 |
would be handy if you could read/write player attributes even when they are offline |
18:42 |
IhrFussel |
Shouldn't it be easy to implement in MT? If entered player name for a certain action is not in memory, look for the data and load the contents, send them to lua, receive the new values, overwrite and store again |
18:43 |
tenplus1 |
yup yup |
18:43 |
tenplus1 |
wait a sec, you deprecated get_attribute already and replaced with get_meta... damn |
18:44 |
IhrFussel |
AFAIK get_meta() is supposed to work for offline data...or at least it was planned |
18:44 |
tenplus1 |
that may be the answer then |
18:44 |
tumeninodes |
could have replaced it with get_f#&$ed |
18:44 |
tenplus1 |
ahaha |
18:45 |
IhrFussel |
But then again I wonder...are the meta contents saved the same as attributes? |
18:46 |
tenplus1 |
from what I see auth.txt loads auth.txt into a huge ass table for functions to work from and check player is player, privs, pass, last login etc. |
18:46 |
tenplus1 |
there's no reason we cant have those same functions check the player attributes/meta instead as it's called |
18:46 |
tenplus1 |
would save a ton of memory as well |
18:47 |
tenplus1 |
just need a way to access them when player isnt around |
18:48 |
Krock |
attributes and player meta is the identical dataset. just the API changed |
18:48 |
tenplus1 |
for things like player_exist etc. |
18:49 |
tenplus1 |
so instead of player:get_attribute("breath") it'll be local meta = player:get_meta() ; meta:get_string("breath") |
18:49 |
twoelk |
hm, deleting all players that don't have property like locked chests might be usefull |
18:49 |
IhrFussel |
Krock, does get_meta() work for offline players yet? Or is it just a renamed get_attribute() for now? |
18:49 |
Krock |
no. yes. |
18:50 |
tenplus1 |
is get_meta faster than get_attribute ? |
18:50 |
Krock |
IhrFussel, you'd need the player ObjectRef from somewhere too |
18:50 |
Krock |
tenplus1, same speed. |
18:51 |
tenplus1 |
I dont get why it was changed ? new get_meta seems to add another command to do the same thing |
18:52 |
twoelk |
organisational feature shift that was never completed? |
18:52 |
tenplus1 |
do I still need to set_meta to write it all out again |
18:52 |
Krock |
to unify the infrastructure. metadata is metadata. it should offer the same API everywhere |
18:53 |
Krock |
since when do we need set_meta() for anything? it's applied and saved automatically |
18:53 |
tenplus1 |
just checking :P |
18:53 |
tenplus1 |
lol |
18:54 |
tenplus1 |
was a joke about adding another step to something that's had another step added to :D |
18:54 |
nerzhul |
; |
19:00 |
paramat |
MTG boats have cruise mode now |
19:02 |
tenplus1 |
ooh |
19:03 |
paramat |
boat autoforward |
19:06 |
IcyDiamond |
2018-07-03 22:05:42: WARNING[Server]: Call to deprecated function 'getvelocity', please use 'get_velocity' at /home/diamond/minetest/bin/../builtin/game/item_entity.lua:155 |
19:06 |
IcyDiamond |
fail? |
19:07 |
tenplus1 |
try this:https://notabug.org/TenPlus1/builtin_item |
19:07 |
IcyDiamond |
xD |
19:10 |
IcyDiamond |
2018-07-03 22:09:25: ACTION[Server]: ServerEnvironment::clearObjects(): Now clearing objects in 1800 blocks |
19:10 |
tenplus1 |
has some additional features :d |
19:10 |
IcyDiamond |
what blocks |
19:10 |
IcyDiamond |
its nodes in minetest, no? |
19:10 |
IcyDiamond |
xD |
19:12 |
Krock |
IcyDiamond, ironically MTG is updated already. yet the core isn't |
19:12 |
Krock |
because I didn't make a PR for it yet. lol |
19:13 |
IcyDiamond |
XD |
19:13 |
Krock |
blocks are 16x16x16 nodes |
19:13 |
Krock |
http://dev.minetest.net/terminology |
19:13 |
IcyDiamond |
okay |
19:17 |
|
AndroBuilder joined #minetest-hub |
19:18 |
tenplus1 |
nice cruise control paramat, adding to Xanadu :D |
19:22 |
tenplus1 |
https://notabug.org/TenPlus1/boats (added cruise control, 10 second drop if no player attached, boat damage hitting land to hard and dropping as wood) |
19:23 |
paramat |
cool |
19:25 |
twoelk |
bye |
19:25 |
tenplus1 |
is latest bed commit working ok ? |
19:25 |
tenplus1 |
cya twoelk |
19:26 |
|
twoelk left #minetest-hub |
19:26 |
IcyDiamond |
\o |
19:26 |
Krock |
tenplus1, tested using the edited client + CSM, so yes. |
19:26 |
tenplus1 |
kewl, adding that to server as well :D |
19:27 |
Krock |
your entire server is going to be a patchwork which needs an entire rewrite when 5.0.0 is out lol |
19:27 |
tenplus1 |
Xanadu is already a collection of custom mods and patched abm's |
19:28 |
IcyDiamond |
im staying away from abms whenever i can |
19:28 |
IcyDiamond |
XD |
19:28 |
tenplus1 |
that's why I override default abm's with my own diamond :P |
19:28 |
IcyDiamond |
i use timers for nearly all the timing |
19:29 |
IcyDiamond |
:D |
19:29 |
IcyDiamond |
the power distrib is still an abm |
19:29 |
IcyDiamond |
¯\_(ツ)_/¯ |
19:29 |
IcyDiamond |
fluid transfer is timer based |
19:29 |
tenplus1 |
it works :) that's the thing |
19:29 |
IcyDiamond |
true |
19:32 |
paramat |
IhrFussel see https://github.com/minetest/minetest/issues/4792#issuecomment-402256110 |
19:34 |
IhrFussel |
Regarding globalstep performance: I thought maybe it could improve performance a bit when not all players are processed at once in globalstep but rather "randomly" ... for example a player joins and gets a table value local rand[name] = math.random(1,10) and inside globalstep I do rand[name] = rand[name] - 1 if rand[name] > 0 then return end rand[name] = math.random(1,10) -- actual function |
19:34 |
paramat |
yes i do that |
19:35 |
IhrFussel |
So does it make sense and should decrease server load? By distributing it more similar to ABM intervals? |
19:36 |
paramat |
yes it spreads the load out in to lots of little lags |
19:36 |
paramat |
*into |
19:36 |
paramat |
better than fewer big lags |
19:42 |
|
Fixer joined #minetest-hub |
19:43 |
tenplus1 |
o/ fixer |
19:45 |
IhrFussel |
Android is so damn SLOW when loading media |
19:46 |
tenplus1 |
wifi or 4g ? |
19:46 |
IhrFussel |
On PC it takes maybe a minute ... on phone after 10 minutes 80% ... wifi |
19:46 |
tenplus1 |
erk |
19:46 |
tenplus1 |
lemmie see how quick I can connect to Xanadu using phone |
19:46 |
IhrFussel |
Could it be the network chip of the device? |
19:47 |
IhrFussel |
Or maybe the weak phone CPU cannot handle the bandwith |
19:47 |
IhrFussel |
bandwidth* |
19:48 |
tenplus1 |
47 seconds on 1ghz quad core wifi |
19:48 |
IhrFussel |
Initializing also takes a long time it seems... |
19:49 |
IhrFussel |
Maybe the media of xanadu is not as large as mine? =P |
19:50 |
IhrFussel |
/worldmods is 53 MB |
19:50 |
tenplus1 |
very true :P |
19:50 |
tenplus1 |
1.7mb here |
19:51 |
IhrFussel |
The font size on my phone is *horrible* |
19:52 |
tenplus1 |
love the fence rails tumeninodes :))) |
19:53 |
tumeninodes |
thank you, enjoy :D |
19:53 |
IhrFussel |
The join messages occupies 80% of the screen...why is the default font size on Android so large? |
19:54 |
IhrFussel |
Or maybe it#s cause I have no HD screen... many Android users have no HD screen |
19:54 |
tumeninodes |
and thank you, paramat, Krock for all the help and hand holding |
19:54 |
tenplus1 |
<---- 840x480 |
19:54 |
Krock |
!next |
19:54 |
MinetestBot |
Another satisfied customer. Next! |
19:55 |
Krock |
IhrFussel, maybe it's because your server has such long join messages |
19:56 |
tenplus1 |
lol |
19:57 |
IhrFussel |
Krock, it's MT's fault IMO if even short protection names of the areas mod write over 3 or 4 item slots in the hot bar |
19:58 |
Krock |
apt-get install libholoscreenextension |
19:58 |
Krock |
apt-get install libmindprojector mindprojector-gui |
19:58 |
Krock |
on small screens there's never enough space for anything |
19:59 |
Krock |
decrease the font size if that helps.. |
20:00 |
IhrFussel |
But I mean we need a solution for mobile screens ... font size should depend on resolution probably |
20:00 |
IhrFussel |
Default font size* |
20:01 |
Krock |
the font size is not the only problem there |
20:01 |
IhrFussel |
I know I just opened the inventory and couldn't see the 1st row of items |
20:05 |
IhrFussel |
Adavanced settings are still broken on Android? You cannot change GUI scaling or pretty much any other setting there because the save button is off-screen |
20:05 |
IhrFussel |
Advanced* |
20:07 |
tenplus1 |
mobile screen needs to be at least 1280x760 now I suppose |
20:09 |
IhrFussel |
Cool and all people with lower resolution (pretty much every budget phone nowaydays has ~ 800x480) now can install a text editor app to be able to edit minetest.conf manually |
20:09 |
tenplus1 |
lol, prolly easier |
20:10 |
tenplus1 |
main menu is nice but has a lot of padding |
20:13 |
IhrFussel |
gui_scaling = 0.9 is better but the formspecs when setting anew value are still too big (save button cropped off) |
20:15 |
tenplus1 |
which mod has a simple wooden wheel inside ? |
20:15 |
tenplus1 |
if any? |
20:15 |
tumeninodes |
0_o a wooden wheel? |
20:16 |
tenplus1 |
yeah, like a cart wheel... looking for decor |
20:17 |
tumeninodes |
I know there's one with a wooden barrel (I think one of Nathan's) not sure if it might have a wooden wheel |
20:17 |
tumeninodes |
does it need to be squarangular? |
20:18 |
Sokomine |
tenplus1: i have a cart wheel in my cottages mod |
20:18 |
tenplus1 |
nah, just want something to save from from having to draw it really :D am being lazy |
20:18 |
tenplus1 |
ooh, may I use on xanadu ? |
20:18 |
Sokomine |
sure. the mod is gplv3.0 - ought to be no problem :-) |
20:18 |
tumeninodes |
Sokomine, yours must be the one I was thinking of |
20:19 |
tumeninodes |
sorry for the shody advertisement :P |
20:19 |
Sokomine |
the wagon wheel is from vanessae. i stated it as cc-by-sa, but she often provides textures as wtfl as well |
20:19 |
tenplus1 |
perfect :) |
20:19 |
Sokomine |
no problem, tumeninodes. can happen if you have so many nodes :) |
20:19 |
tumeninodes |
har harrrrr |
20:20 |
Sokomine |
tenplus1: you might as well install my entire cottages mod. it looks well in ethereal worlds as well |
20:24 |
tenplus1 |
will go through it tomorrow hopefully and see what else it has :D |
20:25 |
tenplus1 |
for now, the wheel :D |
20:28 |
tenplus1 |
nite all o// |
20:28 |
|
tenplus1 left #minetest-hub |
20:29 |
tumeninodes |
good night o/ |
20:31 |
IhrFussel |
MT Android feels good on my screen with font size 16 -> 14 and gui scaling 1.1 -> 0.9 ... but I could imagine that it may be too small on HD screens |
20:37 |
|
Gael-de-Sailly joined #minetest-hub |
20:50 |
|
longerstaff13-ZN joined #minetest-hub |
20:51 |
IhrFussel |
Someone said ������������������������������������������������������������������������������������������������������������������������������������� |
20:51 |
IhrFussel |
����������������������������������� on my server but it doesn't seem to mean anything |
20:54 |
Fixer |
is not this amazing? https://forum.minetest.net/viewtopic.php?f=9&t=20115 |
20:58 |
Krock |
I feel this already existed as some kind of micro nodes |
21:04 |
rubenwardy |
nerzhul: why does the players sqlite backend not work very well on a production server |
21:04 |
rubenwardy |
causes lag spikes every save interval |
21:04 |
rubenwardy |
files works better |
21:04 |
rubenwardy |
dummy works best |
21:05 |
nerzhul |
rubenwardy i think it's due to the sync interval of sqlite, and as sqlite is embedded in mt binary it affect the lag |
21:05 |
nerzhul |
if it's critical switch to postgresql |
21:05 |
nerzhul |
you can tell postgresql to use 64MB shared buffer if you only have player backends on it |
21:06 |
rubenwardy |
<sofar> so there's no penalty for opening a file in a folder, really |
21:06 |
rubenwardy |
linux kernel limits |
21:06 |
rubenwardy |
forget how much |
21:06 |
nerzhul |
1 file opening = 1 I/O |
21:06 |
nerzhul |
depending on the medium it can be crazy |
21:06 |
nerzhul |
don't forget a HDD has only ~100 IOPS maximum |
21:07 |
nerzhul |
the 120Mbps is not interesting, it's the ~100 IOPS the pb |
21:07 |
nerzhul |
it's why SSD are better than HDD, the IOPS, the bandwidth is less useful, only for big files, and on an os you load only tiny files but many |
21:07 |
nerzhul |
minimum IOPS on a SSD is 50k |
21:07 |
nerzhul |
50k open files per second |
21:07 |
nerzhul |
on a hdd you can only open 100 files per second |
21:08 |
nerzhul |
if you add a read operation on a 512 sector, you can only read 50 files + 50 disk chuck per second, if you write, reduce the iops :p |
21:08 |
rubenwardy |
also see map chapter, IcyDiamond |
21:08 |
rubenwardy |
!book map operation |
21:08 |
MinetestBot |
rubenwardy: Basic Map Operations - https://rubenwardy.com/minetest_modding_book/en/chapters/environment.html |
21:08 |
paramat |
is the 'dtime' provided by a lua entity 'on step' function the time since the last run of that function? the values of dtime are mostly 1/clientFPS which surprised me. maybe the server tries to run entity 'on step' at a frequency that matches the clients FPS? |
21:09 |
|
entuland joined #minetest-hub |
21:09 |
paramat |
i was expecting the step interval to be 0.09s: server step |
21:10 |
rubenwardy |
nerzhul: for less than 5000, sqlite should work fine though? |
21:11 |
Krock |
paramat, for singleplayer it's "as fast as possible", whereas the server keeps it at 0.09s or above |
21:12 |
nerzhul |
5000 what ? players ? |
21:12 |
rubenwardy |
yeah |
21:12 |
rubenwardy |
although no certain it was that |
21:12 |
nerzhul |
it depend on the number of privs or meta in fact |
21:13 |
nerzhul |
because the biggest part is the privs and meta entries per player |
21:13 |
nerzhul |
the player entry itself is tiny |
21:13 |
rubenwardy |
with indices, that shouldn't matter as much |
21:13 |
nerzhul |
the problem is not the read |
21:13 |
rubenwardy |
it should also be keeping a journal |
21:13 |
nerzhul |
it's the data chunk |
21:13 |
rubenwardy |
and not writing all players every save |
21:13 |
IhrFussel |
The password hash is also long |
21:13 |
nerzhul |
if you have many privs or meta, you will commit big data chunk |
21:14 |
nerzhul |
no, but writting all current players on each save, and if i remember it's very ofter |
21:14 |
nerzhul |
often |
21:14 |
nerzhul |
if you think it's MT IOPS the problem, just use iotop |
21:14 |
nerzhul |
and see the percentage IOPS for MT |
21:14 |
nerzhul |
you can use dstat too, and look at the IO/Wait percentage |
21:14 |
nerzhul |
if it's too high, you massively write |
21:16 |
paramat |
ok thanks |
21:17 |
nerzhul |
remember player object has a dirty flag, on each meta update you will set it to dirty |
21:17 |
nerzhul |
and on each core update, or privs |
21:25 |
|
BillyS_ joined #minetest-hub |
21:25 |
|
BillyS_ joined #minetest-hub |
21:28 |
paramat |
if i use os.clock to time the interval between entity 'on step' executions the value actually varies a lot and is not consistent with 'dtime', although it may averag out to 'dtime' |
21:28 |
paramat |
*average |
21:31 |
Krock |
paramat, os.clock() is only the time that Lua spends. Use minetest.get_time_us (or similar) |
21:32 |
IhrFussel |
get_us_time() * |
21:32 |
paramat |
aha |
21:32 |
Krock |
^ that |
21:33 |
rubenwardy |
I guess I probably shouldn't call a table KrockForumTopic if I don't use krock's mod search for the majority of it |
21:33 |
rubenwardy |
welp |
21:37 |
Krock |
use Krock as prefix for all your functions and variables. that would be a very lovely fanservice :D |
21:38 |
paramat |
good, us_time is consistent with dtime |
21:46 |
rubenwardy |
get_time_us returns minutes and seconds the wrong way around |
21:46 |
rubenwardy |
apparently that makes more sense |
21:47 |
paramat |
heh |
21:56 |
sfan5 |
Krock: unless lua has some separate time keeping facility, os.clock() returns the cpu time consumed by the current thread |
21:59 |
Krock |
will waiting for mutex be considered as cpu time of the thread aswell? either way os.clock() might not return the value we need |
22:01 |
sfan5 |
waiting for a mutex is a syscall, so no |
22:02 |
Sokomine |
nerzhul: starting mt takes significant amount of time for me. perhaps that's due to the crazy amount of media data in the cache folder. it works much quicker with an ssd (that's about the only time where there's a significant difference) |
22:02 |
* rubenwardy |
runs pacman -Syyu and crosses finders |
22:02 |
* rubenwardy |
likes to live dangerously |
22:02 |
nerzhul |
it's logical, one you have many files to load due to your mods, and also calculation on media cache yes |
22:47 |
|
paramat joined #minetest-hub |
23:10 |
|
lumberJ joined #minetest-hub |
23:30 |
rubenwardy |
RIP Krock's mod search https://github.com/minetest/contentdb/commit/44fd506dcfac8421df1da74b0cda34f8358739b0 |
23:36 |
Fixer |
RIP |
23:36 |
Fixer |
press https://www.youtube.com/watch?v=ZjJzO2bgoZQ to pay respects |
23:38 |
rubenwardy |
and deployed |
23:45 |
|
zorman2000 joined #minetest-hub |
23:47 |
zorman2000 |
Hi all, quick question (mostly to confirm my suspicions): is any node callback called when placed via a schematic? Any at all? |
23:54 |
rubenwardy |
no |
23:54 |
rubenwardy |
if it's placed by a decoration, then a mapgen callback will be called |
23:54 |
rubenwardy |
forget what it is |
23:54 |
rubenwardy |
some notify thing |
23:55 |
rubenwardy |
paramat would know |
23:55 |
zorman2000 |
Gen notify |
23:55 |
zorman2000 |
I think |
23:55 |
zorman2000 |
Thanks for confirming that |
23:56 |
zorman2000 |
I was guessing as much |
23:56 |
zorman2000 |
Btw, I wonder, is there any good reason why ABM's can be disabled? |
23:56 |
zorman2000 |
Say that I don't want to run an ABM anymore once I have met certain conditions |
23:57 |
zorman2000 |
can't |
23:57 |
paramat |
erm |
23:57 |
paramat |
yes gen notify |
23:58 |
zorman2000 |
Thanks paramat |
23:59 |
paramat |
although unless you're using 5.0.0dev gen notify can't be used by 2 separate mods, we fixed it recently |
23:59 |
zorman2000 |
Yes, I know, because of the dungeon loot mod |
23:59 |
paramat |
yeah |
23:59 |
zorman2000 |
But no, I'm not using decorations or gennotify |
23:59 |
zorman2000 |
Thanks anyways |