VICE: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(Rewrite Template:Lang to Template:LanguageBar. This action was performed by a bot.)
 
(71 intermediate revisions by 25 users not shown)
Line 1: Line 1:
"ICE" is the type of encryption Valve uses for weapon scripts with the extension .ctx.
{{LanguageBar|VICE}}
{{toc-right}}


'''Vice''' is Valve's tool for [[ICE]] encryption, a trick used mainly to protect weapon script files from modification by server admins. Only its source code is included in the SDK. The compiled executable must be placed in the SDK's <code>bin\<engine>\bin\</code> folder to run.


If you do not know the encryption key of your mod, it's probably '''x9Ke0BY7''' (the default for HL2DM).  You should encrypt your script files so they can not easily be changed by users.
{{tip|You can find and set the encryption key for your mod in your [[GameRules]]' <code>GetEncryptionKey()</code> functionAll keys must be eight characters long! Valve keys can be found on [[ICE]] page.}}


== Usage ==
vice [-quiet] [-nopause] [-encrypt key] [-decrypt key] [-newext name] file ...
;-quiet
:Don't print anything out, don't pause for input.
;-nopause
:Don't pause for input.
;-encrypt
:Encrypt files with given key.
;-decrypt
:Decrypt files with given key.
;-newext
:New output file extension.


To have the ability to change the weapon scripts, a mod user would have to delete the .ctx files and create the .txt files from scratch.  This makes your mod more resistant to change, which means hosted servers won't as likely have changed the weapon scripts.
==Troubleshooting==


The source code of '''VICE''' is available in the Source SDK.  A compiled version of '''VICE''' can be downloaded[http://articles.thewavelength.net/uploads/704/vice.zip here in a zip file].
{{todo|Is this still a problem today?}}


Most users who try Steam will get a ''problematic SteamAppId'' error.  This is due to Steam filesystem update inconsistency. It stripped one word from the gameinfo.txt and didn't notify anyone.  In order to use these Steam applications you must go to the root folder of your mod or the game you want to modify, and change ''ToolsAppID'' to ''AppID''.  This will allow you to use both versions of vice and a few more programs like mdldecompiler.  You must also make sure that your mod or game is selected in vconfig.  If you edit your mod's gameinfo file and have [[Half-Life 2]] selected in [[vconfig]] you will not be doing much.


If you are decrypting Valve games and not your own mods, then you will have to make this change each time you want to use vice or any other applications that give the same message.  For each time you run say, [[Day of Defeat: Source]], it creates a new GameInfo.txt file that still include ''Tools''.


Execute this in the command prompt to make the .ctx files:
== Alternatives ==
"[Source SDK Bin]\vice.exe" -encrypt [Key: x9Ke0BY7 by default] -newext .ctx [.txt filenames (Use * for wildcard)]


* [[Using Vice without Steam|Standalone Vice]] (doesn't require Steam)
* [[User:Red comet|Red comet]]'s [[Vice Standalone With Wildcards|Standalone Vice with wildcard support]] (Vice2)
* [[User:RavuAlHemio|RavuAlHemio]]'s [[User:RavuAlHemio/Vice_with_better_wildcard_handling|Standalone Vice with improved wildcard support]] (Vice3)


* Changing the encryption key for your mod
==See also==
:You must change the returned string in the function "GetEncryptionKey" in the gamerules. The new encryption key ''must'' be eight characters long. This encryption key should be used when running '''VICE'''.


* [[CTX]]
* [[CtxConverter]]
* [[ICE]]
* [[Using Vice without Steam]]
* [[Weapon script]]


== External links ==


* Decrypting script files
* [http://www.mediafire.com/?q4dqbs554p494vk (mediafire)L4D2 VScript Editor Beta 0.5 by Cynick:support nut (de)compile for l4d2]
:If you happen to lose your .txt files and you only have their .ctx files and your mod's encryption key, you can run '''VICE''' to decrypt also:
"[Source SDK Bin]\vice.exe" -decrypt [Key: x9Ke0BY7 by default] -newext .txt [.ctx filenames (Use * for wildcard)]


[[category:Glossary]]
{{SDKTools}}
[[Category:Tools]]

Latest revision as of 17:42, 18 July 2025

English (en)日本語 (ja)Translate (Translate)

Vice is Valve's tool for ICE encryption, a trick used mainly to protect weapon script files from modification by server admins. Only its source code is included in the SDK. The compiled executable must be placed in the SDK's bin\<engine>\bin\ folder to run.

Tip.pngTip:You can find and set the encryption key for your mod in your GameRules' GetEncryptionKey() function. All keys must be eight characters long! Valve keys can be found on ICE page.

Usage

vice [-quiet] [-nopause] [-encrypt key] [-decrypt key] [-newext name] file ...

-quiet
Don't print anything out, don't pause for input.
-nopause
Don't pause for input.
-encrypt
Encrypt files with given key.
-decrypt
Decrypt files with given key.
-newext
New output file extension.

Troubleshooting

Todo: Is this still a problem today?

Most users who try Steam will get a problematic SteamAppId error. This is due to Steam filesystem update inconsistency. It stripped one word from the gameinfo.txt and didn't notify anyone. In order to use these Steam applications you must go to the root folder of your mod or the game you want to modify, and change ToolsAppID to AppID. This will allow you to use both versions of vice and a few more programs like mdldecompiler. You must also make sure that your mod or game is selected in vconfig. If you edit your mod's gameinfo file and have Half-Life 2 selected in vconfig you will not be doing much.

If you are decrypting Valve games and not your own mods, then you will have to make this change each time you want to use vice or any other applications that give the same message. For each time you run say, Day of Defeat: Source, it creates a new GameInfo.txt file that still include Tools.

Alternatives

See also

External links