Skip to content
Permalink
Browse files

Update README.md

  • Loading branch information...
TotallyNotElite committed Oct 15, 2019
1 parent 29e70db commit 1924553690a8f47be529d157e09746d501db41a7
Showing with 26 additions and 83 deletions.
  1. +26 −83 README.md
109 README.md
@@ -38,103 +38,47 @@ and a lot of useful features, including

# INSTALLATION

## Automatic: (Ubuntu 17.10+/Arch based only)
## Automatic: (Ubuntu 18.04+/Fedora/Arch based only)
Run in terminal:

* `bash <(wget -qO- https://raw.githubusercontent.com/nullworks/One-in-all-cathook-install/master/install-all)`

## Manual (Outdated):
You need CMake to build cathook, CMake should take care of dependencies
## Manual:

Install libglez, libxoverlay and simple-ipc
### Clone Cathook:
#### User mode:
```git clone --depth 1 https://github.com/nullworks/cathook```
#### Developer mode:
```git clone --recursive https://github.com/nullworks/cathook```
Clone Cathook (`git clone --recursive https://github.com/nullworks/cathook`)

* `cd <name>`
* `mkdir build && cd build`
* `cmake ..`
* `make && sudo make install`
* `cd ..`

Repeat until libglez, libxoverlay and simple-ipc are installed

Install cathook

* `mkdir build && cd build`
* `cmake .. && make`
* `sudo make data`

Make sure to put the required files in ../requirements/lib*, and cathook in ../cathook.

### Outdated (but might be helpful):

You need to use gcc-7 for compiling cathook if you add `-e CC=gcc-7 CXX=g++-7` to make command line

Ubuntu gcc7 installation: (check if you have gcc-6 installed already by typing `gcc-6 -v`
```bash
sudo apt update && sudo apt install build-essential software-properties-common -y && sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && sudo apt update && sudo apt install gcc-snapshot g++-7-multilib gcc-7 g++-7 -y
### Install dependencies:
#### Arch/Manjaro:
```

Ubuntu other dependencies installation:

```bash
sudo apt update && sudo apt install git libssl-dev:i386 libboost-all-dev libc6-dev:i386 gdb libsdl2-dev libglew-dev:i386 libfreetype6-dev:i386 -y
git boost cmake make gcc gdb lib32-sdl2 lib32-glew lib32-freetype2 rsync lib32-libglvnd dialog
```

### Even more Outdated (but might still be helpful):

Arch gcc6 & dependencies installation:
```bash
sudo pacman -U https://archive.archlinux.org/packages/g/gcc-multilib/gcc-multilib-6.3.1-2-x86_64.pkg.tar.xz https://archive.archlinux.org/packages/g/gcc-libs-multilib/gcc-libs-multilib-6.3.1-2-x86_64.pkg.tar.xz https://archive.archlinux.org/packages/l/lib32-gcc-libs/lib32-gcc-libs-6.3.1-2-x86_64.pkg.tar.xz && sudo cp -r /usr/include/c++/6.3.1/ /tmp/ && sudo pacman -S gdb gdb-common glew1.10 glew lib32-glew1.10 rsync lib62-gcc-libs gcc-libs-multilib gcc-multilib --noconfirm && yes | sudo cp -r /tmp/6.3.1/ /usr/include/c++/
#### Ubuntu
```

If you don't use Ubuntu or Arch (or if Arch script gets outdated), here's the list of what cathook requires:

* `cmake-qt-gui` (optional, for easy configuring)
* `cmake`
* `gcc-7`
* `g++-7`
* `gcc-7-multilib`
* `g++-7-multilib`
* `glew`
* `gdb` (for the injection script, you can use different injector if you want)
* `libssl-dev:i386`
* `libc6-dev:i386`
* `libsdl2-dev`
* `libglew-dev:i386`
* `libfreetype6-dev:i386`
* `libboost-all-dev`
* `rsync` (used for copying shaders/fonts to tf2 data directory, `check-data` script)


Cathook installation script:
```bash
git clone --recursive https://github.com/nullworks/cathook && cd cathook && bash build-tf2
software-properties-common build-essential git g++ g++-multilib libboost-all-dev gdb libsdl2-dev:i386 libglew-dev:i386 libfreetype6-dev:i386 cmake dialog rsync
```
#### Fedora
```
cmake dialog make gcc-c++ glibc-devel.i686 freetype-devel.i686 SDL2-devel.i686 glew-devel.i686 boost-devel.i686 rsync gdb git
```
#### Other distros
You will have to find matching packages yourself.
### Compile Cathook:
Go into the cathook directory and run
```./update```
**Errors while installing?**

`/usr/include/c++/7/string:38:28: fatal error: bits/c++config.h: No such file or directory`
You don't have gcc-7-multilib installed correctly.

Anything related to `glez` or `xoverlay`

Install libglez and libxoverlay.

`src/<any file>: fatal error: mathlib/vector.h: No such file or directory`
You didn't download Source SDK. **DO NOT DOWNLOAD CATHOOK USING "DOWNLOAD .ZIP" FROM GITHUB. USE git clone --recursive!**

If you are using another distro, make sure to have required dependencies installed.

## Updating cathook
Run the `update` script in cathook folder.
## Updating Cathook
Run the `update` script in Cathook folder.
Cathook requires a special data folder (contains shaders, font files, walkbot paths, etc). This folder is located at `/opt/cathook/data` and is generated automatically when you compile cathook.
Cathook requires a special data folder (contains shaders, font files, walkbot paths, etc). This folder is located at `/opt/cathook/data` and is generated automatically when you compile Cathook.
## Injection
`sudo ./attach` to attach cathook into TF2. Optionally, you can provide an argument number (0-n - #) to provide the TF2 process ID (for bots).
`sudo ./attach` to attach Cathook into TF2. Optionally, you can provide a PID (for bots or other linux users).
`sudo ./attach-backtrace` to attach and print backtrace incase TF2 crashes. Some users report that this causes FPS drop in-game. This is recommended to grab a log of what went wrong if Cathook is crashing on you.
`sudo ./attach-gdb` to attach and print backtrace in case TF2 crashes. Requires a debug Cathook build (run `./config` to configure the build mode). Some users report that this causes FPS drop in-game. This is recommended if you want to grab a log of what went wrong if Cathook is crashing on you ([report it!](https://github.com/nullworks/cathook/issues))
## Followbots (outdated)
`cathook-ipc-server` allows you to run and control Followbots to do your evil bidding in-game. The installation for Followbots is quite complex, and will not be covered on this page. Obviously, you must have several user accounts ready to run TF2.
@@ -145,4 +89,3 @@ The installation script is as followed:
git clone --recursive https://github.com/nullworks/cathook-ipc-server && cd cathook-ipc-server && make -j4
```
To run the Followbot server, run `./bin/cathook-ipc-server`. You can also use `./bin/cathook-ipc-server &>/dev/null &` to run it in background.

0 comments on commit 1924553

Please sign in to comment.
You can’t perform that action at this time.