/BinCommander

Control your minecraft account over discord

Primary LanguageKotlinGNU Affero General Public License v3.0AGPL-3.0

BinCommander

Donate with Bitcoin Discord

Control your minecraft account over discord.

BinCommander uses Kotlin (JS), Discord.JS, Mineflayer and NodeJS to allow you to remotely control your minecraft account.

Features

Current:

  • Remotely and simultaneously connect multiple accounts to multiple servers
  • Remotely see your coordinates and vitals
  • Remotely see the latency and TPS of the server

Planned:

  • Open a proxy server allowing you to take over control from a bot and switch between different bots and servers from your local minecraft client
  • Notifications on events such as Queue Server positions, damage, view distance etc
  • Anti AFK, Auto Fish, Auto Mining, Long distance travelling

Usage

Create a discord bot and add it to a server, with permissions to read and send messages. Create config.json in the root repository folder, with the following template:

{
    "discord": {
        "token": "YOUR_BOT_TOKEN",
        "prefix": "+"
    },
    "users": [
        {
            "discordID": "YOUR_DISCORD_USER_ID",
			"spamdelay": 60,
            "spam": [
                "Text",
                "More text"
            ],
            "mcAccounts": [
                {
                    "mcName": "MinecraftUsername1",
                    "user": "Username or email for legacy accounts",
                    "pass": "password"
                },
                {
                    "mcName": "MinecraftUsername2",
                    "user": "Username or email for legacy accounts",
                    "pass": "password",
                    "clientToken": "You can optionally specify a token instead of a username/password combination"
                }
            ]
        }
    ]
}

Clone and execute ./gradlew run.

How?

This uses Kotlin with a JavaScript compilation target, allowing typesafe programming for nodejs. I have also written bindings for all the libraries that I use to allow typesafe interoperability.