Jump to content

Recommended Posts

Posted

hello i have downloaded your file could you please tell me how to use it i am getting code 2 error for 5 days please reply :)

1) Most important: A lot of people are getting code 2, including me. I, and a fellow named Calvin on the network bot forum both suspect that there is a finite object limit allowed when loading a farm and that if your farm has more than that number of objects, your command-requests to the FarmVille gateway will always return 500: Internal Server Error which manifests to us, the users, as Error 2. Although it may be possible to force a delete packet to the server to try and clear some space on our farms, we've yet to test this theory. Nor are we sure of the object limit. It's at least 58x58 and less than 66x66, so I think it's a computer programmer favourite number: 4096. So, like me you'll just have to sit tight and hope the folks at Zynga increase the object limits sooner rather than later or maybe we'll have a way of deleting objects blindly, but don't get your hopes up if all other commands are failing.

2) See the FAQ, question 3.3.2.

  • Replies 501
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted

This may be due to collision or something else. My assumption is After expanding to 22x22

who are all did this getting this type error. Gateway php ended internal error.

In facebook Farmville forum some people complained about this.

Let wait for some time.

It's not just 22x22 farms. I have a 16x16 farm locked, but it has literally ever square filled with something. Yes, stacked plots, between you and me, but as far as the public is concerned it may as well be 66x66 hay bales or 66x66 trees. If, as I have predicted, it is a basic object count limit -- and hey, Zygna, could we get more than 30 items in our gift box or at least warn us before you eat an item we try to accept that it won't fit before you eat it without storing it?? Especially now that I can gift 30 friends.

Anyway, I'm still going by the theory of 4096 objects max, stacked or otherwise. This may include Dairys and Sheds and such; I don't know.

As for sending to gateway, this is the command address and yes, the game sends a lot of seemingly useless data to it, like the lonely animal check, but that's also how you transmit your plowing, planting, harvesting, moving and, most importantly, deleting to the server so we can try to hack a packet (and believe me I am (need to join the FarmVille Network Cheat mailing list for more information on that), but the problem is, if it can't accept the benign lonely animals, what hope a delete request? It's worth a try, though!

Posted

Hi,

Today i got confirmed from my friend as my farm is not getting loaded in their "visit friend farm".

They are saying when they click visit link, it just hanged up in loading farm. So some think with

rendering data from database to client browser.

Well, complex farms can sometimes take more than a minute to load, but that doesn't mean it can't be loaded. All of my "locked out" farms can be visited by friends if patient. Unless I get an error when I try to load a farm, I just go get a glass of water and wait for it to load.

Posted (edited)

Andrew, the coin fountain exploit doesn't work with soybeans. Since you have to spend 50 coins to attain the next coin fountain, there's no combination of soybeans (15 coins) and plowing (15 coins) that will get you to 50.

Currently, the only crops that will work are Strawberries (2 plots), Wheat (1 plot), and Sweet Corn (2 plots).

Using Sweet Corn, with a script, is going to get you a hellavalot of XP in a short period of time. If you can get immediate whither to acually be immediate, then you could probably gain 10,000 XP in less than 15 minutes, most of it free.

Even without the coin fountain exploit, and running the soybean delete method using Sweet Corn and immediate wither is a great way to quickly pile up the XP (although it isn't free).

Good point on Sweet Corn, though. Sweet Corn, (Sweet Seeds) and Strawberries are 2*plow + 2*plant. I prefer Wheat because it's 1*plow and 1*plant.

And here is the FAQ question again, see question 2.6.

Edited by TimeHorse
Posted (edited)

That is weird. PHP though? Well, I suppose that would work, though if it's not serving a web page isn't it just Perl?

Either way, I'm thinking a GreaseMonkey script to automatically select gifts and accept them is something I've been considering but I'm to busy with other projects at the moment. Interestingly, I've been considering writing my Network Bot in Python since the current one only runs on Windows, among other reasons.

heh... well I don't know perl, but I guess I could try to change the code to perl since php is similar to it.

Oh, and I found out that the users were disabled because I was using 10minutemail.com which deletes the email after a while, so they probably realized that. I just used a disposable email that is permanent ;)

