Collection of 7 Days to Die bots, scripts and hacks
Project description
py7dtd - A 7 Days to Die tools collection
In this repository are collected tools and scripts for the game 7 Days to Die:
- Tools for the detection of objects/entities
- Scripts for the automatization of actions (mining, crafting, etc.)
- Aim bots
- Passcode cracking
- Block detection
Installation (Windows)
Clone the module, create a virtual environment and install it:
git clone git@github.com:tassoneroberto/py7dtd.git
cd py7dtd
py -3.7 -m venv venv
.\venv\Scripts\Activate.ps1
py -m pip install .[ai]
Note: if you are not interested in "entities detection" or "aimbot" then you can omit [ai]
from the above command:
py -m pip install .
Dev mode
To install the package in edit mode (for developers) specify -e
:
py -m pip install -e .[ai]
Dependencies for entities detection
Disclaimer: an NVIDIA® GPU card with CUDA® architectures 3.5, 3.7, 5.2, 6.0, 6.1, 7.0 or higher is required. See the list of CUDA®-enabled GPU cards (https://developer.nvidia.com/cuda-gpus).
Install the following dependencies:
- C++ redistributable (https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)
- NVIDIA® GPU drivers —CUDA® 11.2.1 (https://www.nvidia.com/drivers)
- CUDA® Toolkit 11.1 (https://developer.nvidia.com/cuda-toolkit-archive)
- cuDNN SDK 7.6 (https://developer.nvidia.com/cudnn)
(More info here: https://www.tensorflow.org/install/gpu)
In order to use the module you need a x64
version of Python 3.7.x
.
You can download it at this page: https://www.python.org/downloads/windows/
Download link: https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64.exe
You also need to download the trained model (https://github.com/tassoneroberto/py7dtd/releases/download/v0.2/model.h5) for the entities detection and move it to src/ai/models/v2/
.
Optional
To be able to train a model you need to download the ImageAI
's pre-trained model (https://github.com/OlafenwaMoses/ImageAI/releases/download/essential-v4/pretrained-yolov3.h5) and move it to ./src/ai/
.
Entities detection
❗ Under development ❗
Simple entities detector using AI (Computer Vision).
The objects detection (trees, zombies, etc.) is done using ImageAI
: https://github.com/OlafenwaMoses/ImageAI/
The annotation of the images has been done using the tool labelImg
: https://github.com/tzutalin/labelImg
Proof of concept
Aim bot
❗ Under development ❗
Simple aim bot capable of:
- Detect zombies/players
- Move the mouse to the target
- Shoot
Usage
py7dtd_auto_shooting --delay 200
Note: Press ESC
to interrupt the bot.
Command line arguments
The following table is listing all the arguments that can be specified:
arg | description | default |
---|---|---|
help | Arguments description | N/A |
delay | Time in ms between each screenshot | 500 |
output | Output folder | ./auto_shooting |
Passcode cracking
❗ Under development ❗
Bruteforce/dictionary attack on chests/doors passcode.
Usage
It is recommended to set the game in window mode with a resolution of 640x480.
Example of a bruteforce attack testing passcodes of 2-10 characters length composed of digits and lowercase characters, with a delay of 20ms between each try, a limit of 100 tries and a timeout of 60 seconds.
Note: Press ESC
to interrupt the bot.
py7dtd_crack_passcode --brute --digits --lower --min 2 --max 10 --delay 20 --limit 100 --timeout 60
Get the arguments list with the help
function:
py7dtd_crack_passcode --help
Example of a dictionary attack with a delay of 30ms between each try and no limit in tries.
py7dtd_crack_passcode --dict --dictpath ./dictionaries/top1000.txt --delay 30
Note: dictionaries can be found at https://github.com/danielmiessler/SecLists/tree/master/Passwords.
Command line arguments
The available methods are bruteforce attack (--brute
) and dictionary attack (--dict
).
The following table is listing all the arguments to use for each method:
arg | description | default | type |
---|---|---|---|
help | Arguments description | N/A |
N/A |
min | Minimum length | 1 |
brute |
max | Maximum length | 20 |
brute |
digits | Include digits | False ** |
brute |
lower | Include lowercase characters | False ** |
brute |
upper | Include uppercase characters | False ** |
brute |
special | Include special characters | False ** |
brute |
dictpath | Dictionary file path | ./dictionaries/top1000.txt |
dict * |
limit | Maximum number of tries | ∞ |
brute , dict |
timeout | Maximum time in seconds allowed | ∞ |
brute , dict |
delay | Delay in ms between each action | 20 |
brute , dict |
*This attribute is required if dict
is selected
**At least one of these is required
Blocks detection
❗ Under development ❗
Detection of block, like topsoil
and destroyed stone
blocks, by taking screenshots of the map.
Usage
It is recommended to set the game in window mode with the highest resolution possible.
Specify the blocks to be identified by passing them as arguments (e.g. --topsoil
). Specify an output folder (or keep the default one ./blocks_detection
). Run the script and open the game map by pressing M
. Press P
to take a screenshot of the map and automatically mark in red the specified blocks. The screenshots, with the block marked, will be saved in the output folder.
Note: Press ESC
to interrupt the script.
py7dtd_blocks_detection --topsoil --destroyed
Get the arguments list with the help
function:
py7dtd_blocks_detection --help
Example of detection of topsoil blocks in the desert biome:
Command line arguments
The following table is listing all the arguments:
arg | description | default |
---|---|---|
help | Arguments description | N/A |
topsoil | Topsoil blocks | False * |
destroyed | Destroyed stone blocks | False * |
output | Output folder | ./blocks_detection |
*At least one of these is required
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file py7dtd-1.0.0a0.tar.gz
.
File metadata
- Download URL: py7dtd-1.0.0a0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98bef4aa9e063a9192b6cccc4a1b68a3ae5e00a7778c62de954c731b4514561a |
|
MD5 | a8e6138e7b108eb7edad70c231c2de0c |
|
BLAKE2b-256 | c49f7c90f1a4084923fb0f360597de14180b5747a77ebaca83ceb9748f75304e |
File details
Details for the file py7dtd-1.0.0a0-py3-none-any.whl
.
File metadata
- Download URL: py7dtd-1.0.0a0-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3978ec1915767127072f8d88f427ad386bcf4bcd545fab05356d7e81cd06721 |
|
MD5 | 86298208779188c451f5f4385644214e |
|
BLAKE2b-256 | a4eec23cdf6b0b4337a2c518dbf91cd86d06e726ac4b494d90e80aca64534ada |