Syncing

Before I get into any details on the specifics for SKG, I should just mention that this is, far and away, the one thing that causes the most problems for users of this plugin. However, with taking a bit of care, establishing good practices and diligence ... you can avoid them.

Syncing is the act of merging (or, possibly, replacing) the data you have in your Roll lists with the data that another person has.

The Sync Status Frame is where syncing operations and status can be done. This panel is only available to SKG Admins. The SyncKey is a string of characters that identifies the current state of the Roll List. An astute observer might notice that the left hand portion (first 14 characters) is actually a timestamp (formatted YYYYMMDDhhmmss)! In point of fact, it is the timestamp of the last change that occurred in the list (as far as you know). The remaining 10 characters are what is called a hash. It is a (hopefully) unique string that identifies the current state of the list, including all players and their positions. Between those two things, it should be possible to compare any two people's SyncKeys and determine if you both have the same list, or not.

Importance of Keeping Synced

Keeping all the SKG Admins in your guild synced is of utmost importance. If two SKG Admins are both attempting to process loot events, and have a different list composition, ultimately, someone is not going to move through the lists correctly, and will not get their fair shake at loot when their turn should have come up.

Out of Sync: Causes

It is, unfortunately, very easy to get out of sync with another SKG Admin. All that has to happen is for you not to be logged in when another SKG Admin makes a change to a list (adds a player, processes a loot event, etc). Since you were not present when the event occurred, you would never have received the signal from the other SKG Admin that a change occurred.

Out of Sync: Resolving

Fortunately, fixing syncing issues is very simple. This should occur in two steps:

  1. First, click on the "Sync Status" button to request all the other logged in SKG Admin's SyncKeys for your currently selected list. That will create a button/SyncKey pair for every logged in SKG Admin
  2. Second, if their SyncKey number doesn't match, click on the button with their name on it.

This forces that user to send their data about that list to you. Your SKG will process his list, and merge in any events that you were missing. See! Very simple.

Here's the tricky part: Doing so may not get your SyncKeys to match. Here's why: even though you were able to get from that user all events that he had that you didn't ... you may, in fact, have some events that the other SKG Admin did not. To fix it so that both of you have the same SyncKeys, the other SKG Admin should also request your list (using the same procedure above) to force his copy to process the events you had that s/he did not. After this takes place, do one final "Sync Status" request to see that all SyncKeys are lined up.

This concept is something that troubled me for quite some time with the old version of SKG. I have, at least in my own head, named this method Pull Only Syncing. In essence it means that noone can cause your OWN copy of Roll lists to get overwritten by data that you yourself did not request. It does mean a little more work in establishing Good Syncing Practices, but in the long term, I think it will prevent many of the major headaches people had with being pushed a list, and blindly accepting it to get the window out of the way quickly.