Sunday, December 29, 2013

Many Magic Online bots: Virtualization on Windows Comparative Benchmark

We host an article by Enrique taken from his blog: http://www.mtgeconomist.com/en
You can read the original article here: http://www.mtgeconomist.com/en/instalar-bots-de-magic-online-virtualizacion-en-windows-parte-8-2/

Let me say that the main reason for writing this series is the enormous difficulty I have found when trying to search for articles that compare the reliability of different virtualization utilities (in fact I have not found anyone good enough). Therefore, I decided to write my own experience and test the main existing applications so you can decide the program that best suits your needs for your Magic Online stores machine.

What is virtualization?

Virtualization consists of emulating an Operating System (from now OS) inside another one which is the hosting OS. This software runs a full OS inside a window, as if it was another computer. The window that contains that emulated OS is also called a virtual OS or virtual machine (VM in advance).

Virtualizacion en Windows - Virtual Machine

If you remember from previous articles, the bot gets the resources of the mouse and keyboard to interact with the Magic Online client, which prevents you to use the computer where it is installed. With this software you will not have that problem if you install both Magic Online and the bot in a VM, since all the commands in these input devices are virtually processed.
A VM consumes resources like any computer. You can configure these resources with the only limitation of your hosting OS, considering that it also requires a minimal amount of resources. Some virtualization software can overcome these limits but such software emulation greatly reduces the VM performance.
Of course, nothing but the limits of the hardware prevents you from running more than one VM on the same computer. Thus, you could have several stores in Magic Online using a single computer.

Minimum requirements for a virtual machine

Since each VM will consume a significant part of our computer resources, I recommend that you set the minimum requirements in order to run the Magic Online client. The general requirements are (this is valid for the current version 3.0 not for the beta):
  • Operating System: Windows XP Professional SP2 “Lite”
  • CPU: 1 kernel
  • RAM memory: 1.5 GB
  • Hard Disk: 20 GB
  • Video Resolution: 1440×900
The OS is a very small version of the original one. You can create an installation disk from the original image and remove all non-required extra tools with a program like nLite. In my case, my version of Windows XP consumes about 60-70 MB of RAM.

The CPU can be configured with more cores, but I think 1 is more than enough to run the bot with the Magic Online client.

The minimum RAM memory needed is about 800-1000 MB. However, with this amount of memory the OS can remap the loaded programs to the Windows swap file, leaving the VM unusable. An amount of 1.5 GB is the minimum size I have set on my VMs with no problems.
The hard disk space of the VM does not have to be 20 GB, in fact all installed applications and the trades backup files will not take you more than 6-8 GB. Anyway it is always better to leave more capacity, because if you create a virtual hard disk file with dynamic space assignation it will not use more space on your physical drive than required.

About the last feature, the minimum resolution is 1280×800 but it is too limited and the bot may have problems. It is a good idea to set a higher size (1440×900 or 1280×1024 for example), and if you have a lower resolution on your hosting OS the VM will add navigation bars so you can see its entire desktop.
You must also consider that the VMs will have more or less available resources depending on the hosting OS. For example, it is not the same that the hosting OS consumes 1 GB of RAM rather than another one that only uses 100 MB. However, you should also keep in mind that maybe the first hosting OS runs special services for the use of hardware virtualization or other useful features for VMs that are not present for the second one.

The ideal hosting OS would be the vSphere Hypervisor ESXi platform by VMware, which has been specifically designed to manage VMs consuming as little as 32 MB of RAM. However, installation is complex and is not compatible with any PC. If you would like more information about this topic, you can have a look at this series of articles written by Thrillski.

Virtualization with Windows hosting OS: benchmark setup

Once you have viewed the settings for each VM, we will create them with the Windows virtualization software selected for this comparison. Two of the applications I have chosen are completely free and unrestricted: VirtualBox 4.3.4 by Oracle and VMware Player 6.0.1. I have also considered a paid tool, VMware Workstation 10.0.1, in order to see if there are relevant differences that justify its price for its use with a Magic Online bot.

Virtualización en Windows - Software

I have compared the performance by measuring the average times of a sequence of tests that any VM will run frequently. The three applications have been tested on two computers with the following configurations:

