Simple program to play Metamon automatically

Overview

Getting Started

Radio Caca

Important disclaimer

This software is intended for use by individuals familiar with Python programming language. It uses sensitive signature code from MetaMask wallet which needs to be safe and secure at all times. Make sure to inspect the code for any attempts to send your information anywhere except https://metamon-api.radiocaca.com/usm-api (official metamon game api). We are not responsible for any loss incurred if you used modified version of this code from other sources!

Prerequisites

To start using this program Python needs to be installed and some packages. The easiest way to obtain Python is to install miniconda, use latest release for your platform Linux/Mac/Windows

After installation open command line with virtual environment activated and run following command

pip install tqdm requests pandas argparse

to install all necessary packages

Prepare wallet(s) information

First open game with your browser and make sure your wallet is active in MetaMask plugin. Enter dev mode in browser (Chrome press Ctrl + Shift + I, or go to menu -> More Tools -> Developer Tools) select "Network" and "Fetc/XHR" in developer tools menu.

! Imoprtant: make sure to do it before signing in with MetaMask !

After login entry with "login" name should appear in the list of requests of developers tools. There after clicking on it and selecting "payload" in new menu all 3 essential values wil appear (address, sign, msg) copy those values and save in file (for example default is "wallets.tsv" in same dir where you run it).

File should have 4 columns tab separated (tsv):

name    address sign    msg
Wallet1 0x123.. 0x23... LogIn-...

Name is custom, choose what you want. If you save stats to file it will be used for name of that file. If you have multiple wallets you can add several rows to this tsv file.

Preparation is complete!

Ready to roll?

To get familiar run metamon_player.py to get help

python metamon_play.py --help

Message:

usage: metamon_play.py [-h] [-i INPUT_TSV] [-nl] [-nb] [-e] [-s]

optional arguments:
-h, --help            show this help message and exit
-i INPUT_TSV, --input-tsv INPUT_TSV
Path to tsv file with wallets' access records (name, address, sign, login message) name is used for filename with table of results.
Results for each wallet are saved in separate files
-nl, --no-lvlup       Disable automatic lvl up (if not enough potions/diamonds it will be disabled anyway) by default lvl up will be attempted after each battle
-nb, --skip-battles   No battles, use when need to only mint eggs from shards
-e, --mint-eggs       Automatically mint eggs after all battles done for a day
-s, --save-results    To enable saving results on disk use this option. Two files 
   
    _summary.tsv and 
    
     _stats.tsv will be saved in current dir.

    
   

for example:

paython metamon_play.py -e -s

Will try to read file wallets.tsv in current dir, auto fight, mint eggs, and save stats to corresponding files. Now you ready to have fun and explore other options.

Note: Since fee for all leagues is the same bot will try to fight in highest league for corresponding metamon and it is not configurable at this time.

Also if there will be interest we can release version which uses access token instead of signature (tokens expire and it is more secure to use, however it will require manual step of obtaining one every day for battles)

Hope you will have fun playing and this script will make it a little bit less tedious. Enjoy!

Comments
  • Create .tsv file

    Create .tsv file

    Some people don't know how to create .tsv files. I wrote this code to help generate .tsv file automatically after login After login success, in Chrome open Developer Tools, switch to tab Console, paste the bellow script => Enter

    (()=>{var e=[["name","address","sign","msg"],["Wallet1",sessionStorage.getItem("account-address"),sessionStorage.getItem("connect-sign"),sessionStorage.getItem("connect-signMsg")]],t="";e.forEach(function(n,a){dataString=n.join("\t"),t+=a<e.length?dataString+"\n":dataString});!function(e,t,n){var a=document.createElement("a");n=n||"application/octet-stream",navigator.msSaveBlob?navigator.msSaveBlob(new Blob([e],{type:n}),t):URL&&"download"in a?(a.href=URL.createObjectURL(new Blob([e],{type:n})),a.setAttribute("download",t),document.body.appendChild(a),a.click(),document.body.removeChild(a)):location.href="data:application/octet-stream,"+encodeURIComponent(e)}(t,"wallets.tsv","text/tsv;encoding:utf-8")})();

    opened by thucngv 3
  • fight crashed because max exp reached 600 XP

    fight crashed because max exp reached 600 XP

    There are new limitation in the game, when metamon exp reached 600 xp. it wont be able to fight anymore. and if it is reached during the fight. the script will crashed.

    please add check_exp before each fight so when metamon exp reached 600 xp and there are no potions or no upgrade parameters are set the script will stop and will not attempt to do a fight

    opened by ecalzz 2
  • Cannot run code

    Cannot run code

    Hi, After I ran the code, this is what I get:

    python metamon_play.py -i /Users/calvinle/MetaFrag Traceback (most recent call last): File "/Users/calvinle/metamon_play.py", line 350, in with open(args.input_tsv) as csvfile: IsADirectoryError: [Errno 21] Is a directory: '/Users/calvinle/MetaFrag'

    I followed the instruction on how to save the tsv from the "issue". The "metamon_play.py" is stored in "/Users/calvinle/" The "wallets.tsv" is stored in "/Users/calvinle/MetaFrag/"

    Thanks

    opened by calvinle87 2
  • Get runtime error

    Get runtime error

    Dear Authors, In 3 days lated, we got runtime error for each 5-10 metamons, maybe from bsc network. So we have to re run around 3-4 times to finish our wallet. Would you have any solution to handle it! Thanks so much!

    opened by JohnWick2008 2
  • new changes on games

    new changes on games

    by applying new features on games it's seems bot doesn't work anymore i got this error

    Monsters total: 0 Available Monsters : 0 No battles to record Traceback (most recent call last): File "D:\MetamonPlayer-master\metamon_play.py", line 376, in <module> mtm.mint_eggs() File "D:\MetamonPlayer-master\metamon_play.py", line 310, in mint_eggs for item in items: TypeError: 'NoneType' object is not iterable

    opened by mo-zd 1
  • No monsters detected

    No monsters detected

    image The script run but could not find my monsters as the img above. I tried both on unix and windows but the same. the problem can be from wallets.tsv perhaps. Let me know if you guys got the same problem and how to solve it. Many thanks.

    image

    opened by locbud 1
  • Fix/lvl60issues

    Fix/lvl60issues

    A Metamon that came back to Island with a ticket is lvl60 and can't play. It has been fixed by checkin the bool "IsPlay" instead of just the level. Also added information about number of 60 in wallet.

    opened by Afaelin 0
  • Fixed lvl60 issues

    Fixed lvl60 issues

    A Metamon that came back to Island with a ticket is lvl60 and can't play. It has been fixed by checkin the bool "IsPlay" instead of just the level. Also added information about number of 60 in wallet.

    opened by Afaelin 0
  • Added some displayed info (fighting monster, error message) + default wallets.tsv

    Added some displayed info (fighting monster, error message) + default wallets.tsv

    Add: Display the number of the currently fighting Metamon. Add: Display the error message if an error occurs while getting wallet properties. Add: Default wallets.tsv file

    opened by Afaelin 0