AGH! I was going to post my code but I just found out that someone turned off the computer (holding down power button) and I lost my files :). I have saves but it's not complete... oh well.

I'll post it when I'm done.

edit: http://pastebin.com/m6b13eb1f

Edited by andrew0
Posted

Well, kliketa's post says that the relevant file is now http://static-facebook.farmville.com/v8506/fv_fuel_price_test_3.xml but I'm not seeing it. I need to add this to the FAQ but you may need to reload your Farm using the forced reload without going to cache. You do this by holding down the {SHIFT} key while clicking the Reload button of your browser. {SHIFT}+{F5} does NOT work, nor does {SHIFT}+{COMMAND}+R on a Mac with Safari or Firefox. It has to be the {SHIFT}+{CLICK} AFAICT.

Either way, as I said, I've been running my hacked gameSettings.xml without issue on the remaining farms I can access.

Thanks for the reply. I was trying the forced reload, but it wasn't working so I ended up clearing the cache manually. Thanks for the tip.

Posted

Guys!

A thought how to disable that error so that you can enter farm and remove plots - use some kind of firewall or proxy tool which would allow to view incoming packets and block them - this way you could theoretically block the error2 packet and be able to operate.

Update:

Ok now that i read that error2 = internal server error, you might be able to block some data packets which cause server to retrieve data which causes 500 ?

Again, charles proxy has amf view for packets (which lays all info about farmville data traffic, you read it like a book) and has breakpoint mode which allows you to look at every packet incoming/outgoing before deciding whether we allow it or not.

Also someone tell me what's the easiest way to get that error2 to happen consistently, i will try to look what can be done about it myself.

freshap - thanks for patching that swf file :)

Here is info on how i do it:

1. Sothink swf decompiler (need full version to be able to export AS code) - to get fully readable AS3 code. Invaluable, otherwise it would be impossible to actually find any interesting lines of code

2. buraks swf decompressor (please see my previous post for link) to get uncompressed swf file which is, well, readable at all as opposed to compressed one. Mac/linux users have to suck it up and get crossover im afraid.

3. nemo 440 - abcdump in AIR - very nice tool, quick and easy. doesnt have search function, but allows all dump to be exported into file. I use it to get all farmville code in format of AS3 tags.

4. 0xED / hexFiend / any binary editor if you arent on mac (check hexWorkshop) to get into raw hex format of the *uncompressed* swf file

5. abcdump.as for reference - thich instruction is coded as what byte - i mean abcdump.as from this link: http://iteratif.free.fr/tamarin/AbcDump.zip not the one from tamarin. Btw this zip also contains exe which basically replaces nemo440 if you are into console ;p

6. Text editor with regular expressions - textWrangler for mac, notepad2 for windows

To that, knowledge i think i use - they are probably optional but help.

1. AS3 knowledge - replace as3 with any ecma language, or any programming language really

2. assembler knowledge (to get grip of as3 tag format)

3. regular expression knowledge (really absolutely basic knowledge required here, even less than that, you need to know 3 operators, i should probably say wildcard instead of regular expression)

4. general knowledge how to get into someone else's code ;)

Basically my workflow is based on the three versions of the game code:

- regular AS3 code #1 from sothink swfdecompiler

- AS3 tags #2 from nemo 440 and

- actual hex format #3 of swf

- plus abcdump reference #4.

a ) In #1 i find lines that interest me,

b ) then i look them up in #2, find as long sequence of instructions as possible (the longer sequence the better since probability of it being the only one in file goes up), check which ocurence in #2 the sequence of instructions is (if occurs more than once - #2 has info about classes, functions and literals so i can recognize),

c ) translate sequence of instructions into chain of bytes using #2 and #4 and then

d ) lookup that sequence of bytes (hex values - one byte is eg. "AB") and

e ) look them up in #3.

Now about the text editor with regular expressions i use it in two cases:

1. to find chain of instructions in #2 - i replace byte addresses (first column) and newline characters with wildcards. eg if i have:

234 pushbyte

235 0