Computer 1 Computer 2
Hosting OS Windows 7 Home Premium SP1 64bit Windows 7 Professional SP1 64bit
Processor Intel Core Quad Q8200 2.33 GHz Intel Core i7-2600 3.4 GHz
Hardware Virtualization No Yes
RAM memory 8 GB 4 GB
Hard Disk 500 GB 7200rpm 500 GB 7200rpm
Graphics Card nVidia GTX 285 1GB nVidia GeForce GT 220 1GB


Although it is interesting to see the performance differences between these computers, the rigurous comparison is done for the virtualization software running on the same machine. The tests involve measuring the time taken for the VM to perform the following tasks:
  • VM first boot. Measures the performance without using the cache memory, useful if virtualization software starts upon booting the hosting OS.
  • VM second boot. While you don’t run other programs, if you reboot the VM you will see how its performance is improved.
  • Simultaneous boot of 2 VMs (same software). The aim consists of testing how virtualization software manages computer resources among multiple VMs. This test is useful for measuring the performance if using more than one store.
  • Simultaneous boot of 2 VMs (other software). This test is used to test how an virtualization tool manages the system resources without caring about other VMs from other software.
  • Running Magic Online update tool (Kicker). As this application mainly depends on the communication with the server of Magic Online, I wanted to use it to get an idea of ​​how virtualization software manages the network connection.
  • Running Magic Online client. This test allows to compare the performance of data loading of Magic Online as well as the management of the CPU computation performed by the virtualization software.
  • Load the price list of the MTGO Library bot. This phase of the bot setup makes heavy use of memory, which is important during the execution of the store.

Results and discussion

Firstly I will detail the conditions under which I have done every test to ensure repeatability and a good comparison between platforms:
  • The first 4 time trials start right after clicking the start button of the VM and end when the desktop is fully loaded (icons and Start bar are shown on the window).
  • Kicker starts right after clicking the icon to run it, and ends just after the check for new updates is completed. Magic Online client has been previously updated in all tests.
  • The Magic Online client starts right when the Launch button is pressed on the kicker tool, and ends just when the login screen appears.
  • Finally, the test of the MTGO Library bot starts when pressing the Launch button, and ends just after loading the OCR and before launching the Kicker. For this test the buying list has been configured with 4 copies of all cards available up to date in both, regular and foil versions.
Each test was repeated 5 times and the result is the average time obtained from these repetitions. The virtual OS has just the required applications pre-installed (Magic Online 3.0, .NET Framework and MTGO Library), and its hard disk has been defragmented and optimized. The bot version used is 6.31. In the following graphic you can see the results (the lower the better value).

Virtualización en Windows - Test 1

Virtualización en Windows - Test 2

As conclusions, firstly it can be seen that the overall performance of VMware products is higher than the provided by VirtualBox. Oracle software only seems to highlight on the bot load list test with the computer that has hardware virtualization, something that shall be considered. But in general terms, VirtualBox does not seem to be a suitable product for bot virtualization in Windows.
Perhaps the only exception is when you want to run more than one VM. As you can see, the test for 2 VMs with VirtualBox and VMware show a signifficant improvement on performance over the use of only one software. This is an interesting result because one could expect that one virtualization program should better manage the computer resources, but this has been proven to be false at least on the computers of this benchmark.

If we focus on the free and paid versions of VMware desktop, we can see that the time differences between the two solutions are not very noticeable. At least they are not for the cost savings of using the free version. Therefore, in my opinion I do not see it necessary to use the payment application to manage Magic Online stores.

On the other hand, it is also interesting to compare the difference in terms of performance between both computers. As you can see from the results, the improvement of speed for the second machine processors is very relevant. Although the memory of the first machine is twice the second one, this fact does not affect the load times for 2 VMs even with the exact required amount of memory. Therefore, it seems clear that the processor will be a critical element for the proper functioning of our stores.

In conclusion, for computers with Windows as the hosting OS I would personally use the VMware Player application. If you have a more powerful computer with more RAM you can try these tests with more than 2 VMs, compare the use of this application together with VirtualBox and comment your results.
In the following article I will describe the tests I have done to test virtualization in Linux with the most relevant software I could find for this task.

Facebook - enemy number one!

