• Content count

  • Joined

  • Last visited

  • Days Won


bsg last won the day on January 29 2010

bsg had the most liked content!

Community Reputation

2 Neutral

About bsg

  • Rank
    Will I break 10 posts?

Profile Information

  • Gender
  • Country
    United States
  1. Well, finally spent a few late nights and have the whole Farmville enchilada wrapped up: Pure Python script: no browsers need apply Uses the facebook username (no more fishing for numeric userid values) Retrieves the current flashRevision automatically And finally of course also grabs a valid session token on each run In other words, at the command line you simply enter --feed --fertilize --mission Enter your password when prompted and your farm is brought current. Shortly I'll revive the automatic scheduling function again too. It has been a long road but I think I am finally all done!
  2. Hello all, My approach to hacking Farmville was based on a Farmville bot found at It is distributed as a Windows binary but in its installation folder it also has a file called parser.php. This file contained all the hints I needed, namely a reference to the amfphp project's libraries. These libraries implement the Action Message Format (AMF) encoding of objects as orginally developed by MacroMedia and now maintained by Adobe. I tried running the php script by itself but ran into some short comings of the publicly available version of the code which is really mainly aimed at building an AMF capable server as a backend to a Flash client (sounds familiar, LOL?) So, instead I pursued a reimplementation of the script's logic in Python using the PyAMF libraries. Sofar I have had great success and have been running my own bot for a few weeks. It has shortcomings alright but aside from having to patch it whenever a new release of the Flash client becomes available it has been great fun. As of 1/12/2010 it can: Plow, plant and harvest plots Collect from animals Transform animals Collect from buildings Use heavy machinery Visit neighbors and go on missions Fertilize neighbors' crops Feed neighbors' chicken coops Furthermore it can compute farm performance statistics like this: My level 34 farm is (66x66) in size I have 11 neighbors In my bank I have 176965 gold coins; $17 FV cash and 79825 eXperience Points need 7175 XP to reach the next level Fuel supply stands at 1050 And on this farm I have: 214 plots of land, a 83.59% utilization pumpkin : 4 squash : 1 strawberry: 209 55 trees 28 free-range animals 9 buildings with 46 confined animals 0 vehicles Ribbon case: placeflowerdecorations 1: 4 to go until next award uniquegifts 1: 2 to go until next award fertilizecrop 1057: 1443 to go until next award vegetablevirtuoso 58: 442 to go until next award adoptanimal 4: 11 to go until next award harvestfertilizedcrop 313: 287 to go until next award fencedin 13: 37 to go until next award eggcelentdiscovery 5: 20 to go until next award harvestflowers 158: 342 to go until next award boughtdecorations 50: 50 to go until next award boughtbuildings 12: 3 to go until next award harvestanimals 1424: 3576 to go until next award harvesttrees 408: 1092 to go until next award helpfriends 342: 158 to go until next award haveneighbors 11: 14 to go until next award crop strawberry 3773: 1477 harvests to go until fully mastered That should take about 28.01 hours crop blueberry 9282: 7518 harvests to go until fully mastered crop raspberry: mastered Checking in with the neighbors All in a day's work Farm's XP yield is: crop 429; orchard 0; livestock 0; total: 429 Farm's coin yield is: crop 7708; orchard 2775; livestock 2130; total: 12613 Farm speeds: Hourly coin yield: 1874.17; hourly XP yield 114.53 (62.65 hours until level 35) Set alarm for 2010-01-12 20:35:03 when strawberry will be ready to harvest Has anyone else worked this out yet that I can share ideas with? I have been blogging about this on FarmVillein when I found this forum. Reading it has given me further confirmation that although you can try to send commands to the Zynga servers that violate the game's rules, most of the time you won't get away with it as the servers maintain their own state.