String Table Dictionary
Jump to navigation
Jump to search
Important:It is saved into the BSP map file after you leave the map, but will be cleared upon recompiling.
Warning:String tables cannot be generated if the map is already packed in a VPK.
Bug:Having the BSP file in an alternate directory loaded from gameinfo will cause the BSP to be duplicated into the <exe name>/maps folder when the game tries to embed the string tables into the BSP. This copy will contain the new string tables while the other will not. [todo tested in ?]

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)

This article is an orphan, meaning that few or no articles link to it.
You can help by
adding links to this article from other relevant articles.
January 2024
You can help by

January 2024

This article or section needs to be cleaned up to conform to a higher standard of quality.
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
String tables are a collection of internal game strings used to lower network bandwidth for multiplayer games, embedded into the BSP as a .dct file. It is prompted to be made automatically when a map is first loaded.


String Table Creation
- Load a map that is not packed in a VPK.
- Run the stringtabledictionary command in case the automatic string table building from launching the map fails.
- Leave the map.
- Check the BSP map file's last modified timestamp or open it with GCFScape or a similar package-viewing tool to check for the existence of stringtable_dictionary.dct.

Example
As a general idea of their purpose, here we have a string table structured as shown.
Index | String |
---|---|
0 | Nick |
1 | Ellis |
2 | Coach |
3 | Rochelle |
Whenever a Rochelle string is used, what is sent over the network is the index of this string (3). Embedded into the BSP file, all connected players should have an identical string table that their game looks into. Mismatches will cause players to disconnect with a failure message stating that their string table differs from the server's.
ConVars
Cvar/Command | Parameters or default value | Descriptor | Effect |
---|---|---|---|
sv_dumpstringtables | 0 | bool | Dump info about string tables when loading a map |
stringtable_alwaysrebuilddictionaries | 0 | bool | Rebuild dictionary file on every level load |
stringtable_usedictionaries | 1 | bool | Use dictionaries for string table networking |
ConCommands
Cvar/Command | Parameters or default value | Descriptor | Effect |
---|---|---|---|
dumpgamestringtable | Dump the contents of the game string table to the console. | ||
dumpstringtables | Print string tables to console. | ||
stringtabledictionary | Create dictionary for current strings. |
Tables
Table Name | Max size |
---|---|
downloadables | 8192 |
modelprecache | 2048 |
genericprecache | 512 |
soundprecache | 20000 |
decalprecache | 512 |
instancebaseline | 1024 |
lightstyles | 64 |
userinfo | 32 |
server_query_info | 4 |
ParticleEffectNames | 1024 |
EffectDispatch | 1024 |
VguiScreen | 256 |
Materials | 1024 |
InfoPanel | 128 |
Scenes | 16384 |
MeleeWeapons | 16 |
GameRulesCreation | 1 |