/client/proc/view_instances()
set name = "View Server Instances"
set desc = "View the running server instances"
set category = "Server"
if(!check_rights(R_ADMIN))
return
to_chat(usr, "Server instances info")
var/datum/db_query/dbq1 = SSdbcore.NewQuery({"
SELECT server_id, key_name, key_value FROM instance_data_cache WHERE server_id IN
(SELECT server_id FROM instance_data_cache WHERE
key_name='heartbeat' AND last_updated BETWEEN NOW() - INTERVAL 60 SECOND AND NOW())
AND key_name IN ("playercount")"})
if(!dbq1.warn_execute())
qdel(dbq1)
return
var/servers_outer = list()
while(dbq1.NextRow())
if(!servers_outer[dbq1.item[1]])
servers_outer[dbq1.item[1]] = list()
servers_outer[dbq1.item[1]][dbq1.item[2]] = dbq1.item[3] // This should assoc load our data
qdel(dbq1)
for(var/server in servers_outer)
var/server_data = servers_outer[server]
var/players = text2num(server_data["playercount"])
to_chat(usr, "[server] - [players] player[players == 1 ? "" : "s"] online.")
to_chat(usr, "Offline instances are not reported")