mirror of
https://github.com/DaKerboul/perun.git
synced 2026-08-09 19:55:40 +02:00
Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8b7abc41c | ||
|
|
7270ff8bab | ||
|
|
ed8ed6d62a | ||
|
|
9b54a0be8d | ||
|
|
becbce25c0 | ||
|
|
7c1b533d79 | ||
|
|
6c10f5bace | ||
|
|
c2b5f6258b | ||
|
|
61d2a1b16e | ||
|
|
7f9a74f57b | ||
|
|
0385aa8ee5 | ||
|
|
6423f6534c | ||
|
|
ddd72adea3 | ||
|
|
a6e809a3b1 | ||
|
|
c01d5da10f | ||
|
|
087dbe84af | ||
|
|
078ba09cc7 | ||
|
|
14c5a8896f | ||
|
|
57f90954d3 | ||
|
|
a341d06dc8 | ||
|
|
75f1e0d316 | ||
|
|
4bd536f556 | ||
|
|
fcdf6ed0be | ||
|
|
6d64f7f6e0 | ||
|
|
5b0ee02e11 | ||
|
|
55fe32f0fd | ||
|
|
ec1d6b3a5e |
File diff suppressed because it is too large
Load Diff
@@ -21,7 +21,6 @@ public class DatabaseController
|
|||||||
string TCPFrameTimestamp = TCPFrame.timestamp;
|
string TCPFrameTimestamp = TCPFrame.timestamp;
|
||||||
string TCPFrameInstance = TCPFrame.instance;
|
string TCPFrameInstance = TCPFrame.instance;
|
||||||
string TCPFramePayload;
|
string TCPFramePayload;
|
||||||
string TCPFramePayload_Perun;
|
|
||||||
string SQLQueryTxt;
|
string SQLQueryTxt;
|
||||||
int ReturnValue = 1;
|
int ReturnValue = 1;
|
||||||
|
|
||||||
@@ -64,16 +63,13 @@ public class DatabaseController
|
|||||||
else if (TCPFrameType == "52")
|
else if (TCPFrameType == "52")
|
||||||
{
|
{
|
||||||
// Update user stats
|
// Update user stats
|
||||||
TCPFramePayload = JsonConvert.SerializeObject(TCPFrame.payload.stat_data_dcs); // Deserialize payload
|
|
||||||
TCPFramePayload_Perun = JsonConvert.SerializeObject(TCPFrame.payload.stat_data_perun); // Deserialize payload
|
|
||||||
|
|
||||||
SQLQueryTxt = "INSERT INTO `pe_DataMissionHashes` (`pe_DataMissionHashes_hash`,`pe_DataMissionHashes_instance`) SELECT '" + TCPFrame.payload.stat_missionhash + "','" + TCPFrameInstance + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataMissionHashes` where `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + ");";
|
SQLQueryTxt = "INSERT INTO `pe_DataMissionHashes` (`pe_DataMissionHashes_hash`,`pe_DataMissionHashes_instance`) SELECT '" + TCPFrame.payload.stat_missionhash + "','" + TCPFrameInstance + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataMissionHashes` where `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + ");";
|
||||||
SQLQueryTxt += "UPDATE `pe_DataMissionHashes` SET `pe_DataMissionHashes_datetime` = " + TCPFrameTimestamp + " WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + " ;";
|
SQLQueryTxt += "UPDATE `pe_DataMissionHashes` SET `pe_DataMissionHashes_datetime` = " + TCPFrameTimestamp + " WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + " ;";
|
||||||
SQLQueryTxt += "INSERT INTO `pe_DataPlayers` (`pe_DataPlayers_ucid`) SELECT '" + TCPFrame.payload.stat_ucid + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataPlayers` where `pe_DataPlayers_ucid` = '" + TCPFrame.payload.stat_ucid + "');";
|
SQLQueryTxt += "INSERT INTO `pe_DataPlayers` (`pe_DataPlayers_ucid`) SELECT '" + TCPFrame.payload.stat_ucid + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataPlayers` where `pe_DataPlayers_ucid` = '" + TCPFrame.payload.stat_ucid + "');";
|
||||||
SQLQueryTxt += "UPDATE `pe_DataPlayers` SET `pe_DataPlayers_updated`=" + TCPFrameTimestamp + " WHERE `pe_DataPlayers_ucid`='" + TCPFrame.payload.stat_ucid + "';";
|
SQLQueryTxt += "UPDATE `pe_DataPlayers` SET `pe_DataPlayers_updated`=" + TCPFrameTimestamp + " WHERE `pe_DataPlayers_ucid`='" + TCPFrame.payload.stat_ucid + "';";
|
||||||
SQLQueryTxt += "INSERT INTO `pe_DataTypes` (`pe_DataTypes_name`) SELECT '" + TCPFrame.payload.stat_data_type + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataTypes` where `pe_DataTypes_name` = '" + TCPFrame.payload.stat_data_type + "');";
|
SQLQueryTxt += "INSERT INTO `pe_DataTypes` (`pe_DataTypes_name`) SELECT '" + TCPFrame.payload.stat_data_type + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataTypes` where `pe_DataTypes_name` = '" + TCPFrame.payload.stat_data_type + "');";
|
||||||
SQLQueryTxt += "INSERT INTO `pe_LogStats` (`pe_LogStats_playerid`,`pe_LogStats_missionhash_id`,`pe_LogStats_typeid`) SELECT (SELECT `pe_DataPlayers_id` from `pe_DataPlayers` WHERE `pe_DataPlayers_ucid` = '" + TCPFrame.payload.stat_ucid + "'), (SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "'), (SELECT pe_DataTypes_id FROM `pe_DataTypes` where `pe_DataTypes_name` = '" + TCPFrame.payload.stat_data_type + "') FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_LogStats` WHERE `pe_LogStats_missionhash_id`=(SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "') AND `pe_LogStats_playerid` = (SELECT `pe_DataPlayers_id` from `pe_DataPlayers` WHERE `pe_DataPlayers_ucid` = '" + TCPFrame.payload.stat_ucid + "') AND `pe_LogStats_typeid`= (SELECT pe_DataTypes_id FROM `pe_DataTypes` where `pe_DataTypes_name` = '" + TCPFrame.payload.stat_data_type + "'));";
|
SQLQueryTxt += "INSERT INTO `pe_LogStats` (`pe_LogStats_playerid`,`pe_LogStats_missionhash_id`,`pe_LogStats_typeid`) SELECT (SELECT `pe_DataPlayers_id` from `pe_DataPlayers` WHERE `pe_DataPlayers_ucid` = '" + TCPFrame.payload.stat_ucid + "'), (SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "'), (SELECT pe_DataTypes_id FROM `pe_DataTypes` where `pe_DataTypes_name` = '" + TCPFrame.payload.stat_data_type + "') FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_LogStats` WHERE `pe_LogStats_missionhash_id`=(SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "') AND `pe_LogStats_playerid` = (SELECT `pe_DataPlayers_id` from `pe_DataPlayers` WHERE `pe_DataPlayers_ucid` = '" + TCPFrame.payload.stat_ucid + "') AND `pe_LogStats_typeid`= (SELECT pe_DataTypes_id FROM `pe_DataTypes` where `pe_DataTypes_name` = '" + TCPFrame.payload.stat_data_type + "'));";
|
||||||
SQLQueryTxt += "UPDATE `pe_LogStats` SET `ps_kills_fortification`=" + TCPFrame.payload.stat_data_perun.ps_kills_fortification + ",`ps_other_landings`=" + TCPFrame.payload.stat_data_perun.ps_other_landings + ",`ps_other_takeoffs`=" + TCPFrame.payload.stat_data_perun.ps_other_takeoffs + ",`ps_pvp`=" + TCPFrame.payload.stat_data_perun.ps_pvp + ",`ps_deaths`=" + TCPFrame.payload.stat_data_perun.ps_deaths + ",`ps_ejections`=" + TCPFrame.payload.stat_data_perun.ps_ejections + ",`ps_crashes`=" + TCPFrame.payload.stat_data_perun.ps_crashes + ",`ps_teamkills`=" + TCPFrame.payload.stat_data_perun.ps_teamkills + ",`ps_kills_planes`=" + TCPFrame.payload.stat_data_perun.ps_kills_planes + ",`ps_kills_helicopters`=" + TCPFrame.payload.stat_data_perun.ps_kills_helicopters + ",`ps_kills_air_defense`=" + TCPFrame.payload.stat_data_perun.ps_kills_air_defense + ",`ps_kills_armor`=" + TCPFrame.payload.stat_data_perun.ps_kills_armor + ",`ps_kills_unarmed`=" + TCPFrame.payload.stat_data_perun.ps_kills_unarmed + ",`ps_kills_infantry`=" + TCPFrame.payload.stat_data_perun.ps_kills_infantry + ",`ps_kills_ships`=" + TCPFrame.payload.stat_data_perun.ps_kills_ships + ",`ps_kills_other`=" + TCPFrame.payload.stat_data_perun.ps_kills_other + ",`ps_airfield_takeoffs`=" + TCPFrame.payload.stat_data_perun.ps_airfield_takeoffs + ",`ps_airfield_landings`=" + TCPFrame.payload.stat_data_perun.ps_airfield_landings + ",`ps_ship_takeoffs`=" + TCPFrame.payload.stat_data_perun.ps_ship_takeoffs + ",`ps_ship_landings`=" + TCPFrame.payload.stat_data_perun.ps_ship_landings + ",`ps_farp_takeoffs`=" + TCPFrame.payload.stat_data_perun.ps_farp_takeoffs + ",`ps_farp_landings`=" + TCPFrame.payload.stat_data_perun.ps_farp_landings + ", `pe_LogStats_datetime`='" + TCPFrame.payload.stat_datetime + "',`pe_LogStats_playerid` = (SELECT `pe_DataPlayers_id` from `pe_DataPlayers` WHERE `pe_DataPlayers_ucid` = '" + TCPFrame.payload.stat_ucid + "'),`pe_LogStats_missionhash_id`=(SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "') WHERE `pe_LogStats_missionhash_id`=(SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "') AND `pe_LogStats_playerid` = (SELECT `pe_DataPlayers_id` from `pe_DataPlayers` WHERE `pe_DataPlayers_ucid` = '" + TCPFrame.payload.stat_ucid + "') AND `pe_LogStats_typeid`=(SELECT pe_DataTypes_id FROM `pe_DataTypes` where `pe_DataTypes_name` = '" + TCPFrame.payload.stat_data_type + "');";
|
SQLQueryTxt += "UPDATE `pe_LogStats` SET `pe_LogStats_seat`=" + TCPFrame.payload.stat_data_subslot + ",`pe_LogStats_masterslot`=" + TCPFrame.payload.stat_data_masterslot + ",`ps_kills_fortification`=" + TCPFrame.payload.stat_data_perun.ps_kills_fortification + ",`ps_other_landings`=" + TCPFrame.payload.stat_data_perun.ps_other_landings + ",`ps_other_takeoffs`=" + TCPFrame.payload.stat_data_perun.ps_other_takeoffs + ",`ps_pvp`=" + TCPFrame.payload.stat_data_perun.ps_pvp + ",`ps_deaths`=" + TCPFrame.payload.stat_data_perun.ps_deaths + ",`ps_ejections`=" + TCPFrame.payload.stat_data_perun.ps_ejections + ",`ps_crashes`=" + TCPFrame.payload.stat_data_perun.ps_crashes + ",`ps_teamkills`=" + TCPFrame.payload.stat_data_perun.ps_teamkills + ",`ps_kills_planes`=" + TCPFrame.payload.stat_data_perun.ps_kills_planes + ",`ps_kills_helicopters`=" + TCPFrame.payload.stat_data_perun.ps_kills_helicopters + ",`ps_kills_air_defense`=" + TCPFrame.payload.stat_data_perun.ps_kills_air_defense + ",`ps_kills_armor`=" + TCPFrame.payload.stat_data_perun.ps_kills_armor + ",`ps_kills_unarmed`=" + TCPFrame.payload.stat_data_perun.ps_kills_unarmed + ",`ps_kills_infantry`=" + TCPFrame.payload.stat_data_perun.ps_kills_infantry + ",`ps_kills_ships`=" + TCPFrame.payload.stat_data_perun.ps_kills_ships + ",`ps_kills_other`=" + TCPFrame.payload.stat_data_perun.ps_kills_other + ",`ps_airfield_takeoffs`=" + TCPFrame.payload.stat_data_perun.ps_airfield_takeoffs + ",`ps_airfield_landings`=" + TCPFrame.payload.stat_data_perun.ps_airfield_landings + ",`ps_ship_takeoffs`=" + TCPFrame.payload.stat_data_perun.ps_ship_takeoffs + ",`ps_ship_landings`=" + TCPFrame.payload.stat_data_perun.ps_ship_landings + ",`ps_farp_takeoffs`=" + TCPFrame.payload.stat_data_perun.ps_farp_takeoffs + ",`ps_farp_landings`=" + TCPFrame.payload.stat_data_perun.ps_farp_landings + ", `pe_LogStats_datetime`='" + TCPFrame.payload.stat_datetime + "',`pe_LogStats_playerid` = (SELECT `pe_DataPlayers_id` from `pe_DataPlayers` WHERE `pe_DataPlayers_ucid` = '" + TCPFrame.payload.stat_ucid + "'),`pe_LogStats_missionhash_id`=(SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "') WHERE `pe_LogStats_missionhash_id`=(SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.stat_missionhash + "') AND `pe_LogStats_playerid` = (SELECT `pe_DataPlayers_id` from `pe_DataPlayers` WHERE `pe_DataPlayers_ucid` = '" + TCPFrame.payload.stat_ucid + "') AND `pe_LogStats_typeid`=(SELECT pe_DataTypes_id FROM `pe_DataTypes` where `pe_DataTypes_name` = '" + TCPFrame.payload.stat_data_type + "');";
|
||||||
}
|
}
|
||||||
else if (TCPFrameType == "53")
|
else if (TCPFrameType == "53")
|
||||||
{
|
{
|
||||||
@@ -180,19 +176,30 @@ public class DatabaseController
|
|||||||
{
|
{
|
||||||
case 1042: // Unable to connect to any of the specified MySQL hosts (Check Server,Port)
|
case 1042: // Unable to connect to any of the specified MySQL hosts (Check Server,Port)
|
||||||
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - unable to connect, error: " + m_ex.Message,1,1, TCPFrameType);
|
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - unable to connect, error: " + m_ex.Message,1,1, TCPFrameType);
|
||||||
|
DatabaseStatus = false;
|
||||||
|
ReturnValue = 0;
|
||||||
break;
|
break;
|
||||||
case 0: // Access denied (Check DB name,username,password)
|
case 0: // Access denied (Check DB name,username,password)
|
||||||
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - access denied, error: " + m_ex.Message,1,1, TCPFrameType);
|
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - access denied, error: " + m_ex.Message,1,1, TCPFrameType);
|
||||||
|
DatabaseStatus = false;
|
||||||
|
ReturnValue = 0;
|
||||||
|
break;
|
||||||
|
case 1064: // Incorrect query
|
||||||
|
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - query: " + SQLQueryTxt, 1, 1, TCPFrameType);
|
||||||
|
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - error: " + m_ex.Message, 1, 1, TCPFrameType);
|
||||||
|
DatabaseStatus = true; // True as connection is not broken
|
||||||
|
ReturnValue = 1; // Return a value to remove this query from quae
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - error id: " + m_ex.Number,1,1, TCPFrameType);
|
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - error id: " + m_ex.Number,1,1, TCPFrameType);
|
||||||
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - query: " + SQLQueryTxt, 1, 1, TCPFrameType);
|
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - query: " + SQLQueryTxt, 1, 1, TCPFrameType);
|
||||||
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - error: " + m_ex.Message,1,1, TCPFrameType);
|
PerunHelper.AddLog(ref Globals.AppLogHistory, "ERROR MySQL - error: " + m_ex.Message,1,1, TCPFrameType);
|
||||||
|
DatabaseStatus = false;
|
||||||
|
ReturnValue = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Globals.ErrorsGame++;
|
Globals.ErrorsGame++;
|
||||||
DatabaseStatus = false;
|
|
||||||
ReturnValue = 0;
|
|
||||||
}
|
}
|
||||||
DatabaseConnection.Close();
|
DatabaseConnection.Close();
|
||||||
Console.WriteLine("Sending data to MySQL - Done");
|
Console.WriteLine("Sending data to MySQL - Done");
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ internal class PerunHelper
|
|||||||
|
|
||||||
public static int CheckVersions()
|
public static int CheckVersions()
|
||||||
{
|
{
|
||||||
|
#if !DEBUG
|
||||||
// Checks the versions of APP, DCS Hook and MySQL database
|
// Checks the versions of APP, DCS Hook and MySQL database
|
||||||
Match match = Regex.Match(Globals.VersionPerun, @"^\d+.\d+.\d+", RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
Match match = Regex.Match(Globals.VersionPerun, @"^\d+.\d+.\d+", RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
||||||
string VersionApp = "v" + match.Groups[0].Value;
|
string VersionApp = "v" + match.Groups[0].Value;
|
||||||
@@ -90,5 +91,8 @@ internal class PerunHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
return ReturnValue;
|
return ReturnValue;
|
||||||
|
#else
|
||||||
|
return 1;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -506,46 +506,40 @@ namespace Perun_v1
|
|||||||
ExtSRSJson = System.IO.File.ReadAllText(con_txt_3rd_srs.Text);
|
ExtSRSJson = System.IO.File.ReadAllText(con_txt_3rd_srs.Text);
|
||||||
dynamic raw_lotatc = JsonConvert.DeserializeObject(ExtSRSJson);
|
dynamic raw_lotatc = JsonConvert.DeserializeObject(ExtSRSJson);
|
||||||
|
|
||||||
for (int i = 0; i < raw_lotatc.Count; i++)
|
for (int i = 0; i < raw_lotatc.Clients.Count; i++)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (raw_lotatc[i].RadioInfo != null)
|
if (raw_lotatc.Clients[i].RadioInfo != null)
|
||||||
{
|
{
|
||||||
|
|
||||||
int temp = raw_lotatc[i].RadioInfo.radios.Count - 1;
|
int temp = raw_lotatc.Clients[i].RadioInfo.radios.Count - 1;
|
||||||
for (int j = temp; j >= 0; j--)
|
for (int j = temp; j >= 0; j--)
|
||||||
{
|
{
|
||||||
raw_lotatc[i].RadioInfo.radios[j].enc.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].enc.Parent.Remove();
|
||||||
raw_lotatc[i].RadioInfo.radios[j].encKey.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].encKey.Parent.Remove();
|
||||||
raw_lotatc[i].RadioInfo.radios[j].encMode.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].encMode.Parent.Remove();
|
||||||
raw_lotatc[i].RadioInfo.radios[j].freqMax.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].freqMax.Parent.Remove();
|
||||||
raw_lotatc[i].RadioInfo.radios[j].freqMin.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].freqMin.Parent.Remove();
|
||||||
raw_lotatc[i].RadioInfo.radios[j].modulation.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].modulation.Parent.Remove();
|
||||||
raw_lotatc[i].RadioInfo.radios[j].freqMode.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].freqMode.Parent.Remove();
|
||||||
raw_lotatc[i].RadioInfo.radios[j].volMode.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].volMode.Parent.Remove();
|
||||||
raw_lotatc[i].RadioInfo.radios[j].expansion.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].expansion.Parent.Remove();
|
||||||
raw_lotatc[i].RadioInfo.radios[j].channel.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].channel.Parent.Remove();
|
||||||
raw_lotatc[i].RadioInfo.radios[j].simul.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].simul.Parent.Remove();
|
||||||
|
|
||||||
if (raw_lotatc[i].RadioInfo.radios[j].name == "No Radio")
|
if (raw_lotatc.Clients[i].RadioInfo.radios[j].name == "No Radio")
|
||||||
{
|
{
|
||||||
raw_lotatc[i].RadioInfo.radios[j].Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].Remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
raw_lotatc[i].ClientChannelId.Parent.Remove();
|
raw_lotatc.Clients[i].ClientChannelId.Parent.Remove();
|
||||||
raw_lotatc[i].RadioInfo.simultaneousTransmission.Parent.Remove();
|
raw_lotatc.Clients[i].RadioInfo.simultaneousTransmission.Parent.Remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (raw_lotatc.Count > 0)
|
ExtSRSJson = JsonConvert.SerializeObject(raw_lotatc);
|
||||||
{
|
ExtSRSJson = "{'type':'100','instance':'" + Int32.Parse(con_txt_dcs_instance.Text) + "','payload':'" + ExtSRSJson + "'}";
|
||||||
ExtSRSJson = JsonConvert.SerializeObject(raw_lotatc);
|
|
||||||
ExtSRSJson = "{'type':'100','instance':'" + Int32.Parse(con_txt_dcs_instance.Text) + "','payload':'" + ExtSRSJson + "'}";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ExtSRSJson = "{'type':'100','instance':'" + Int32.Parse(con_txt_dcs_instance.Text) + "','payload':{'ignore':'false'}}"; // No SRS clients connected
|
|
||||||
}
|
|
||||||
ExtSRSUseDefault = false;
|
ExtSRSUseDefault = false;
|
||||||
PerunHelper.AddLog(ref Globals.AppLogHistory, "SRS data loaded", 3, 0, "100", true);
|
PerunHelper.AddLog(ref Globals.AppLogHistory, "SRS data loaded", 3, 0, "100", true);
|
||||||
ExtSRSStatus = true;
|
ExtSRSStatus = true;
|
||||||
|
|||||||
@@ -12,29 +12,27 @@
|
|||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
<Deterministic>true</Deterministic>
|
<Deterministic>true</Deterministic>
|
||||||
<IsWebBootstrapper>true</IsWebBootstrapper>
|
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
<PublishUrl>ftp://s18.mydevil.net/perun/</PublishUrl>
|
<PublishUrl>C:\Users\DCS\Desktop\Perun\</PublishUrl>
|
||||||
<Install>true</Install>
|
<Install>true</Install>
|
||||||
<InstallFrom>Web</InstallFrom>
|
<InstallFrom>Disk</InstallFrom>
|
||||||
<UpdateEnabled>true</UpdateEnabled>
|
<UpdateEnabled>false</UpdateEnabled>
|
||||||
<UpdateMode>Foreground</UpdateMode>
|
<UpdateMode>Foreground</UpdateMode>
|
||||||
<UpdateInterval>7</UpdateInterval>
|
<UpdateInterval>7</UpdateInterval>
|
||||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||||
<UpdatePeriodically>false</UpdatePeriodically>
|
<UpdatePeriodically>false</UpdatePeriodically>
|
||||||
<UpdateRequired>false</UpdateRequired>
|
<UpdateRequired>false</UpdateRequired>
|
||||||
<MapFileExtensions>true</MapFileExtensions>
|
<MapFileExtensions>true</MapFileExtensions>
|
||||||
<InstallUrl>http://share.porwolik.com/ftp/perun/</InstallUrl>
|
|
||||||
<SupportUrl>https://github.com/szporwolik/perun</SupportUrl>
|
<SupportUrl>https://github.com/szporwolik/perun</SupportUrl>
|
||||||
<ErrorReportUrl>https://github.com/szporwolik/perun</ErrorReportUrl>
|
<ErrorReportUrl>https://github.com/szporwolik/perun</ErrorReportUrl>
|
||||||
<TargetCulture>en</TargetCulture>
|
<TargetCulture>en</TargetCulture>
|
||||||
<ProductName>Perun for DCS World</ProductName>
|
<ProductName>Perun for DCS World</ProductName>
|
||||||
<PublisherName>szporwolik</PublisherName>
|
<PublisherName>szporwolik</PublisherName>
|
||||||
<SuiteName>Perun</SuiteName>
|
<SuiteName>Perun</SuiteName>
|
||||||
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
|
||||||
<WebPage>Perun.htm</WebPage>
|
<WebPage>Perun.htm</WebPage>
|
||||||
<ApplicationRevision>0</ApplicationRevision>
|
<ApplicationRevision>1</ApplicationRevision>
|
||||||
<ApplicationVersion>0.8.3.%2a</ApplicationVersion>
|
<ApplicationVersion>0.9.1.%2a</ApplicationVersion>
|
||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
||||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ using System.Runtime.InteropServices;
|
|||||||
// Możesz określić wszystkie wartości lub użyć domyślnych numerów kompilacji i poprawki
|
// Możesz określić wszystkie wartości lub użyć domyślnych numerów kompilacji i poprawki
|
||||||
// przy użyciu symbolu „*”, tak jak pokazano poniżej:
|
// przy użyciu symbolu „*”, tak jak pokazano poniżej:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("0.8.3.0")]
|
[assembly: AssemblyVersion("0.9.1.0")]
|
||||||
[assembly: AssemblyFileVersion("0.8.3.0")]
|
[assembly: AssemblyFileVersion("0.9.1.0")]
|
||||||
[assembly: NeutralResourcesLanguage("en")]
|
[assembly: NeutralResourcesLanguage("en")]
|
||||||
|
|
||||||
|
|||||||
@@ -11,33 +11,6 @@ SET time_zone = "+00:00";
|
|||||||
CREATE DATABASE IF NOT EXISTS `m1081_perun` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
|
CREATE DATABASE IF NOT EXISTS `m1081_perun` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
|
||||||
USE `m1081_perun`;
|
USE `m1081_perun`;
|
||||||
|
|
||||||
DELIMITER $$
|
|
||||||
DROP PROCEDURE IF EXISTS `sp_CleanDatabase`$$
|
|
||||||
CREATE DEFINER=`m1081`@`%.devil` PROCEDURE `sp_CleanDatabase` () MODIFIES SQL DATA
|
|
||||||
BEGIN
|
|
||||||
DELETE FROM pe_DataMissionHashes;
|
|
||||||
DELETE FROM pe_DataPlayers;
|
|
||||||
DELETE FROM pe_DataRaw;
|
|
||||||
DELETE FROM pe_LogChat;
|
|
||||||
DELETE FROM pe_LogEvent;
|
|
||||||
DELETE FROM pe_LogLogins;
|
|
||||||
DELETE FROM pe_LogStats;
|
|
||||||
|
|
||||||
ALTER TABLE pe_DataMissionHashes AUTO_INCREMENT = 1;
|
|
||||||
ALTER TABLE pe_DataPlayers AUTO_INCREMENT = 1;
|
|
||||||
ALTER TABLE pe_DataRaw AUTO_INCREMENT = 1;
|
|
||||||
ALTER TABLE pe_LogChat AUTO_INCREMENT = 1;
|
|
||||||
ALTER TABLE pe_LogEvent AUTO_INCREMENT = 1;
|
|
||||||
ALTER TABLE pe_LogLogins AUTO_INCREMENT = 1;
|
|
||||||
ALTER TABLE pe_LogStats AUTO_INCREMENT = 1;
|
|
||||||
|
|
||||||
END$$
|
|
||||||
|
|
||||||
DROP PROCEDURE IF EXISTS `sp_SyncForumGame`$$
|
|
||||||
$$
|
|
||||||
|
|
||||||
DELIMITER ;
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `pe_Config`;
|
DROP TABLE IF EXISTS `pe_Config`;
|
||||||
CREATE TABLE IF NOT EXISTS `pe_Config` (
|
CREATE TABLE IF NOT EXISTS `pe_Config` (
|
||||||
`pe_Config_id` int(11) NOT NULL,
|
`pe_Config_id` int(11) NOT NULL,
|
||||||
@@ -46,7 +19,7 @@ CREATE TABLE IF NOT EXISTS `pe_Config` (
|
|||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
INSERT INTO `pe_Config` (`pe_Config_id`, `pe_Config_payload`) VALUES
|
INSERT INTO `pe_Config` (`pe_Config_id`, `pe_Config_payload`) VALUES
|
||||||
(1, 'v0.8.3');
|
(1, 'v0.9.1');
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `pe_DataMissionHashes`;
|
DROP TABLE IF EXISTS `pe_DataMissionHashes`;
|
||||||
CREATE TABLE IF NOT EXISTS `pe_DataMissionHashes` (
|
CREATE TABLE IF NOT EXISTS `pe_DataMissionHashes` (
|
||||||
@@ -57,7 +30,7 @@ CREATE TABLE IF NOT EXISTS `pe_DataMissionHashes` (
|
|||||||
PRIMARY KEY (`pe_DataMissionHashes_id`),
|
PRIMARY KEY (`pe_DataMissionHashes_id`),
|
||||||
UNIQUE KEY `UNIQUE_hash` (`pe_DataMissionHashes_hash`),
|
UNIQUE KEY `UNIQUE_hash` (`pe_DataMissionHashes_hash`),
|
||||||
KEY `pe_DataMissionHashes_instance` (`pe_DataMissionHashes_instance`)
|
KEY `pe_DataMissionHashes_instance` (`pe_DataMissionHashes_instance`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=818 DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB AUTO_INCREMENT=7215 DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `pe_DataPlayers`;
|
DROP TABLE IF EXISTS `pe_DataPlayers`;
|
||||||
CREATE TABLE IF NOT EXISTS `pe_DataPlayers` (
|
CREATE TABLE IF NOT EXISTS `pe_DataPlayers` (
|
||||||
@@ -68,7 +41,7 @@ CREATE TABLE IF NOT EXISTS `pe_DataPlayers` (
|
|||||||
`pe_DataPlayers_updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
`pe_DataPlayers_updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
PRIMARY KEY (`pe_DataPlayers_id`),
|
PRIMARY KEY (`pe_DataPlayers_id`),
|
||||||
UNIQUE KEY `UNIQUE_UCID` (`pe_DataPlayers_ucid`)
|
UNIQUE KEY `UNIQUE_UCID` (`pe_DataPlayers_ucid`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=219 DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB AUTO_INCREMENT=226 DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `pe_DataRaw`;
|
DROP TABLE IF EXISTS `pe_DataRaw`;
|
||||||
CREATE TABLE IF NOT EXISTS `pe_DataRaw` (
|
CREATE TABLE IF NOT EXISTS `pe_DataRaw` (
|
||||||
@@ -76,7 +49,9 @@ CREATE TABLE IF NOT EXISTS `pe_DataRaw` (
|
|||||||
`pe_dataraw_instance` smallint(5) UNSIGNED NOT NULL,
|
`pe_dataraw_instance` smallint(5) UNSIGNED NOT NULL,
|
||||||
`pe_dataraw_payload` text NOT NULL,
|
`pe_dataraw_payload` text NOT NULL,
|
||||||
`pe_dataraw_updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
`pe_dataraw_updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
PRIMARY KEY (`pe_dataraw_type`,`pe_dataraw_instance`)
|
PRIMARY KEY (`pe_dataraw_type`,`pe_dataraw_instance`),
|
||||||
|
KEY `pe_dataraw_type_pe_dataraw_instance` (`pe_dataraw_type`,`pe_dataraw_instance`),
|
||||||
|
KEY `pe_dataraw_updated` (`pe_dataraw_updated`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `pe_DataTypes`;
|
DROP TABLE IF EXISTS `pe_DataTypes`;
|
||||||
@@ -86,7 +61,7 @@ CREATE TABLE IF NOT EXISTS `pe_DataTypes` (
|
|||||||
`pe_DataTypes_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
`pe_DataTypes_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
PRIMARY KEY (`pe_DataTypes_id`),
|
PRIMARY KEY (`pe_DataTypes_id`),
|
||||||
UNIQUE KEY `UNIQUE_TYPE_NAME` (`pe_DataTypes_name`)
|
UNIQUE KEY `UNIQUE_TYPE_NAME` (`pe_DataTypes_name`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `pe_LogChat`;
|
DROP TABLE IF EXISTS `pe_LogChat`;
|
||||||
CREATE TABLE IF NOT EXISTS `pe_LogChat` (
|
CREATE TABLE IF NOT EXISTS `pe_LogChat` (
|
||||||
@@ -99,8 +74,9 @@ CREATE TABLE IF NOT EXISTS `pe_LogChat` (
|
|||||||
PRIMARY KEY (`pe_LogChat_id`),
|
PRIMARY KEY (`pe_LogChat_id`),
|
||||||
KEY `pe_LogChat_missionhash_id` (`pe_LogChat_missionhash_id`),
|
KEY `pe_LogChat_missionhash_id` (`pe_LogChat_missionhash_id`),
|
||||||
KEY `pe_LogChat_playerid` (`pe_LogChat_playerid`),
|
KEY `pe_LogChat_playerid` (`pe_LogChat_playerid`),
|
||||||
KEY `pe_LogChat_datetime` (`pe_LogChat_datetime`)
|
KEY `pe_LogChat_datetime` (`pe_LogChat_datetime`),
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=19739 DEFAULT CHARSET=utf8;
|
KEY `pe_LogChat_all` (`pe_LogChat_all`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=22686 DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `pe_LogEvent`;
|
DROP TABLE IF EXISTS `pe_LogEvent`;
|
||||||
CREATE TABLE IF NOT EXISTS `pe_LogEvent` (
|
CREATE TABLE IF NOT EXISTS `pe_LogEvent` (
|
||||||
@@ -111,10 +87,12 @@ CREATE TABLE IF NOT EXISTS `pe_LogEvent` (
|
|||||||
`pe_LogEvent_content` text NOT NULL,
|
`pe_LogEvent_content` text NOT NULL,
|
||||||
`pe_LogEvent_arg1` varchar(150) DEFAULT NULL,
|
`pe_LogEvent_arg1` varchar(150) DEFAULT NULL,
|
||||||
`pe_LogEvent_arg2` varchar(150) DEFAULT NULL,
|
`pe_LogEvent_arg2` varchar(150) DEFAULT NULL,
|
||||||
|
`pe_LogEvent_argPlayers` varchar(150) DEFAULT NULL,
|
||||||
PRIMARY KEY (`pe_LogEvent_id`),
|
PRIMARY KEY (`pe_LogEvent_id`),
|
||||||
KEY `pe_LogEvent_missionhash_id` (`pe_LogEvent_missionhash_id`),
|
KEY `pe_LogEvent_missionhash_id` (`pe_LogEvent_missionhash_id`),
|
||||||
KEY `pe_LogEvent_datetime` (`pe_LogEvent_datetime`)
|
KEY `pe_LogEvent_datetime` (`pe_LogEvent_datetime`),
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=93657 DEFAULT CHARSET=utf8;
|
KEY `pe_LogEvent_type_2` (`pe_LogEvent_type`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=99807 DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `pe_LogLogins`;
|
DROP TABLE IF EXISTS `pe_LogLogins`;
|
||||||
CREATE TABLE IF NOT EXISTS `pe_LogLogins` (
|
CREATE TABLE IF NOT EXISTS `pe_LogLogins` (
|
||||||
@@ -126,8 +104,9 @@ CREATE TABLE IF NOT EXISTS `pe_LogLogins` (
|
|||||||
`pe_LogLogins_ip` varchar(100) NOT NULL,
|
`pe_LogLogins_ip` varchar(100) NOT NULL,
|
||||||
PRIMARY KEY (`pe_LogLogins_id`),
|
PRIMARY KEY (`pe_LogLogins_id`),
|
||||||
KEY `pe_LogLogins_playerid` (`pe_LogLogins_playerid`),
|
KEY `pe_LogLogins_playerid` (`pe_LogLogins_playerid`),
|
||||||
KEY `pe_LogLogins_datetime` (`pe_LogLogins_datetime`)
|
KEY `pe_LogLogins_datetime` (`pe_LogLogins_datetime`),
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=10742 DEFAULT CHARSET=utf8;
|
KEY `pe_LogLogins_instance` (`pe_LogLogins_instance`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=11344 DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `pe_LogStats`;
|
DROP TABLE IF EXISTS `pe_LogStats`;
|
||||||
CREATE TABLE IF NOT EXISTS `pe_LogStats` (
|
CREATE TABLE IF NOT EXISTS `pe_LogStats` (
|
||||||
@@ -136,6 +115,8 @@ CREATE TABLE IF NOT EXISTS `pe_LogStats` (
|
|||||||
`pe_LogStats_missionhash_id` bigint(20) DEFAULT NULL,
|
`pe_LogStats_missionhash_id` bigint(20) DEFAULT NULL,
|
||||||
`pe_LogStats_playerid` bigint(20) DEFAULT NULL,
|
`pe_LogStats_playerid` bigint(20) DEFAULT NULL,
|
||||||
`pe_LogStats_typeid` int(11) DEFAULT NULL,
|
`pe_LogStats_typeid` int(11) DEFAULT NULL,
|
||||||
|
`pe_LogStats_masterslot` int(11) DEFAULT NULL,
|
||||||
|
`pe_LogStats_seat` int(10) UNSIGNED DEFAULT NULL,
|
||||||
`ps_kills` int(11) UNSIGNED NOT NULL DEFAULT '0',
|
`ps_kills` int(11) UNSIGNED NOT NULL DEFAULT '0',
|
||||||
`ps_pvp` int(11) UNSIGNED NOT NULL DEFAULT '0',
|
`ps_pvp` int(11) UNSIGNED NOT NULL DEFAULT '0',
|
||||||
`ps_deaths` int(11) UNSIGNED NOT NULL DEFAULT '0',
|
`ps_deaths` int(11) UNSIGNED NOT NULL DEFAULT '0',
|
||||||
@@ -160,40 +141,29 @@ CREATE TABLE IF NOT EXISTS `pe_LogStats` (
|
|||||||
`ps_other_landings` int(10) UNSIGNED NOT NULL DEFAULT '0',
|
`ps_other_landings` int(10) UNSIGNED NOT NULL DEFAULT '0',
|
||||||
`ps_other_takeoffs` int(10) UNSIGNED NOT NULL DEFAULT '0',
|
`ps_other_takeoffs` int(10) UNSIGNED NOT NULL DEFAULT '0',
|
||||||
`pe_LogStats_mstatus` enum('?','RTB','MIA','KIA') DEFAULT NULL,
|
`pe_LogStats_mstatus` enum('?','RTB','MIA','KIA') DEFAULT NULL,
|
||||||
`ps_takeoffs` int(10) UNSIGNED DEFAULT '0',
|
|
||||||
`ps_landings` int(10) UNSIGNED DEFAULT '0',
|
|
||||||
`ps_kills_AA` int(10) UNSIGNED DEFAULT '0',
|
|
||||||
`ps_kills_AG` int(10) UNSIGNED DEFAULT '0',
|
|
||||||
`ps_kills_AS` int(10) UNSIGNED DEFAULT '0',
|
|
||||||
`ps_kills_AAA` int(10) UNSIGNED DEFAULT '0',
|
|
||||||
PRIMARY KEY (`pe_LogStats_id`),
|
PRIMARY KEY (`pe_LogStats_id`),
|
||||||
UNIQUE KEY `UNIQUE_STATS_PER_MISSION_AND_UCID_AND_TYPE` (`pe_LogStats_playerid`,`pe_LogStats_missionhash_id`,`pe_LogStats_typeid`) USING BTREE,
|
UNIQUE KEY `UNIQUE_STATS_PER_MISSION_AND_UCID_AND_TYPE` (`pe_LogStats_playerid`,`pe_LogStats_missionhash_id`,`pe_LogStats_typeid`) USING BTREE,
|
||||||
KEY `pe_LogStats_missionhash_id` (`pe_LogStats_missionhash_id`),
|
KEY `pe_LogStats_missionhash_id` (`pe_LogStats_missionhash_id`),
|
||||||
KEY `pe_LogStats_playerid` (`pe_LogStats_playerid`),
|
KEY `pe_LogStats_playerid` (`pe_LogStats_playerid`),
|
||||||
KEY `pe_LogStats_typeid` (`pe_LogStats_typeid`)
|
KEY `pe_LogStats_typeid` (`pe_LogStats_typeid`),
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=9595 DEFAULT CHARSET=utf8;
|
KEY `pe_LogStats_masterslot` (`pe_LogStats_masterslot`),
|
||||||
|
KEY `pe_LogStats_mstatus` (`pe_LogStats_mstatus`),
|
||||||
|
KEY `pe_LogStats_seat` (`pe_LogStats_seat`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=10220 DEFAULT CHARSET=utf8;
|
||||||
DROP TRIGGER IF EXISTS `pe_LogStats_UPDATE`;
|
DROP TRIGGER IF EXISTS `pe_LogStats_UPDATE`;
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE TRIGGER `pe_LogStats_UPDATE` BEFORE UPDATE ON `pe_LogStats` FOR EACH ROW BEGIN
|
CREATE TRIGGER `pe_LogStats_UPDATE` BEFORE UPDATE ON `pe_LogStats` FOR EACH ROW BEGIN
|
||||||
|
|
||||||
SET NEW.ps_takeoffs = NEW.ps_airfield_takeoffs + NEW.ps_farp_takeoffs + NEW.ps_other_takeoffs + NEW.ps_ship_takeoffs;
|
|
||||||
SET NEW.ps_landings = NEW.ps_airfield_landings + NEW.ps_farp_landings + NEW.ps_other_landings + NEW.ps_ship_landings;
|
|
||||||
SET NEW.ps_kills_AA = NEW.ps_kills_planes + NEW.ps_kills_helicopters;
|
|
||||||
SET NEW.ps_kills_AG = NEW.ps_kills_armor + NEW.ps_kills_unarmed + NEW.ps_kills_fortification;
|
|
||||||
SET NEW.ps_kills_AS = NEW.ps_kills_ships;
|
|
||||||
SET NEW.ps_kills_AAA = NEW.ps_kills_air_defense;
|
|
||||||
|
|
||||||
IF NEW.ps_ejections > 0 THEN
|
IF NEW.ps_ejections > 0 THEN
|
||||||
SET NEW.pe_LogStats_mstatus = "MIA";
|
SET NEW.pe_LogStats_mstatus = "MIA";
|
||||||
ELSEIF NEW.ps_deaths > 0 THEN
|
ELSEIF NEW.ps_deaths > 0 THEN
|
||||||
SET NEW.pe_LogStats_mstatus = "KIA";
|
SET NEW.pe_LogStats_mstatus = "KIA";
|
||||||
ELSEIF NEW.ps_landings >= NEW.ps_takeoffs THEN
|
ELSEIF (NEW.ps_airfield_landings + NEW.ps_farp_landings + NEW.ps_other_landings + NEW.ps_ship_landings) >= (NEW.ps_airfield_takeoffs + NEW.ps_farp_takeoffs + NEW.ps_other_takeoffs + NEW.ps_ship_takeoffs) THEN
|
||||||
IF NEW.ps_takeoffs > 0 or NEW.ps_landings > 0 THEN
|
IF (NEW.ps_airfield_takeoffs + NEW.ps_farp_takeoffs + NEW.ps_other_takeoffs + NEW.ps_ship_takeoffs) > 0 or (NEW.ps_airfield_landings + NEW.ps_farp_landings + NEW.ps_other_landings + NEW.ps_ship_landings) > 0 THEN
|
||||||
SET NEW.pe_LogStats_mstatus = "RTB";
|
SET NEW.pe_LogStats_mstatus = "RTB";
|
||||||
ELSE
|
ELSE
|
||||||
SET NEW.pe_LogStats_mstatus = "?";
|
SET NEW.pe_LogStats_mstatus = "?";
|
||||||
END IF;
|
END IF;
|
||||||
ELSEIF NEW.ps_takeoffs > NEW.ps_landings and NEW.ps_ejections=0 and NEW.ps_deaths=0 THEN
|
ELSEIF (NEW.ps_airfield_takeoffs + NEW.ps_farp_takeoffs + NEW.ps_other_takeoffs + NEW.ps_ship_takeoffs) > (NEW.ps_airfield_landings + NEW.ps_farp_landings + NEW.ps_other_landings + NEW.ps_ship_landings) and NEW.ps_ejections=0 and NEW.ps_deaths=0 THEN
|
||||||
SET NEW.pe_LogStats_mstatus = "MIA";
|
SET NEW.pe_LogStats_mstatus = "MIA";
|
||||||
ELSE
|
ELSE
|
||||||
SET NEW.pe_LogStats_mstatus = "?";
|
SET NEW.pe_LogStats_mstatus = "?";
|
||||||
@@ -203,7 +173,13 @@ $$
|
|||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE `pe_DataMissionHashes` ADD FULLTEXT KEY `pe_DataMissionHashes_hash` (`pe_DataMissionHashes_hash`);
|
||||||
|
|
||||||
ALTER TABLE `pe_DataPlayers` ADD FULLTEXT KEY `pe_DataPlayers_ucid` (`pe_DataPlayers_ucid`);
|
ALTER TABLE `pe_DataPlayers` ADD FULLTEXT KEY `pe_DataPlayers_ucid` (`pe_DataPlayers_ucid`);
|
||||||
|
|
||||||
|
ALTER TABLE `pe_DataTypes` ADD FULLTEXT KEY `pe_DataTypes_name` (`pe_DataTypes_name`);
|
||||||
|
|
||||||
|
ALTER TABLE `pe_LogChat` ADD FULLTEXT KEY `pe_LogChat_msg` (`pe_LogChat_msg`);
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -11,7 +11,7 @@ Provided windows app puts received TCP packets to MySQL database; additionaly Pe
|
|||||||
|
|
||||||
However, this software is intended to be used by experienced users - the output is MySQL data and/or JSON file; you will need to process/display it yourself.
|
However, this software is intended to be used by experienced users - the output is MySQL data and/or JSON file; you will need to process/display it yourself.
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
@@ -55,6 +55,12 @@ Example for windows shortcut:
|
|||||||
```
|
```
|
||||||
C:\Perun_v1\Perun.exe 48621 1 "G:\DCS SRS\clients-list.json" "C:\Users\DCS\Saved Games\DCS\Mods\tech\LotAtc\stats.json"
|
C:\Perun_v1\Perun.exe 48621 1 "G:\DCS SRS\clients-list.json" "C:\Users\DCS\Saved Games\DCS\Mods\tech\LotAtc\stats.json"
|
||||||
```
|
```
|
||||||
|
## Displaying data
|
||||||
|
Data displaying and handling is not in the current scope of this project. Since the end of 2018 the Perun data displaying has been hardcoded at forum.gildia.org , website for the Polish DCS community; examples:
|
||||||
|

|
||||||
|

|
||||||
|
Due to resource limitations, "Perun for DCS World" will focus on pulling the data from DCS (and external modules) and pushing it to MySQL server, but if anyone would like to develop open sourced PHP applets for data/statistics displaying we're willing to cooperate and support such projects. Unfortunetly it's not possible to share the hardcoded code from forum.gildia.org.
|
||||||
|
|
||||||
## Troubleshooting - FAQ
|
## Troubleshooting - FAQ
|
||||||
- [I keep getting 1305 MySQL error](#i-keep-getting-1305-mysql-error)
|
- [I keep getting 1305 MySQL error](#i-keep-getting-1305-mysql-error)
|
||||||
- [Carrier landing are not tracked correctly](#carrier-landing-are-not-tracked-correctly)
|
- [Carrier landing are not tracked correctly](#carrier-landing-are-not-tracked-correctly)
|
||||||
@@ -63,7 +69,7 @@ C:\Perun_v1\Perun.exe 48621 1 "G:\DCS SRS\clients-list.json" "C:\Users\DCS\Saved
|
|||||||
That probably means that your database does not support JSON functions, you shall upgrade your MySQL server to at lease 5.7 version.
|
That probably means that your database does not support JSON functions, you shall upgrade your MySQL server to at lease 5.7 version.
|
||||||
|
|
||||||
### Carrier landing are not tracked correctly
|
### Carrier landing are not tracked correctly
|
||||||
DCS API does not track carrier landing natively, so there is a trick to achive that. You shall set your carrier to a propoer group name to have landings tracked.
|
DCS API does not track carrier or FARP operations natively, so there is a trick to achive that. At this point of time to detect FARP operations, the FARPs shall have "FARP" string in the group name (set in mission editor). For carrier operations the string "SHIP" is required within group name.
|
||||||
|
|
||||||
# API documentation (for expert users)
|
# API documentation (for expert users)
|
||||||
## MySQL database structure
|
## MySQL database structure
|
||||||
@@ -106,7 +112,7 @@ DCS API does not track carrier landing natively, so there is a trick to achive t
|
|||||||
* [Notepad++](https://notepad-plus-plus.org/)
|
* [Notepad++](https://notepad-plus-plus.org/)
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
Please contact me if you'd like to contribute.
|
Please contact me if you'd like to contribute. Short rule is that all pull request shall come to "dev" branch, pull requests to "master" will be deleted.
|
||||||
|
|
||||||
## Versioning
|
## Versioning
|
||||||
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/szporwolik/perun/tags).
|
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/szporwolik/perun/tags).
|
||||||
|
|||||||
Reference in New Issue
Block a user