diff --git a/README.md b/README.md index 2050a0f..69ddd49 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,8 @@ # Moomoo.io AI Bot Sender -~~This script is a very configurable botting tool for the MMO game [Moomoo.io](http://moomoo.io).~~ +This script is a very configurable botting tool for the MMO game [Moomoo.io](http://moomoo.io). -**Bot sending is no longer functional due to Moomoo.io's new IP limits. However, probing still works, so raid livestreams manually to your heart's content.** - -### WARNING: Please do not download any code that claims that it will "fix" or "add features" to this bot code. People have been including trojans and viruses in those unofficial programs. The ONLY official Moomoo bot code authors are Mega-Mewthree and Nebula-Devs. DO NOT download any other code related to Moomoo bots. +### WARNING: Please do not download any code that claims that it will "fix" or "add features" to this bot code. People have been including trojans and viruses in those unofficial programs. The ONLY official Moomoo bot code authors are `Mega-Mewthree` and `Nebula-Developers`. DO NOT download any other code related to Moomoo bots. We are not responsible for any damages caused by this project, or derivatives of this project. Use at your own risk. @@ -13,7 +11,7 @@ We are not responsible for any damages caused by this project, or derivatives of * [Discord](https://discord.gg/VgKFcVf) * [Subreddit](https://reddit.com/r/Nebula_Devs) -For contributors: [To-Do List](https://github.com/Mega-Mewthree/Moomoo-AI-Bot-Sender/projects/1) +For contributors: [To-Do List](https://github.com/Nebula-Developers/Moomoo-AI-Bot-Sender/projects/1) ## Installation @@ -23,6 +21,39 @@ First, you must download and install Node.js: https://nodejs.org/en/ For all the Windows users who have no clue how to open a Command Prompt terminal/console, open `openCommandPrompt.bat`. +### Install Compilers to Make Follow Mouse Command Work (Optional) + +If you have already installed the bot code, run `npm uninstall robotjs` in your console/terminal inside of the bot code's directory. + +#### Windows + +Download and install Visual C++ Build Tools 2015 [here](http://landinghub.visualstudio.com/visual-cpp-build-tools). + +Download and install Python 2.7.x [here](https://www.python.org/downloads/release/python-2714/). Make sure you select the option to add it to PATH. + +Run the following commands in your console (Command Prompt/Powershell): + + npm config set python python2.7 + npm config set msvs_version 2015 + +#### Mac OS X + +Download and install Python 2.7.x [here](https://www.python.org/downloads/release/python-2714/) if it isn't already installed. + +Download and install Xcode [here](https://developer.apple.com/xcode/download/). + +#### Unix + +You need Python 2.7.x and `make`. + +Download and install GCC [here](https://gcc.gnu.org/). + +#### All Systems + +Run the following command in your console/terminal inside of the bot code's directory: + + npm install robotjs + ### Install the Bot Code (Required) After Node.js is installed, run the below command in your console inside this folder. It is required to install important code the script depends on to run, and you can do that easily with the following command: @@ -31,20 +62,60 @@ After Node.js is installed, run the below command in your console inside this fo Or you can run `npminstall.bat` if you are on Windows and you have no clue how to get to a console. +Install a userscript manager: + +Chrome: [Tampermonkey](https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=en) + +Firefox: [Tampermonkey](https://addons.mozilla.org/firefox/addon/tampermonkey/) + +Safari: [Tampermonkey](http://tampermonkey.net/?browser=safari) + +Microsoft Edge: [Tampermonkey](https://www.microsoft.com/store/p/tampermonkey/9nblggh5162s) + +Opera: [Tampermonkey](https://addons.opera.com/extensions/details/tampermonkey-beta/) + + +Put the code in showid.user.js into Tampermonkey so that your ID is visible. + + Here is the start script: - node index.js [--probeTribe tribeName] [--probeName playerName] [--probeRegex boolean] + node index.js [--probeTribe tribeName] [--probeName playerName] [--num numberOfBots] [--link moomooPartyLink] [--tribe tribeName] [--name botName] [--randNames true] [--chat chatMessage] [--ai true] [--autoHeal true] [--randSkins true] See the next section for information on everything after `node index.js`. ## Configuration -~~There are two main modes to this bot, probing and botting.~~ - -**The script only has the probe function now.** +There are two main modes to this bot, probing and botting. #### NEW: Open start.bat to get an easier to use UI! For people who can't use the command line very well! (Windows only) +### Botting + +Type "setowner \" into the node.js console to make the bot obey your commands. + +`--num` sets the number of bots. Required for bots to function, and servers have their own limit of around 20 bots and users. Default: `0` + +`--link` sets the Moomoo party link. Required for bots to function. Default: none + +`--tribe` sets the Moomoo tribe. Default: none + +`--name` sets the bots' names. Default: `unknown` + +`--randNames` selects random names for the bots. Default: `false` + +`--chat` sets the bots' chat message. Default: none + +`--ai` enables using commands. If AI is not enabled, the bots spawn and do nothing. Default: `false` + +`--autoHeal` enables auto healing. Default: `true` + +`--randSkins` randomizes the skin color of bots. Default: `false` + +`--hat` changes the hat via ID, name, or keyword, that will be bought/equipped when enough gold is reached. You can find each hat's ID online, and soon in the Tampermonkey script. Default: none + +`--autoAttack` enables auto attack (as if they pressed E). Default: `true` + ### Probing `--probeTribe` searches all Moomoo.io servers for any tribes with the given name and returns the IPs so you can use them with --link. @@ -53,7 +124,7 @@ See the next section for information on everything after `node index.js`. `--probeRegex` makes the arguments provided to the 2 previous probe flags be interpreted as a regular expression. Do not use flags in your regular expression. Note that the starting and ending slashes (`/`) are not required. It is suggested that you surround your search expression in quotation marks so that the terminal doesn't interpret special characters like `>` as command line operators. Default: `false` -You can probe (search) for a name on the leaderboard or a tribe on all the public Moomoo.io servers. This is useful if you want to raid someone's livestream. +You can probe (search) for a name on the leaderboard or a tribe on all the public Moomoo.io servers. This is useful if you want to use the other part of this script to put bots on someone's livestream. Here is the start script for probing using a tribe name: @@ -72,3 +143,31 @@ Here is an example of regular expression probing: node index.js --probeName "Luc" --probeRegex true This will return all servers where someone whose name has the string `Luc` is on the leaderboard. For example, it will match `Luc`, `Luca`, `Lucario`, and `abcLucdef`. (But not `luc`.) + +You can put both the outputs into `--link` for the botting start script. + +## Console Commands + +Type `setowner ` into the Node.js console to make the bot obey your ingame commands. + +## Ingame Commands + +Press R or click on the minimap to make a ping on the minimap, which makes the bots come to that pinged location. + +!id \: Makes the bots send the ID of a player in chat. + +!fme: Makes the bots follow you. + +!fid \: Makes the bots follow the player with that ID. + +!atkid \: Makes the bots attack the player with that ID. [BUGGY] + +!s: Makes the bots stay. + +!r: Releases the bots from control. Different from !s in that pressing R to ping will move them. + +!fm: Makes the bots follow your mouse. May be buggy if the robot.js lib didn't compile correctly. + +!hat \: Switches a bot's hat using the ID, name, or keyword. If necessary, the requested hat will be bot. + +!atk: Toggles auto attack, as if the bots pressed E. diff --git a/changelog.txt b/changelog.txt index cba36f9..dac43e8 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,9 @@ +June 28, 2018 (2.1.0): + + Bots are back + * There will still be a warning when using 20 or more bots though + * No known way to bypass IP limit other than proxies (might come eventually) + + You can re-enable your script, it has some useful features + June 27, 2018 (2.0.0): + Sidney added an IP limit to Moomoo.io * RIP bots 2017-2018 diff --git a/index.js b/index.js index aa3cfe0..dc8944e 100644 --- a/index.js +++ b/index.js @@ -1,9 +1,3 @@ -/* ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 - -*/ - /* Moomoo-AI-Bot-Sender Copyright (C) 2018 Mega Mewthree @@ -22,8 +16,6 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -// Updated on June 27th, 2018 - (async () => { const io = require("socket.io-client"); const request = require("request"); @@ -709,8 +701,10 @@ along with this program. If not, see . }).catch(console.error); })(allServers.length); } else { - console.error("Due to the new IP limit, bot sending no longer works.\nHowever, you can still use the probe function."); - process.exit(); + if (numBots > 20) { + process.stdout.write("Warning: 20 or more bots may be capped by a server-side IP limit.\n"); + } + const server = getServerByID(link); if (!server) { console.error("Invalid link!"); @@ -736,17 +730,3 @@ along with this program. If not, see . }); process.stdin.resume(); })(); - -/* ------BEGIN PGP SIGNATURE----- - -iQEzBAEBCAAdFiEEGTGecftnrhRz9oomf4qgY6FcSQsFAlszwokACgkQf4qgY6Fc -SQsDTggA502bffFL+F0jBl9XW16Ql1BIKXVro8RuXA9DVXvHcFH0vZBFOA0Cz5bx -druRqTT2QpbZPoTgoAznPrMcSBa8SbmBxxpMkAlIf4e5Uyrp+YZF8KoSg6FKnsyU -tlwDTjV8+JnycxPmkH1IuSM0cNgd0lM6s3Cl4p9DuCSnCxjuTIcaDlZNilzftiEs -p8N7647ogCwxSnankpcCUVXrphqbgJNIoGFExUdPpNbwKXF+PUuFFFI76118yHyf -elY6g7wX2ks+75r6L0ULKQ1a75AGVAc7+fpb/zkxELrsiv/OFTm7Dhkyv244q/td -O20ZVdsTqTS1ZtPo5Ltj6j+iYr8lTQ== -=iYEa ------END PGP SIGNATURE----- -*/ diff --git a/package.json b/package.json index 787f27f..ac8fc09 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "moomoo-bots-with-ai", - "version": "2.0.0", + "version": "2.1.0", "description": "A Moomoo AI Bot Script", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, - "author": "Mega-Mewthree", + "author": "Mega-Mewthree (Nebula-Developers)", "license": "GPL-3.0", "dependencies": { "auto-updater": "^1.0.2", @@ -14,17 +14,19 @@ "socket.io": "^2.0.4", "socket.io-msgpack-parser": "^2.2.0" }, - "optionalDependencies": {}, + "optionalDependencies": { + "robotjs": "^0.4.7" + }, "repository": { "type": "git", - "url": "https://github.com/Mega-Mewthree/Moomoo-AI-Bot-Sender.git" + "url": "https://github.com/Nebula-Developers/Moomoo-AI-Bot-Sender.git" }, - "bugs": "https://github.com/Mega-Mewthree/Moomoo-AI-Bot-Sender/issues", + "bugs": "https://github.com/Nebula-Developers/Moomoo-AI-Bot-Sender/issues", "engines": { "node": ">=7.6.0" }, "auto-updater": { - "repo": "Mega-Mewthree/Moomoo-AI-Bot-Sender", + "repo": "Nebula-Developers/Moomoo-AI-Bot-Sender", "branch": "master" }, "devDependencies": { diff --git a/start.bat b/start.bat index 8425862..1b69d0f 100644 --- a/start.bat +++ b/start.bat @@ -7,7 +7,7 @@ cls @echo off :start echo Menu: -echo 1. Bot Sender (NOT FUNCTIONAL) +echo 1. Bot Sender echo 2. Prober set /p menu="Select an option: " if %menu%==2 goto probe @@ -42,7 +42,7 @@ cls set /p partylink="Party Link: " set /p tribename="Tribe Name: " set /p botnick="Bot Name: " -set /p numbots="Number of Bots: " +set /p numbots="Number of Bots (may be limited by server): " set /p chatmsg="Bot Chat Message: " set /p ai="AI? (Y/N): " set /p autoheal="Autoheal? (Y/N): "