Time |
Nick |
Message |
00:55 |
|
bwarden joined #minetest-hub |
03:09 |
|
olliy joined #minetest-hub |
06:02 |
|
BuckarooBanzai joined #minetest-hub |
07:44 |
|
CWz joined #minetest-hub |
08:34 |
|
Rafi59 joined #minetest-hub |
08:47 |
|
TenPlus1 joined #minetest-hub |
08:47 |
TenPlus1 |
Hi folks o/ |
08:48 |
TenPlus1 |
Is there any way to tell when a player's game is paused via mods ?? |
09:04 |
|
calcul0n_ joined #minetest-hub |
09:04 |
TenPlus1 |
hi calcul0n |
09:17 |
|
Fixer joined #minetest-hub |
09:18 |
TenPlus1 |
o/ Fixer |
09:29 |
calcul0n_ |
hello |
09:29 |
TenPlus1 |
:P |
09:30 |
TenPlus1 |
android version of mt seems to have a bug where you pause game in mid-air and you remain there instead of falling |
09:47 |
Fixer |
\o |
09:47 |
TenPlus1 |
what's new : |
10:05 |
|
entuland joined #minetest-hub |
10:06 |
TenPlus1 |
hi entu |
10:44 |
|
CWz joined #minetest-hub |
10:46 |
TenPlus1 |
hi CWz |
10:47 |
CWz |
hey |
10:47 |
TenPlus1 |
hows the day :) |
10:56 |
CWz |
the day is okay, hows your day? |
10:57 |
TenPlus1 |
good but confusing :) |
10:57 |
TenPlus1 |
trying to figure a way to tell when players are paused in-game via mod :D |
11:00 |
CWz |
Is it possible? |
11:00 |
TenPlus1 |
that's what I'm trying to figure out :) if there's a way to know when a player opens a formspec |
11:01 |
TenPlus1 |
I've got an anti-cheat mod that can tell when players are flying around without privs, for those hacked clients :P but the android pause bug sets it off cause players float in mid air |
11:17 |
CWz |
does the anti-fly cheat count for set_physics_override? |
11:18 |
TenPlus1 |
yep, takes a lot into account |
11:18 |
TenPlus1 |
including sneak glitch, riding mobs etc |
11:23 |
CWz |
cool |
11:23 |
CWz |
is it available to us less fortunate? |
11:24 |
TenPlus1 |
once it's finished and working I'll give to server owners :D but wont post code just incase |
11:24 |
TenPlus1 |
it detects flight without priv and warns players and/or can kick |
11:25 |
TenPlus1 |
it's just weird that android or singleplayer pc has you floating in mid-air when you open chest or pause game |
11:25 |
TenPlus1 |
that's throwing things off |
11:28 |
CWz |
is it the official android client |
11:28 |
TenPlus1 |
yep, you can jump in the air and pause (hit esc) and you stay there |
11:31 |
CWz |
i wonder if it's phone type specific. probably to save memory while paused |
11:32 |
TenPlus1 |
dunno, but it stops things running in background for that client |
11:32 |
TenPlus1 |
and breaks some things |
11:32 |
TenPlus1 |
globalstep stops |
11:33 |
TenPlus1 |
o.O I think I've just found a solution |
11:40 |
TenPlus1 |
nup, globalstep stops working singleplayer only and player stays in air, on server globalstep continues but player is still stuck in air |
12:08 |
MTDiscord |
<wwar> Hello |
12:09 |
TenPlus1 |
hi wwar |
12:10 |
MTDiscord |
<wwar> People in server got the cheating msg |
12:10 |
TenPlus1 |
lol, the android pause bug ? |
12:10 |
TenPlus1 |
or doing something specific ? |
12:10 |
MTDiscord |
<wwar> Well one of them uses PC |
12:11 |
TenPlus1 |
they on just now ? |
12:11 |
MTDiscord |
<wwar> No sadly |
12:14 |
|
olliy joined #minetest-hub |
12:14 |
TenPlus1 |
hi olliy |
12:15 |
MTDiscord |
<IhrFussel> Mobile players not only stop falling when they minimize the app it also affects knockback and other things...basically the client still accepts packets from the server but doesn't do what the packets tell it to do until the app is in the foreground again |
12:15 |
MTDiscord |
<wwar> Yeah its paused |
12:15 |
MTDiscord |
<wwar> And that will happen also when the player is falling and opens chat |
12:16 |
TenPlus1 |
crap, that changes a lot of things |
12:16 |
TenPlus1 |
I wonder why it does that |
12:16 |
MTDiscord |
<wwar> People dont usually minimize the app while falling.. |
12:17 |
MTDiscord |
<IhrFussel> You could call it client side pausing since everything that happens purely server side still works |
12:17 |
MTDiscord |
<IhrFussel> Like damage |
12:18 |
MTDiscord |
<IhrFussel> Maybe not while falling but players often switch to another app which triggers the same thing |
12:18 |
TenPlus1 |
hi fussel |
12:18 |
TenPlus1 |
it kinda breaks the game and mods it's running if it stops/pauses everything |
12:19 |
MTDiscord |
<IhrFussel> But that was already the case in 0.4.X IIRC |
12:20 |
MTDiscord |
<wwar> https://github.com/minetest/minetest/issues/10842 |
12:20 |
MTDiscord |
<wwar> The chat didnt used to pause the game before 5.0 if i recall correctly |
12:23 |
TenPlus1 |
I wouldnt mind the bug so much so long as there was a way mods could KNOW a player was paused, but as it is, it interferes with a few things |
12:24 |
MTDiscord |
<IhrFussel> Not sure, but back when I managed my server via mobile only for some time and typed a longer message the actions that I missed during typing played back to me in a sort of time lapse...I think that is linked to this issue |
12:25 |
MTDiscord |
<wwar> Well iirc it didnt used to stop falling (maybe im mistaken) |
12:26 |
MTDiscord |
<wwar> Well making the chat a window.. like inventory will fix it since inventory does not pause the game |
12:27 |
MTDiscord |
<IhrFussel> The chat on mobile is a formspec already |
12:27 |
MTDiscord |
<IhrFussel> The problem seems to be that MT somehow thinks the game needs to 'pause' when the OS displays the fullscreen keyboard |
12:27 |
MTDiscord |
<wwar> By the way, you know what exactly causes that |
12:27 |
MTDiscord |
<wwar> Its the small feed above keyboard that what you type appears in |
12:29 |
MTDiscord |
<wwar> There was a bug (kinda feature) in minetest 5.3.. when you open chat and tap in a place other than keyboard that small feed will dissapear which makes you have advantage like.. by pressing p you can enable/disable pitch move |
12:29 |
MTDiscord |
<wwar> Which android does not have a button for |
12:29 |
TenPlus1 |
android version needs some love |
12:29 |
MTDiscord |
<wwar> In that times i made 2 buttons for myself to change view range |
12:30 |
MTDiscord |
<IhrFussel> That is still present in 5.4 ... several players complained about weird fly movement recently |
12:30 |
MTDiscord |
<wwar> Sadly they didnt fix the not falling part but they fixed that.. i did accept it as a feature |
12:30 |
MTDiscord |
<IhrFussel> mobile players* |
12:30 |
MTDiscord |
<wwar> no? |
12:30 |
MTDiscord |
<wwar> Maybe their version is 5.3? |
12:31 |
MTDiscord |
<wwar> Because that got fixed in 5.4 |
12:31 |
MTDiscord |
<wwar> Also i didnt play the game in 5.2 age so maybe it existed that time too |
12:31 |
MTDiscord |
<IhrFussel> Or maybe MT cannot possibly account for every type of device and it still happens on some |
12:32 |
MTDiscord |
<wwar> I believe anything like that happens in an android version happens in all others because android didnt have as much work ad pc |
12:32 |
MTDiscord |
<wwar> Maybe that tho |
12:32 |
MTDiscord |
<IhrFussel> The only way to stop MT from updating on Android (when installed via Play Store) is to disable all updates |
12:33 |
MTDiscord |
<IhrFussel> There is no other way |
12:33 |
MTDiscord |
<wwar> As i have heared, they will make some improvement in 5.5 for android |
12:34 |
MTDiscord |
<wwar> I did suggest adding more options ingame like view range changer.. full chat.. pitch move buttons |
12:34 |
MTDiscord |
<IhrFussel> No, there were others bugs that only happened on high DPI mobile screens and things like that...regular screens were fine but those super high res ones suddenly didn't have the settings icon..it was offscreen |
12:34 |
TenPlus1 |
and hopefully sneak glitch fix to stop players going through blocks |
12:36 |
MTDiscord |
<wwar> Lol that one is funny |
12:38 |
MTDiscord |
<IhrFussel> MT got much worse problems than that...for example placing nodes in protected areas while disabling your internet connection for just a few secs |
12:39 |
MTDiscord |
<wwar> That one is unfixable |
12:39 |
MTDiscord |
<wwar> And wont affect protections |
12:39 |
TenPlus1 |
hopefully no-one does that, but wont the server catch up afterr reconnect ? |
12:39 |
MTDiscord |
<wwar> Ten teh point is that people who pass in others house etc |
12:39 |
MTDiscord |
<IhrFussel> Server side nothing happens but the user can reach any secret place that way |
12:40 |
MTDiscord |
<wwar> Fixing that will need to kick those who disconnect faster than now and that will result in kicking people with bad wifi |
12:40 |
TenPlus1 |
ohh right, disconnect, break all blocks in their way and get inside before reconnect (before timout90 |
12:41 |
MTDiscord |
<IhrFussel> Yeah...the only 'solution' is to set the placement prediction to 'air' and the dig prediction to the same node you dig |
12:41 |
TenPlus1 |
maybe having server-side loaded mods sent to client, so client can check for protection even when disconnceted |
12:41 |
MTDiscord |
<wwar> Time out takes too long, making it slower will result in ruining the game for people with bad wifi |
12:41 |
MTDiscord |
<IhrFussel> But that will look bad |
12:41 |
MTDiscord |
<wwar> Or maybe making the protected blocks undiggable |
12:42 |
MTDiscord |
<wwar> So you can never dig them, only people who are added in protection |
12:42 |
TenPlus1 |
if disconnected then player can dig any block without it checking for protection |
12:42 |
MTDiscord |
<wwar> That will need a check for every protected block tho |
12:42 |
MTDiscord |
<IhrFussel> MT got a node_dig_prediction = "air" which is applied to every node...you can modify it and it should also apply with no connection...but then digging will look super laggy |
12:43 |
MTDiscord |
<wwar> Yeah.. every possible fix will make it worse so every possible fix isnt a fix |
12:44 |
MTDiscord |
<IhrFussel> For placing it is node_placement_prediction = nil and nil means just predict the node you place...you could set that to air and then placed nodes would always appear a moment later only |
12:44 |
TenPlus1 |
you'd have to set that for every single node though |
12:45 |
MTDiscord |
<IhrFussel> Correct...you would also have to hope that you don't break any other prediction needs |
12:46 |
celeron55 |
there is a possible solution to the dig while disconnected glitch |
12:46 |
MTDiscord |
<IhrFussel> You know how nodes on a somewhat laggy server disappear for a split second at times when building a lot? I imagine it will lookj like that permanently |
12:46 |
celeron55 |
the anticheat has to do a node-by-node pathfind |
12:46 |
TenPlus1 |
hi celeron |
12:46 |
celeron55 |
to see if it was possible to move where the player moved or not |
12:47 |
MTDiscord |
<wwar> Wont that be.. laggy? |
12:47 |
TenPlus1 |
it can be :) disabled anticheat in-game which is why I use mod |
12:47 |
MTDiscord |
<wwar> I mean.. adding a check after every block that gets dug will be way worse than players who get in secret places |
12:48 |
TenPlus1 |
so long as those secret places have protected/locked chests etc. nothing can be stolen |
12:48 |
celeron55 |
it could allow digging a lot of blocks before enforcing anything, but it could immediately disallow interacting with chests for example |
12:48 |
celeron55 |
and then if the player did impossible things it could rollback the few blocks it found illegal |
12:50 |
MTDiscord |
<wwar> Not sure if its me or all of these sound laggy |
12:50 |
TenPlus1 |
ehe |
12:50 |
TenPlus1 |
the nocheat mod I'm working on only checks for flying without privs, the only bug left to sort is the android pause one that has players floating for no reason |
12:51 |
celeron55 |
you can do all that without making anything laggy |
12:51 |
MTDiscord |
<wwar> People can really keep their secret places deep enough so people will get suffocated ubtil reaching it with that bug |
12:51 |
MTDiscord |
<wwar> Until* |
12:51 |
MTDiscord |
<IhrFussel> Well the good news is that the distance check works well it seems...I just disabled connection for 20 secs, ran as far as I could (loaded mapblocks) and reconnected...and I was reset immediately |
12:51 |
MTDiscord |
<wwar> Or they can make them unsafe and not complain |
12:51 |
|
Toothless joined #minetest-hub |
12:52 |
TenPlus1 |
hi toothless |
12:52 |
MTDiscord |
<wwar> IhrFussel, that will affect people with bad wifi and ruin the game for them |
12:52 |
Toothless |
Hello |
12:52 |
MTDiscord |
<wwar> And in my opinion that is way worse than the bug itself |
12:52 |
MTDiscord |
<wwar> o/ |
12:53 |
TenPlus1 |
celeron55: do you know of a way to detect paused games ? or when players viewing formspec ? |
12:54 |
|
wwar joined #minetest-hub |
12:54 |
celeron55 |
i don't think the server knows about pausing the game, the client shouldn't be able to pause a multiplayer game anyway |
12:55 |
MTDiscord |
<wwar> thats what i thought |
12:55 |
MTDiscord |
<wwar> Was wondering why even pausing is needed in multiplayer |
12:55 |
MTDiscord |
<IhrFussel> Mobile players do though when typing into a formspec or switching to another app |
12:56 |
MTDiscord |
<wwar> yep, already made issue |
12:57 |
MTDiscord |
<IhrFussel> Maybe it was a choice back then to not overload the slow CPU of mobile devices while the app is 'idling' |
12:57 |
celeron55 |
not sure if all formspecs will send something when closed, if they don't then the server can't know if they're still open or not |
12:58 |
TenPlus1 |
does the same thing in singleplayer celeron55, jump in air and hit ESC to pause, you float |
12:58 |
TenPlus1 |
globalstep stops running |
12:58 |
MTDiscord |
<wwar> > Maybe it was a choice back then to not overload the slow CPU of mobile devices while the app is 'idling' Well i dont think so, i always keep discord and IRC minimized while playing mt and they dont affect |
12:58 |
celeron55 |
singleplayer can have and has pause obviously |
12:58 |
celeron55 |
the server pauses along with the client |
12:58 |
TenPlus1 |
but on server it's fine with pc's, only does the pause in android clients tho |
13:00 |
celeron55 |
anyway, definitely the best anticheat is something you write yourself for your own server. then nobody has time to learn how to cheat it or customize their hacked client to it because nobody else has the same anticheat |
13:00 |
celeron55 |
once everyone has the same anticheat then it becomes worth the effort to figure it out |
13:00 |
TenPlus1 |
true |
13:01 |
celeron55 |
well, of course until a foolproof one is made, but that might be never |
13:01 |
MTDiscord |
<wwar> Also its not wise to share the anticheat mode in cdb :þ |
13:02 |
MTDiscord |
<wwar> By the way, pressing the back button in android will pause the game but it will keep falling.. getting knkcked etc |
13:02 |
MTDiscord |
<wwar> Knocked* |
13:04 |
MTDiscord |
<wwar> I set my "paused menu" fps to 1 and it gets dropped when pressing back button, opening chat or minizing the app |
13:05 |
MTDiscord |
<IhrFussel> Last I checked only the keyboard screen causes this or minimizing the app causes this, so something somehow detects when the app is not in focus |
13:06 |
MTDiscord |
<wwar> https://cdn.discordapp.com/attachments/747163533212516474/853983848056094730/Screenshot_2021-06-14-16-10-16.png |
13:07 |
MTDiscord |
<IhrFussel> It could also be a builtin Android feature that was just not disabled for MT |
13:07 |
MTDiscord |
<wwar> Opning this window (in multiplayer too) will pause the game but players will keep falling and stuff |
13:08 |
celeron55 |
seems likely it's something adroid does by default |
13:08 |
celeron55 |
+n |
13:08 |
MTDiscord |
<IhrFussel> Cause pausing only happens in SP or if the client is also the server...the mobile issue is not about actual pausing...pausing was added recently |
13:09 |
MTDiscord |
<wwar> 'Pausing' was added recently.. i guess that means android menus already have a pause by default before adding pausing to minetest |
13:10 |
MTDiscord |
<wwar> So its probably the same thing |
13:10 |
MTDiscord |
<IhrFussel> I think we got our answer 'Developers can make their Android app run in background but they have add extra code for that. If not they will be paused. So it depends on the app/game maker.' https://www.reddit.com/r/chromeos/comments/8ipkiv/any_way_to_get_android_apps_to_stop_pausing_in/ |
13:11 |
MTDiscord |
<wwar> The question is: will they do? :thinkeyes: |
13:11 |
rubenwardy |
pausing is a specific term in Android, part of the process lifecycle |
13:12 |
rubenwardy |
it means the UI has entered a suspended state and will no longer be updated, it's desirable |
13:12 |
TenPlus1 |
hrm, isn there a way to get information from local client, something that changes that can be stored, and if the same or not able to get then game is paused ? |
13:12 |
rubenwardy |
? |
13:13 |
TenPlus1 |
I know we can get_gametime() |
13:13 |
TenPlus1 |
that's read from server tho |
13:13 |
rubenwardy |
that sentence doesn't parse, but I guess you're talking about on pause callbacks: the Java has `on_pause` and `on_resume`, this can be used to pause the game |
13:13 |
rubenwardy |
even if the server doesn't pause, you probably still want to open the pause menu and reduce resource usage |
13:15 |
TenPlus1 |
having a way to detect if local client is paused would be handy |
13:15 |
TenPlus1 |
some value or function a mod can read to be sure |
13:17 |
TenPlus1 |
I'm searching for a way to do that |
13:22 |
TenPlus1 |
wwar, you on android just now ? |
13:23 |
MTDiscord |
<wwar> yes |
13:24 |
TenPlus1 |
might need your help shortly, testing something :PP |
13:24 |
MTDiscord |
<IhrFussel> I guess the only way would be to start a background service on Android which continues to let the player fall/execute packets it receives from the server? But that needs to be exited the moment MT got its focus again so that the code doesn't run twice |
13:24 |
MTDiscord |
<IhrFussel> Sounds complicated to implement |
13:24 |
MTDiscord |
<wwar> Sure but @ me so i respond fast :þ |
13:25 |
TenPlus1 |
celeron55: does get_player_information() get it's data from server or client ? |
13:25 |
MTDiscord |
<IhrFussel> What I learned so far is that Android background services cannot display any graphics so it would be a separate code block that runs just during the 'pause state' |
13:26 |
MTDiscord |
<wwar> That and we dont have anything to check paused menus |
13:34 |
celeron55 |
TenPlus1: what do you mean |
13:35 |
celeron55 |
it's ran on the server and gives information the server has about the client, obviously |
13:35 |
TenPlus1 |
was hoping that player:get_player_information() would come from client, it doesnt |
13:38 |
TenPlus1 |
I need something that a mod can read from the client |
13:39 |
|
Lone_Wolf joined #minetest-hub |
13:39 |
TenPlus1 |
hi Lone_Wolf |
13:40 |
celeron55 |
well if something was directly read from the client, you'd see an asynchronous interface |
13:40 |
celeron55 |
i don't think the lua api has any |
13:40 |
TenPlus1 |
bummer |
13:42 |
TenPlus1 |
there's an idea for a new function in that case :) something to check a client is still active |
13:42 |
TenPlus1 |
and not timed out or paused |
13:44 |
MTDiscord |
<wwar> TenPlus1: i think i found a new way to trick the anticheat |
13:44 |
TenPlus1 |
hehe, you on server ? |
13:44 |
MTDiscord |
<wwar> You place a protector and hide it and jump+snkea |
13:44 |
MTDiscord |
<wwar> Yes |
13:44 |
MTDiscord |
<wwar> Sneak* |
13:45 |
TenPlus1 |
checking |
13:46 |
MTDiscord |
<wwar> Also forgot to mention, you can do sneak glitch and stuff with hidden protectors |
13:46 |
TenPlus1 |
hidden protector blocks arent walkable, sneak shouldnt work on them |
13:46 |
TenPlus1 |
cant reproduce that bug singleplayer |
13:47 |
MTDiscord |
<wwar> I did sneak glitch with them heh |
13:47 |
Lone_Wolf |
Late hai |
13:47 |
TenPlus1 |
nope, I dont get error |
13:47 |
TenPlus1 |
o/ |
13:48 |
MTDiscord |
<wwar> Hello there |
13:48 |
MTDiscord |
<wwar> https://cdn.discordapp.com/attachments/747163533212516474/853994216405467196/Screenshot_2021-06-14-16-51-20.png |
13:48 |
MTDiscord |
<wwar> There im just sneaking |
13:48 |
celeron55 |
TenPlus1: there could be a "time since last received packet" in minetest.get_player_information()'s result which would already be enough i think |
13:48 |
* TenPlus1 |
notices 30 bags of chips :P |
13:49 |
TenPlus1 |
it doesnt contain that line celeron55 |
13:49 |
celeron55 |
well that's why i said "could" |
13:50 |
TenPlus1 |
:P |
13:50 |
celeron55 |
you need to file an issue on github |
13:52 |
TenPlus1 |
yeah, will figure how to word it :) |
13:52 |
celeron55 |
the server already maintains the value in Peer::m_timeout_counter, it just needs some logistics to end up in the API result |
13:53 |
TenPlus1 |
storing it in player_information() would be very handy |
13:54 |
MTDiscord |
<wwar> Ten, i left the game, @me if you need me |
13:57 |
celeron55 |
the client will send the player position packet every 100ms so with a perfect connection the counter will count from 0 to 100ms and with anything worse it'll climb higher |
13:57 |
celeron55 |
...i can only imagine how horrible it generally looks |
13:57 |
celeron55 |
actually, it usually won't count to 100ms because there are other packets also |
13:58 |
celeron55 |
but anyway |
13:59 |
TenPlus1 |
it's like jumping down a rabbit hole just to check if a player's client is paused :) lol |
14:00 |
|
Lone_Wolf[m] joined #minetest-hub |
14:02 |
|
wsor4035 joined #minetest-hub |
14:02 |
TenPlus1 |
o/ |
14:07 |
TenPlus1 |
celeron55: would this suffice: https://github.com/minetest/minetest/issues/11346 |
14:45 |
|
Fixer joined #minetest-hub |
14:45 |
TenPlus1 |
wb |
14:58 |
TenPlus1 |
laters folks o/ |
15:00 |
MTDiscord |
<wwar> o/ |
16:44 |
|
CeeGee joined #minetest-hub |
20:12 |
|
sfan5 joined #minetest-hub |
23:19 |
|
three joined #minetest-hub |