Wednesday, April 24, 2013

Limited Space (Part 2)

Last time I've discussed about the high cost of Storage on Solid State Drives and about the resources our Virtual Machines take while running ML Bots.
With all answers to that topic I can assume, as it stands, that most botting VM's are using 1.5GB to 2GB memory ram and 6GB to 10GB Disk space.
A safe "general" way of seeing the botting limitations of CPU is to set about 2ghz per bot (quad core 4ghz = 16ghz = 8 bots) although this may vary depending on which CPU you use (for example a Dual core 2.4ghz celeron wont be as good as a dual core i3 2.4ghz) or the configuration and operative system of your VM's.

Would you believe me if I told you that you can run the Host OS plus 16 bots on a 32GB SSD?
I've spent the last 5 days tweaking MS Windows XP and the VM's to run as lightly as possible, using minimum resources and disk space and found some nice tricks and tips which might help you doing the same.

Step1: Put windows on a diet
Programs such as nLite allow to edit your Windows XP installation disk and remove/edit the Operative System applications/settings/services. This allows you to install windows without Media player, internet explorer, calculator, defrag, support for Printer, Smartcards, modem drivers...(endless list).
Your windows copy will still be genuine as long as you're using your Genuine XP CD and Serial keys.

Step2: Disable Useless Services

Services are windows applications that run on the background, although these might only result in 75-125Mb Memory usage, when you multiply that by 8 bots, it becomes more substantial.
Not all services can(or should) be removed from Windows installation disk. Some services such as "Windows Installer" are required to install .Net Framework on your VMs and you can only disable them after the installation of .Net . Which leads to the next step.

Step3: Need more space to Install .Net Framework
Using a USB Drive or Creating a second Hard Drive on your VM can be the solution, The setup file and extraction directory can be on the temporary (or USB) drive giving up more free space on the Drive C: to install .Net Framework.

Other option is to Compress Windows, Programs and Documents folder (decompress .net framework folder within windows/) as these will very rarely be used by your Bot (apart from when loading up windows)

With a Small Disk (such as 1-1.5GB) where will I find room to fit MTGO Folder you might ask?Thats on Step 4.

Step4: What about MTGO Folder?
Mtgo Folder can be reduced to under 150MB if you remove all the unnecessary files that ML Bot doesn't use. Store Icons, Card Pictures, Avatars, Decks Images, Symbols, Cards frames,DirectX installer, etc .. are just some of the many things you can delete from your MTGO Folder and save 500MB+ space.
The fact that MTGO wont load these images on the start of every trade might actually speed up your bot!

Step5: Can I run MTGO Library Bot without MTGO Installed?
You Might think that this is a silly question, but the answer is YES you can! In fact, this tip will allow you to run all your VM's from your Hard Disk drive and keeping the fast MTGO loading speeds.
All you need to do is to install MTGO on your Host(on a SSD), Share the MTGO Folder in the network and all your bots open MTGO from the network. This not just allows you to save 200Mb-700Mb space on each VM but also saves you from reaching Internet Download limits that your ISP might pratice because this way you will only need to update MTGO once (just make sure all bots don't do it at the same time, have not tested what happens if they all do). In my tests Loading MTGO from VM stored in SSD (MTGO_NET.EXE) took 7 seconds, while opening it via network (shared folder in SSD from host) took 9 seconds. Not the fastest but if you have a small SSD and wish to move all the bots to the HDD this is a good solution.

I am running 7 bots at the moment. Each of my VM's is now running with 1.5Gb ram (rarely goes over 1gb usage), No pagefile. All VM's have a 2GB disk and have MTGO installed (850MB free Disk space). At the moment the Kicker.exe is taking quite long to light up the "launch" button (main host takes about 12seconds, older bots about 15-20sec and now about 25sec) which is causing to show up the HW/SW warning sometimes. This is something that I might have to tweak or some service that I might have disabled that would actually speed this up. If you have any tips for me on this issue or would like to share your tips in savings resources with others, please comment!


  1. wow dont know mtgo can work without card images.

  2. Hi. I tried to run the mtgo client on a network folder as described. But mtgo_client.exe is crashing without an error message. How did you get this running?

  3. likely Direct x9 wasnt successfully installed. Try a standalone dx9c installer (not a web installer)