These are instructions for jetting up development on CSGO's data analytics and bot systems. If you just want to play against the bots, see my user instructions.
These instructions assume Ubuntu 22.04 OS with sufficient space to install a CSGO server (~30 GB). If your personal computer doesn't match these specifications, I recommend creating a machine on AWS using my guide.
- Open a terminal in the root CSKnow directory
- Install the C++ compiler, C++ build system, and openssl dependency. Run
analytics/scripts/install_dependencies.sh
to install cmake/gcc/openssl. Right now, I use gcc-11/g++-11, but I presume clang or future version of gcc should work fine. I just require C++-17 features.- Note: run this script as your normal user, it will request sudo access when necessary
- Install golang. I recommend doing this by installing the
goenv Go version manager. Run
demo_parser/scripts/install_dependencies.sh
to install goenv to/opt
, Go 1.19 to a location in your home directory, and jq via the package manager (jq used to get latest goenv version).- Note: Running this script with the y flag
(
demo_parser/scripts/install_dependencies.sh y
) will add goenv and go to your path. Otherwise, it will print instructions for you to add them to the path in~/.profile
. - However you choose to add goenv and go to your path, make sure to log out
and relogin if you add to your path using
~/.profile
.
- Note: Running this script with the y flag
(
- For David Durst Only (all others lack access to AWS): download demos from
AWS, process them into CSVs for the C++ database, and upload the CSVs to aws
by
cd
ing intodemo_parser
and running runningscripts/process_aws_on_local.sh
- For others, if you download a demo into the
demo_parser
directory and rungo run cmd/main.go -l -n demo_name.dem
the parser will run on that demo and write csvs todemo_parser/csv_outputs
. - This won't integrate with the rest of the data analytics pipeline, but it lets you experiment with the parser in isolation.
- For others, if you download a demo into the
- Download csvs from S3 that the C++ database will load (note: AWS
permissions allow anyone to run this step):
- Install Docker using
./demo_generator/docker_setup.sh
cd download_s3_csvs
- run
./build.sh
to build the S3 downloader Docker image - run
./start.sh
to download the csvs intolocal_data
- Install Docker using
- Run the C++ database by
cd
ing intoanalytics
and running./scripts/server_run.sh
- Visualize the C++ database query results
cd
intoweb_vis
- Install nvm (the npm version manager)
./scripts/install_nvm.sh
- Close and reopen your terminal for the installation to take effect.
- Install npm/node by running
source ./scripts/install_node.sh
- Install the package by running
npm install
- Continuously rebuild the visualization system as code changes by running
npm run watch
(note: must run this at least once, even if not making any changes, can quit out when compilation finished) - Open
index.html
in a web browser. I use firefox, but chrome should also work
TODO