The Meaning of Life, the Universe, and Everything.
Join Date:
1/25/2013
Posts:
129
Minecraft:
TorchRJ
Member Details
Thanks for the prompt 1.8 update!
Noticed that after using 'reco' or 'connect' this error message appears, doesn't seem to break anything though.
%serverip%,%username% and user defined variables don't work for chatbotlogfile, still works fine for chatlog.
The chatbotlogfile doesn't log 'reco' and 'connect' commands.
Having Server1,IP in the servers file and doing 'connect Server1' returns "Invalid server IP 'Server1'", but 'connect server1' works fine.
A 'reload' command that can be used the reload the config file will be great for testing
thatoneidiot: The answer is yes. You'll have to write a script that send the commands you want, and then schedule it every X seconds using the script scheduler. It's a bit more involved but as you can see it's really more flexible as you can put in the script any antiAFK procedure you like.
TorchRJ_: You are right, ThreadAbortException is normal when using /reco because the thread handling server connection and bot execution is... aborted. So I modified the code in order to ignore them (96a614b). A reload command would be difficult to implement since once variables are passed to the bots, they are not read again from the settings so it would be necessary to restart bots and other stuff which would cause more a restart than a reload. Variables in chatbotlogfile are now handled (c53a696) as well as server alias not being properly case sensitive (ad5897f). Thanks for your reports
iTzMrpitBull: You're welcome, any bug report that was useful for the app development is mentioned in changelog and its author is credited on the first post (updating the list on each release)
For some reason I can't get this to work. I guess I'll have to wait and hope for someone to make a video on it, as I'm really bad at all this technical stuff. Anyways, thanks for making the program
Since you are still unable to make it work and I don't like letting people in trouble.... a while ago I've setup a MacOS virtual machine running OSX Mountain Lion, when I wanted to check MCC was properly running on Mac and to take the screenshot which is visible on the first post. I still cannot make a video but I'll try to make a step-by-step guide with screenshots and text descriptions. I think this would anyway be easier to follow than watching a video with my terrible English accent
This is a step-by-step guide explaining how to download and setup everything you need
for using Minecraft Console Client on your mac. Just follow the guide!
Downloading and installing the Mono framework
You need to install the Mono framework only one time on each mac.
Once Mono is installed, You'll only have to update Minecraft Console Client for new versions.
To download the Mono framework, open this page in a new tab of your web browser (I'll use Safari) :
Once the command is completed you can check that the file has been properly downloaded using the ls command:
Of course you can also download the zip file from the first post.
But if doing so, make sure you open the terminal in the folder containig the zip file.
To create a MinecraftClient folder and extract the contents of the archive in that folder, use this command:
mkdir MinecraftClient; tar -C MinecraftClient -xf MinecraftClient.zip
Then, check with the ls command that the folder has been created:
You can check the contents of the MinecraftClient folder using the ls MinecraftClient command:
Congratulations, you have downloaded and installed the latest version of Minecraft Console Client!
Running Minecraft Console Client
Open the Terminal app if not already opened and navigate to the MinecraftClient folder.
If you installed it in the previous chapter, simply use cd MinecraftClient to go to the correct folder.
Then, use the following command to launch Minecraft Console Client using Mono:
mono MinecraftClient.exe
Minecraft Console Client should now be up and running.
Just put your credentials, server IP and you are done:
Now you know how to run Minecraft Console Client!
EDIT: If you cannot login, use the following command to install/update HTTPS certificates:
mozroots --import --ask-remove
It should solve the issue and then you'll be able to login.
Going further
Minecraft Console Client contains a lot of features to make your life easier.
Automatic login, alerts, anti afk, and many more. To get more info about these features,
I'd recommend you to take a look at the README file eg with the more README command.
To edit the files you can use your favorite text editor. Vim is not-so-difficult to use and pre-installed in Mac and Linux.
The most interesting file is the INI configuration file: MinecraftClient.ini
That's all Folks
No really, this is the end of this guide.
Hope you found it useful and have fun with Minecraft Console Client!
Hello again. So yeah, I tried out your step-by-step tutorial on this, and it actually worked for me, almost. I get all the way to when I have to put in my username and password. For reason it comes with this message when I type in those two things:
Connecting to Minecraft.net...
Connection failed : Network error.
Not connected to any server. Use '/help' for help.
Everything is documented in the first post and the README file found in the zip archive
I'd suggest you to make a script connecting the accounts one by one and performing the desired actions.
You do not need to program anything. Simply put "connect" "wait" and "send" commands in a text file, one per line.
Take a look at the files, it really isn't difficult to understand
To launch several instances of the program at once a .bat file and a .INI file would be handy.
In the INI file you put your settings such as scripts.
In the .bat file you run the instances:
Sorry but you can't control all the accounts at the same time ie saying "i want to do XX" and all the clients will do XX.
You may write commands on each console separately or prepare a script for them to automatically run it on startup.
Oh, now I think about it, you might do the following to say "I want to send X" and get all the bots sending X:
1. Turn on remote control for the accounts in INI file and set one of them as bot owner
2. Create the following script, let's call it sendall.txt:
3. Use /set cmd=/mycommand in the console of the "master" bot (the one you have set as bot owner)
4. Use /script sendall to trigger the script
5. The "master bot" will send the command you have set in %cmd% and tell all the other bots to send it as well.
6. Please don't use this for spamming. You would get banned anyway.
Very excellent tool you've got here! Thanks for the effort!
I was actually looking for a starting place to build an in-game helper "bot" to do all the cooking and cleaning and farming while the players are out adventuring.
(More advanced ideas are following along with the players and carrying the loot, wool farming, cow/pig breeding/farming/cooking, help in combat, basic mining/landscaping tasks, and general "don't die" reactions to mobs, possibly even extending into real learning AI concepts...)
Now I'm down to this and TorchBot (https://github.com/woder/TorchBot), but might end up with something in-between eventually. The suggestion I was going to make for this is to import and use a JavaScript engine for your scripts. I'm not sure just how hard it might be in C# (or how heavy the memory/processor use would end up), but TorchBot does it pretty easily in Java, and JavaScript engines are widely available and generally well-behaved. Then you wouldn't have to worry too much about implementing the loop details and end up writing yet another single-project specialty scripting language.
Just a suggestion, though, no complaints! I just found this project today, and read about 1/3 of this thread (starting from the most recent). I admire your dedication to the project, and look forward to reading your code.
Actually, your suggestion of using an already-existing scripting language such as JavaScript seems a very good idea! I was wondering how I was going to implement loops and conditions but in fact you are right, I may as well use some kind of JavaScript engine and let it take care of that for me. That would be easier for both the users (no need to learn a new language) and me (no need to write some complex and probably buggy scripting engine). MCC scripts (which are simply a list of commands with basic %variable% capabilities) could then be included into some more complex scripts written in JavaScript.
Your project of building some advanced AI is a good idea, it reminds me the idea I had of making a bot that could reproduce some kind of schematic files automatically by wandering around and placing blocks. Of course it never happened since it's not trivial to build. However I noticed a C# library called Substrate that could be used for handling terrain and then perform more advanced actions.
Not so easy as you may think. It works only if the skin is transparent.
Lots of skins have been made with Microsoft Paint or other poor image editors that does not handle transparency.
If you try to put a non-transparent helm it will hide the head!
Minecraft seems to scan the skin to determine its most-likely "transparent" color.
If you handled that too you might consider sending your contribution on GitHub
Well what I did, since I use the minotar's setup on my own server, instead using directely the mojang's server, I used the /helm/ from my server and it works
Although if recently changed skin isn't immediate because skins are kept in cache for 24 hours (they loads from my server, if expired it gets a newer one from mojangs server) but atm for some skins (maybe less) have transparancy issues (probs because PHP GD couldn't detect it that I need to fix but for my own personal usage i don't care)
Atm using minotar.net's still uses the legacy skin server so newer created accounts or newer skins shows as steves (Try YoloAwake) that show as a steve, but I fixed this on my own minotar setup.
PS: My english is poor so sorry for misspellings and/or bad grammar
EDIT: there is using my minotar setup (https://tntup.me/helm/(username)/16.png) <-using 16x16 pixels wide helms because with Display Fusion on my gaming computer, 8x8 pixel wide is blurred on DF's taskbars (having 3 monitors) and it works
Noticed that after using 'reco' or 'connect' this error message appears, doesn't seem to break anything though.
%serverip%,%username% and user defined variables don't work for chatbotlogfile, still works fine for chatlog.
The chatbotlogfile doesn't log 'reco' and 'connect' commands.
Having Server1,IP in the servers file and doing 'connect Server1' returns "Invalid server IP 'Server1'", but 'connect server1' works fine.
A 'reload' command that can be used the reload the config file will be great for testing
thatoneidiot: The answer is yes. You'll have to write a script that send the commands you want, and then schedule it every X seconds using the script scheduler. It's a bit more involved but as you can see it's really more flexible as you can put in the script any antiAFK procedure you like.
TorchRJ_: You are right, ThreadAbortException is normal when using /reco because the thread handling server connection and bot execution is... aborted. So I modified the code in order to ignore them (96a614b). A reload command would be difficult to implement since once variables are passed to the bots, they are not read again from the settings so it would be necessary to restart bots and other stuff which would cause more a restart than a reload. Variables in chatbotlogfile are now handled (c53a696) as well as server alias not being properly case sensitive (ad5897f). Thanks for your reports
iTzMrpitBull: You're welcome, any bug report that was useful for the app development is mentioned in changelog and its author is credited on the first post (updating the list on each release)
Running Minecraft Console Client on your Mac
This is a step-by-step guide explaining how to download and setup everything you need
for using Minecraft Console Client on your mac. Just follow the guide!
Downloading and installing the Mono framework
You need to install the Mono framework only one time on each mac.
Once Mono is installed, You'll only have to update Minecraft Console Client for new versions.
To download the Mono framework, open this page in a new tab of your web browser (I'll use Safari) :
http://www.mono-project.com/download/#download-mac
Then, simply click on the download button to get the Mac installer:
It should then move to your downloads:
Open the Finder, go to the Downloads section and wait while the file is downloading:
Once the file is downloaded, make sure you are opening it with Installer:
The Mono installer will then show up. Simply click Continue:
On the next screen (License), click Continue and Agree to accept the license terms:
Click Install to start installing Mono:
You'll have to type your password to proceed:
Wait while installation is in progress:
Once installation is successful, click Close:
Congratulations, Mono is now installed on your mac!
You will be able to run some .NET apps like Minecraft Console client!
Downloading and installing the latest version of Minecraft Console Client
This part of the guide also applies to Linux operating systems.
First, let's open the Terminal app:
You should get a command prompt like this one:
The most straightforward way of downloading Minecraft Console Client is by running the following command:
Once the command is completed you can check that the file has been properly downloaded using the ls command:
Of course you can also download the zip file from the first post.
But if doing so, make sure you open the terminal in the folder containig the zip file.
To create a MinecraftClient folder and extract the contents of the archive in that folder, use this command:
Then, check with the ls command that the folder has been created:
You can check the contents of the MinecraftClient folder using the ls MinecraftClient command:
Congratulations, you have downloaded and installed the latest version of Minecraft Console Client!
Running Minecraft Console Client
Open the Terminal app if not already opened and navigate to the MinecraftClient folder.
If you installed it in the previous chapter, simply use cd MinecraftClient to go to the correct folder.
Then, use the following command to launch Minecraft Console Client using Mono:
Minecraft Console Client should now be up and running.
Just put your credentials, server IP and you are done:
Now you know how to run Minecraft Console Client!
EDIT: If you cannot login, use the following command to install/update HTTPS certificates:
It should solve the issue and then you'll be able to login.
Going further
Minecraft Console Client contains a lot of features to make your life easier.
Automatic login, alerts, anti afk, and many more. To get more info about these features,
I'd recommend you to take a look at the README file eg with the more README command.
To edit the files you can use your favorite text editor. Vim is not-so-difficult to use and pre-installed in Mac and Linux.
The most interesting file is the INI configuration file: MinecraftClient.ini
That's all Folks
No really, this is the end of this guide.
Hope you found it useful and have fun with Minecraft Console Client!
Connecting to Minecraft.net...
Connection failed : Network error.
Not connected to any server. Use '/help' for help.
Or press Enter to exit Minecraft Console Client.
>/help
At the end of Mono setup, you'll have to run this command once (you can do it later it does not matter):
Just edited the guide to mention that command.
I'd suggest you to make a script connecting the accounts one by one and performing the desired actions.
You do not need to program anything. Simply put "connect" "wait" and "send" commands in a text file, one per line.
Take a look at the files, it really isn't difficult to understand
In the INI file you put your settings such as scripts.
In the .bat file you run the instances:
Don't have the time to make a full example.
You may write commands on each console separately or prepare a script for them to automatically run it on startup.
1. Turn on remote control for the accounts in INI file and set one of them as bot owner
2. Create the following script, let's call it sendall.txt:
3. Use /set cmd=/mycommand in the console of the "master" bot (the one you have set as bot owner)
4. Use /script sendall to trigger the script
5. The "master bot" will send the command you have set in %cmd% and tell all the other bots to send it as well.
6. Please don't use this for spamming. You would get banned anyway.
I was actually looking for a starting place to build an in-game helper "bot" to do all the cooking and cleaning and farming while the players are out adventuring.
(More advanced ideas are following along with the players and carrying the loot, wool farming, cow/pig breeding/farming/cooking, help in combat, basic mining/landscaping tasks, and general "don't die" reactions to mobs, possibly even extending into real learning AI concepts...)
Now I'm down to this and TorchBot (https://github.com/woder/TorchBot), but might end up with something in-between eventually. The suggestion I was going to make for this is to import and use a JavaScript engine for your scripts. I'm not sure just how hard it might be in C# (or how heavy the memory/processor use would end up), but TorchBot does it pretty easily in Java, and JavaScript engines are widely available and generally well-behaved. Then you wouldn't have to worry too much about implementing the loop details and end up writing yet another single-project specialty scripting language.
Just a suggestion, though, no complaints! I just found this project today, and read about 1/3 of this thread (starting from the most recent). I admire your dedication to the project, and look forward to reading your code.
Actually, your suggestion of using an already-existing scripting language such as JavaScript seems a very good idea! I was wondering how I was going to implement loops and conditions but in fact you are right, I may as well use some kind of JavaScript engine and let it take care of that for me. That would be easier for both the users (no need to learn a new language) and me (no need to write some complex and probably buggy scripting engine). MCC scripts (which are simply a list of commands with basic %variable% capabilities) could then be included into some more complex scripts written in JavaScript.
Your project of building some advanced AI is a good idea, it reminds me the idea I had of making a bot that could reproduce some kind of schematic files automatically by wandering around and placing blocks. Of course it never happened since it's not trivial to build. However I noticed a C# library called Substrate that could be used for handling terrain and then perform more advanced actions.
Lots of skins have been made with Microsoft Paint or other poor image editors that does not handle transparency.
If you try to put a non-transparent helm it will hide the head!
Minecraft seems to scan the skin to determine its most-likely "transparent" color.
If you handled that too you might consider sending your contribution on GitHub
Thanks again
Although if recently changed skin isn't immediate because skins are kept in cache for 24 hours (they loads from my server, if expired it gets a newer one from mojangs server) but atm for some skins (maybe less) have transparancy issues (probs because PHP GD couldn't detect it that I need to fix but for my own personal usage i don't care)
Atm using minotar.net's still uses the legacy skin server so newer created accounts or newer skins shows as steves (Try YoloAwake) that show as a steve, but I fixed this on my own minotar setup.
PS: My english is poor so sorry for misspellings and/or bad grammar
EDIT: there is using my minotar setup (https://tntup.me/helm/(username)/16.png) <-using 16x16 pixels wide helms because with Display Fusion on my gaming computer, 8x8 pixel wide is blurred on DF's taskbars (having 3 monitors) and it works