You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

196 lines
7.2 KiB
Markdown

[Ultimate Splinterlands Bot V2](https://github.com/PCJones/Ultimate-Splinterlands-Bot-V2)
Thank you PCJones for creating this bot!
2 years ago
This is my implementation of the dockerized version of the bot. It is fatter than ontje-dev's version (341MB vs 129MB). But it builds faster!
* Note1: I can't seem get update checks to work on my version! due to a "config/version.usb" timestamp error. But it seems to work on ontje-dev's version
* Note2: If you rather use ontje-dev's version you can use their [Dockerfile](https://github.com/ontje-dev/Ultimate-Splinterlands-Bot-Docker/blob/main/Dockerfile) with the [docker-compose-onteje-dev-version.yml](https://github.com/StarWhiz/docker_deployment_notes/blob/master/splinterlands-bot-v2/docker-compose-onteje-dev-version.yml) included in this repository. Make sure you modify the `BOT_VERSION` in their Dockerfile to the version you want as described in my Dockerfile [section](https://github.com/StarWhiz/docker_deployment_notes/tree/master/splinterlands-bot-v2#dockerfile).
To start deploying. Create all the folders and files below with the modifications specified.
### Minimum File Structure
```
/home/
└── ~/
└── docker/
└── splinterlands-botv2/
2 years ago
└── config/
├── accounts.txt
├── config.txt
2 years ago
├── version.usb
├── Dockerfile
├── docker-compose.yml
```
### accounts.txt
Modify to use your own usernames and posting keys
```
username:postingkey
username:postingkey
```
### config.txt
No modification needed to run but you can modify if you want to!
```
##################General Settings##################
PRIORITIZE_QUEST=true
SLEEP_BETWEEN_BATTLES=5
START_BATTLE_ABOVE_ECR=0
STOP_BATTLE_BELOW_ECR=75
MINIMUM_BATTLE_POWER=0
CLAIM_SEASON_REWARD=false
CLAIM_QUEST_REWARD=false
##E.g. if you are almost bronze 1 and have enough power, it won't claim quest reward until you are bronze 1
DONT_CLAIM_QUEST_NEAR_HIGHER_LEAGUE=true
##If enabled it will click on the advance to next league button
ADVANCE_LEAGUE=true
##seperate by comma like this: earth,life - it will request new quest on earth and life quest
##Remove the # at the beginning of the next line to activate
#REQUEST_NEW_QUEST=earth
##################General Settings##################
##################Lightning Mode Settings##################
#####If you want to use the fast, low resource blockchain mode of the bot enable this#####
#####It has 90% less requests to splinterlands API then playing via browser, so you #####
#####will not get soft banned from splinterlands anymore. #####
USE_LIGHTNING_MODE=true
##Threads = number of parallel accoounts.
##Threads are MUCH faster than in the browser mode
THREADS=1
##Disable this if you want a cleaner log or you have problems with too many
##requests to the splinterlands API. Disabling will also make battles 10-25 seconds faster.
SHOW_BATTLE_RESULTS=true
##################Lightning Mode Settings##################
#######################API Settings########################
USE_API=true
API_URL=http://splinterlandsapi.pcjones.de:8080/
##PRIVATE API Settings - ignore if you don't have it
USE_PRIVATE_API=false
PRIVATE_API_URL=
PRIVATE_API_SHOP=
POWER_TRANSFER_BOT=false
#######################API Settings########################
#####################Advanced Settings#####################
AUTO_UPDATE=true
SHOW_API_RESPONSE=true
DEBUG=false
WRITE_LOG_TO_FILE=false
##Enable this if you get weird characters in your console that makes it hard to read
DISABLE_CONSOLE_COLORS=false
##Linux / VPS Variables - ignore if bot works
#CHROME_BINARY_PATH=path/to/chrome/binary
CHROME_NO_SANDBOX=true
##Advanced bot logic
#If you enable both DONT_CLAIM_QUEST_NEAR_HIGHER_LEAGUE and this the bot will not only wait
#until you have enough rating for the higher league, but also until you have enough
#power. Don't enable this unless you actively manage your power.
WAIT_FOR_MISSING_CP_AT_QUEST_CLAIM=false
#####################Advanced Settings#####################
###################Browser Mode Settings###################
#####If you want to use the old browser based version of the bot enable this#####
USE_BROWSER_MODE=false
## HEADLESS true = invisible browser
HEADLESS=true
##MAX_BROWSER_INSTANCES = MultiThreading!
##2 = 2 Browsers will open, so 2 accounts can fight at the same time
MAX_BROWSER_INSTANCES=2
###################Browser Mode Settings###################
```
2 years ago
### version.usb (optional)
2 years ago
This file is not required to run the container. I got this file from the [linux-x64.zip](https://github.com/PCJones/Ultimate-Splinterlands-Bot-V2/releases). It's used for an update check but I'm not sure why it fails in my container but not ontje-dev's.
2 years ago
```
2022-01-28 22:54:52
linux-x64
```
### Dockerfile
You need to modify ARG BOT_VERSION="2.9-fix2" to be on the latest version, if "2.9-fix2" isn't the latest version.
Check for latest version here: [Ultimate Splinterlands Bot V2](https://github.com/PCJones/Ultimate-Splinterlands-Bot-V2/releases)
2 years ago
Note: You may use [ontje-dev's Dockerfile](https://github.com/ontje-dev/Ultimate-Splinterlands-Bot-Docker/blob/main/Dockerfile) instead which has a smaller footprint.
```
FROM ubuntu:latest
ARG BOT_VERSION="2.9-fix2"
RUN apt-get update && apt-get install -y wget
# Add dotnet runtime to repository
RUN wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
RUN dpkg -i packages-microsoft-prod.deb
RUN rm packages-microsoft-prod.deb
RUN apt-get update && apt-get install -y \
apt-transport-https \
dotnet-runtime-6.0 \
unzip
RUN wget https://github.com/PCJones/Ultimate-Splinterlands-Bot-V2/releases/download/v${BOT_VERSION}/linux-x64.zip
RUN unzip linux-x64.zip || true
RUN rm -f linux-x64.zip
WORKDIR ./linux-x64
RUN mv Ultimate\ Splinterlands\ Bot\ V2 ultimatesplinterlandsbotv2
RUN chmod +x ultimatesplinterlandsbotv2
```
### docker-compose.yml
2 years ago
Note: If you are using ontje-dev's Dockerfile, substitute this docker-compose with [docker-compose-onteje-dev-version.yml](https://github.com/StarWhiz/docker_deployment_notes/blob/master/splinterlands-bot-v2/docker-compose-onteje-dev-version.yml)
```
version: '3'
services:
splinterlandsbotv2:
restart: unless-stopped
container_name: splinterlands
build: .
volumes:
- ./config:/linux-x64/config
command: "./ultimatesplinterlandsbotv2"
# fordebugging... command: "tail -f /dev/null"
```
### Running the Container
2 years ago
Type in `docker-compose up -d` to run the container! If this is the first time running it will take a while to build. Any subsequent runs will be started in seconds.
To check how the bot is doing live run `docker logs --follow splinterlands` otherwise to check the logs run `docker logs splinterlands`
### Updating The Bot
To update the bot...
* Run `docker-compose down` inside the splinterlands folder to bring down the container
* Edit the Dockerfile argument `ARG BOT_VERSION="2.9-fix2"` to the version you want.
* After that, run `docker-compose build` to rebuild the image under the new version.
* Run `docker-compose up -d` to launch the bot.
* And as always you can watch what the bot is doing live with `docker logs --follow splinterlands`