I will not look for "234 pushbyte\r235 0" because this contains byte addresses and even though same chain of instructions will occur, they will probably not occur under same byte addresses, so i will search for "pushbyte\r.*0". I removed "234 " since its irrelevant and whatever byte address 0 comes under - my regular expression will find it

2. when i translate sequence of instructions into sequence of bytes i would be normally limited to instructions which are basic - do not contain literals such as class field or function name since i do not know swf format good enough to be able to translate literals into byte addresses. This is problematic since i either end up with sequence which isnt really long or is far away from actual code i want to change or even both. Now, if i take the very very exact code i want to find and replace literals with wildcards:

eg i have getlex 'ass', getlex 'spank' i know 60 = getlex but dont know how ass and spank translate, so all i know it will be 60 byte byte 60 byte byte. In text editor which has regex i can look for it like that: 60....60.... because '.' means any sign. Now this example is very basic and you will get fuckton of matches for 60....60.... but it illustrates how you can get really long instruction chains found in raw hex code.

If you want to know how i found that lines in actionscript code - someone on this forums just mentioned size_x and size_y - wasn't much searching knowing those names.

But! way i use very often is this: when i want to change some functionality of game and there is some text connected to that (eg when i wanted to use tractor without having tractor, my reference point was "buy Now!" text on the menu), i look that text up in flashLocaleXml.xml (watch out for text with variables, eg instead "you got local celebrity ribbon" there will be "you got {0} ribbon") and check the key value of that text (its like this: <sometag key="BuyTractor">Buy now!</sometag>) knowing key value i can look up in the code where that exact key value (BuyTractor) occurs because i know it will be more or less tightly connected to the functionality i want to change. Sometimes you will have to jump a class or two but that gives info on where to start looking.

Hope this helps B) keep in mind it took me half a day straight to figure, so don't give up when something goes wrong B)

Well, kliketa's post says that the relevant file is now http://static-facebook.farmville.com/v8506/fv_fuel_price_test_3.xml but I'm not seeing it. I need to add this to the FAQ but you may need to reload your Farm using the forced reload without going to cache. You do this by holding down the {SHIFT} key while clicking the Reload button of your browser. {SHIFT}+{F5} does NOT work, nor does {SHIFT}+{COMMAND}+R on a Mac with Safari or Firefox. It has to be the {SHIFT}+{CLICK} AFAICT.

Either way, as I said, I've been running my hacked gameSettings.xml without issue on the remaining farms I can access.

Yes, that's some really weird stuff with firefox and that xml files and cache and fiddler/charles. I just clear cache (there is undocumented shortcut cmd+shift+backspace which btw is same as clearing trash, how cool is that?) selecting everything and cache + site preferences. And even that not always works ><

Finally, 8595 swf patched for 1x1:

http://rapidshare.com/files/311502637/FarmGame.release-09-11-19.8595.swf

Posted (edited)

8808 patched for 1x1:

http://rapidshare.com/files/311987580/FarmGame.release-09-11-24.8808.swf

Great job there!

How about making the tools BIGGER???

I can confirm that it works for tractor (planting), harvester (harvesting) and seeder (seeding)

through gamesettings.xml

I also found out that fuel is not an issue anymore.... :) (pm me for that if interested)

However, I was wondering if you could create a larger delete tool through the swf file.

Is that possible????

Should someone need to delete all those 1x1 plots that would take ages to be done!

Edited by jammerson
Posted (edited)

Great job there!

How about making the tools BIGGER???

I can confirm that it works for tractor (planting), harvester (harvesting) and seeder (seeding)

through gamesettings.xml

I also found out that fuel is not an issue anymore.... :) (pm me for that if interested)

However, I was wondering if you could create a larger delete tool through the swf file.

Is that possible????

Should someone need to delete all those 1x1 plots that would take ages to be done!

Yes, i thought about that, but to make delete tool bigger through client is super hard at best (if possible at all). I think it would be much, much easier to just use debug proxy do send delete packets. Especially with request AMF view! Edited by pearDevourer
Posted

Guys!

A thought how to disable that error so that you can enter farm and remove plots - use some kind of firewall or proxy tool which would allow to view incoming packets and block them - this way you could theoretically block the error2 packet and be able to operate.

Update:

