I've been coding a bit yesterday evening and I've (finally) implemented main/alt detection during character uploads. This version is not available yet; I still have to code the configuration, and it requires some core roster changes that will be in 1.7.3 beta 2. Currently this is what it does:

- Get all characters in the current character upload
- Determine which one has the highest guild rank
- Among those, determine which one has the highest level
- That one is the main
- The others are alts of that main

It will be possible to turn on/off updating during guild or character updates separately. Is any other configurability of the character update based system desired?

Some (crazy?) people do have more than one account, and some characters from both accounts in the same guild. I don't know if this would be "desirable" or if there's a smarter way to do it, an idea would be to allow a user (or an admin perhaps is better?) to manually assign a character as an alt of another character? and make this change semi-permanent, ie it doesn't get refreshed with an upload.

In my guild we are currently using the officer's note to distinguish between mains and alts, but we would prefer to leave the officer's note free to carry other information about the character. ATM those characters as I just described end up listed as "mainless" alts.

Different accounts on the same PC don't cause any issues. The savedvariables from each account are kept separate, so each of the users of the same PC uploads separately and is seen as separate by the update system.
There is actually currently a way to configure mains/alts in the database such that it doesn't get overwritten on normal uploads. There's just no interface for it, and I'm not quite sure how to best design an interface for it.

Maybe I didn't explain myself correctly (or completly). What I mean is that if the same player has 2 characters on different accounts, both in the same guild, since the upload needs to be done separately for each character, there's currently no way to select one of them as a Main and have the other one as an alt of this main, you couldn't set one as an alt and the other as a main automatically. Needs to be done manually (somehow, just haven't figured out how yet), but whatever setting would get erased by the upload.

I don't really know how to tackle this particular scenario, other than using the officer note to set a character as an alt of another, but we would like to keep the officer note free for a different use. I had hoped you or someone else could come with a different idea (something I haven't thought of yet).

A dirty way to do it would be to let the roster administrator assign alts. An interface for this scenario would be nice, but I'm afraid I would be the only one benefiting from it.

Ah, I thought you had 2 persons on 1 PC with separate accounts. I agree that in this case there would not be an automatic way to detect it during character updates. I'll let my mind wander for an automatic way to do the updates.

If you want to set stuff in the database yourself: Look up roster_addon_altmonitor in phpmyadmin this table has 3 columns. The first is the member ID, the second is the ID for that members' main. The third is the alt type, and is one of the following:
0 - A main with one or more alts
1 - A main without alts
2 - An alt with a main
3 - An alt without a main

When manually setting one of these, add 4. The updater checks for this and doesn't update that entry (prints 'manual entry' in yellow)

I'll probably change this format for the next version though - IDs 4-7 will be the ones set by the character updater, so manual IDs will probably become 8-11