A guide to setting up your own Splinterlands bot

avatar
(Edited)

Back in January, I wrote about my success in getting a script working that can play my Splinterlands cards. Since I have so many monsters and summoners, especially low level cards I divided them up into 10 accounts. See below for Peakmonsters links to each to better understand the collection power I am working with.

@soloalpha00
@solobeta00
@soloazmare01
@solo00
@solo01
@solo02
@solo03
@solo04
@solo05
@solo06

Even with all of these accounts funded with cards I still have enough with my account to get up to Diamond II. Honestly I have only been in Diamond once ever, usually find myself somewhere in Gold by seasons end.

With these accounts, I am finding myself earning about 30k DEC every season, which is around $200. Along with many great cards. With 3x more bots (around 30) I would be earning around as much as 3rd place in champs in DEC. Pretty amazing honestly....

Now I must point out, I do not use the bot that I will be showing in this guide. As the one I use is closed source and only shared with me for testing, I cannot share the code out of respect to the devs. But I can show you how to use a free one, though expect errors at the time of writing this.

Alfficcadenti has been quite busy making many updates to this bot, so if you tried it back around the time of my previous post on this it has changed quite a bit. Including prioritizing quest rewards.

Link to the bot:

https://github.com/alfficcadenti/splinterlands-bot

Your only cost are spell books if you got the cards already and a machine to run the bot on. If you already have an Splinterlands account then you can just use that on the bot.

Below are the steps to set up your own bot, we will start in the very beginning. If you already have a Linux environment ready to go you can skip this and go straight to part 2.

Part 1: Installing the operating system

In this guide I will be setting up a virtual machine, but you do not need to. If you want you can install it directly on your machine. But I like VMs so I will use that in this guide.

Minimum / Preferred specs for host machine. If you install on "bare metal", meaning not on a virtual machine you can just go with the minimum. Otherwise you may find your virtual machine slow, and the script may time out on very slow machines if it cannot load the webpages fast enough.

Windows 10 Machine
6GB of RAM / 16GB of RAM
2 CPU cores / 4 CPU cores
60GB free disk space

To start download Ubuntu 20.04 LTS from the link below along with Oracle Virtualbox 6.1.26

Download Link to Ubuntu 20.04 LTS

https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso

Download Link to Oracle Virtualbox

https://download.virtualbox.org/virtualbox/6.1.26/VirtualBox-6.1.26-145957-Win.exe

Install Virtualbox and save the .iso for later.

Create a Virtual machine
Type: Linux
Version: Ubuntu 64-bit
Memory: between 4-8GB, the more you can spare the better.
Hard drive: 60GB

Upon setting up your new virtual machine you will need to mount the linux .iso you downloaded. You can find it under Settings>Storage>Attributes>Choose a disk file.

Next is to reboot your PC and enable virtualization. You will do this from your BIOS. This can vary depending on each manufacturer. (if you are not using a VM then this is not needed)

Once completed boot up your virtual machine and Linux livecd should come up. Click on "Install Ubuntu"

Click through the defaults until you reach "Install now" Keep in mind if you are doing this outside of a VM it can affect your currently installed Operating system. This is why I am doing it on a Virtual machine, makes it easier to manage.

Next you set the timezone and password. I suggest setting it to auto login for this simple bot machine.

Let the OS install, this can take anywhere from a few minutes to an hour depending on your machine.

Once installed and the virtual machine has been rebooted I suggest turning off screen lock. Goto Settings>Privacy>Screen Lock> Uncheck Automatic screen lock and change blank screen delay to never

Install Virtualbox guest additions by going to the Devices menu in Virtualbox and selecting "insert Virtualbox guest additions cd image" Installing this will help with compatibility between the virtual machine and host machine.

Part 2: Setting up the bot and dependencies

Download the bot using terminal
wget https://github.com/alfficcadenti/splinterlands-bot/archive/refs/heads/master.zip

Extract the downloaded zip in your Home directory, I like to place it in my documents.

add an .env text file that includes your Splinterlands account, posting key and bot settings. If you set it to true it can go after quests as well. I will use nano in this example, first navigate to your splinterlands-bot-master folder using the cd command.

nano .env

add the following four lines to the file.

ACCOUNT=youraccountname
PASSWORD=yourpostingpassword
QUEST_PRIORITY=true
MINUTES_BATTLES_INTERVAL=30

change youraccountname and yourpostingpassword to your own. Then press Ctrl-O, then enter and then Ctrl-X to save and close it.

Next is to install Nodejs as the bot is programmed in HTML and Javascript.

Update your repositories

sudo apt update

Install Nodejs

sudo apt install nodejs

Check that its up to date and functioning. Mine reads 10.19.0

node -v

Install Node Package Manager.

sudo apt install npm

Check that its up to date and functioning. Mine reads 6.14.4

npm -v

Navigate using cd to your splinterlands-bot-master folder.

Install needed Node dependencies

npm install

Run the bot

node index.js

Animation of the bot in action.

RAM and CPU usage while the bot is running, taken from inside the virtual machine.

API Errors

If you are getting errors and surrenders due to API errors it is due to the public API server that the dev is hosting. Below is his response.

A screenshot from his API server, showing the traffic is slammed right now. The popularity of this game growing so massively has alot to do with this.

Join the discord to talk with the bots creator and the community:

https://discord.com/invite/bR6cZDsFSX

Alternatives

Dec404 is a service ran by @nealmcspadden that you can have your cards played by real people.

Peakd.com Link:
https://peakd.com/@nealmcspadden/dec404-is-open-splinterlands-rental-accounts-are-back

Link to their Dec404 discord: https://discord.gg/trQpvCt

Or

Contact @almightymelon or AlmightyMelon#6301 on discord and inquire about plans of a paid subscription service where a bot will play your cards.