Ok now that i read that error2 = internal server error, you might be able to block some data packets which cause server to retrieve data which causes 500 ?

Again, charles proxy has amf view for packets (which lays all info about farmville data traffic, you read it like a book) and has breakpoint mode which allows you to look at every packet incoming/outgoing before deciding whether we allow it or not.

Also someone tell me what's the easiest way to get that error2 to happen consistently, i will try to look what can be done about it myself.

freshap - thanks for patching that swf file :)

Here is info on how i do it:

1. Sothink swf decompiler (need full version to be able to export AS code) - to get fully readable AS3 code. Invaluable, otherwise it would be impossible to actually find any interesting lines of code

2. buraks swf decompressor (please see my previous post for link) to get uncompressed swf file which is, well, readable at all as opposed to compressed one. Mac/linux users have to suck it up and get crossover im afraid.

3. nemo 440 - abcdump in AIR - very nice tool, quick and easy. doesnt have search function, but allows all dump to be exported into file. I use it to get all farmville code in format of AS3 tags.

4. 0xED / hexFiend / any binary editor if you arent on mac (check hexWorkshop) to get into raw hex format of the *uncompressed* swf file

5. abcdump.as for reference - thich instruction is coded as what byte - i mean abcdump.as from this link: http://iteratif.free.fr/tamarin/AbcDump.zip not the one from tamarin. Btw this zip also contains exe which basically replaces nemo440 if you are into console ;p

6. Text editor with regular expressions - textWrangler for mac, notepad2 for windows

To that, knowledge i think i use - they are probably optional but help.

1. AS3 knowledge - replace as3 with any ecma language, or any programming language really

2. assembler knowledge (to get grip of as3 tag format)

3. regular expression knowledge (really absolutely basic knowledge required here, even less than that, you need to know 3 operators, i should probably say wildcard instead of regular expression)

4. general knowledge how to get into someone else's code ;)

Basically my workflow is based on the three versions of the game code:

- regular AS3 code #1 from sothink swfdecompiler

- AS3 tags #2 from nemo 440 and

- actual hex format #3 of swf

- plus abcdump reference #4.

a ) In #1 i find lines that interest me,

b ) then i look them up in #2, find as long sequence of instructions as possible (the longer sequence the better since probability of it being the only one in file goes up), check which ocurence in #2 the sequence of instructions is (if occurs more than once - #2 has info about classes, functions and literals so i can recognize),

c ) translate sequence of instructions into chain of bytes using #2 and #4 and then

d ) lookup that sequence of bytes (hex values - one byte is eg. "AB") and

e ) look them up in #3.

Now about the text editor with regular expressions i use it in two cases:

1. to find chain of instructions in #2 - i replace byte addresses (first column) and newline characters with wildcards. eg if i have:

234 pushbyte

235 0

I will not look for "234 pushbyte\r235 0" because this contains byte addresses and even though same chain of instructions will occur, they will probably not occur under same byte addresses, so i will search for "pushbyte\r.*0". I removed "234 " since its irrelevant and whatever byte address 0 comes under - my regular expression will find it

2. when i translate sequence of instructions into sequence of bytes i would be normally limited to instructions which are basic - do not contain literals such as class field or function name since i do not know swf format good enough to be able to translate literals into byte addresses. This is problematic since i either end up with sequence which isnt really long or is far away from actual code i want to change or even both. Now, if i take the very very exact code i want to find and replace literals with wildcards:

eg i have getlex 'ass', getlex 'spank' i know 60 = getlex but dont know how ass and spank translate, so all i know it will be 60 byte byte 60 byte byte. In text editor which has regex i can look for it like that: 60....60.... because '.' means any sign. Now this example is very basic and you will get fuckton of matches for 60....60.... but it illustrates how you can get really long instruction chains found in raw hex code.

If you want to know how i found that lines in actionscript code - someone on this forums just mentioned size_x and size_y - wasn't much searching knowing those names.

