Page 1 of 1

[0.17.54] Last online column in Admin's Player management UI is defective

Posted: Sat Jul 06, 2019 3:53 am
by Caaaaarrrrlll
I have noticed that while running the Factorio server, when I type /admin to have the Player management UI show, there is a column called "Last online", which seems to never be completely accurate.

It's sometimes accurate, but for instance, it will say certain players are online when they clearly are not visible anywhere on the map nor have they been online for days. In another example, it says I have been offline for 28 hours but clearly I am online since I'm the one screenshotting this. I then had one of my friends log in and it even further proves the defective feature for them as it shows them as being offline for 6 hours.

I rebooted the daemon and one player was no longer shown as online, but another was still shown online, despite the process being completely shutdown and restarted; there's absolutely no socket in use for the user that is shown as online.

In case it matters, yes I am aware the last online time is relative to the map's progression in time, not real world time; if the map is paused, time will not move forward for the last online column. However, clearly there's an issue with it showing some users as online or not.

Image

Image

Image

Factorio server version 0.17.54
Linux kernel 5.1.12-300.fc30.x86_64

Re: [0.17.54] Last online column in Admin's Player management UI is defective

Posted: Sat Jul 06, 2019 12:32 pm
by Rseding91
Thanks for the report. The column is a "best guess" and will never be accurate. This was known when it was put in and we aren't going to be changing it because it's simply not possible to know when someone was last online due to real-world time stamps not being available in the simulation due to determinism.

At best, we would just remove it.

Re: [0.17.54] Last online column in Admin's Player management UI is defective

Posted: Sun Jul 07, 2019 5:03 am
by maethor1337
Registered to reply to this topic. A big part of the bug is that admins might look at this list to see who is currently online. The dialog accurately reports the number of online people, but in the list there are users listed as currently online who are not online, and people who are online are listed as last online some time ago.

I'd expect that the code rendering the dialog can find the list of currently active users. If maintaining a last seen time is difficult, it could at least scan the currently online list for corrections.

Code: Select all

  for player in recentPlayers {
    if currentlyOnlinePlayers.contains(player) {
      player.lastSeen = NOW
    } else if player.lastSeen == NOW && !currentlyOnlinePlayers.contains(player) {
      player.lastSeen = NEVER
    }
  }
In its current incarnation, the list is very misleading and possibly entirely incorrect. If it's too much work to fix it, I would lobby for its removal and replacement with a simple listing of whether the player is currently online.

Re: [0.17.54] Last online column in Admin's Player management UI is defective

Posted: Sun Aug 04, 2019 4:37 am
by Caaaaarrrrlll
Bugs in the won't fix forum get ignored, it appears. Fantastic /s

Re: [0.17.54] Last online column in Admin's Player management UI is defective

Posted: Sun Aug 04, 2019 5:23 am
by Rseding91
Caaaaarrrrlll wrote: Sun Aug 04, 2019 4:37 am Bugs in the won't fix forum get ignored, it appears. Fantastic /s
Won't fix is won't fix.