1# HL1, Quake, CS - Half Life 1 engine games (HL 1, Quake 2/3/World, Counterstrike 1.6, etc.)
2# Pattern attributes: good veryfast fast
3# Protocol groups: game proprietary
4# Wiki: http://www.protocolinfo.org/wiki/Half-Life http://www.protocolinfo.org/wiki/Counter-Strike http://www.protocolinfo.org/wiki/Day_of_Defeat
5#
6# Contributed by Laurens Blankers <laurens AT blankersfamily.com>, who says:
7#
8# This pattern has been tested with QuakeWorld (2.30), Quake 2 (3.20), 
9# Quake 3 (1.32), and Half-life (1.1.1.0). But may also work on other
10# games based on the Quake engine.
11#
12# Clayton Macleod <cherrytwist A gmail.com> says:
13# [This should match] Counter-Strike v1.6, [...] the slightly updated
14# Counter-Strike: Condition Zero, and the game Day Of Defeat, Team
15# Fortress Classic, Deathmatch Classic, Ricochet, Half-Life [1] Deathmatch,
16# and I imagine all the other 3rd party mods that also use this engine
17# will match that pattern.
18
19quake-halflife
20# All quake (like) protocols start with 4x 0xFF.  Then the client either
21# issues getinfo or getchallenge.
22^\xff\xff\xff\xffget(info|challenge)
23
24# A previous quake pattern allowed the connection to start with only 2 bytes
25# of 0xFF.  This doesn't seem to ever happen, but we should keep an eye out
26# for it.
27