Porting a CS:GO map
Before we start
All of these requirements are needed to follow this guide
- ata4/bspsrc
- Counter-Strike: Global Offensive - Legacy
- Counter-Strike: Global Offensive - SDK
- Counter-Strike 2 Workshop Tools
- Python
- Game path variable
Setting up files
Add game path to Environment Variables
You need to copy your CS2 game path, mine is X:\Steam\steamapps\common\Counter-Strike Global Offensive\game\bin\win64
Search for path
on windows and open Edit the system environment variables
> Advanced
> Environment Variables...
On System variables
scroll down until you find Path
> click it once > click Edit...
> New
> paste your CS2 game path > click OK
Installing python
make sure to click the box Add python.exe to PATH
Download Python 2.7.14
Open windows cmd and run python -m pip install colorama
if you cant run the command, restart your computer
You also need to restart regardless after environment variables changes
Decompile
Get the BSP
First we need to find a BSP file, they can be found in steamapps\common\Counter-Strike Global Offensive\csgo\maps
Or download the BSP from sites like GameBanana🍌
Decompile the map
To decompile the BSP we will use ata4/bspsrc
Open up BSPSource > Files
> Add
or drag in the BSP file > Other
> check the box Extract embedded files
> Decompile
Save to preferably a simple folder, like D:\porting\map_example
Export files to CSGO
Move all files from your exported map folder to steamapps\common\Counter-Strike Global Offensive\csgo
Open up Counter-Strike: Global Offensive - SDK
Select Hammer World Editor
> top left File
> Open
> select the .vmf you exported and then save
Compile
Create a Workshop Addon
Open Counter-Strike 2 Workshop Tools
> Create New Addon
> choose a name for your workshop addon
Rename vpk.signatures
Before porting it, change vpk.signatures
file to vpk.signatures.bak
or any other name
File can be found in steamapps\common\Counter-Strike Global Offensive\game\bin\win64\vpk.signatures
Porting Manually
Go to steamapps\common\Counter-Strike Global Offensive\game\csgo\import_scripts
Open cmd and use python import_map_community.py <s1gameinfopath> <s1contentpath> <s2gameinfopath> <s2addon> <mapname> -usebsp
python import_map_community.py "X:\Steam\steamapps\common\Counter-Strike Global Offensive\csgo" "D:\porting\map_example" "X:\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo" "your addon" "map name" -usebsp
Porting with GUI
Go to steamapps\common\Counter-Strike Global Offensive\game\csgo\import_scripts
Open import_map_community_gui.exe
And select the files just like the cmd inputs above
- s1 gameinfo dir
X:\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\gameinfo.txt
- s1 content dir
D:\porting\map_example
- s2 gameinfo dir
X:\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\gameinfo.gi
- s2 addon name
your addon
- map name relative to maps\
map name
Then click OK
Compile the map
Open your addon in Counter-Strike 2 Workshop Tools
Go top right on Tools
> Hammer (Map Editor)
> then top left File
> Open
Select steamapps\common\Counter-Strike Global Offensive\content\csgo_addons\your addon\maps\your map.vmap
Top left again File
> Build map...
> Final Compile
> Build
Common issues
Missing textures/models, need to be manually recreated or changed