Studies show that regular use of Facebook makes us less happy with our lives. Investing time and energy in your virtual avatar directly affects how you perceive yourself in the real world (the habit of comparing yourself also with other avatars). However, if you decide to use Facebook - nothing is lost. It is only a tool and it's up to you how you use it. There are a few things you can do to minimize its negative impact.

 1. Remove from your wall news from most of your 'friends'. Every time when on your wall appears a 'news' from a person you do not know well or from whom you do not need to keep track of its life - decide that its 'news' are not popping up on your wall.

2. For the same reason terminate the subscription from sites that you liked a long time ago and the posts continue to appear on your wall.

3. Make a list of your major interests and topics you want to explore in the near future and subscribe only these pages.

4. Do not check Facebook every 15 minutes. Set yourself moments during the day when you enter the Facebook for as much time as you need. Quickly you will realize that you never needed to log on Facebook so often, and once or twice a day are adequate.

5. Stop using Facebook for a while. Thanks to this you will understand how it harms you and what for you need it. Such awareness will allow you to use it wisely. Stop being a slave of this tool, and start using it for your true own needs.

Any more tips?

Launching the mtgostrat bot

Two days ago the crew behind mtgostrat.com (a strategy site for all things Magic) launched a bot called "mtgostrat".

I am part of that crew and I am one of the people handling the bot. In this blog I will share my experiences as a new botter.



Here is our announcement on the site: http://mtgostrat.com/2013/12/announcing-mtgostrat-card-bot/

mtgostrat.com is starting this bot with a very small inventory: 10.000 cards and 300 tickets. The bot is mainly looking to buy rares and mythics at first. It has way too small a budget to invest in commons and uncommons and will have to stay away from the Pauper format, as its future is uncertain at best (Premier Events fire rarely and the Daily Events are gone - Pauper cards are falling broadly right now).

I have heard that it takes a long time for a bot to turn a profit (maybe even a year?) and it will be interesting to see if the 1000+ fans of the site and YouTube.com/MagicGatheringStrat can make a difference.

If you have any experience of launching a bot with a budget this small, please share

And do please check out "mtgostrat" on Magic Online and sell it some rares and mythics.

Friday, December 27, 2013

MTGO Library Bot 6.39

ML Bot 6.39 supports the new set Commander 2013 (C13). The new pricelist is already available online with update prices.

All the LITE Bot users should update their pricelists too otherwise their bots won't be able to handle C13 cards correctly.



Doubling Trades Project: Reward Loyalty |Part8 of 9|

Doubling Trades Project




Part 1 The Concept
Part 2 Where are we now?
Part 3 Dedicate your time
Part 4 Be Unique and Proud
Part 5 Let yourself be found
Part 6 Less is more 
Part 7 Show your human side
Part 8 Reward Loyalty
Part 9 Conclusion





Reward Loyalty

Number one rule when dealing with a regular Customer is to not take his/her loyalty for granted; You might remember when you started playing MTGO, you used to go to a certain bot, then you moved into another one, up to the point where you decided to have your own bots. What could have the first bot owner done better to keep you as his Customer?

Maybe when I started playing MTGO, nearly four years ago, there wasn't much MTGO Library offered to reward loyalty; surely you could still offer discount codes/vouchers to use on your website; give some free credit based on total traded with your bots every week or month; or maybe give free credit/tix prizes every month to a random customer, like some do...



Fortunately MTGO Library has a Special Buddies feature where you can not just give discount when selling cards, but also give extra when buying; and the best of it all is that this is 100% automated, giving your customer a 24/7 sense of loyalty where he doesn't need you to come online to give him the "regular customer" benefits.

How you use your SpecialBuddies feature? That's totally up to you. Make up a clan and give all the members the same? Give a stacking 1% discount up to x% as long as the customer does a certain amount of trades per certain time?(a bit forceful?) or just use it to give your best friends and family a very big discount or so. Whatever the reason or the method, SpecialBuddies feature has been working well for me towards keeping my regulars, you should try it if you haven't yet. 

Thursday, December 26, 2013

Merry Christmas MTGO Library 6.38!

Merry Christmas! We hope you spent a good day and are enjoing the holidays.

We have just released ML Bot 6.38, a maintenance build fixing a couple of (minor) issues and bugs. We wish you a merry Christmas and a good drafting / botting week!




Wednesday, December 25, 2013

