Minetest logo

IRC log for #minetest-hub, 2021-06-14

| Channels | #minetest-hub index | Today | | Google Search | Plaintext

All times shown according to UTC.

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

| Channels | #minetest-hub index | Today | | Google Search | Plaintext