FFLogs Server Detection

I have rewritten the FFLogs server detection code, and I think it will be much better at figuring out what server you belong to. Here is how the new algorithm works.

(1) If you upload to a guild log, the speculative server is set to the server of the guild log on FFLogs. So for example, if someone uploads to Elysium of Gilgamesh (NA), then the speculative server will be set to Gilgamesh.

(2) If you upload to a personal log, the characters that you have linked on Lodestone will be obtained and sorted in order of “most recently created on FFLogs” to “oldest on FFLogs.” For each character:
(a) If the character is not canonical, i.e., the one that FFLogs believes is where you currently reside, then it will be skipped.
(b) Check all of the character names in the fight. If a name match is found, then use the character’s server as long as the regions match.

This should prevent wrong server guesses at the start when logs are uploaded, since the old code used to just use the first character in your linked on Lodestone list without name match checking. This meant it would find your oldest character and use that, which would force people to unlink that old character from the site in order to get FFLogs to stop being wrong.

What happens for an encounter involving people from two servers and then a log is uploaded by somebody from each? With some of the names in use on both servers. Does the first upload win or some combination of both…?

Raid Finder is getting a lot more use and Cross Server Party Finder is expected in a few months so we’ll be seeing more mixed parties in the future.

1 Like

Everything I wrote in the first post was about establishing a “speculative server” to check first. So the idea is if a speculative server is guessed, then the lookup on Lodestone is for that name on that specific server. If nobody is found on that server, then a global search is performed on the Lodestone with no specified server. If a single name is found on some server, then that gets used for that player. If two or more of the same name exist on different servers, then I give up and don’t rank that player.

My logs is not updating via raid finder.
Sa Mz on odin
https://www.fflogs.com/rankings/character/431754/latest

Here is a log from the 22nd that doesnt show up on odin leaderboards or on my character profile
https://www.fflogs.com/reports/rnajVQKv8RyY4pJC#fight=6&type=damage-done

Please help thnx.

1 Like

I’ve been having a problem too where my rankings are not showing up associated with my character. I can find them by looking at my statics uploaded parses but they don’t show up on rankings or as being linked to my character on the my character page, but my statics parses in the same upload show up associated to them… do I need to re-link my character?

1 Like

yes its weird, i made sure there are no ther characters with the same name too, so i dont know where my charctare parses are going.

Keep in mind that (because it’s stupid) Lodestone does not allow for precise character name searches. It looks at your first and last name separately and matches substrings when returning results. This means a name like “Sa Mz” is pretty hopeless, and I can’t actually locate your server at all.

Example:

My character name is Senpai Meow. It shouldn’t have that same problem for that character name I hope? What is odd is that the uploaded parse where it first happened for me was last week and Faust Z, a9s, and a10s all registered correctly, but a11s on the same upload did not register to my character.

This is the upload: https://www.fflogs.com/reports/RmX96v3d7FbKkrHW#fight=4&type=damage-done