The Pauper to the People Podcast

As I mentioned in my last blog entry, I have joined the Pauper to the People podcast as one of four hosts, along with Chris Weaver, Nate Younkin and Peter Olmsfeld.

Pauper to the People is the oldest Pauper podcast out there. My inaugural episode was #137. There has been several changing of the guard, as with all long running podcasts.

The podcast is about all things Pauper, both casual and competetive. The target audience is anyone interested in the cheapest sanctioned format on Magic Online.

Here are some ways to listen to it:

ITunes - search for Pauper to the People in the store
mtgostrat: http://mtgostrat.com/category/pauper-to-the-people/
mtgcast: http://mtgcast.com/?s=Pauper+to+the+People&submit=Search

Show's E-Mail: paupertothepeople@gmail.com
Twitter: @cmplummer, @nathanyounkin, @cweaver8518
MTGO Accounts: Chris: GrayCatRecords, Nate: nyukon, Peter: midnight03, Chris Weaver: cweaver
Facebook: www.facebook.com/paupertothepeople
Forum: paupertothepeople.proboards.com


And here is the episode where I made my first appearance aa a guest:


Monday, December 23, 2013

Merry Christmas!




May the good times and treasures of the present
become the golden memories of tomorrow.
Wish you lots of love, joy and happiness.
MERRY CHRISTMAS!

MTGO Library 6.37

ML Bot 6.37 has just been released. Recently we spent a lot of time to tune the bot and make it more stable and we think that with version 6.37 we reached the goal.

Among the improvements, ML Bot 6.37:
  • change the Classified Message to BUSY / OPEN when reloading the prices, to show customers that the bot is unavailable for trade
  • fixes a problem with the Picking Panel, sometimes displaying when not in a trade
  • fixes the creation of the csv if the "previous" csv cannot be erased (for a number of reasons, such as an antivir using it)
  • add a couple of debug messages to better resolve problems from remote



Sunday, December 22, 2013

The King of the Nerds

King of the Nerds is an American reality TV show that airs on TBS. It is hosted by Robert Carradine and Curtis Armstrong, both actors from the Revenge of the Nerds films. The series premiered a year ago and the second season will premier on January 23, 2014

This time, one of the nerds is Jack Hou, one of the writers on mtgostrat.com. Jack goes by the mtgo name jphsnake (he is @jphsnake on Twitter too) and he will be representing Magic: The Gathering on the show.

I just joined the cast as a host on the podcast Pauper to the People and in my first episode as a host we had the honor of interviewing Jack about Magic and King of the Nerds.

Here is the interview:



Jack also writes about being on King of the Nerds here: http://mtgostrat.com/2013/12/dwelling-past-tempest-king-nerds-announcement/

If you'd like to voice your support for Magic: The Gathering in general and for Jack in particular, please do so on the revelant Social Media sites:

Facebook: https://www.facebook.com/KingOfTheNerdsTBS?fref=ts
Twitter: @KingofNerdsTBS, @jphsnake

I want to take this opportunity to wish Jack the best of luck and I hope this will attract even more nerds to Magic as a result.

Go Jack!

Saturday, December 21, 2013

Kuro's Botting Journal: Prologue



Hello and welcome to my series on botting. This series will follow me as I learn my way around MLbot, as well as create and run my own bot. I will basically be going through my experiences with MLbot, and botting in general. This prologue is just to give a little overview of the steps I am taking in order to get ti the point where I am starting my very first MTGO bot. I hope you enjoy the read and follow me every step of the way!


