Monday, April 29, 2013

Volunteers Needed for ML Bot Beta testing (mtgo v4)!

Hello Botters,


If you have not heard yet,  Magic Online is featuring a Spotlight for the new Beta client. This means during the spotlight our current client will be disabled and we will only be able to use the new Beta client.
The Beta spotlight starts May 8th at 10am and continues thru May 10th till 10am. 


How does this affect Mtgo Library customers?

Your bots will not work for the duration of the Beta spotlight, but wait before you get upset there is some good news. We are looking for 5 Beta ML Bot testers to help us test during the Beta spotlight, I will get into that a little later. The better news is that we are ready for Beta, so this can hopefully ease your mind on that scenario. 

If I am not selected for the Beta spotlight ML Bot beta testing, what should I do during those two days?

Its been almost 6 months since ML Bot have gone down for more than 2 days, this is a perfect opportunity for Upgrades, machine cleanings, and New machine building. 

Upgrades: Easiest upgrades is memory ram, I suggest you run 2Gb of ram for each bot you are running. If your not sure how much ram you have currently in your computer, you can type dxdiag in your computers search bar (located above the start button once clicked). Open your case and see if you open memory slots, if so I suggest upgrading. 

Machine cleanings: Go to your local store that sells compressed air and buy a can or two. If you have a keyboard to your computer (a lot of mine are remote) take one of your cans and spray it out, also hit it with some lysol. The keyboard is one of the most bacteria infested items in your house. Then take the other can open you case an carefully spray out any dust that may have accumulated. 

Expand: My last expansion of 12 bots took me about two days to fully complete. This would be a perfect time to order your new computer and put it together for your new ML Bots.


Ok back to beta testing, if you are interested in signing up for beta testing ML Bot during May 8th -May 10th, you have to meet a few minimum requirements:

- Bots must operate under your supervision during v4 spotlight
- Bots consistently get 5+ trades / hour
- Are willing to send in feedback to us.

If you meet the above requirements, please send an email to me at staff@mtgolibrary.com with the bot names you would like to enter. If selected you will receive an email back with the instructions in a week.

Happy botting to all!

Teamstoge


Sunday, April 28, 2013

Improved Wikiprice Updater


One of the limit of the current implementation of wikiprice (http://mtgowikiprice.serverlet.com/wiki.php) is that some bots get frequent updates and thus are always displayed on wikiprice, while some others do not. "BotA" could refresh its prices twice a day, while "botB" could refresh once every 2/3 days.

This issue is due to a number of factors, most important the uptime of your bot(s), but also the algorithm that refreshes the prices. Regardless, it's a loss of money for some bots.

Today we released an improved version of wikiprice that updates the bots more equally. If you used to have problem with wikiprice, this should fix. Please wait 48h hours and then search again for your bots on wikiprice!


Let me know!

Albert
staff@mtgolibrary.com

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.

Conclusion
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!

Feedback

Last time Albert has asked for suggestions for what should be added features for Library v4, with an emphasis on features to make the bot more self-sufficient.  At the time of this writing, the requested features seem to fall into the following categories:

Auto-transfer: The ability to move product from one bot to another.  Features here include micro-sessions, conditional transferring based on collection status, and the ability to refill after trade sessions. 

Pricing: Currently, the pricing model is static.  You want card X, it costs Y, in a take-it-or-leave-it fashion.  This model is evolving.  You see it in retail stores, where if a customer has a loyalty card, there is a percentage discount applied to all purchases.  Why can’t Library have such a feature?  This could allow for partnerships with clans.

Another feature is to adjust the price based on the number of cards on the bot or collection.  This feature can adjust itself to rapid fluctuations in the market that might not be reflected in the wikiprice.  A card which has 32 copies in the collection would be priced differently than if there are only 2 copies of said card available.

Remote administration: This is a feature which I would like to see expanded.  This feature would allow the user to administer changes to the bot through the web portal rather than going into the bot itself, shutting it down, while making changes, be they large or as simple as ticking a check box to allow for trading cards from a new set.  This would have the advantage of more uptime for the bot, it also allows for server-side backup of settings so recovering a bot from a crash or upgrading a machine is painless.

These are wonderful features and need a total rewrite to implement.  These are not things which can be added by adding a dozen lines of code.

I’ve been one of the writers of this blog for about two years now and I would like to know what topics would my audience like for me to discuss on these pages.  Do you want some theory or practical articles?  Do you wish more articles based on LITE or PRO versions?  Please leave your suggestions in the comments field and please set me know how many and what types of bot you run.

For those who wish to contact me through email, I can be reached at MTGOthrillskibot@gmail.com.

Monday, April 22, 2013

A self-sufficient Bot


Recently I received an email from a new customer of mine saying that he got a new job and that he has no time to keep up with the bot. This user started with ML Bot one month ago, and opened 5 bots.
While I was very happy for his new job, I was at the same time very sad. I was so sad not because of the "lost customer", but because his email showed me that I "failed" in one of my primary goals:

Make ML Bot as self-sufficient as possible, with no or few maintenance required. 15 minutes every 2 days should be sufficient to keep the business going. Probably your bot won't profit at its maximum possibilities, but it will still go and profit.

The purpose of this post is twofold:
1- rebate the concept that I designed ML Bot to be as much self-sufficient as possible.
2- trigger your opinion (& possibly ideas) on how to make it event MORE self-sufficient: where you find holes, where you would like some adjustment and so on. It's an open post, and I strongly encourage everyone to comment

Regarding point 1:
most of the development here at mtgolibrary.com goes towards 'automation'. Back in 2007 we introduced the Online Control Panel to monitor the bots from remote. In 2009 we added the emails at the end of the trades and the possibility to edit the credits. One month ago we launched the Unlimited Pricelist to have all the bots with updated prices. Generally speaking, a great part of the development process was meant to simplify ML Bot and to make it as much self sufficient as possibile. Finally, the bot itself is stable, has no bugs, can recover from MTGO crashes, can run for days and days without any human input.

Regarding point 2:
Just feel free to comment and tell me your ideas! We are coding ML Bot for MTGO v4, so this is the right time to give suggestions! If possible, try to keep the suggestions focused on "how to make the bot more self-sufficient"


Albert
staff@mtgolibrary.com



Limited Space (Part 1)

With the current high cost per GB on high performance SSD Drives, shrinking our precious bots/virtual machines disk usage is crucial for success and keeping the spending on the minimum.
Every now and then I do spend some time tuning my virtual machines for performance and try to keep them as much low resources as possible (using less memory, disk space, cpu).
From removing pretty much every windows service and application to deleting all cards images from MTGO folder, there are unlimited places to cut down resources and improve your bot's performance but until today I hadn't though of something way simpler that would give me a massive advantage.

So my questions to everyone that uses virtual machines to run MTGO Library bots are:

How much memory (RAM) do you set for each Virtual Machine?
Do you use any Pagefile within the VM OS (shouldn't on a SSD)?
How much disk space do you use per VM?

I'll come back to you with mine on the next few days.


Sunday, April 21, 2013

Dragon's Maze - new mechanic

The new set - Dragon's Maze is on the way so it is good time to get familiar with new mechanic. The Dragon's Maze set features a new twist on split cards. Split card is a card with two different spells printed on the same card giving you the option to cast one spell or the other. With the Fuse mechanic, you don't have to pick just one. From now on, you have an option to cast both halves as a single spell by paying their combined cost.
Additionally, the mechanics from Return to Ravnica and Gatecrash will come back. As a reminder: in a slot of basic land in Dragon's Maze we may find the ShockLand. Next week I am going to tell you few words about drafting Dragon's Maze.