Owner
Metamon Island
Metamon Island
TetrisAI - Tetris AI Bot using computer vision to play game automatically

Tetris AI Tetris AI Bot using computer vision to play game automatically bot.py

null 11 Aug 29, 2022
Use different orders of N-gram model to play Hangman game.

Hangman game The Hangman game is a game whereby one person thinks of a word, which is kept secret from another person, who tries to guess the word one

ZavierYang 4 Oct 11, 2022
Bingo game now in python play as much you want :) no need to give me credit it's open as fuck

Bingo-py-game A game coded with Python Introduction This is a Terminal-based game currently in its initial stage. I am working on adding more efficien

Frey 5 Aug 12, 2021
A Gomoku game GUI using pygame where the user can choose to play against another player or an AI using minimax with alpha-beta pruning

Gomoku A GUI based Gomoku game using pygame where the user can choose to play against another player or an AI using minimax with alpha-beta pruning. R

Mingyu Liu 1 Oct 30, 2021
Overview: copain, your friendly AI framework to learn and play games

Overview: copain, your friendly AI framework to learn and play games Interface fceux with python and run reinforcement learning. Compatibility Current

fcharras 1 Dec 16, 2021
Lutris helps you install and play video games from all eras and from most gaming systems.

Lutris Lutris helps you install and play video games from all eras and from most gaming systems. By leveraging and combining existing emulators, engin

Pop!_OS 2 Nov 15, 2021
Just to play with my kids: create a secret alphabet and exchange encrypted messages

Secret Alphabet Description This project allows you to randomly generate an alphabet (a set of characters) and its corresponding translation. For the

BS 1 Nov 12, 2021
In the works, creating a new Chess Board and way to Play...

sWJz4KingsChess date started on github.com 11-13-2021 In the works, creating a new Chess Board and way to Play... starting to write this in Pygame, an

Shawn 2 Nov 18, 2021
An automation bot to play Myuu Discord game

Auto selfbot Myuu is a self Discordbot, meaning it will use your TOKEN to logged as your account and take commands from yourself to play the game.

null 6 Dec 15, 2022
Web frontend to play games from 2008 Miniclip - uses Ruffle for playback

cliparchive Description A set of scripts to download games from the Wayback Machine's archive of Miniclip.com, and a Web frontend to play them using r

Simon Garrelou 3 Dec 9, 2022
A multiplayer RPG Discord bot, where you play as a god.

To run Ensure your Python is up to date, and install packages from requirements.txt Duplicate secrets-template.yaml, and name it secrets.yaml Insert y

null 4 Jan 18, 2022
The repository that hosts the code that teaches a reinforcement learning - based bot to play 2048

The repository that hosts the code that teaches a reinforcement learning - based bot (based on policy gradients method) to play 2048

Maxim Rud 1 Dec 16, 2021
A python-based multi-player online educational game for students to play in a class or club setting.

Kurono (codename: aimmo) Code for Life has been developed by Ocado Technology as a free, open-source project to inspire the next generation of compute

Ocado Technology 108 Nov 7, 2022
Easy and fun game to play a bit. Written in python

NumGuesser Easy and fun game to play a bit. Written in python

Lodi#0001 4 May 22, 2022
Solution for automation games play-to-earn

Pillow automation used processing images

Luis Eduardo Camilo 1 Jan 19, 2022
A DDQN that learned to play tic tac toe by playing against itself

TicTacToeAI A DDQN that learned to play tic tac toe by playing against itself Cu

Anik Patel 3 Apr 9, 2022
You can play TicTacToe with the engine running UI.py with python3

TicTacToe An "Engine" for TicTacToe You can play TicTacToe with the engine running UI.py with python3. The file engine.py is designed so you can make

Ahnaf Syndeed 3 Feb 20, 2022
Simple python program to simulate Conway's game of life with custom variables.

ConwaysGameOfLife Simple python program to simulate Conway's game of life with custom variables. Custom Variables Grid-size : Change the size of the p

davidgasinski 1 Oct 28, 2021
Game-of-life - A simple python program to simulate and visualise the Conway's Game of life

Conway's game of life A simple python program to simulate and visualise the Conw

Dhravya Shah 3 Feb 20, 2022