RefractorGSCM / Refractor

An open-source game server community manager built with Go.
https://refractor.dmas.dev
GNU General Public License v3.0
14 stars 1 forks source link

V0.4.0 bugs #47

Closed Deathay closed 3 years ago

Deathay commented 3 years ago

Hey,

  1. Force playerlist refresh does only show up for Super Admin, not other users. screenshot
  2. When warning a player the user is still selected (thought i have reported this earlier but couldn't find it :D). edit: I see that i posted it in Refractor-Svelte, my bad.
  3. When selecting in playerlist Warn, Mute, Kick or Ban and afterwards hit cancel it also does not deselect. (maybe that is supposed to be, not sure how you'd would like it).
  4. When deleting a Ban/Mute meanwhile one of the servers are offline will not push the command when the server has reestablished, i'm not sure if this is even possible to do, i don't think that's also a big issue but i wanted to tell you this if it was an easy fix or not, if not you can let it be as it is, seems to be hard to do so.
  5. When the Infraction Timespan ends, the name will not be uncolored, only if you refresh the playerlist OR webpage.

For the rest i'd have to say you did a great job so far for Refractor, it really has been improved in a fast time, thank you.

Deathay commented 3 years ago
  1. When deleting a Ban/Mute meanwhile one of the servers are offline will not push the command when the server has reestablished, i'm not sure if this is even possible to do, i don't think that's also a big issue but i wanted to tell you this if it was an easy fix or not, if not you can let it be as it is, seems to be hard to do so.

This can be ignored, i just have seen you can select ban on origin server. This means if the person comes on the other server it will start the remaining minutes what is left of the ban. So the unban issue won't be a problem if that person never joined that server which is offline.

dsnidr commented 3 years ago

I'll investigate the bugs mentioned.

Regarding number 4, it's possible to create a persistent command queue where commands which were unable to be executed can be kept and retried once a connection has been established.

However, I don't plan on implementing this because it would create significant issues for example, the following scenario:

  1. Ban a player for a week
  2. Server was offline so command couldn't be run
  3. Server stays offline for a week
  4. Server comes back online and the player's ban should be finished, but instead the queued ban command bans them for another week incorrectly.

This could be mitigated somewhat, but I don't think it's feasible or worth doing at this time. Besides, it's not really a big deal because we have mute and ban sync. If a player is banned but the server was offline so it couldn't be recorded, ban sync would just ban them for the right time next time they join.

dsnidr commented 3 years ago

Also regarding number 5, I believe that this behavior is fine. To broadcast threshold expiry we would either need to share the timestamps of all player infractions with the client (expensive to do), or have a routine which continuously checks if an infraction has moved past the time threshold and broadcast that (even more expensive to do).

There are likely simpler solutions which could be implemented, but I don't think the time required to fix this behavior would be worth it (at least not right now) since it's not inherently harmful to the user's experience. While having to reload isn't perfect, I don't really see this as a big deal because in most situations the time threshold will be 1+ days, and expecting a user to reload at least once per day is not unreasonable.

dsnidr commented 3 years ago

@Deathay I was unable to replicate number 1 on your list. I'm receiving the refreshed player list on a different, non-admin user.

Could you share the permissions of the user who isn't receiving the update? (base group permissions + group specific permissions)

dsnidr commented 3 years ago

I'm going to close this since I addressed everything you've mentioned and made it so the player menu closes after creating an infraction from the server page (version v0.4.1 of Refractor-Svelte).

If you can confirm that number 1 on your list is in fact happening, please create a new issue about it and provide more info. Thanks :)