Hello guys,
As a player and botter myself -I hold over 300k CP-, there are many misconceptions about botting/rewards and player pool, so I wanted to make a post explaining how it works, what can you expect, and the different solutions.
I dont think that botting is negative, the player pool is not big enough yet to fill all the bots blanks, but I do think that players staking sps/holding cards should be rewarded higher. So your DEC rewards should be based on assets held, CP owned and not rented, because the main goal should be "leveling up", like in any other game.
There are two ways to configure your bot:
The easy one. Crawling battles with same rulesets, and then getting the ones with the highest winrate based on your cards and play that lineup. So you get a tons of battles from bronze, silver, gold, diamond, champions, and then when your bot is about to play, you get battles with the same results. The main bot, or the original one as far as I know, is alffi's bot. https://github.com/alfficcadenti/splinterlands-bot/releases
The only problem about this bot is that it battles through PUPPETEER. So basically, it opens a browser -like you would do-, it clicks the battle button, gets the ruleset, and then take a look at your database (in this case a .json) and inputs similar battles. If you DONT HAVE A HUGE DATABASE YOUR WINRATE WILL BE LOW. So you would need an API, that we will talk about it later. This bot is extremely easy to use, and if you know about coding you can probably do an api of your own and it will work.The hard one . Even you crawl battles with the same ruleset, simulate the battles based on your cards -same as you would do in game, with flying, miss...-, rank the teams and then insert the cards. You need to be extremely talented to code something like this, and have a lot of free time. The only thing that I could crawl with something along the lines was this:
https://github.com/Bauloewe/SM_Simulation
Mad props for Bauloewe, I dont understand even 25% of his code in Github :D
Then bots started to evolve, and since there is a scaling problem with pupeteer -it consumes a lot of system resources and is almost impossible to run 20, 30 or 40 bots at the same time- you would need to battle through the blockchain. Instead of opening your browser, just sending the requests to hive, starting a match, getting back the info, submitting the team, and checking the results. It works exactly the same as #1,the main difference is that now you can run 20, 50, 100 or 1000 accounts in a same computer. But you still have a problem:
Even you can battle through the blockchain, you still need a huge database of battles that can provide a sustainable WR for your accounts. So what bots do battle through the blockchain and have a nice WR?
Option 1) Pc Jones
https://github.com/PCJones/Ultimate-Splinterlands-Bot-V2
He forked alffis original bot with Pupeteer, and since I guess alffi is quite busy with his real work, all the people who can not do a custom solution switched to this bot. So you input your keys in the account and voila, it will battle through the blockchain with your current cards, and almost no system resources consumed, so even a 7 years old computer could do the work. Problem is, as far as I know, his API is just a huge JSON. If you crawl battles from bronze, eventually you would have a huge bottleneck, because most bots are using similar lineups and your solution wont have the highest winrate.
Option 2, my personal favourite, and the most new one:
Alinubu SplinterRObot
https://github.com/Alinubu/SplinterlandsRObot
I helped debugging this one, talked a lot with the author, and he has a huge mysql api fetching the results. His code is quite clean and neat, and all of the backend work -the database- is build with a good logic. So basically I do believe that in terms of profitability, this bot is currently outperforming by a lot the other solutions. You can run multiple accounts, claim quests, advance through leagues, use 0 mana cards..., all through the blockchain and an API that is build with a good logic.
So when you feel tired, or even if you want to take a break for a week, you can just have a solution to keep playing for you and earning rewards. The last one, Alinubu, as of this day is still the best one, since it has the biggest crawler and the most advanced fetching logic through the entire database.
Most of them have free/paid versions, free version give 15 battles/30 minute calls -you can not battle more than 15 times in 30 minutes even the API is the same- and the paid version gives you unlimited battles.
Do your own research, feel free to give it a try, and if you have any questions you can probably ask the author himself since the guy is pretty open about coding/bot logic.
https://discord.gg/29jGFqsK
Ultimately the purpose of your bots should be feeding your main account so you can play higher and enjoy the game at a competitive level. Not selling the cards at market price looking for a couple dollars a day. Hodl :)