diff --git a/Application/Application.csproj b/Application/Application.csproj
index f036e7508..172eded6d 100644
--- a/Application/Application.csproj
+++ b/Application/Application.csproj
@@ -6,7 +6,7 @@
2.1.5
false
RaidMax.IW4MAdmin.Application
- 2.2.4.1
+ 2.2.4.2
RaidMax
Forever None
IW4MAdmin
@@ -31,8 +31,8 @@
true
true
- 2.2.4.1
- 2.2.4.1
+ 2.2.4.2
+ 2.2.4.2
diff --git a/IW4MAdmin.sln b/IW4MAdmin.sln
index e1181a734..2fc9f990e 100644
--- a/IW4MAdmin.sln
+++ b/IW4MAdmin.sln
@@ -38,6 +38,7 @@ Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "DiscordWebhook", "DiscordWe
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ScriptPlugins", "ScriptPlugins", "{3F9ACC27-26DB-49FA-BCD2-50C54A49C9FA}"
ProjectSection(SolutionItems) = preProject
+ ParserTeknoMW3.js = ParserTeknoMW3.js
Plugins\ScriptPlugins\SharedGUIDKick.js = Plugins\ScriptPlugins\SharedGUIDKick.js
Plugins\ScriptPlugins\VPNDetection.js = Plugins\ScriptPlugins\VPNDetection.js
EndProjectSection
diff --git a/ParserTeknoMW3.js b/ParserTeknoMW3.js
new file mode 100644
index 000000000..db74bba28
--- /dev/null
+++ b/ParserTeknoMW3.js
@@ -0,0 +1,40 @@
+var rconParser;
+var eventParser;
+
+var plugin = {
+ author: 'RaidMax',
+ version: 0.1,
+ name: 'Tekno MW3 Parser',
+ isParser: true,
+
+ onEventAsync: function (gameEvent, server) {
+ },
+
+ onLoadAsync: function (manager) {
+ rconParser = manager.GenerateDynamicRConParser();
+ eventParser = manager.GenerateDynamicEventParser();
+
+ rconParser.Configuration.Status.Pattern = '^ *([0-9]+) +([0-9]+) +((?:[A-Z]+|[0-9]+)) +((?:[A-Z]|[0-9]){16,32})\t +(.{0,16}) +([0-9]+) +(\\d+\\.\\d+\\.\\d+\\.\\d+\\:-?\\d{1,5}|0+\\.0+\\:-?\\d{1,5}|loopback) *$';
+ rconParser.Configuration.Status.AddMapping(104, 5); // RConName
+ rconParser.Configuration.Status.AddMapping(103, 4); // RConNetworkId
+ rconParser.Configuration.CommandPrefixes.RConGetInfo = undefined;
+ rconParser.Configuration.CommandPrefixes.RConResponse = '\xff\xff\xff\xff';
+ rconParser.Configuration.CommandPrefixes.Tell = 'tell {0} {1}';
+ rconParser.Configuration.CommandPrefixes.Say = 'say {0}';
+ rconParser.Configuration.CommandPrefixes.Kick = 'dropclient {0} "{1}"';
+ rconParser.Configuration.CommandPrefixes.Ban = 'dropclient {0} "{1}"';
+ rconParser.Configuration.CommandPrefixes.TempBan = 'tempbanclient {0} "{1}"';
+ rconParser.Configuration.Dvar.AddMapping(107, 1); // RCon DvarValue
+ rconParser.Configuration.Dvar.Pattern = '^(.*)$';
+ rconParser.Version = 'IW5 MP 1.4 build 382 latest Thu Jan 19 2012 11:09:49AM win-x86';
+
+ eventParser.Configuration.GameDirectory = 'scripts';
+ eventParser.Version = 'IW5 MP 1.4 build 382 latest Thu Jan 19 2012 11:09:49AM win-x86';
+ },
+
+ onUnloadAsync: function () {
+ },
+
+ onTickAsync: function (server) {
+ }
+};
\ No newline at end of file