update recipe downloads across clients

Case number:845813-991999
Topic:Game: Tools
Opened by:ErichVonSterich
Opened on:Monday, February 27, 2012 - 15:09
Last modified:Monday, August 6, 2012 - 14:40

I regularly run 3 or 4 clients at a time and when I download a new script, I have to shut down most everything to make *all* clients aware of the new script. This would mean interrupting clients running something for likely many successful hours, and the download can only be via the main client anyway.

So, could you please make a new script download become effective over ALL open clients immediately, instead of just the main client?



(Mon, 02/27/2012 - 15:09  |  14 comments)

bareego's picture
User offline. Last seen 1 year 37 weeks ago. Offline
Joined: 09/18/2010

And if it's not easy enough to automatically update the recipes on all clients, have some button that will update the recipes on one particular client. This should not be too hard to do.

B_2's picture
User offline. Last seen 6 years 32 weeks ago. Offline
Joined: 11/29/2008
Groups: None

REcipe download depends on an IRC connection, the server would have to allow multiple connections with the same account, or else use some other mechanism to transfer recipes.

Joined: 06/17/2010

It "just" need save/load cookbook in every client when it is changed.
In 99.999% cases we CANT make change in cookbook in 2 or more clients in same time.
Just add flag "cookbook changed" when made any change (added new recipe, saved changed etc.) and reload it when flag is set.
all.macro has "verify: xxxxx" hash. Just check it is changed since last book opening when open book and reload if need.

jal3's picture
User offline. Last seen 9 years 23 weeks ago. Offline
Joined: 05/24/2012
Groups: None

I experienced this last night. Seems as though IRC is not an ideal protocol for this purpose. There is also the issue with IRC being considered non-secure and being blocked by large networks (e.g., my University).

Although every other aspect of the game is fine, I am also unable to add recipes to my book or see any chat at work. Chat always shows "Joining chat..." but never does.

When I click on "Add to Cookbook!", it comes back with the message: "Please run Foldit to add recipes to your cookbook." This is at work behind a firewall but every other aspect of the game works. I'm wondering if it has anything to do with having a NATted (Network Address Translation) address? More likely is that the server can't see my client running behind our firewall.

Firewalls can be configured to block IRC or not, depending on what the administrator wants.

I have no problem at home, but there I'm using Comcast. Oddly enough, I can leave Foldit running at home, log in at work and send recipes to my home recipe book from work. Seems to me that the server should send the results to the computer where the request comes from--not to where it sees a client running for the requesting "user".

One very ugly work around is to load up all the recipes you want at home, edit them with Foldit, copy the script, paste the code into separate files, send them as attachments to yourself, open them at work, paste them into the Foldit editor and give them names using "save as". I've done that with two recipes so far. Not a very attractive prospect.

bertro's picture
User offline. Last seen 17 weeks 2 days ago. Offline
Joined: 05/02/2011
Groups: Beta Folders


Just copy the all.macro file from your home computer and paste it in your foldit folder at work. All your home recipes will be there at work.

Joined: 04/15/2012
Groups: Beta Folders

I believe the issue is that only the first client is connected to the server. For example, the chat only joins on the first. I assume this is to save prossessing power, as joining everything on all will chew up a lot, especially when you don't need it.

brow42's picture
User offline. Last seen 1 year 30 weeks ago. Offline
Joined: 09/19/2011
Groups: None

As AsSDawnBreaks says, yes, the communications between the web page and the client is through the IRC channel, which only one client can connect to (because each name is unique and all the clients have the same name). So, technically, it would be very hard or impossible to have all the clients update (they all have a connection to the game server, but only one has a connection to the irc server).

A lot of this could be fixed with a 'Reload Cookbook from Disk' button.

Also, let me bump http://fold.it/portal/node/985890 which would allow us to change which client is connected to IRC. New recipes would go to that client. Also, we could change which client could send screenshots.

Of course, once we allow the IRC connection to switch, people will be downloading to different clients and overwriting all.macro and losing downloads and changes, and there will be much gnashing of the teeth.

spmm's picture
User offline. Last seen 12 weeks 1 day ago. Offline
Joined: 08/05/2010
Groups: Void Crushers

switching the IRC doesn't help people who cannot get IRC connects at work so they will still have to copy their all macro file. Also a workaround is to plan a script update session, download everything you want and close your clients and reopen, I try to do this once a week anyway and also ensure that my computer is tuned and my other software is able to pick up updates - housekeeping, virus and malware protection etc.
I don't really see this as a level 2 priority as it doesn't stop you playing and there are not that many new public scripts.

Joined: 04/15/2012
Groups: Beta Folders

I still find this very annoying. Can there be a button to update a single client, a temporary connection?

jeff101's picture
User offline. Last seen 17 hours 12 min ago. Offline
Joined: 04/20/2012
Groups: Go Science

Is it possible to just copy the desired all.macro file from one Foldit client's directory to another so that all clients end up with the same versions of all the same recipes? I haven't tried this yet myself. I worry that this will make more trouble than it solves. Will a Foldit client choke if it is running a recipe that is suddenly changed by having a new copy of all.macro appear in this client's directory?

Joined: 11/05/2010
Groups: None

Clients do not choke, however a fresh client will have to be loaded once the all.macro is updated for each and every updated client. It seems that many are following the guide of multiple folders/multiple clients which I have long believed to be the best way to use multiple clients. Nothing wrong with tracks as long as they are kept in their place.
The biggest problem with Foldit over my +18 months of usage has been and will continue to be the IRC connection, especially in areas where IRC is either limited, non-existant, or profoundly untrustworthy, as was my experience in Korea. They do have the best internet available, but that doesn't mean that everyone will get an equal share of the available access.
The single best way to update all clients is simply to copy ' all.macro ' from the one good IRC client, to all other clients, then reload the clients that the all.macro was copied to. Sometimes one has to do this more then once, if one has not been diligent in observing that the new all.macro has ' properly ' copied to the folders needing it.

Joined: 11/05/2010
Groups: None

Generally speaking 8 folder/clients will consume less then 3 GBs of HD space, and a 10 Gig partition is fully capable of dealing with all necessary hard drive processing and will leave the chance of fragmentation errors only on the foldit partition which is much better then endangering a O/S partition with errors created by the massive small file creation ( quicksaves, etc, etc ) and other DevPrev issues that might and sometimes do often occur. One should never endanger his/her O/S partition with experimental programs or even programs that use the HD in an excessive manner.

brow42's picture
User offline. Last seen 1 year 30 weeks ago. Offline
Joined: 09/19/2011
Groups: None

If you chose to run clients out of different directories, then separate cookbooks is a consequence of that decision. For all the client knows, you WANT different cookbooks. If you want the same cookbook everywhere, you're going to have to copy it over by hand.

As for multiple clients running from the same directory, I'm sure adding a button to reload the cook book from disk would be very very easy, and it's long overdue.

Joined: 04/15/2012
Groups: Beta Folders

My thoughts exactly. At least the last part. :)


Developed by: UW Center for Game Science, UW Institute for Protein Design, Northeastern University, Vanderbilt University Meiler Lab, UC Davis
Supported by: DARPA, NSF, NIH, HHMI, Amazon, Microsoft, Adobe, Boehringer Ingelheim, RosettaCommons