My reasoning for wanting to start a bot is simple: I want to make tickets and sustain my MTGO spending. Botting help achieves this by allowing me to make tickets through the bot, and also by cutting down on my actual spending by taking the time to work on the bot. Anyway, enough of the backstory, let’s start talking about what I had to do in order to run a bot. As I originally no idea where to even start I began seeking help in MTGSalvation and later on BotRunners. After meeting a few people and asking a LOT of questions (asking questions is the key to success), I finally had an idea in my head for the direction I wanted to take my endeavours. As MLbot is the only commercially available bot, that was my first and only choice. Now, before even starting the bot, I spent a few hours every day for about a week and a half just reading up on botting and the different methods. One of the best sources I found was on this blogspot in the form of ArchBot’s “Comprehensive Guide for the Aspiring Botter” which I highly suggest you google and read. There are also a ton of useful resources on the blog if you look at the “startup”, “new to botting”, and “advice” sections.  After all of the reading, I had finally decided that it was time to start setting up my laptop for use with the bot. This involved downloading and setting up a VM, creating an MLbot account and making another MTGO account to be my bot account. First off, let’s talk about the VM very quickly.  
The VM you choose is completely up to you, but in case you were wondering, I chose VirtualBox simply because I heard it started up faster and took up only a little bit of resources. After getting it set up to run Windows XP SP3 (there are many guides on the internet depending on which program you used) I installed a few things:

  • ·         Google Chrome (because IE sucks)
  • ·         .Net Framework 2.0/3.5/4
  • ·         MTGO Software (current client not beta)
  • ·         MLbot Software

I had originally only had .Net Framework 4 installed but through troubleshooting had to download 2.0 and 3.5. The .Net Frameworks will need to be installed in order (2.0 then 3.5 then 4). Then when you install the MTGO software you will need to go into the install directory and install the DirectX file located in the folder. After installing everything and restarting the VM, you should be able to run MTGO with no problems. I have compiled the required .Net Framework files here: https://www.dropbox.com/sh/xigzbhozfjui5kx/SDiAUcGDI3 to make it easier. After this the rest is easy. Create your new MTGO account and create an MLbot account for it. 

Well that is all for my “little” prologue to my series. I hope that you guys will enjoy reading up on my adventures in botting. I will be writing things down as I go but the series will most likely be a weekly sort of thing so my future posts may be sectioned into different days. I want to end this prologue off by suggestion that everyone reading this check out botrunners.net and get involved in the community. Even if you are just a little bit interested in starting a bot, it is a great place to start. I have to say that without meeting some of the people I met on there, I would not be here. These people pushed me past “what if I started a bot” into “I am starting a bot” and I am truly thankful for all their help up until now and for all their help I’m sure I’ll receive in the future.  

Thursday, December 19, 2013

MTGO Library Bot 6.34 - 6.36

ML Bot 6.34 - 6.36 fixes a crash with "wget.exe". It also fixes a problem with the automatic reloading of the pricelist (the files CardsMTGO3.txt and PersonalPrices.txt) causing the prices not to be reloaded immediately after a change of their content

MTGO Library Bot 6.33

ML Bot 6.33 has just been released and it is available for download. It is a minor update on 6.32 that fixes a (rare) crash happening when loading CardMTGO3.txt





Wednesday, December 18, 2013

ML Bot Webshop Automation

Last week I found two interesting examples of webshops based on ML Bot and mtgolibrary.com. These are interesting because the owners found a way to interact with ML Bot and expand it beyond its original features. I'll talk about jbmtgo.com (a shop to buy cards online) and mtgotickets.com (a place to sell and buy tixs). Please visit them to get an idea.

  • JB Mtgo Shop (click on the image to visit it)


Jbmtgo.com is a shop selling mtgo cards. You place the order, you pay with paypal, you go online on mtgo, contact the accont of the owner and you get the cards immediately. I tried it and it's very efficient. Technically speaking, the shop parses the file "cardsNeededAndCollection.txt", originally designed for debug purposes (and not documented on the manual). The files contains a list of all cards in the collection and their prices, so the shop can populate the inventory. One could do the same by parsing the csv of the collection, a file named .csv located in the C:\ folder (where "some_strange_characters" is a random string with numbers and letters such as hd67c2msd13d02p.csv).


  • Mtgotickets (click on the image to visit it)



The other shop, mtgotickets.com is even more interesting. It just sells and buys tixs but it is more automated than jbstore. To buy tickets, just click on the orange button, choose the amount of tixs you want and then pay with PayPal. Right after the payment your account will be credited. This works more or less like this: when you send a payment, PayPal sends an email to the owner of the shop. A script on his server looks for new emails every 5 seconds and when one is founds it sends an SMS. The owner will connect, possibly via mobile, and adjust the credit on the Online Control Panel, so you can take the tixs in 1-2 minutes.

Prices change with time. Yesterday the price was 1.03 usd per tixs, today it is 1.02. I asked the owner if he has some sort of automatic updater to adapt the price with the market , like mtgotraders, but he didn't answer the question.

