<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://script.quakenet.org/wiki/index.php?action=history&amp;feed=atom&amp;title=How_to_parse_HL_log_data</id>
	<title>How to parse HL log data - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://script.quakenet.org/wiki/index.php?action=history&amp;feed=atom&amp;title=How_to_parse_HL_log_data"/>
	<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;action=history"/>
	<updated>2026-04-24T01:25:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=6023&amp;oldid=prev</id>
		<title>NaNg: Bad rcon fix</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=6023&amp;oldid=prev"/>
		<updated>2013-10-25T14:26:36Z</updated>

		<summary type="html">&lt;p&gt;Bad rcon fix&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:26, 25 October 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l137&quot;&gt;Line 137:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 137:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ; Rcon (events 004a and 004b).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ; Rcon (events 004a and 004b).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    [[If-Then-Else|elseif]] ((Bad Rcon:* iswm %hllog.cmd) || (Rcon:* iswm %hllog.cmd)) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    [[If-Then-Else|elseif]] ((Bad Rcon:* iswm %hllog.cmd) || (Rcon:* iswm %hllog.cmd)) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      [[noop]] [[$regex]](%hllog.cmd, /^(Bad )?Rcon: &quot;[^&quot;]+ ([^&quot;]+) &quot;([^&quot;]+)&quot; (.*)&quot; [^&quot;\x28]+ &quot;([^&quot;]+:[^&quot;]+)&quot;(.*)$/i)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      [[noop]] [[$regex]](%hllog.cmd, /^(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(?:&lt;/ins&gt;Bad )?&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/ins&gt;Rcon: &quot;[^&quot;]+ ([^&quot;]+) &quot;([^&quot;]+)&quot; (.*)&quot; [^&quot;\x28]+ &quot;([^&quot;]+:[^&quot;]+)&quot;(.*)$/i)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      ; Parse the event&amp;#039;s details.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      ; Parse the event&amp;#039;s details.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NaNg</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=6022&amp;oldid=prev</id>
		<title>NaNg: Fixed log parse</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=6022&amp;oldid=prev"/>
		<updated>2013-10-25T13:49:55Z</updated>

		<summary type="html">&lt;p&gt;Fixed log parse&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:49, 25 October 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l109&quot;&gt;Line 109:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 109:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ; Separate the server log time and the log line itself.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ; Separate the server log time and the log line itself.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    [[noop]] [[$regex]](%hllog.value, /&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;log &lt;/del&gt;L ((?:0[1-9]|1[0-2])/(?:0[1-9]|[12][0-9]|3[01])/[0-9]{4} - (?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]): (.*)[\n\r\0]*$/)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    [[noop]] [[$regex]](%hllog.value, /L ((?:0[1-9]|1[0-2])/(?:0[1-9]|[12][0-9]|3[01])/[0-9]{4} - (?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]): (.*)[\n\r\0]*$/)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ; Invalid log line.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ; Invalid log line.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NaNg</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=5741&amp;oldid=prev</id>
		<title>NaNg: /* See also */ fixed grammer</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=5741&amp;oldid=prev"/>
		<updated>2011-06-11T19:19:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;See also: &lt;/span&gt; fixed grammer&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:19, 11 June 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l267&quot;&gt;Line 267:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 267:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See also ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See also ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to query a CS Server]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to query a CS Server]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to RCON &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a &lt;/del&gt;HL1 engine based server]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to RCON &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;an &lt;/ins&gt;HL1 engine based server]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to RCON a source engine based server]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to RCON a source engine based server]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://developer.valvesoftware.com/wiki/HL_Log_Standard HL Log Standard on valvesoftware]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://developer.valvesoftware.com/wiki/HL_Log_Standard HL Log Standard on valvesoftware]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NaNg</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=5736&amp;oldid=prev</id>
		<title>NaNg: HL1 Rcon script reference</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=5736&amp;oldid=prev"/>
		<updated>2011-06-11T16:31:23Z</updated>

		<summary type="html">&lt;p&gt;HL1 Rcon script reference&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:31, 11 June 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l267&quot;&gt;Line 267:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 267:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See also ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See also ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to query a CS Server]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to query a CS Server]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[How to RCON a HL1 engine based server]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to RCON a source engine based server]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to RCON a source engine based server]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://developer.valvesoftware.com/wiki/HL_Log_Standard HL Log Standard on valvesoftware]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://developer.valvesoftware.com/wiki/HL_Log_Standard HL Log Standard on valvesoftware]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NaNg</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=5733&amp;oldid=prev</id>
		<title>NaNg: Removed unneeded calc</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=5733&amp;oldid=prev"/>
		<updated>2011-06-11T11:03:01Z</updated>

		<summary type="html">&lt;p&gt;Removed unneeded calc&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:03, 11 June 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l65&quot;&gt;Line 65:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 65:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ; Number of keys is requested.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ; Number of keys is requested.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    [[If-Then-Else|if]] ([[$$]][[$1-|2]] == 0) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    [[If-Then-Else|if]] ([[$$]][[$1-|2]] == 0) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      [[return]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[$calc]](&lt;/del&gt;[[$regex]]([[$1-|$1]], /\((\S+)(?: &quot;([^&quot;]*)&quot;|())\)/g&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/del&gt;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      [[return]] [[$regex]]([[$1-|$1]], /\((\S+)(?: &quot;([^&quot;]*)&quot;|())\)/g)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l115&quot;&gt;Line 115:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 115:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ; Get the server log time (usually un-needed. if you do need it - uncomment the next line).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ; Get the server log time (usually un-needed. if you do need it - uncomment the next line).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ;var %hllog.time = $regml(1)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ; var %hllog.time = $regml(1)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    [[Local_Variables|var]] %hllog.cmd = [[$regml]](2)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    [[Local_Variables|var]] %hllog.cmd = [[$regml]](2)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NaNg</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=5730&amp;oldid=prev</id>
		<title>NaNg: Categories</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=5730&amp;oldid=prev"/>
		<updated>2011-06-11T10:13:51Z</updated>

		<summary type="html">&lt;p&gt;Categories&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:13, 11 June 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l269&quot;&gt;Line 269:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 269:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to RCON a source engine based server]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[How to RCON a source engine based server]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://developer.valvesoftware.com/wiki/HL_Log_Standard HL Log Standard on valvesoftware]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://developer.valvesoftware.com/wiki/HL_Log_Standard HL Log Standard on valvesoftware]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Tutorials]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Socket]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NaNg</name></author>
	</entry>
	<entry>
		<id>https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=5729&amp;oldid=prev</id>
		<title>NaNg: Created page with &quot; ; HL Log Listener snippet by NaNg  ; Date: 11-06-2011  ; Tested on mIRC 7.19  ;  ; HL Log window for HL log based engines (HL1, Source etc.),  ; Based on the HL Log Standard fou...&quot;</title>
		<link rel="alternate" type="text/html" href="https://script.quakenet.org/wiki/index.php?title=How_to_parse_HL_log_data&amp;diff=5729&amp;oldid=prev"/>
		<updated>2011-06-11T10:13:00Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; ; HL Log Listener snippet by NaNg  ; Date: 11-06-2011  ; Tested on mIRC 7.19  ;  ; HL Log window for HL log based engines (HL1, Source etc.),  ; Based on the HL Log Standard fou...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; ; HL Log Listener snippet by NaNg&lt;br /&gt;
 ; Date: 11-06-2011&lt;br /&gt;
 ; Tested on mIRC 7.19&lt;br /&gt;
 ;&lt;br /&gt;
 ; HL Log window for HL log based engines (HL1, Source etc.),&lt;br /&gt;
 ; Based on the HL Log Standard found at http://developer.valvesoftware.com/wiki/HL_Log_Standard&lt;br /&gt;
 ;&lt;br /&gt;
 ; ==================== NOTE! ====================&lt;br /&gt;
 ; This does NOT query the server to start logging, this should be done on your end, by sending&lt;br /&gt;
 ; this command to the server:&lt;br /&gt;
 ;   logaddress_add &amp;lt;listening_ip&amp;gt; &amp;lt;listening_port&amp;gt;&lt;br /&gt;
 ; &amp;lt;listening_port&amp;gt; should be the same in this command as well as in the /hllog command.&lt;br /&gt;
 ;&lt;br /&gt;
 ; This snippet was built based on CS (1.6) logs, therefore only two team colors exist (besides default).&lt;br /&gt;
 ; You can easly add more team colors by adding them to the $hllog.teamcolor alias found here.&lt;br /&gt;
 ;&lt;br /&gt;
 ; Usage:&lt;br /&gt;
 ; * /hllog &amp;lt;ip&amp;gt; &amp;lt;port&amp;gt; &amp;lt;listening_port&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [[alias]] hllog {&lt;br /&gt;
   ; Validate arguments (simple, no need for full validation).&lt;br /&gt;
   [[If-Then-Else|if]] ((![[$longip]]([[$1-|$1]])) || ([[$1-|$2]] !isnum 1-65536) || ([[$1-|$3]] !isnum 1-65536)) {&lt;br /&gt;
     [[echo]] -ag hllog: Invalid parameters.&lt;br /&gt;
     [[return]]&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Save the server&amp;#039;s address.&lt;br /&gt;
   [[Local_Variables|var]] %server.addr = [[DollarPlus|$+]]([[$1-|$1]],:,[[$1-|$2]])&lt;br /&gt;
 &lt;br /&gt;
   ; Check that the user has not opened a HL log window for the same server already.&lt;br /&gt;
   ; This makes sure that the user won&amp;#039;t have a log step over another log for the same server.&lt;br /&gt;
   [[If-Then-Else|if]] ([[$window_(remote)|$window(]]%server.addr)) {&lt;br /&gt;
     [[echo]] -ag HL log window for %server.addr is already open! close it before trying.&lt;br /&gt;
     [[return]]&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Open the HL log window whilst activating it, hide the @ prefix and maximize it.&lt;br /&gt;
   window -ak0x @ [[DollarPlus|$+]] %server.addr&lt;br /&gt;
   [[aline]] 12 @ [[DollarPlus|$+]] %server.addr HL log window, now listening to: %server.addr&lt;br /&gt;
 &lt;br /&gt;
   ; Set the socket name we&amp;#039;ll use.&lt;br /&gt;
   [[Local_Variables|var]] %sockname = [[DollarPlus|$+]]($hllog.prefix, %server.addr)&lt;br /&gt;
 &lt;br /&gt;
   ; Start listening to HL logs from the server.&lt;br /&gt;
   [[sockudp]] -k %sockname [[$1-|$3]] [[$1-|$1]] [[$1-|$2]]&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ; Parses the given player.&lt;br /&gt;
 [[alias]] hlplayer {&lt;br /&gt;
   [[If-Then-Else|if]] (![[$regex]]([[$1-|$1-]], /&amp;quot;(.*?)&amp;lt;([^&amp;gt;]*)&amp;gt;&amp;lt;([^&amp;gt;]*)&amp;gt;&amp;lt;([^&amp;gt;]*)&amp;gt;&amp;quot;/)) {&lt;br /&gt;
     [[echo]] -ag hlpalyer: Invalid parameters.&lt;br /&gt;
     [[return]]&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   [[If-Then-Else|if]] ([[$prop]] == name) { [[return]] [[$regml]](1) }&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$prop]] == id) { [[return]] [[$regml]](2) }&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$prop]] == authid) { [[return]] [[$regml]](3) }&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$prop]] == team) { [[return]] [[$regml]](4) }&lt;br /&gt;
 &lt;br /&gt;
   [[return]] [[$true]]&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ; Gets the given property&amp;#039;s value.&lt;br /&gt;
 [[alias]] -l hllog.prop {&lt;br /&gt;
   ; Number of keys is requested.&lt;br /&gt;
   [[If-Then-Else|if]] ([[$$]][[$1-|2]] == 0) {&lt;br /&gt;
     [[return]] [[$calc]]([[$regex]]([[$1-|$1]], /\((\S+)(?: &amp;quot;([^&amp;quot;]*)&amp;quot;|())\)/g))&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   [[If-Then-Else|if]] ([[$regex]]([[$1-|$1]], /\(( [[DollarPlus|$+]] [[$1-|$2]] [[DollarPlus|$+]] )(?: &amp;quot;([^&amp;quot;]*)&amp;quot;|())\)/i)) {&lt;br /&gt;
     [[return]] [[$iif]]([[$regml]](2) == [[$null]], [[$true]], [[$ifmatch]])&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   [[return]] [[$null]]&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ; Get the team&amp;#039;s corresponding color.&lt;br /&gt;
 [[alias]] -l hllog.teamcolor {&lt;br /&gt;
   [[If-Then-Else|if]] ([[$1-|$1]] == CT) { [[return]] 12 }&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$1-|$1]] == TERRORIST) { [[return]] 04 }&lt;br /&gt;
 &lt;br /&gt;
   ; Default color if team is not recognized.&lt;br /&gt;
   [[return]] 14&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 [[alias]] -l hllog.prefix { [[return]] hllog }&lt;br /&gt;
 &lt;br /&gt;
 ; If the user has closed the HL log window, clear the socket.&lt;br /&gt;
 on *:CLOSE:@: {&lt;br /&gt;
   ; If there&amp;#039;s a socket named accordingly, close it.&lt;br /&gt;
   [[If-Then-Else|if]] ([[$sock]]([[DollarPlus|$+]]($hllog.prefix, [[$remove]]($target, @)))) {&lt;br /&gt;
     [[sockclose]] [[DollarPlus|$+]]($hllog.prefix, [[$remove]]($target, @))&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 on *:UDPREAD:$([[DollarPlus|$+]]($hllog.prefix, *)): {&lt;br /&gt;
   ; Get the window name for the current game server.&lt;br /&gt;
   [[Local_Variables|var]] %hllog.window = [[DollarPlus|$+]](@, [[$remove]]([[$sockname]], $hllog.prefix))&lt;br /&gt;
 &lt;br /&gt;
   ; If there were errors, $sockerr will tell us so.&lt;br /&gt;
   ; Write the error message to the window and clear the connection.&lt;br /&gt;
   [[If-Then-Else|if]] ($sockerr) {&lt;br /&gt;
     [[aline]] 04 %hllog.window * Error: Reading from socket: [[$sock]]([[$sockname]]).wsmsg&lt;br /&gt;
     [[sockclose]] [[$sockname]]&lt;br /&gt;
     [[return]]&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   [[Sockread|sockread]] -f %hllog.value&lt;br /&gt;
 &lt;br /&gt;
   ; Separate the server log time and the log line itself.&lt;br /&gt;
   [[noop]] [[$regex]](%hllog.value, /log L ((?:0[1-9]|1[0-2])/(?:0[1-9]|[12][0-9]|3[01])/[0-9]{4} - (?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]): (.*)[\n\r\0]*$/)&lt;br /&gt;
 &lt;br /&gt;
   ; Invalid log line.&lt;br /&gt;
   [[If-Then-Else|if]] ([[$regml]](0) == 0) { [[return]] }&lt;br /&gt;
 &lt;br /&gt;
   ; Get the server log time (usually un-needed. if you do need it - uncomment the next line).&lt;br /&gt;
   ;var %hllog.time = $regml(1)&lt;br /&gt;
   [[Local_Variables|var]] %hllog.cmd = [[$regml]](2)&lt;br /&gt;
 &lt;br /&gt;
   ; If the command is a comment, disregard it.&lt;br /&gt;
   [[If-Then-Else|if]] (//* iswm %hllog.cmd) { [[return]] }&lt;br /&gt;
 &lt;br /&gt;
   ; Server cvar change (event 001b).&lt;br /&gt;
   [[If-Then-Else|elseif]] (server cvar* iswm %hllog.cmd) {&lt;br /&gt;
     [[noop]] [[$regex]](%hllog.cmd, /^Server cvar &amp;quot;([^&amp;quot;]+)&amp;quot; = &amp;quot;([^&amp;quot;]+)&amp;quot;(.*)$/i)&lt;br /&gt;
 &lt;br /&gt;
     ; If the line was succesfully parsed.&lt;br /&gt;
     [[If-Then-Else|if]] ([[$regml]](0) &amp;gt; 0) {&lt;br /&gt;
       [[Local_Variables|var]] %cvar.name = [[$regml]](1)&lt;br /&gt;
       [[Local_Variables|var]] %cvar.value = [[$regml]](2)&lt;br /&gt;
       ; var %hllog.props = $regml(3)&lt;br /&gt;
 &lt;br /&gt;
       [[aline]] 3 %hllog.window Cvar &amp;quot; [[DollarPlus|$+]] %cvar.name [[DollarPlus|$+]] &amp;quot; has been changed, new value: &amp;quot; [[DollarPlus|$+]] %cvar.value [[DollarPlus|$+]] &amp;quot;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Rcon (events 004a and 004b).&lt;br /&gt;
   [[If-Then-Else|elseif]] ((Bad Rcon:* iswm %hllog.cmd) || (Rcon:* iswm %hllog.cmd)) {&lt;br /&gt;
     [[noop]] [[$regex]](%hllog.cmd, /^(Bad )?Rcon: &amp;quot;[^&amp;quot;]+ ([^&amp;quot;]+) &amp;quot;([^&amp;quot;]+)&amp;quot; (.*)&amp;quot; [^&amp;quot;\x28]+ &amp;quot;([^&amp;quot;]+:[^&amp;quot;]+)&amp;quot;(.*)$/i)&lt;br /&gt;
 &lt;br /&gt;
     ; Parse the event&amp;#039;s details.&lt;br /&gt;
     [[Local_Variables|var]] %hllog.badrcon = [[$iif]]([[$regml]](1) == [[$null]], $false, [[$true]])&lt;br /&gt;
     ; var %hllog.challenge = $regml(2)&lt;br /&gt;
     ; var %hllog.rconpwd = $regml(3)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.rconcmd = [[$regml]](4)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.sender = [[$regml]](5)&lt;br /&gt;
     ; var %hllog.props = $regml(6)&lt;br /&gt;
 &lt;br /&gt;
     [[aline]] 4 %hllog.window [[$iif]](%hllog.badrcon, Bad) RCON: %hllog.rconcmd (from: %hllog.sender [[DollarPlus|$+]] )&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Player got kicked (event 052b).&lt;br /&gt;
   [[If-Then-Else|elseif]] (Kick:* iswm %hllog.cmd) {&lt;br /&gt;
     [[noop]] [[$regex]](%hllog.cmd, /^Kick: (&amp;quot;[^&amp;quot;]+&amp;quot;) ([^&amp;quot;]+) &amp;quot;([^&amp;quot;]+)&amp;quot;(.*)$/i)&lt;br /&gt;
 &lt;br /&gt;
     ; Parse the event&amp;#039;s details.&lt;br /&gt;
     [[Local_Variables|var]] %hllog.player = [[$regml]](1)&lt;br /&gt;
     ; var %hllog.noun = $regml(2)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.kicker = [[$regml]](3)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.props = [[$regml]](4)&lt;br /&gt;
 &lt;br /&gt;
     [[aline]] 4 %hllog.window [[DollarPlus|$+]]([[$chr]](3), $hllog.teamcolor($hlplayer(%hllog.player).team), $hlplayer(%hllog.player).name, [[$chr]](15)) was kicked by %hllog.kicker with reason: [[DollarPlus|$+]](&amp;quot;, $hllog.prop(%hllog.props, message), &amp;quot;)&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Team score report (event 065).&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$regex]](%hllog.cmd, /^Team &amp;quot;([^&amp;quot;]+)&amp;quot; ([^&amp;quot;\x28]+) &amp;quot;([^&amp;quot;]+)&amp;quot; ([^&amp;quot;\x28]+) &amp;quot;([^&amp;quot;]+)&amp;quot;(.*)$/i)) {&lt;br /&gt;
     [[Local_Variables|var]] %hllog.team = [[$regml]](1)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.score = [[$regml]](3)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.numPlayers = [[$regml]](5)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.props = [[$regml]](7)&lt;br /&gt;
 &lt;br /&gt;
     [[aline]] 3 %hllog.window Team [[DollarPlus|$+]]([[$chr]](3), $hllog.teamcolor(%hllog.team), %hllog.team, [[$chr]](15)) scored %hllog.score with %hllog.numPlayers players %hllog.props&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Player score report (event 067).&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$regex]](%hllog.cmd, /^Player (&amp;quot;[^&amp;quot;]+&amp;quot;) ([^&amp;quot;\x28]+) &amp;quot;([^&amp;quot;]+)&amp;quot;(.*)$/i)) {&lt;br /&gt;
     [[Local_Variables|var]] %hllog.player = [[$regml]](1)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.score = [[$regml]](3)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.props = [[$regml]](4)&lt;br /&gt;
 &lt;br /&gt;
     [[aline]] 3 %hllog.window Player [[DollarPlus|$+]]([[$chr]](3), $hllog.teamcolor($hlplayer(%hllog.player).team), $hlplayer(%hllog.player).name, [[$chr]](15)) scored %hllog.score %hllog.props&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Events 057, 058, 059, 066.&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$regex]](%hllog.cmd, /^(&amp;quot;[^&amp;quot;]+&amp;quot;) ([^&amp;quot;\x28]+) (&amp;quot;[^&amp;quot;]+&amp;quot;) ([^&amp;quot;\x28]+) (&amp;quot;[^&amp;quot;]+&amp;quot;)(.*)$/)) {&lt;br /&gt;
     [[Local_Variables|var]] %hllog.firstEvent = [[$regml]](2)&lt;br /&gt;
     ; var %hllog.secondEvent = $regml(4)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.firstPlayer = [[$regml]](1)&lt;br /&gt;
 &lt;br /&gt;
     [[If-Then-Else|if]] (%hllog.firstEvent == triggered) {&lt;br /&gt;
       [[Local_Variables|var]] %hllog.secondPlayer = [[$regml]](5)&lt;br /&gt;
       [[Local_Variables|var]] %hllog.noun = [[$remove]]([[$regml]](3), &amp;quot;)&lt;br /&gt;
     }&lt;br /&gt;
     [[If-Then-Else|else]] {&lt;br /&gt;
       [[Local_Variables|var]] %hllog.secondPlayer = [[$regml]](3)&lt;br /&gt;
       [[Local_Variables|var]] %hllog.noun = [[$remove]]([[$regml]](5), &amp;quot;)&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     [[Local_Variables|var]] %hllog.props = [[$regml]](6)&lt;br /&gt;
 &lt;br /&gt;
     [[aline]] 1 %hllog.window [[DollarPlus|$+]]([[$chr]](3), $hllog.teamcolor($hlplayer(%hllog.firstPlayer).team), $hlplayer(%hllog.firstPlayer).name, [[$chr]](15)) %hllog.firstEvent [[DollarPlus|$+]]([[$chr]](3), $hllog.teamcolor($hlplayer(%hllog.secondPlayer ).team), $hlplayer(%hllog.secondPlayer ).name, [[$chr]](15)) with: [[DollarPlus|$+]](&amp;quot;, [[$replace]](%hllog.noun, _, [[$chr]](32)), &amp;quot;) [[$iif]]($hllog.prop(%hllog.props, headshot), (headshot))&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Events 050, 053, 054, 055, 056, 060, 063a, 063b, 068, 069.&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$regex]](%hllog.cmd, /^(&amp;quot;[^&amp;quot;]+&amp;quot;) ([^&amp;quot;\x28]+) &amp;quot;([^&amp;quot;]+)&amp;quot;(.*)$/)) {&lt;br /&gt;
     [[Local_Variables|var]] %hllog.player = [[$regml]](1)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.event = [[$regml]](2)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.noun = [[$regml]](3)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.props = [[$regml]](4)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.team = $hlplayer(%hllog.player).team&lt;br /&gt;
 &lt;br /&gt;
     [[If-Then-Else|if]] (%hllog.event == say) {&lt;br /&gt;
       [[aline]] 7 %hllog.window [[DollarPlus|$+]]([[$chr]](3), $hllog.teamcolor(%hllog.team), $hlplayer(%hllog.player).name, [[$chr]](15)) [[DollarPlus|$+]](says:, [[$chr]](3), 1) %hllog.noun&lt;br /&gt;
     }&lt;br /&gt;
     [[If-Then-Else|elseif]] (%hllog.event == say_team) {&lt;br /&gt;
       [[aline]] 7 %hllog.window [[DollarPlus|$+]]([[$chr]](3), $hllog.teamcolor(%hllog.team), $hlplayer(%hllog.player).name, [[$chr]](15)) [[DollarPlus|$+]](team says:, [[$chr]](3), 1) %hllog.noun&lt;br /&gt;
     }&lt;br /&gt;
     [[If-Then-Else|else]] {&lt;br /&gt;
       [[aline]] 1 %hllog.window [[DollarPlus|$+]]([[$chr]](3), $hllog.teamcolor(%hllog.team), $hlplayer(%hllog.player).name, [[$chr]](15)) %hllog.event [[DollarPlus|$+]](&amp;quot;, [[$replace]](%hllog.noun, _, [[$chr]](32)), &amp;quot;) %hllog.props&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Events 050b, 051, 052.&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$regex]](%hllog.cmd, /^(&amp;quot;[^&amp;quot;]+&amp;quot;) ([^\x28]+)(.*)$/)) {&lt;br /&gt;
     [[Local_Variables|var]] %hllog.player = [[$regml]](1)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.event = [[$regml]](2)&lt;br /&gt;
     ; var %hllog.props = $regml(3)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.team = $hlplayer(%hllog.player).team&lt;br /&gt;
 &lt;br /&gt;
     [[aline]] 1 %hllog.window [[DollarPlus|$+]]([[$chr]](3), $hllog.teamcolor(%hllog.team), $hlplayer(%hllog.player).name, [[$chr]](15)) %hllog.event&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Events 061, 064.&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$regex]](%hllog.cmd, /^Team &amp;quot;([^&amp;quot;]+)&amp;quot; ([^&amp;quot;\x28]+) &amp;quot;([^&amp;quot;]+)&amp;quot;(.*)$/i)) {&lt;br /&gt;
     [[Local_Variables|var]] %hllog.team = [[$regml]](1)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.event = [[$regml]](2)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.noun = [[$regml]](3)&lt;br /&gt;
     ; var %hllog.props = $regml(4)&lt;br /&gt;
 &lt;br /&gt;
     [[aline]] 1 %hllog.window [[DollarPlus|$+]]([[$chr]](3), $hllog.teamcolor(%hllog.team), %hllog.team, [[$chr]](15)) %hllog.event [[DollarPlus|$+]](&amp;quot;, [[$replace]](%hllog.noun, _, [[$chr]](32)), &amp;quot;)&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Events 062, 003a, 003b, 005, 006.&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$regex]](%hllog.cmd, /^([^&amp;quot;\x28]+) &amp;quot;([^&amp;quot;]+)&amp;quot;(.*)$/)) {&lt;br /&gt;
     [[Local_Variables|var]] %hllog.event = [[$regml]](1)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.noun = [[$regml]](2)&lt;br /&gt;
     [[Local_Variables|var]] %hllog.props = [[$regml]](3)&lt;br /&gt;
 &lt;br /&gt;
     [[If-Then-Else|if]] (%hllog.event == server say) {&lt;br /&gt;
       [[aline]] 7 %hllog.window Server [[DollarPlus|$+]](says:, [[$chr]](3), 1) %hllog.noun&lt;br /&gt;
     }&lt;br /&gt;
     [[If-Then-Else|else]] {&lt;br /&gt;
       [[aline]] 1 %hllog.window %hllog.event [[DollarPlus|$+]](&amp;quot;, [[$replace]](%hllog.noun, _, [[$chr]](32)), &amp;quot;) %hllog.props&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   ; Events 001a, 001c, 002a, 002b.&lt;br /&gt;
   [[If-Then-Else|elseif]] ([[$regex]](%hllog.cmd, /^([^&amp;quot;\x28]+)(.*)$/)) {&lt;br /&gt;
     [[Local_Variables|var]] %hllog.event = [[$regml]](1)&lt;br /&gt;
     ; var %hllog.props = $regml(2)&lt;br /&gt;
 &lt;br /&gt;
     [[aline]] 1 %hllog.window %hllog.event&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== See also ==&lt;br /&gt;
* [[How to query a CS Server]]&lt;br /&gt;
* [[How to RCON a source engine based server]]&lt;br /&gt;
* [http://developer.valvesoftware.com/wiki/HL_Log_Standard HL Log Standard on valvesoftware]&lt;/div&gt;</summary>
		<author><name>NaNg</name></author>
	</entry>
</feed>