using System.Collections.Generic;
private static bool _running;
public static void Main()
string input = Console.ReadLine();
Console.WriteLine("Application exited.");
public static class DataManager
const string ConnectionUri = "mongodb+srv://ClientServerListAccess:9YL5bwHdxqiQzpGl@player.68kbbxr.mongodb.net/?retryWrites=true&w=majority&appName=Player";
private static MongoClient Client;
public static void Connect ()
var settings = MongoClientSettings.FromConnectionString(ConnectionUri);
settings.ServerApi = new ServerApi(ServerApiVersion.V1);
Client = new MongoClient(settings);
var result = Client.GetDatabase("main").RunCommand<BsonDocument>(new BsonDocument("ping", 1));
Console.WriteLine("Pinged your deployment. You successfully connected to MongoDB!" + " ");
DataManager.GetServerInfo();
public static List<ServerInfo> GetServerInfo ()
List<ServerInfo> servers = new List<ServerInfo>();
var list = Client.GetDatabase("main").GetCollection<BsonDocument>("serverlist").Find(_ => true).ToList();
foreach (var doc in list)
servers.Add(doc.ToServerInfo());
static ServerInfo ToServerInfo (this BsonDocument doc)
ServerInfo info = new ServerInfo();
info.Name = doc.GetValue("Name").ToString();
info.Address = doc.GetValue("Address").ToString();
info.ConnectionMax = doc.GetValue("Connections").ToInt32();
info.Uptime = doc.GetValue("Uptime").ToInt64();
info.Status = doc.GetValue("Online").ToBoolean();
info.Players = doc.GetValue("PlayerCount").ToInt32();
info.OS = doc.GetValue("OS").ToString();
public int ConnectionMax;