On mtgotickets.com you can also sell tixs. There is no automation here since the payment is manually sent via "gift" payment to save the fees. If the shop would have sent regular payments instead of gift payments, this side could have been automated too: the shop would have parsed the Tradelog on the Online Control Panel and once a "deposit" is found, a PayPal payment (via the PayPal REST Api) is sent.


Do you own a service like the ones above? Do you know / use one? Please write us (staff@mtgolibrary.com) and we'll talk about it!




The Top Ten Magic: The Gathering Podcasts of December 2013


The voting is over. It is time to present the results. Which are the best Magic podcasts out there right now?
 
The Jury
The voting has been done by the four members of the jury, each voting for their 15 favorite podcasts.
Dan Hörning (yours truly)
Matti Paola, @yugular_mp
Will Scarangello, @mtgostrat  (actually absent this time)
Tangent, @TangentDYN
The video
Dan and Matti discuss the Top 10 Podcasts as well as the casts that did not quite make the list and podcasting in general.
 


Previous Top 10 Magic Podcasts shows
This is the fifth time we did this.
The September 2013 show: http://www.youtube.com/watch?v=QyC-O-dcHuM

The June 2013 show can be found here: http://www.youtube.com/watch?v=qfVsUwoh8Ag
The April 2013 show can be found here: http://www.youtube.com/watch?v=dH0GfwX4UFk
The February 2013 show can be found here: http://www.youtube.com/watch?v=BN746QQ9ec8
We have since decided to do this every three months so the next show will be released March 2014.
The Top 10 Magic Podcasts of December 2013
After the name of each podcasts is their placement in the last show. This time we are giving you the thoughts of the jurors in the video so if you want to know why these casts are awesome, check out the video. 
 1. Limited Resources (1) 75 points
Yes, that is the maximum amount of points possible.

Web site:http://lrcast.com/
2. Brainstorm Brewery (3) 38 Points
Web site: http://brainstormbrewery.com/
 
3. Heavy Meta (5) 37 points
The midgets really wanted them to be #99.

You can find this on Manadeprived: http://manadeprived.com/listen/podcasts/heavy-meta/
4. Pitt Imps Podcast (4) 37 points
5. The EH Team (2) 27 Points
You can find this cast on Manadeprived: http://manadeprived.com/listen/podcasts/the-eh-team/
8. Freed from the Real (20) 18 Points
This show runs on puremtgo.com: http://puremtgo.com/node/8571
 
9. Serious Vintage (14) 17 Points

Contact Information
YouTube: http://www.youtube.com/magicgatheringstrat
Facebook: http://www.facebook.com/MagicGatheringStrat

We are looking for more jury members. If you listen to 15+ Magic podcasts on a regular message, contact Dan for more details.
 

Tuesday, December 17, 2013

MTGO Library Bot 6.32

ML Bot 6.32 fixes a minor sync problem with wikiprice. Bots with the unlimited pricelist downloads could, in fact, have prices not correctly synced with wikiprice. Wikiprice showed one price, but the bots had another price (usually close to the real price).

It will take some days for all the bots to update so probably we will see the benefits on wikiprice starting from Thursday / Friday.

Sunday, December 15, 2013

The Top 10 Magic Podcasts review is moving to mtgolibrary

Starting Wednesday, I will be moving the Top 10 Magic:The Gathering Podcasts show for December to this very blog.

During the year of 2013 me and the Top 10 jury has been reviewing the best Magic: The Gathering podcasts every 2-3 months.




Top 10 Magic Podcast Reviews during 2013

Here are our earlier shows:

June 2013: http://puremtgo.com/articles/top-10-magic-gathering-podcasts

September 2013: http://puremtgo.com/articles/top-10-magic-gathering-podcasts-september-2013

There were also video-only version of the show Before that. Those can be found here:

April 2013: http://www.youtube.com/watch?v=dH0GfwX4UFk

February 2013: http://www.youtube.com/watch?v=BN746QQ9ec8

The Jury

Other than me, the jury consists of:

Matti Paola, @yugular_mp
Will Scarangello, @mtgostrat
Tangent, @TangentDYN
 
I hope you will enjoy the show. The review is now done every Three months, so the next one will be for March 2014.