If you open the drop down to select a11s encounter from that link it shows the party and everything, but a11s is the only one that didn’t link to my character. (URL with a11s encounter selected: https://www.fflogs.com/reports/RmX96v3d7FbKkrHW#type=damage-done)

Edit:

The same thing happened for last nights upload as well, except this time none of the encounters registered to my character.

so for example if i changed my name to Samz ooooo, it should work fine?
even if im using raid finder from odin paired and uploaded by another
user from a different server it should still work?

oh and on that link thw world is set to cerberus so it wouldnt find me, im on odin.

Sometimes it bugs out, e.g., if it can’t communicate with Lodestone. In this case, you had no ranks for any character on A11, so that’s a clue that you should just hit the Export button on the Rankings page to make it try again. I did that for you, and it’s ranked now. This is unrelated to server detection.

Pick a name that will show up on the first page of results and that nobody else has when doing a global search on Lodestone, and you should be fine yeah.

Ahh, okay gotcha! Thank you! Apologies if it accidentally went off topic… Didn’t know if it was related to this issue or not. I know for the future now though!

ty for your help! So i will change my name to Samz Xx or Samz X-. None of them yeild global search results. just to make fully sure, via raid finder someone from cerberus uploads and i am using raid finder from odin. with the new name all will be ok?
Tyvm and great support!

Yeah, maybe someday Lodestone will implement precise searching.

Is there a way to help fflogs correct itself when it guesses a character on the wrong server?
Uploading the log myself doesn’t seem enough to fix things; it’s attributed to both the right and wrong character now.

@Kihra
Cross server parties now show people’s server in chat before entering the instance. Can you use this to establish server when available? Your guessing scheme often misattributes (I sent you some examples in PM a while ago) and this would help even if it’s not perfect.

The server name shows up like this in the log. You’d probably want to remember the last server seen for that character prior to the encounter.
00|2017-01-18T19:17:16.0000000-05:00|000e|’�Some NameSome Name’a��YGilgamesh|3 man time gate?|aff3eb014f34cd2e48c60da7bbbe64fe

Ok, so here is the tentative plan for Stormblood. Right now when you transfer servers, you get a new character. I connect your new character to your old character by figuring out that the lodestone IDs are the same. One of the motivations for doing it this way was to preserve old server history and the sanctity of server rankings. I think, though, that what server you were on when you got a ranking should not be relevant any longer, and that you should just always have All Star points on your current server, even for things you did on another server a long time ago, etc.

So what this means is that I want to move to the following model.

(1) Character ID = Lodestone ID. There is no difference. This means that when you name change and/or server change, the character will actually be mutated in place and the old name and server will be lost.

(2) Job levels will be cached for all characters.

(3) I’m going to make “server resolution” into a completely independent operation from report exporting. This will allow for the re-exporting of reports without endangering the server placement of characters. This ensures that if I have to recrawl reports because of changes to damage/healing #s etc. that I can do so without suddenly placing you on a different server.

(4) I’m going to show a new panel in Rankings above the actual rankings that says what server I think each person is on, and you’ll be able to say “This is wrong!” and pick from all relevant matches that have the job leveled. This means that even if I get it wrong, there will be a facility in place to correct FFLogs’ mistake.

(5) All characters will have a “last_updated” timestamp. If I haven’t checked Lodestone in more than 24 hours, I will make sure I do so whenever that character is checked (in a variety of places in the UI), e.g., your character page, when you’re checked for rankings, etc. This should ensure that name changes get picked up relatively quickly. Updating your characters in Settings will force a name change check.

With that out of the way, let’s get into how server resolution will work.

(a) A speculative static will be established based off where you uploaded. If you upload to a static that static will be used. If you upload to personal logs, I will look for a claimed character whose name and job level match, and then use that character’s static. If a speculative static cannot be established, the report will not be ranked. I will explain why when people view rankings, so that they can claim their characters in order to ensure this does not happen.

(b) For each character in the log, I will look to see if there is a match in the static/FC with the same name and job level. If so, I’ll use that character.

© If there is no match within the static/FC, I will look for characters on all the servers used by the static/FC, starting with the server that the static/FC was created on in FFLogs. If I find a name and job level match, I will use that.

(d) On a miss, i.e., no match found within any static/FC, I will look for any character with the same name and job level that matches. If more than one exists, I’ll give up and not rank that character.

(e) If no match is found, I will go to the Lodestone and look for a name/job level match there. If I find one, I’ll add that character to FFLogs’ database and then use it.

(f) I will cache the resolved results for each fight, e.g., (fight id, character name, lodestone id) and if the report is re-exported, etc. I will simply use those cached results rather than running this algorithm again.

Will this model be moved to before stormsblood by any chance? Thank you for the hard work

hi there,

@Kihra do I understand correctly that server definition features still are not implemented? I did some kills and it looks like it was uploaded to characters belong to other servers. Also I didnt find any button like “it was my parses!!!11!11!!”

Do you need any help or assistance?

Last night/this morning I uploaded a Lakshmi clear that would have made me highest all star SMN on Malboro overall for both trials. But instead it completely took me off the Lakshmi ranking altogether for Malboro. The parse shows up under my character, but it’s not showing up under Malboro ranking. Oddly, my older Lakshmi parse that was attributed to Malboro isn’t attributed to Malboro anymore either. Character name: Kefka’s Laugh.