<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alliedmods.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BashOrgRu</id>
	<title>AlliedModders Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alliedmods.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BashOrgRu"/>
	<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/Special:Contributions/BashOrgRu"/>
	<updated>2026-05-08T02:12:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.6</generator>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=9783</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=9783"/>
		<updated>2015-01-27T01:27:47Z</updated>

		<summary type="html">&lt;p&gt;BashOrgRu: added missing messages, fixed existing ones&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called with pev-&amp;gt;avelocity[1] as a value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by (65536  / 360).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays a Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track number goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The music files are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The ''LoopTrack'' param is unused but required.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
Notify the client that some outgoing datagrams were not transmitted due to exceeding bandwidth rate limits.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CLIENTDATA =&lt;br /&gt;
Contains information about the client state at the time of last server frame.&amp;lt;br&amp;gt;&lt;br /&gt;
Weapon data is also sent if the client is predicting weapon state changes.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|''DeltaUpdateMask'' determines the frame which should be taken as a source for delta compression.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The length of ''WeaponIndex'' field is 5 on some outdated engines where MAX_WEAPON_DATA is set to 32.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If ''HasDelta'' is set to 0, ''DeltaUpdateMask'' should not be sent, and the client will not inherit previous data from any frame.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has its arguments in bit-packed form.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CLIENTDATA}}&lt;br /&gt;
{{hl1msg|1 bit|HasDelta}}&lt;br /&gt;
{{hl1msg|8 bits|DeltaUpdateMask}}&lt;br /&gt;
{{hl1msg|n bits|ClientData (delta-compressed clientdata_t)}}&lt;br /&gt;
{{hl1msg|1 bit|HasWeaponData}}&lt;br /&gt;
{{hl1msg|6 bits|WeaponIndex}}&lt;br /&gt;
{{hl1msg|n bits|WeaponData (delta-compressed weapon_data_t)}}&lt;br /&gt;
{{hl1msg|...|more weapon data if needed}}&lt;br /&gt;
{{hl1msg|1 bit|0 (signifies the end of weapon data)}}&lt;br /&gt;
{{hl1msg|n bits|alignment to byte boundary}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUSTOMIZATION =&lt;br /&gt;
Notifies the client that a new customization is avaliable for download.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Sent for all active clients every time a new player finishes uploading its custom resources.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Also sent for this very client a number of times with information about the customizations of all other clients currently on the server.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|''MD5Hash'' is sent only if Flags has the RES_CUSTOM (4) bit set.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SVC_CUSTOMIZATION}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{hl1msg|byte|Type}}&lt;br /&gt;
{{hl1msg|string|Name}}&lt;br /&gt;
{{hl1msg|short|Index}}&lt;br /&gt;
{{hl1msg|long|DownloadSize}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{hl1msg|16 bytes|MD5Hash}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DELTADESCRIPTION =&lt;br /&gt;
Synchronizes client delta descriptions with server ones.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The descriptions are parsed from &amp;quot;delta.lst&amp;quot; once on server startup.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|''Fields'' are delta-compressed too using the meta delta definition, which is identical both on the client and the server.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has some of its arguments in bit-packed form.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DELTADESCRIPTION}}&lt;br /&gt;
{{hl1msg|string|Name}}&lt;br /&gt;
{{hl1msg|16 bits|NumFields}}&lt;br /&gt;
{{hl1msg|n bits|Fields (delta-compressed)}}&lt;br /&gt;
{{hl1msg|n bits|alignment to byte boundary}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DELTAPACKETENTITIES =&lt;br /&gt;
Contains information about the entity states, like origin, angles and such.&amp;lt;br&amp;gt;&lt;br /&gt;
This is the basic means of sending entity updates to the client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|''UpdateMask'' determines the frame which should be taken as a source for delta compression.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Each entity can inherit itself in a number of ways:}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- from a &amp;quot;null&amp;quot; state (no delta);}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- from a previous entity in the message;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- from a &amp;quot;best&amp;quot; calculated baseline;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- from an instanced baseline set by the game library.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|''NoDelta'' means there would be no delta information following the header.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Entity index can be short (6 bits) or long (11 bits). The short index is basically a difference between current and previous index.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If difference is 1, no index would be sent.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Compression is done using one of three encoders: entity_state_t, entity_state_player_t and custom_entity_state_t.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;quot;Best&amp;quot; baseline is a baseline with the least amount of fields that were changed, and as such, the lesser network traffic.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has some of its arguments in bit-packed form.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DELTAPACKETENTITIES}}&lt;br /&gt;
{{hl1msg|short|NumberOfEntities}}&lt;br /&gt;
{{hl1msg|byte|UpdateMask}}&lt;br /&gt;
{{hl1msg|1 bit|NoDelta}}&lt;br /&gt;
{{hl1msg|1 bit|HasIndexDiff}}&lt;br /&gt;
{{hl1msg|] 6 bits|EntIndexDiff}}&lt;br /&gt;
{{hl1msg|] or|}}&lt;br /&gt;
{{hl1msg|] 11 bits|EntIndex}}&lt;br /&gt;
{{hl1msg|1 bit|CustomDelta}}&lt;br /&gt;
{{hl1msg|1 bit|HasInstancedBaseline}}&lt;br /&gt;
{{hl1msg|] 6 bits|InstancedIndex}}&lt;br /&gt;
{{hl1msg|1 bit|HasBestBaseline}}&lt;br /&gt;
{{hl1msg|] 6 bits|BestIndex}}&lt;br /&gt;
{{hl1msg|n bits|EntityState (delta-compressed)}}&lt;br /&gt;
{{hl1msg|...|repeat for any entities need to be updated}}&lt;br /&gt;
{{hl1msg|16 bits|0}}&lt;br /&gt;
{{hl1msg|n bits|alignment to byte boundary}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnects a player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_EVENT =&lt;br /&gt;
An event, defined by the game library, has recently occurred on the server.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message can be dropped if the client already has too much content in its unreliable buffer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Events can be precached using pfnPrecacheEvent routine.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Events are queued and grouped together every frame, if there's any.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|EventArgs are always inherited from &amp;quot;null&amp;quot; event args.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Only a max of 31 events can be queued and subsequently sent this way.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has its arguments in bit-packed form.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_EVENT}}&lt;br /&gt;
{{hl1msg|5 bits|NumberOfEvents}}&lt;br /&gt;
{{hl1msg|10 bits|EventIndex}}&lt;br /&gt;
{{hl1msg|1 bit|HasEntsInPack}}&lt;br /&gt;
{{hl1msg|] 11 bits|PacketIndex}}&lt;br /&gt;
{{hl1msg|] 1 bit|HasEventArgs}}&lt;br /&gt;
{{hl1msg|]   n bits|EventArgs (delta-compressed event_args_t)}}&lt;br /&gt;
{{hl1msg|1 bit|HasFireTime}}&lt;br /&gt;
{{hl1msg|] 16 bits|FireTime}}&lt;br /&gt;
{{hl1msg|...|more events if needed}}&lt;br /&gt;
{{hl1msg|n bits|alignment to byte boundary}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_EVENT_RELIABLE =&lt;br /&gt;
This message is simular to SVC_EVENT, but no queuing takes place, and the message can only hold one event.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All events with FEV_RELIABLE flag set would be sent this way.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message would be fragmented and sent separately if it overflows the client network channel.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|EventArgs are always inherited from &amp;quot;null&amp;quot; event args.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has its arguments in bit-packed form.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_EVENT_RELIABLE}}&lt;br /&gt;
{{hl1msg|10 bits|EventIndex}}&lt;br /&gt;
{{hl1msg|n bits|EventArgs (delta-compressed event_args_t)}}&lt;br /&gt;
{{hl1msg|1 bit|HasFireTime}}&lt;br /&gt;
{{hl1msg|] 16 bits|FireTime}}&lt;br /&gt;
{{hl1msg|n bits|alignment to byte boundary}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWUSERMSG =&lt;br /&gt;
Registers a new user message on the client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Sent every time a new message is registered on the server, but most games do this only once on the map change or server startup.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|''Name'' can be represented as an array of 4 &amp;quot;longs&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWUSERMSG}}&lt;br /&gt;
{{hl1msg|byte|Index}}&lt;br /&gt;
{{hl1msg|byte|Size}}&lt;br /&gt;
{{hl1msg|16 bits|Name}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NOP =&lt;br /&gt;
Does absolutely nothing.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server pads outgoing messages with SVC_NOP if the total datagram size is lesser than 16.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NOP}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PACKETENTITIES =&lt;br /&gt;
Contains information about the entity states, like origin, angles and such.&amp;lt;br&amp;gt;&lt;br /&gt;
This message is the same as SVC_DELTAPACKETENTITIES, only with UpdateMask field omitted.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The delta compression still takes place, albeit from a &amp;quot;null&amp;quot; state.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has some of its arguments in bit-packed form.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PACKETENTITIES}}&lt;br /&gt;
{{hl1msg|short|NumberOfEntities}}&lt;br /&gt;
{{hl1msg|...|see SVC_DELTAPACKETENTITIES}}&lt;br /&gt;
{{hl1msg|16 bits|0}}&lt;br /&gt;
{{hl1msg|n bits|alignment to byte boundary}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping and loss values for a number of players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Current server builds send this message every once in a frame, resulting in lots of unnecessary network overhead. This happens due to a bug in SV_ShouldUpdatePing routine; it can be observed by typing ''cl_messages'' in the console after some time playing on a server.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has its arguments in bit-packed form.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|repeat for as many players as needed}}&lt;br /&gt;
{{hl1msg|1 bit|0}}&lt;br /&gt;
{{hl1msg|n bits|alignment to byte boundary}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELIST =&lt;br /&gt;
This message contains all the resources provided by the server for clients to download. Consistency info can also be included.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|''MD5Hash'' is sent only if ''Flags'' has the RES_CUSTOM (4) bit set.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Outgoing ''Flags'' field can only include RES_FATALIFMISSING and RES_WASMISSING.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If ''ExtraInfo'' is empty, it is not sent, and ''HasExtraInfo'' must be equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Otherwise, ''ExtraInfo'' can include a FORCE_TYPE variable and allowed min/max size for models.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Consistency info is not sent in any of these cases:}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- mp_consistency is set to 0;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- the current game mode is singleplayer, or it is a listen server;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- there were no calls to ForceUnmodified before sending the resource list;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- the receiving client is a HLTV proxy.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Every resource with RES_CHECKFILE would be included in consistency list.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The consistency index can be short or long. Short index is a difference between current and last index.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has its arguments in bit-packed form.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELIST}}&lt;br /&gt;
{{hl1msg|12 bits|NumResources}}&lt;br /&gt;
{{hl1msg|4 bits|Type}}&lt;br /&gt;
{{hl1msg|n bits|Name}}&lt;br /&gt;
{{hl1msg|12 bits|Index}}&lt;br /&gt;
{{hl1msg|24 bits|DownloadSize}}&lt;br /&gt;
{{hl1msg|3 bits|Flags}}&lt;br /&gt;
{{hl1msg|128 bits|MD5Hash}}&lt;br /&gt;
{{hl1msg|1 bit|HasExtraInfo}}&lt;br /&gt;
{{hl1msg|] 256 bits|ExtraInfo}}&lt;br /&gt;
{{hl1msg|...|repeat for NumResources}}&lt;br /&gt;
{{hl1msg|1 bit|HasConsistency}}&lt;br /&gt;
{{hl1msg|] 1 bit|1}}&lt;br /&gt;
{{hl1msg|] 1 bit|IsShortIndex}}&lt;br /&gt;
{{hl1msg|]   5 bits|Index}}&lt;br /&gt;
{{hl1msg|]   or|}}&lt;br /&gt;
{{hl1msg|]   10 bits|Index}}&lt;br /&gt;
{{hl1msg|] ...|repeat for all resources with RES_CHECKFILE flag set}}&lt;br /&gt;
{{hl1msg|] 1 bit|0}}&lt;br /&gt;
{{hl1msg|n bits|alignment to byte boundary}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCEREQUEST =&lt;br /&gt;
Allows the client to send its own resource list (CLC_RESOURCELIST).&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCEREQUEST}}&lt;br /&gt;
{{hl1msg|long|SpawnCount}}&lt;br /&gt;
{{hl1msg|long|0}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESTORE =&lt;br /&gt;
Maintains a global transition table for the saved game.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Sent only if a save file is being played, and a new client connects to the server.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|HLTV clients can't connect to a saved game, and subsequently they can't receive this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|SaveName is formatted like: &amp;quot;SAVE/(map name).HL2&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESTORE}}&lt;br /&gt;
{{hl1msg|string|SaveName}}&lt;br /&gt;
{{hl1msg|byte|MapCount}}&lt;br /&gt;
{{hl1msg|  string|MapName}}&lt;br /&gt;
{{hl1msg|  ...|repeat for MapCount times}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDCVARVALUE =&lt;br /&gt;
Request a cvar value from a connected client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is considered obsolete, since it provides no option to differentiate between various cvar queries.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|After the client has successfully responded, the server calls pfnCvarValue function in the game library.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDCVARVALUE}}&lt;br /&gt;
{{hl1msg|string|Name}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDCVARVALUE2 =&lt;br /&gt;
Request a cvar value from a connected client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|RequestID is provided to be able to distinguish cvar queries between each other.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|After the client has successfully responded, the server calls pfnCvarValue2 function in the game library.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDCVARVALUE2}}&lt;br /&gt;
{{hl1msg|long|RequestID}}&lt;br /&gt;
{{hl1msg|string|Name}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra information regarding the server.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection right after SVC_SERVERINFO.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears ''FallbackDir'' is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SERVERINFO =&lt;br /&gt;
Contains information about the server.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|''SpawnCount'' is the number of times the server has changed its map.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|''MapFileName'' contains full map name relatively to the root directory, like ''maps/de_dust2.bsp''.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Contents of &amp;quot;mapcyclefile&amp;quot; are copied into ''Mapcycle'' string, allowing up to 8 KB of data.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SERVERINFO}}&lt;br /&gt;
{{hl1msg|long|Protocol}}&lt;br /&gt;
{{hl1msg|long|SpawnCount}}&lt;br /&gt;
{{hl1msg|long|MapCRC}}&lt;br /&gt;
{{hl1msg|16 bytes|ClientDLLHash}}&lt;br /&gt;
{{hl1msg|byte|MaxPlayers}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{hl1msg|byte|IsDeathmatch}}&lt;br /&gt;
{{hl1msg|string|GameDir}}&lt;br /&gt;
{{hl1msg|string|Hostname}}&lt;br /&gt;
{{hl1msg|string|MapFileName}}&lt;br /&gt;
{{hl1msg|string|Mapcycle}}&lt;br /&gt;
{{hl1msg|byte|0}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to a value other than 0 or 2, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message is also sent during the client connection process, but with ''AngleRoll'' always set to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by (65536 / 360).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SIGNONNUM =&lt;br /&gt;
Called just after client_putinserver. Signals the client that the server has marked it as &amp;quot;active&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SIGNONNUM}}&lt;br /&gt;
{{hl1msg|byte|1}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUND =&lt;br /&gt;
Plays a sound file on the client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The sound index can be short or long. If the index can fit in a single byte, the short variant is used, otherwise SND_LONG_INDEX bit (4) is included in ''Flags'' and 16 bits would be used for ''SoundIndex'' variable.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has its arguments in bit-packed form.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUND}}&lt;br /&gt;
{{hl1msg|9 bits|Flags}}&lt;br /&gt;
{{hl1msg|8 bits|Volume * 255 (flags&amp;amp;1)}}&lt;br /&gt;
{{hl1msg|8 bits|Attenuation * 64 (flags&amp;amp;2)}}&lt;br /&gt;
{{hl1msg|3 bits|Channel}}&lt;br /&gt;
{{hl1msg|11 bits|EntityIndex}}&lt;br /&gt;
{{hl1msg|] 16 bits|SoundIndex (flags&amp;amp;4)}}&lt;br /&gt;
{{hl1msg|] or|}}&lt;br /&gt;
{{hl1msg|] 8 bits|SoundIndex !(flags&amp;amp;4)}}&lt;br /&gt;
{{hl1msg|n bits|Origin}}&lt;br /&gt;
{{hl1msg|8 bits|Pitch (flags&amp;amp;8)}}&lt;br /&gt;
{{hl1msg|n bits|alignment to byte boundary}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|EngFunc_FadeClientVolume sends that message to client.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNBASELINE =&lt;br /&gt;
Creates a baseline for future referencing.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message can hold more than one baseline.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Delta-compressed fields are inherited from a &amp;quot;null&amp;quot; value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Engine baselines are sent first; they are formed from all eligible entities at the moment of map startup.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|GameDLL baselines are sent after engine ones. They are formed at the same time, but a game library can manually define them in CreateInstancedBaseline calls.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|There is no limit how many baselines can be sent. However, only 63 game baselines can be created by a game library, and ''NumInstanced'' can only hold 6 bits.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has its arguments in bit-packed form.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNBASELINE}}&lt;br /&gt;
{{hl1msg|] 11 bits|EntityIndex}}&lt;br /&gt;
{{hl1msg|] 2 bits|EntityType}}&lt;br /&gt;
{{hl1msg|] n bits|EntityState (delta-compressed)}}&lt;br /&gt;
{{hl1msg|] ...|repeat for every eligible entity}}&lt;br /&gt;
{{hl1msg|16 bits|65535}}&lt;br /&gt;
{{hl1msg|6 bits|NumInstanced}}&lt;br /&gt;
{{hl1msg|] n bits|EntityState (delta-compressed)}}&lt;br /&gt;
{{hl1msg|] ...|repeat for all instanced baselines}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATIC =&lt;br /&gt;
Marks an entity as &amp;quot;static&amp;quot;, so that it can be freed from server memory.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|''RenderAmt'', ''RenderColor'' and ''RenderFX'' are sent only if ''RenderMode'' does not equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|''ColorMap'' and ''Skin'' fields are deprecated; they can be set to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATIC}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|Frame}}&lt;br /&gt;
{{hl1msg|short|ColorMap}}&lt;br /&gt;
{{hl1msg|byte|Skin}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|angle|AngleX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|angle|AngleY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|angle|AngleZ}}&lt;br /&gt;
{{hl1msg|byte|RenderMode}}&lt;br /&gt;
{{hl1msg|] byte|RenderAmt}}&lt;br /&gt;
{{hl1msg|] byte|RenderColorR}}&lt;br /&gt;
{{hl1msg|] byte|RenderColorG}}&lt;br /&gt;
{{hl1msg|] byte|RenderColorB}}&lt;br /&gt;
{{hl1msg|] byte|RenderFX}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set ''EntityIndex'' with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid ''EntityIndex'' and set ''Origin'' with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|''Volume'' has to be scaled by 255 and ''Attenuation'' by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIME =&lt;br /&gt;
Notifies clients about the current server time.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent every frame by the server.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TIME}}&lt;br /&gt;
{{hl1msg|float|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
Contains information about a particular client.&lt;br /&gt;
See following posts for more details : https://forums.alliedmods.net/showthread.php?p=1995516#post1995516&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at a number of times:}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- at the moment of client activation (during the connection);}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- at the moment of disconnection with ClientUserInfo set to &amp;quot;&amp;quot;;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- using &amp;quot;fullupdate&amp;quot; command or having impulse #204 set in incoming move packets;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|&amp;amp;nbsp;- if the userinfo was changed, but only once per second for a single client.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|ClientIndex}}&lt;br /&gt;
{{hl1msg|long|ClientUserID}}&lt;br /&gt;
{{hl1msg|string|ClientUserInfo}}&lt;br /&gt;
{{hl1msg|16 bytes|ClientCDKeyHash}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent: &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEDATA =&lt;br /&gt;
Contains compressed voice data.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Size can be no higher than 4096.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEDATA}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{hl1msg|short|Size}}&lt;br /&gt;
{{hl1msg|&amp;quot;Size&amp;quot; bytes|Data}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>BashOrgRu</name></author>
		
	</entry>
</feed>