wenn man 2 Browser-Tabs gleichzeitig geöffnet hat und im selben Account eingeloggt ist, kann man verschiedene Funktionen exploiten. So kann es sein, dass ich in Tab A in meiner Siedlungsansicht bin, und in Tab B die Weltkarte betrachte. Nun ist es mir möglich, dass ich in Tab B meinen Landsherr zum Verreisen schicken kann, aber in Tab A noch immer in meiner Siedlung bin und dort alles machen kann, was durch das Verreisen eigentlich nicht möglich wäre.
Viel besser wäre es, wenn man in einem weiteren Tab eine Aktion startet, überprüft wird, wo man sich gerade befindet oder ob man reist. Falls man reist oder die Siedlung nicht zum aktuellen Ort des Verwalters passt, das jeweilige tab automatisch auf die Weltkarte wechselt. So wären Aktionen nur möglich, wenn der Verwalter vor Ort ist. Ob man dann trotzdem mehrere Tabs für die selbe Siedlung offen hat oder nicht spielt dann keine Rolle.
Der Logout würde nur den alten Tab betreffen. Zwei Tabs bringen auch jeden Fall ne Menge Probleme mit sich. Darum will ich das generell unterbinden. Trotzdem darf der Spieler natürlich nicht irgendwas in der Länderei machen wenn es schon auf der Reise ist. Da muss das besser überprüft werden.
Ein Logout ist immer global, weil die Session gelöscht wird. Das gilt dann für alle Tabs... Weiß nicht, wie du dir das jetzt vorstellst?
Ansonsten kann man einfach eine periodische abfrage einbauen, die alle 15 Sekunden checkt, ob man noch in der Siedlung des Tabs ist. Falls nein: auf Weltkarte wechseln. Oder die Siedlung "ausgrauen".
Mit Logout meine ich, dass du von der Spieleansicht in die Loginansicht (Startseite) geworfen wirst. Mit dem anderen Tab kannst du normal weiter spielen. Das Spiel checkt alle 25 Sekunden ob es was neues gibt. Bei so einem Check könnte ich dann recht leicht überprüfen ob mehrere Tabs offen sind und alle bis auf den neuesten auf die Startseite werfen. So ist jedenfalls mein Plan.
Nehmen wir an ich befinde mich in Gondar. Dann würde ich checken, welche Tabs NICHT den Standort Gondar haben und bei diesen das Bild ausgrauen, und die Aktionen deaktivieren und die Rohstoffanzeige verbergen. Wenn ich nun zu meiner Siedlung reise, dann aktualisieren sich kurzer Zeit nach dem Ankommen in meiner Siedlung alle Tabs, die meine Siedlung ursprünglich hatten und das Ausgegraute verschwindet, Rohstoffe werden wieder angezeigt und Aktionen werden wieder möglich.
Die Ausgrauung kann man mit einem Schriftzug kombinieren, der besagt, dass die Siedlung im aktuellen Tab momentan "Aufgrund von Reisen nicht zur Verfügung steht".
Für die Usability wäre das sicherlich besser, denn eine einfache Umleitung auf die Startseite hat nur unnötigen Traffic zur Folge. Man denke daran, wenn das Spiel mal 10.000 Spieler gleichzeitig hat und jede Minute 1000 Mal die Startseite mehr aufgerufen werden muss. Gerade Leute mit einem langsamen Internet würden das nicht wollen. Die Abfrage zur Ausgraaung verursacht nur einen minimalen Traffic.
Aus einem anderen Spiel kenne ich das so, dass wenn man einen 2. Tab öffnet bei diesem dann gleich angezeigt wird das man nur einen Tab gleichzeitig mit dem Spiel offen haben darf. Auf dieser Seite die der 2. Tab dann geöffnet hatte konnte man sonst nichts machen.