mirror of
https://github.com/DaKerboul/perun.git
synced 2026-08-09 17:05:39 +02:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4c52f91fbb | ||
|
|
18e03947f3 | ||
|
|
7b75eba79b | ||
|
|
8e4f60649a | ||
|
|
c68a0aecd1 | ||
|
|
fc9c976387 | ||
|
|
a3c1fecae3 | ||
|
|
e37b73a4f1 | ||
|
|
1540615814 | ||
|
|
d700430333 | ||
|
|
f42a3e60a2 | ||
|
|
ff78ba1cfe | ||
|
|
a117d37bc0 | ||
|
|
c36befd5a0 | ||
|
|
1cadd04092 | ||
|
|
4cca5ee405 | ||
|
|
ca48b4bc0a | ||
|
|
c55c4efaf8 |
@@ -22,7 +22,7 @@ Perun.MOTD_L2 = "Wymagamy obecnosci DCS SRS oraz TeamSpeak - szczegoly na forum"
|
|||||||
-- ###################### END OF SETTINGS - DO NOT MODIFY OUTSIDE THIS SECTION ######################
|
-- ###################### END OF SETTINGS - DO NOT MODIFY OUTSIDE THIS SECTION ######################
|
||||||
|
|
||||||
-- Variable init
|
-- Variable init
|
||||||
Perun.Version = "v0.9.2"
|
Perun.Version = "v0.9.4"
|
||||||
Perun.StatusData = {}
|
Perun.StatusData = {}
|
||||||
Perun.SlotsData = {}
|
Perun.SlotsData = {}
|
||||||
Perun.MissionData = {}
|
Perun.MissionData = {}
|
||||||
|
|||||||
@@ -48,17 +48,17 @@ public class DatabaseController
|
|||||||
{
|
{
|
||||||
// Add entry to chat log
|
// Add entry to chat log
|
||||||
SQLQueryTxt = "INSERT INTO `pe_DataPlayers` (`pe_DataPlayers_ucid`) SELECT '" + TCPFrame.payload.ucid + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataPlayers` where `pe_DataPlayers_ucid` = '" + TCPFrame.payload.ucid + "' );";
|
SQLQueryTxt = "INSERT INTO `pe_DataPlayers` (`pe_DataPlayers_ucid`) SELECT '" + TCPFrame.payload.ucid + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataPlayers` where `pe_DataPlayers_ucid` = '" + TCPFrame.payload.ucid + "' );";
|
||||||
SQLQueryTxt += "UPDATE `pe_DataPlayers` SET `pe_DataPlayers_updated` = " + TCPFrameTimestamp + ",`pe_DataPlayers_lastname`='" + TCPFrame.payload.player + "' WHERE `pe_DataPlayers_ucid`='" + TCPFrame.payload.ucid + "' ;";
|
SQLQueryTxt += "UPDATE `pe_DataPlayers` SET `pe_DataPlayers_updated` = " + TCPFrameTimestamp + ",`pe_DataPlayers_lastname`=@PAR_payload_player WHERE `pe_DataPlayers_ucid`='" + TCPFrame.payload.ucid + "' ;";
|
||||||
SQLQueryTxt += "INSERT INTO `pe_DataMissionHashes` (`pe_DataMissionHashes_hash`,`pe_DataMissionHashes_instance`) SELECT '" + TCPFrame.payload.missionhash + "','" + TCPFrameInstance + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataMissionHashes` where `pe_DataMissionHashes_hash` ='" + TCPFrame.payload.missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + ");";
|
SQLQueryTxt += "INSERT INTO `pe_DataMissionHashes` (`pe_DataMissionHashes_hash`,`pe_DataMissionHashes_instance`) SELECT '" + TCPFrame.payload.missionhash + "','" + TCPFrameInstance + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataMissionHashes` where `pe_DataMissionHashes_hash` ='" + TCPFrame.payload.missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + ");";
|
||||||
SQLQueryTxt += "UPDATE `pe_DataMissionHashes` SET `pe_DataMissionHashes_datetime` = " + TCPFrameTimestamp + " WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + " ;";
|
SQLQueryTxt += "UPDATE `pe_DataMissionHashes` SET `pe_DataMissionHashes_datetime` = " + TCPFrameTimestamp + " WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + " ;";
|
||||||
SQLQueryTxt += "INSERT INTO `pe_LogChat` (`pe_LogChat_id`,`pe_LogChat_datetime`, `pe_LogChat_playerid`, `pe_LogChat_msg`, `pe_LogChat_all`,`pe_LogChat_missionhash_id`) VALUES (NULL,'" + TCPFrame.payload.datetime + "', (SELECT `pe_DataPlayers_id` from `pe_DataPlayers` WHERE `pe_DataPlayers_ucid` = '" + TCPFrame.payload.ucid + "'), '" + TCPFrame.payload.msg + "', '" + TCPFrame.payload.all + "',(SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.missionhash + "'));";
|
SQLQueryTxt += "INSERT INTO `pe_LogChat` (`pe_LogChat_id`,`pe_LogChat_datetime`, `pe_LogChat_playerid`, `pe_LogChat_msg`, `pe_LogChat_all`,`pe_LogChat_missionhash_id`) VALUES (NULL,'" + TCPFrame.payload.datetime + "', (SELECT `pe_DataPlayers_id` from `pe_DataPlayers` WHERE `pe_DataPlayers_ucid` = '" + TCPFrame.payload.ucid + "'), @PAR_payload_msg, '" + TCPFrame.payload.all + "',(SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.missionhash + "'));";
|
||||||
}
|
}
|
||||||
else if (TCPFrameType == "51")
|
else if (TCPFrameType == "51")
|
||||||
{
|
{
|
||||||
// Add entry to event log
|
// Add entry to event log
|
||||||
SQLQueryTxt = "INSERT INTO `pe_DataMissionHashes` (`pe_DataMissionHashes_hash`,`pe_DataMissionHashes_instance`) SELECT '" + TCPFrame.payload.log_missionhash + "','" + TCPFrameInstance + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataMissionHashes` where `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.log_missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + ");";
|
SQLQueryTxt = "INSERT INTO `pe_DataMissionHashes` (`pe_DataMissionHashes_hash`,`pe_DataMissionHashes_instance`) SELECT '" + TCPFrame.payload.log_missionhash + "','" + TCPFrameInstance + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataMissionHashes` where `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.log_missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + ");";
|
||||||
SQLQueryTxt += "UPDATE `pe_DataMissionHashes` SET `pe_DataMissionHashes_datetime` = " + TCPFrameTimestamp + " WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.log_missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + ";";
|
SQLQueryTxt += "UPDATE `pe_DataMissionHashes` SET `pe_DataMissionHashes_datetime` = " + TCPFrameTimestamp + " WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.log_missionhash + "' AND `pe_DataMissionHashes_instance`=" + TCPFrameInstance + ";";
|
||||||
SQLQueryTxt += "INSERT INTO `pe_LogEvent` (`pe_LogEvent_arg1`,`pe_LogEvent_arg2`,`pe_LogEvent_id`, `pe_LogEvent_datetime`, `pe_LogEvent_type`, `pe_LogEvent_content`,`pe_LogEvent_missionhash_id`) VALUES ('" + TCPFrame.payload.log_arg_1 + "','" + TCPFrame.payload.log_arg_2 + "', NULL, '" + TCPFrame.payload.log_datetime + "', '" + TCPFrame.payload.log_type + "', '" + TCPFrame.payload.log_content + "', (SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.log_missionhash + "'));";
|
SQLQueryTxt += "INSERT INTO `pe_LogEvent` (`pe_LogEvent_arg1`,`pe_LogEvent_arg2`,`pe_LogEvent_id`, `pe_LogEvent_datetime`, `pe_LogEvent_type`, `pe_LogEvent_content`,`pe_LogEvent_missionhash_id`) VALUES ('" + TCPFrame.payload.log_arg_1 + "','" + TCPFrame.payload.log_arg_2 + "', NULL, '" + TCPFrame.payload.log_datetime + "', '" + TCPFrame.payload.log_type + "', @PAR_log_content, (SELECT `pe_DataMissionHashes_id` FROM `pe_DataMissionHashes` WHERE `pe_DataMissionHashes_hash` = '" + TCPFrame.payload.log_missionhash + "'));";
|
||||||
}
|
}
|
||||||
else if (TCPFrameType == "52")
|
else if (TCPFrameType == "52")
|
||||||
{
|
{
|
||||||
@@ -76,8 +76,8 @@ public class DatabaseController
|
|||||||
// User logged in to DCS server
|
// User logged in to DCS server
|
||||||
|
|
||||||
SQLQueryTxt = "INSERT INTO `pe_DataPlayers` (`pe_DataPlayers_ucid`) SELECT '" + TCPFrame.payload.login_ucid + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataPlayers` where pe_DataPlayers_ucid='" + TCPFrame.payload.login_ucid + "');";
|
SQLQueryTxt = "INSERT INTO `pe_DataPlayers` (`pe_DataPlayers_ucid`) SELECT '" + TCPFrame.payload.login_ucid + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataPlayers` where pe_DataPlayers_ucid='" + TCPFrame.payload.login_ucid + "');";
|
||||||
SQLQueryTxt += "UPDATE `pe_DataPlayers` SET pe_DataPlayers_lastip='" + TCPFrame.payload.login_ipaddr + "', pe_DataPlayers_lastname='" + TCPFrame.payload.login_name + "',pe_DataPlayers_updated='" + TCPFrame.payload.login_datetime + "' WHERE `pe_DataPlayers_ucid`= '" + TCPFrame.payload.login_ucid + "';";
|
SQLQueryTxt += "UPDATE `pe_DataPlayers` SET pe_DataPlayers_lastip='" + TCPFrame.payload.login_ipaddr + "', pe_DataPlayers_lastname=@PAR_login_name,pe_DataPlayers_updated='" + TCPFrame.payload.login_datetime + "' WHERE `pe_DataPlayers_ucid`= '" + TCPFrame.payload.login_ucid + "';";
|
||||||
SQLQueryTxt += "INSERT INTO `pe_LogLogins` (`pe_LogLogins_datetime`, `pe_LogLogins_playerid`, `pe_LogLogins_name`, `pe_LogLogins_ip`,`pe_LogLogins_instance`) VALUES ('" + TCPFrame.payload.login_datetime + "', (SELECT pe_DataPlayers_id from pe_DataPlayers WHERE pe_DataPlayers_ucid = '" + TCPFrame.payload.login_ucid + "'), '" + TCPFrame.payload.login_name + "', '" + TCPFrame.payload.login_ipaddr + "','" + TCPFrameInstance + "');";
|
SQLQueryTxt += "INSERT INTO `pe_LogLogins` (`pe_LogLogins_datetime`, `pe_LogLogins_playerid`, `pe_LogLogins_name`, `pe_LogLogins_ip`,`pe_LogLogins_instance`) VALUES ('" + TCPFrame.payload.login_datetime + "', (SELECT pe_DataPlayers_id from pe_DataPlayers WHERE pe_DataPlayers_ucid = '" + TCPFrame.payload.login_ucid + "'), @PAR_login_name, '" + TCPFrame.payload.login_ipaddr + "','" + TCPFrameInstance + "');";
|
||||||
}
|
}
|
||||||
else if (TCPFrameType == "-1")
|
else if (TCPFrameType == "-1")
|
||||||
{
|
{
|
||||||
@@ -87,10 +87,10 @@ public class DatabaseController
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// General definition used for 1-10 type packets
|
// General definition used for 1-10 type packets
|
||||||
TCPFramePayload = JsonConvert.SerializeObject(TCPFrame.payload); // Deserialize payload
|
|
||||||
|
|
||||||
SQLQueryTxt = "INSERT INTO `pe_DataRaw` (`pe_dataraw_type`,`pe_dataraw_instance`) SELECT '" + TCPFrameType + "','" + TCPFrameInstance + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataRaw` WHERE `pe_dataraw_type` = '" + TCPFrameType + "' AND `pe_dataraw_instance` = " + TCPFrameInstance + ");";
|
SQLQueryTxt = "INSERT INTO `pe_DataRaw` (`pe_dataraw_type`,`pe_dataraw_instance`) SELECT '" + TCPFrameType + "','" + TCPFrameInstance + "' FROM DUAL WHERE NOT EXISTS (SELECT * FROM `pe_DataRaw` WHERE `pe_dataraw_type` = '" + TCPFrameType + "' AND `pe_dataraw_instance` = " + TCPFrameInstance + ");";
|
||||||
SQLQueryTxt += "UPDATE `pe_DataRaw` SET `pe_dataraw_payload` = JSON_QUOTE('" + TCPFramePayload + "'), `pe_dataraw_updated`=" + TCPFrameTimestamp + " WHERE `pe_dataraw_type`=" + TCPFrameType + " AND `pe_dataraw_instance` = " + TCPFrameInstance + ";";
|
SQLQueryTxt += "UPDATE `pe_DataRaw` SET `pe_dataraw_payload` = @PAR_TCPFramePayload, `pe_dataraw_updated`=" + TCPFrameTimestamp + " WHERE `pe_dataraw_type`=" + TCPFrameType + " AND `pe_dataraw_instance` = " + TCPFrameInstance + ";";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Connect to mysql and execute sql
|
// Connect to mysql and execute sql
|
||||||
@@ -104,7 +104,29 @@ public class DatabaseController
|
|||||||
DatabaseConnection.Open();
|
DatabaseConnection.Open();
|
||||||
DatabaseStatus = true;
|
DatabaseStatus = true;
|
||||||
MySqlCommand DatabaseCommand = new MySqlCommand(SQLQueryTxt, DatabaseConnection);
|
MySqlCommand DatabaseCommand = new MySqlCommand(SQLQueryTxt, DatabaseConnection);
|
||||||
MySqlDataReader DatabaseReader = DatabaseCommand.ExecuteReader();
|
|
||||||
|
// Add parameters - prevent SQL injection
|
||||||
|
if (TCPFrameType == "50")
|
||||||
|
{
|
||||||
|
DatabaseCommand.Parameters.AddWithValue("@PAR_payload_player", TCPFrame.payload.player);
|
||||||
|
DatabaseCommand.Parameters.AddWithValue("@PAR_payload_msg", TCPFrame.payload.msg);
|
||||||
|
}
|
||||||
|
else if (TCPFrameType == "51")
|
||||||
|
{
|
||||||
|
DatabaseCommand.Parameters.AddWithValue("@PAR_log_content", TCPFrame.payload.log_content);
|
||||||
|
}
|
||||||
|
else if (TCPFrameType == "53")
|
||||||
|
{
|
||||||
|
DatabaseCommand.Parameters.AddWithValue("@PAR_login_name", TCPFrame.payload.login_name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TCPFramePayload = JsonConvert.SerializeObject(TCPFrame.payload); // Deserialize payload
|
||||||
|
DatabaseCommand.Parameters.AddWithValue("@PAR_TCPFramePayload", TCPFramePayload);
|
||||||
|
}
|
||||||
|
// End of add parameters
|
||||||
|
|
||||||
|
MySqlDataReader DatabaseReader = DatabaseCommand.ExecuteReader();
|
||||||
|
|
||||||
if (DatabaseReader.HasRows)
|
if (DatabaseReader.HasRows)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -515,25 +515,12 @@ namespace Perun_v1
|
|||||||
int temp = raw_lotatc.Clients[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.Clients[i].RadioInfo.radios[j].enc.Parent.Remove();
|
|
||||||
raw_lotatc.Clients[i].RadioInfo.radios[j].encKey.Parent.Remove();
|
|
||||||
raw_lotatc.Clients[i].RadioInfo.radios[j].encMode.Parent.Remove();
|
|
||||||
raw_lotatc.Clients[i].RadioInfo.radios[j].freqMax.Parent.Remove();
|
|
||||||
raw_lotatc.Clients[i].RadioInfo.radios[j].freqMin.Parent.Remove();
|
|
||||||
raw_lotatc.Clients[i].RadioInfo.radios[j].modulation.Parent.Remove();
|
|
||||||
raw_lotatc.Clients[i].RadioInfo.radios[j].freqMode.Parent.Remove();
|
|
||||||
raw_lotatc.Clients[i].RadioInfo.radios[j].volMode.Parent.Remove();
|
|
||||||
raw_lotatc.Clients[i].RadioInfo.radios[j].expansion.Parent.Remove();
|
|
||||||
raw_lotatc.Clients[i].RadioInfo.radios[j].channel.Parent.Remove();
|
|
||||||
raw_lotatc.Clients[i].RadioInfo.radios[j].simul.Parent.Remove();
|
|
||||||
|
|
||||||
if (raw_lotatc.Clients[i].RadioInfo.radios[j].name == "No Radio")
|
if (raw_lotatc.Clients[i].RadioInfo.radios[j].name == "No Radio")
|
||||||
{
|
{
|
||||||
raw_lotatc.Clients[i].RadioInfo.radios[j].Remove();
|
raw_lotatc.Clients[i].RadioInfo.radios[j].Remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
raw_lotatc.Clients[i].ClientChannelId.Parent.Remove();
|
|
||||||
raw_lotatc.Clients[i].RadioInfo.simultaneousTransmission.Parent.Remove();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
<SuiteName>Perun</SuiteName>
|
<SuiteName>Perun</SuiteName>
|
||||||
<WebPage>Perun.htm</WebPage>
|
<WebPage>Perun.htm</WebPage>
|
||||||
<ApplicationRevision>0</ApplicationRevision>
|
<ApplicationRevision>0</ApplicationRevision>
|
||||||
<ApplicationVersion>0.9.2.%2a</ApplicationVersion>
|
<ApplicationVersion>0.9.4.%2a</ApplicationVersion>
|
||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
||||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Szymon Porwolik")]
|
[assembly: AssemblyCompany("Szymon Porwolik")]
|
||||||
[assembly: AssemblyProduct("Perun for DCS World")]
|
[assembly: AssemblyProduct("Perun for DCS World")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2019")]
|
[assembly: AssemblyCopyright("Copyright © 2019-2020")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
@@ -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.9.2.0")]
|
[assembly: AssemblyVersion("0.9.4.0")]
|
||||||
[assembly: AssemblyFileVersion("0.9.2.0")]
|
[assembly: AssemblyFileVersion("0.9.4.0")]
|
||||||
[assembly: NeutralResourcesLanguage("en")]
|
[assembly: NeutralResourcesLanguage("en")]
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,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.9.2');
|
(1, 'v0.9.4');
|
||||||
|
|
||||||
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` (
|
||||||
@@ -115,8 +115,7 @@ CREATE TABLE IF NOT EXISTS `pe_LogStats` (
|
|||||||
`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_masterslot` int(11) DEFAULT NULL,
|
||||||
`pe_LogStats_seat` int(10) UNSIGNED DEFAULT NULL,
|
`pe_LogStats_seat` int(10) DEFAULT NULL,
|
||||||
`ps_kills_X` 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',
|
||||||
`ps_ejections` int(11) UNSIGNED NOT NULL DEFAULT '0',
|
`ps_ejections` int(11) UNSIGNED NOT NULL DEFAULT '0',
|
||||||
|
|||||||
BIN
04_Misc/01_Logo/PaganWinterPoster.png
Normal file
BIN
04_Misc/01_Logo/PaganWinterPoster.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 446 KiB |
BIN
04_Misc/01_Logo/Perun_logo.png
Normal file
BIN
04_Misc/01_Logo/Perun_logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.1 KiB |
BIN
04_Misc/01_Logo/Perun_logo.xcf
Normal file
BIN
04_Misc/01_Logo/Perun_logo.xcf
Normal file
Binary file not shown.
@@ -3,7 +3,7 @@
|
|||||||

|

|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
# Perun for DCS World
|
# Perun for DCS World
|
||||||
Included lua script extracts data from DCS World multiplayer server and sends information to TCP port for further processing.
|
Included lua script extracts data from DCS World multiplayer server and sends information to TCP port for further processing.
|
||||||
|
|||||||
Reference in New Issue
Block a user