using System.Collections.Generic;
using System.Threading.Tasks;
using System.Globalization;
public string Name { get; set; }
public bool Active { get; set; }
public string LastTimeActive { get; set; }
public string Command { get; set; }
public int IdSQL { get; set; }
public List<Server> ServerList { get; set; }
public static async Task sendLogPanel(string text)
using (var client = new HttpClient())
string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
HttpResponseMessage response = await client.GetAsync($"http://mg.zzz.com.ua/site/addLogCP.php?date={date}&text={text}");
Console.WriteLine("[Control Panel]: "+ text);
catch (HttpRequestException e)
static async Task Main(string[] args)
string getDirectory = "C:\\Users\\Administrator\\Desktop\\RakSAMPLite\\config\\servers.json";
string version = "beta 1.0";
Console.Title = "Control Panel";
Console.WriteLine("Control Panel: Вы вошли в панель управления как Администратор");
Console.WriteLine($"Control Panel: Текущая версия: {version}");
if (File.Exists(getDirectory))
string json = File.ReadAllText(getDirectory);
Servers servers = JsonConvert.DeserializeObject<Servers>(json);
foreach (Server server in servers.ServerList)
DateTime lastTimeActive = DateTime.ParseExact(server.LastTimeActive, "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture);
TimeSpan diff = DateTime.Now.Subtract(lastTimeActive);
if (diff.TotalSeconds > 120)
using (var client = new HttpClient())
HttpResponseMessage response = await client.GetAsync($"http://mg.zzz.com.ua/train/setState.php?pass=4f224g2g&id={server.IdSQL}&state=offline");
catch (HttpRequestException e)
string updatedJson = JsonConvert.SerializeObject(servers);
File.WriteAllText(getDirectory, updatedJson);
Console.WriteLine($"Сервер {server.Name} неактивен более 2 минут.");
using (var client = new HttpClient())
HttpResponseMessage response = await client.GetAsync($"http://mg.zzz.com.ua/site/getHandlerCmdTram.php");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
string[] responseData = responseBody.Split(':');
string getIdSQLBot = responseData[0];
string getServerSQLBot = responseData[1];
string getCommandBot = responseData[2];
string getStateBot = responseData[3];
Console.WriteLine("sendstats");
if (server.IdSQL == Convert.ToInt32(getIdSQLBot))
server.Command = Convert.ToString(getIdSQLBot);
else if (server.Name == getServerSQLBot)
server.Command = Convert.ToString(getIdSQLBot);
else if (getServerSQLBot == "all")
string updatedJson = JsonConvert.SerializeObject(servers);
File.WriteAllText(getDirectory, updatedJson);
HttpResponseMessage response1 = await client.GetAsync("http://mg.zzz.com.ua/site/setHandlerCmdStateTram.php?state=false");
catch (HttpRequestException e)
Console.WriteLine("Файл не найден.");