But! way i use very often is this: when i want to change some functionality of game and there is some text connected to that (eg when i wanted to use tractor without having tractor, my reference point was "buy Now!" text on the menu), i look that text up in flashLocaleXml.xml (watch out for text with variables, eg instead "you got local celebrity ribbon" there will be "you got {0} ribbon") and check the key value of that text (its like this: <sometag key="BuyTractor">Buy now!</sometag>) knowing key value i can look up in the code where that exact key value (BuyTractor) occurs because i know it will be more or less tightly connected to the functionality i want to change. Sometimes you will have to jump a class or two but that gives info on where to start looking.

Hope this helps B) keep in mind it took me half a day straight to figure, so don't give up when something goes wrong B)

Yes, that's some really weird stuff with firefox and that xml files and cache and fiddler/charles. I just clear cache (there is undocumented shortcut cmd+shift+backspace which btw is same as clearing trash, how cool is that?) selecting everything and cache + site preferences. And even that not always works ><

Finally, 8595 swf patched for 1x1:

http://rapidshare.com/files/311502637/FarmGame.release-09-11-19.8595.swf

firstly i wanna say thank u. but it is very hard to understand for me my english is not perfect B) is it possible to bypass code 2 error . could u please explain it in a simple way B)

Posted (edited)

firstly i wanna say thank u. but it is very hard to understand for me my english is not perfect :) is it possible to bypass code 2 error . could u please explain it in a simple way ;)

No, there is not yet way to bypass code2 error, but TimeHorse is working on it.

Also, i managed to disable 'saving your farm' dialog which was getting really annoying with zero fuel and huge machine grids:

http://rapidshare.com/files/312137819/NoSavingDialogFarmGame.release-09-11-24.8808.swf

This doesn't mean you can click to harvest/plow/seed all and close browser and it will be saved, you still need to wait rather long time for all to save, but the difference is that you can turn short clicking and short waiting periods into one clicking and one long waiting period.

Enjoy!

8808 gamesetting dont work i tried making x=1 y=1 it fails

What do you mean? Edited by pearDevourer
Posted

hey guys what's up ? I just tried the new patched version it works fine and really this is genius but I had a question can somebody tell me what are the address you change in the swf file to make it work ? I want to know so I can do it in my own maybe or at least learn how to do it , if somebody can explain in how to read the source code and to see what;s for what and be able to manipulate the game I would really appreciate you can pm me if you don't want the info to be public

thanks in advance

Posted

i have 8808 gamesetting and fiddler but when i change every crop to x=1 and y=1 it doesnt change still 4*4

I really don't know what to tell you, mine gamesettings file works. Maybe try getting updated one and clearing cache? sometimes cache takes some time to clear.

hey guys what's up ? I just tried the new patched version it works fine and really this is genius but I had a question can somebody tell me what are the address you change in the swf file to make it work ? I want to know so I can do it in my own maybe or at least learn how to do it , if somebody can explain in how to read the source code and to see what;s for what and be able to manipulate the game I would really appreciate you can pm me if you don't want the info to be public

thanks in advance

Dude couple of posts above you have long ass post by me explaining how to do this... :)
Posted

I really don't know what to tell you, mine gamesettings file works. Maybe try getting updated one and clearing cache? sometimes cache takes some time to clear.

Dude couple of posts above you have long ass post by me explaining how to do this... :)

hey I know you explained this but how do I locate the modifactions I want to make when I open the file with ithink software and look at the source code I don't understand a thing I looked at the class.plot file and couldn't understand how you did the patch can you explain this and I will figure it out for other stuff I guess

Posted

i worked out today afternoon with swf and game settings.. WORKED FINE!!

since i filled u more than 45 % of my farm (22x22) with plots... suddenly i get the "your game set is out of sync with the server please refresh the page to continue." and that's it... the FUCK VILLE game over for me :) still i cant load my farm and even my neighbors cannot load my farm..

is there any pollution for that? probably not..

Posted

here is the last modified 1x1 plot swf file. thanks to pearDevourer.

edit: farmville enhanced and now i get code 2 error and connot load game i think i am banned :)

edit: also here is the gateway.php error i get after creating too many 1x1 plots with this modified swfpost-53666-12588073792518_thumb.jpg

final edit: OK IT WORKS AGAIN CODE 2 ERROR GONE ;)

HOW it worked? i have the same problem..
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...