Baritone AI pathfinder

Baritone AI pathfinder

72.7k Downloads

Remote chat control for trusted players

Opened this issue ยท 21 comments

commented

Describe your suggestion

On multiplayer servers, allow trusted players to send commands to Baritone instances via global chat or /msg.
Send output back to those trusted users.

All prefixed chat messages coming from non-trusted players should be handled like a normal chat message.

Examples:
/msg BaritoneBot3 #mine diamond_ore (applies to Baritone instance on account BaritoneBot3)
/say #pause (applies to all bots)

Settings

Allow the user to configure trusted players for each server, for example in a local json file.
This is especially important on offline-mode servers, where multiple players may share the same username on different servers: A trusted username on one server might not correspond to the same person on another server.

Context

It looks like #244 won't be merged anytime soon. This feature is much easier to implement and would still allow users to easily control multiple bots without switching clients. Bots could be running on different machines, even without a GUI and still be controllable.

This feature also allows for scripted automation: It's not hard to write a proxy or chatbot to inject chat messages depending on previous messages or a current state.

Final checklist

  • I know how to properly use check boxes
  • I have not used any OwO's or UwU's in this issue.
commented

You can already do this

commented

And also umm so Iโ€™m new to git hub so I may not know if this is right but if this becomes a feature Dominikaaaa please add it to Impact client I noticed that your in the baritone one and Impact so idk if you are a developer for both or what but please add this to Impact.

commented

I don't see why you had to specify that then, it's literally "if baritone is installed the command won't do anything"

I just wanted to be as specific as possible. At the time you had told me that it was already possible (which is isn't), so if what I described wouldnโ€˜t have been the expected behavior, for example if Baritone was already handling global chat messages as commands, that would have been important to know. But I guess thatโ€˜s clear now.

commented

I just added this into the latest KAMI Blue beta, if you don't want to wait for this to be added to mainstream Baritone

commented

How? I tried sending commands with and without prefix, that didn't do anything. Is there something I overlooked? I didn't find any settings or code related to something like this.

commented

#goto whatever

commented

Are we talking about the same thing here? What I want to do is allow another player on the same server to send commands to my Baritone instance, not just control the client I'm currently on.
Let's say I have two accounts on the server, Notch and BaritoneBot, and I want to control BaritoneBot by sending commands via chat from Notch.
If I run something like /msg BaritoneBot #goto lava on the client logged in as Notch, the Baritone client logged in as BaritoneBot won't do anything. Just running #goto lava on Notch only controls the instance I'm running that on, or if Baritone isn't installed there just send that to global chat, which also does nothing on the BaritoneBot player.

commented

Oh i'm pretty dumb, I completely misread the premise of this issue. Sorry about that.

commented

or if Baritone isn't installed there just send that to global chat, which also does nothing on the BaritoneBot player.

How would it send it to global chat if baritone isn't installed tho

commented

Well, if Notch is on a vanilla client and types that in it will just send it to chat, because nothing's there to cancel the chat message

commented

Well, if Notch is on a vanilla client and types that in it will just send it to chat, because nothing's there to cancel the chat message

I'm not sure I follow. How would that work?

commented

If I'm not wrong, what Baritone is doing with those commands is listening for the user to send a chat message, checking if the message looks like a command and if that's the case cancel the chat message and instead execute it as a Baritone command. All other messages are ignored by Baritone and go straight to global chat like on a unmodified client, and if Baritone isn't there to do the filtering, messages with a command prefix will go to global chat too. So if you type #goto lava in chat, that's a command for baritone, but it's just a normal chat message for a vanilla client.

commented

I don't see why you had to specify that then, it's literally "if baritone is installed the command won't do anything"

commented

I think this would be a REALLY cool feature because then if you have lots of AlTS on laptops around your house or what not you donโ€™t have to go around and type in the commands on those you can just remotely send it to them from your main computer.

commented

That's a good start, thank you!

commented

ezgif com-optimize
it is, and that's about the extent that i will go because i really cba to reimplement this into baritone, even though it's like 1 mixin, it's all written in Kotlin and baritone is in Java

commented

KoTliN, bruh XD

commented

Cool idea, I like this!!!
You can run 21 minecrafts, 20 with baritone on a powerful computer and 1 without on your laptop, and you will be able to control 20 bots from anywhere you are if you have internet and play on the same server as the bots are, you can take this a step further with vnc, ssh and automation and make the 20 bots join a different server and do /login from anywhere you are if you have internet

commented

Do both clients need KAMI Blue running? or just the receiving client?
I've tried both, one, enabling and disabling the module, changing the prefix
Apologize for necroposting and thanks in advance for the help!

commented

or just the receiving client?

Only receiving. Ask for help on the KAMI Blue Discord if you need more help with it