spring / uberserver

uberserver, a matchmaking/chat lobby server for the spring rts project
https://springrts.com/wiki/Uberserver
Other
33 stars 38 forks source link

bot accounts can expire #393

Open TurBoss opened 2 years ago

TurBoss commented 2 years ago

could this time be extended to maybe 1 year?

thanks

abma commented 2 years ago

weird, from what i read here, bots should be kept forever:

https://github.com/spring/uberserver/blob/e63fee427136e5bafc1b20c8c984a5c348bc6624/SQLUsers.py#L692

abma commented 2 years ago

are you sure the user account had the botflag set?

TurBoss commented 2 years ago

Hello,

this account was created with the CREATEBOTACCOUNT command

TurBoss commented 2 years ago

found this https://github.com/spring/uberserver/blob/e63fee427136e5bafc1b20c8c984a5c348bc6624/SQLUsers.py#L710

abma commented 2 years ago

hm, not sure how cleanly solve this.

i guess there needs to be a "task" which checks which users are online and write this to db.

the cleanup / audit thing then should also take this into account to ignore users which where recently online.

abma commented 2 years ago

as springrts.com server is automaticly rebooted after a (automatic) kernel update, IMHO 365 days should be enough to never be hit.

i leave this open, as there is only a workarround active

Are-s commented 2 years ago

hi please remove botflags or make botflag support up to 8v8 instead of 4v4 - all community use latest engine and this policy now punishes hard working people trying to provide hosts to support Spring

Are-s commented 2 years ago

when i say remove botflags i dont mean "remove inactive botflags" - I mean remove the botflag code or grant 8v8 botflag by default. The botflag idea was created in 2017 to force players onto BA10 by manipulating engine devs, and every day it exists causes more harm to this community.

image

silentwings commented 1 year ago

My dev envir is long gone, but imo the best way to fix this bug (which was my fault) would be to exclude logged in users from the effect of audit_access. Iirc can check if the user(name) is online within the for loops and continue if so.

abma commented 1 year ago

My dev envir is long gone, but imo the best way to fix this bug (which was my fault) would be to exclude logged in users from the effect of audit_access. Iirc can check if the user(name) is online within the for loops and continue if so.

i guess thats not enough: IMHO a correct fix would be a task which is run by timer (daily) which updates last_login (or a new attribute like last_online).

i.e. think about the server going offline, server is going up again, the audit task is run. (the risk is pretty low as long as the host of uberserver is restarted because of kernel updates)

silentwings commented 1 year ago

Hm, you are right https://github.com/spring/uberserver/blob/cc4155c3b45e8189100d9dd9097a9aa04c0eb3ec/server.py#L59 will execute the looping call the first time during boot.