For reference a link to my first post about this:

https://peakd.com/hive-13323/@solominer/set-up-my-own-splinterlands-bots



0
0
0.000
50 comments
avatar

So everybody is just running bots? X)
So thats the way to play splinterlands now :c

0
0
0.000
avatar

lol nah only a fraction of people are, with all the new people coming in the last few months I think they will become less and less noticed.

0
0
0.000
avatar

Ye well. I don't know if I think its sad since its allowed and I kinda want to join ya haha xD

0
0
0.000
avatar
(Edited)

Its a great way make use of your idle cards.. Besides renting them out its the best way to help your collection keep earning.

Indeed its allowed, I have listened into the AMAs and they stated there are no plans on getting rid of them.

0
0
0.000
avatar

Well, all of my cards are idle. I don't really play anymore, the few cards I had is rented out and earning me shit since I didn't it before the spike :p

0
0
0.000
avatar

Based on your cwow2 account you may not have enough, but you can try and see what happens.

https://peakmonsters.com/@cwow2/collection

My bots have close to 100 cards each and with less it tends to miss battles sometimes.

0
0
0.000
avatar

I can always just buy some cards, might be too expensive at the moment.

ye well, I just wanted to get some free Dec :p

0
0
0.000
avatar

Id say just try and see if it works. Add more cards if it does not win any battles over the course of a day.

0
0
0.000
avatar

Seems a lot easier to just rent out idle cards.
It would have to be a way better return to justify the above effort.

0
0
0.000
avatar
(Edited)

Depends, I earn about 3000 DEC a season per bot. Not sure what cards earn renting them out....

0
0
0.000
avatar

love it :)

0
0
0.000
avatar
(Edited)

Hey Alfficcadenti,

Glad you liked how it came out, thanks alot for the help on discord and best of luck with more development on your bot.

0
0
0.000
avatar

Awesome post! Reblogged and upvoted due to its awesomness and quality.

!PIZZA

!LUV

Welcome to 🍕the Cool Pool Pizza Party!🍕

0
0
0.000
avatar

Hi @solominer
Very interesting your post, I have never used or considered using a bot for Splinterlands but your post made me consider this possibility :)
Could you recommend a bot that I can try and that works well?
It's ok even if it's paid
!BEER
@tipu curate

0
0
0.000
avatar

Ah very nice, yes well the paid options are more reliable. Alfficcadenti offer a $10 a month service to his bot that gives you a better API connection.

DEC404 is probably good too, since its ran by one of the most well known members of the Splinterlands community. Not sure of their costs, best to inquire.

thanks alot for the tipu tip :-)

0
0
0.000
avatar

love it
img_7579.png

0
0
0.000
avatar

congrats! its nice to have your cards working for you when you dont have to.

0
0
0.000
avatar

I love it! I wish I knew how!!!
I will reread this post slowly and see if I understand it fully.
How I wish we were neighbors so you can set me up, @solominer!

0
0
0.000
avatar

If you dont understand its all good, its not a simple computer task.

Hehe yeah I am sure we would trade alot of cuttings of plants ;-)

0
0
0.000
avatar

Congratulations @solominer! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

You received more than 44000 HP as payout for your posts and comments.
Your next payout target is 45000 HP.
The unit is Hive Power equivalent because your rewards can be split into HP and HBD

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Check out the last post from @hivebuzz:

Hive Power Up Day - September 1st 2021 - Hive Power Delegation
0
0
0.000
avatar

Never tried to set up a virtual machine, or had any experience with Linux.

Finna learn today I guess. 😆 Been wanting to fiddle with both those things for awhile. This gave me a reason to. Thanks!

Just so you know, if my dumbass deletes sys32, or launches skynet, or accidently hacks the NSA, I'm blaming you. 😜

0
0
0.000
avatar

Give it a try, worst comes to worst it just does not work. But at least you learned something while trying.

Lol nah it wont affect your system files, thats why I say use a VM. So it wont affect your host computer.

0
0
0.000
avatar

I got the virtual machine set up thanks to your guide (thanks again)! I'm on step 2 there. Dog got parvo, so had to put the project to the side for now to take care of her. So far so good though!

I got stuck on creating the text file with the user name and posting key. Been trying to learn how to do that. I use to be familiar with using a terminal to do things like that with DOS (different, I know but somewhat similar) Hell, I was 6 or 7 years old last time I used a terminal to do anything though. 😆

0
0
0.000
avatar

I would love to learn how to create my own API for the bot instead of using the public one. I know I can replace this part of the code "https://splinterlands-data-service.herokuapp.com/" with a private one so it works better. I was just wondering if you know of a video to teach me to do that?

0
0
0.000
avatar

Yeah you are correct, if you could set up your own API server you would get much better results.

I am planning on setting up a Hive API server in the future. So if I can get that working maybe I can do one for Splinterlands too.

0
0
0.000
avatar

Hello,

first of all, very nice job, it was very easy to setup and start running it. Congrats!

Only one question, is it possible to change the time delay between battles? I try to set 5 or 10 minutes, but it always says 30 min before the next battle.

There is a way to change that setting?

0
0
0.000
avatar

Ah thanks alot, glad you got it up and running. I beliebe in the .env file there is a MINUTES_BATTLES_INTERVAL=30 field where you would define the battle delays. Try to change that and then restart the app.

0
0
0.000
avatar

How does the bot fair with the new update?

0
0
0.000
avatar

I have not played much with Alfficcadenti's bot since writing this post. Was using a closed source project, and unfortunately its not doing so well after the CL introduction. So I plan on just renting cards until lands is released.

0
0
0.000
avatar

Hey, I know this is a bit of and old post, but I was wondering how you go about adding multiple accounts? I don't see that described anywhere. Thanks!

0
0
0.000