diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm
index 396bbaafcfb..f1ec70544c0 100644
--- a/code/modules/admin/player_panel.dm
+++ b/code/modules/admin/player_panel.dm
@@ -337,10 +337,40 @@
dat += "Time limit: [config.midround_antag_time_check] minutes into round
"
dat += "Living crew limit: [config.midround_antag_life_check * 100]% of crew alive
"
dat += "If limits past: [ticker.mode.round_ends_with_antag_death ? "End The Round" : "Continue As Extended"]
"
-
- dat += "
"
dat += "End Round Now
"
- dat += "[ticker.delay_end ? "End Round Normally" : "Delay Round End"]
"
+ dat += "[ticker.delay_end ? "End Round Normally" : "Delay Round End"]"
+ var/connected_players = clients.len
+ var/lobby_players = 0
+ var/observers = 0
+ var/observers_connected = 0
+ var/living_players = 0
+ var/living_players_connected = 0
+ var/living_players_antagonist = 0
+ var/other_players = 0
+ for(var/mob/M in mob_list)
+ if(M.ckey)
+ if(isnewplayer(M))
+ lobby_players++
+ continue
+ else if(M.stat != DEAD && M.mind && !isbrain(M))
+ living_players++
+ if(M.mind.special_role)
+ living_players_antagonist++
+ if(M.client)
+ living_players_connected++
+ else if((M.stat == DEAD )||(isobserver(M)))
+ observers++
+ if(M.client)
+ observers_connected++
+ else
+ other_players += M
+ dat += "
Players:|[connected_players - lobby_players] ingame|[connected_players] connected|[lobby_players] lobby|"
+ dat += "
Living Players:|[living_players_connected] active|[living_players - living_players_connected] disconnected|[living_players_antagonist] antagonists|"
+ dat += "
Dead/Observing players:|[observers_connected] active|[observers - observers_connected] disconnected|"
+ if(other_players)
+ dat += "
[other_players] players in invalid state or the statistics code is bugged!"
+ dat += "
"
+
if(ticker.mode.syndicates.len)
dat += "
| Syndicates |