3.04.2010

Lien entre LoginServer et GameServer

Avant aujourd'hui le LoginServer et le GameServer ne communiquaient entre eux que par le biais de fichiers XML ce qui pouvait causer pas mal de soucis (relecture des fichiers XMLs obligatoires par le GameServer si une nouvelle famille était créée sur le LoginServer, de même pour les personnages etc ).
Un cas intéressant restait celui d'une connexion au GameServer lorsque le joueur clique sur [New Team], cas que je vais décrire ci-dessous:

-{1} Le client envoie au LoginServer l'ID des personnages sélectionnés.
-{2} Le LoginServer envoie les informations de connexions du GameServer au client.
-{3} Le client envoie au GameServer son nom de compte (celui utilisé sur la page de login).

Le problème est : comment le GameServer connait-il les personnages sélectionnés par le client ?
Il était contourné jusqu'à maintenant par la création d'une table XML supplémentaire contenant l'ID de la famille plus les 3 ID des personnages sélectionnés (table d'ailleurs nécessaire car utilisée par le LoginServer pour récupérer et envoyer au client les informations sur la [Previous Team]). Cette table était donc lue par le GameServer lorsqu'il recevait l'étape 3.
Cette obligation de relire le fichier XML n'étant pas très flexible, je me suis orienté vers la création d'une nouvelle connexion et donc, d'un nouveau "protocole" entre le LoginServer et le GameServer.
Voici donc le nouveau schèma de connexion :

-{1} Le client envoie au LoginServer les ID des personnages sélectionnés.
-{2} Le LoginServer envoie le nom de compte du client ainsi que les ID des personnages sélectionnés au GameServer.
-{3} Le GameServer accuse réception des informations et renvoie OK au LoginServer.
-{4} Le LoginServer envoie les informations de connexion du GameServer au client.
-{5} Le client envoie au GameServer son nom de compte (celui utilisé sur la page de login).
-{6} Le GameServer fait le lien entre le nom du compte et les IDs reçus à l'étape {2} par le LoginServer.

Voila, à partir d'aujourd'hui le LoginServer peut communiquer autant qu'il veut avec le GameServer, avec des paquets forgés exprès pour eux deux qui n'auront de limite que celle de mon imagination :D

18 commentaires:

  1. Sounds like a major problem coulda came up but its all fixed now :) good job

    RépondreSupprimer
  2. when it will start...i cant wait it anymore >.<

    RépondreSupprimer
  3. 1 more question..if u done it ..need to full DL client or just change a patch?

    RépondreSupprimer
  4. I have been waiting for an emulator like this for an extremely long time -- I am very excited about this project! Best of luck to you : )

    RépondreSupprimer
  5. excellent job hope you let us login soon

    RépondreSupprimer
  6. You wont have to download anything if you already have the client installed on your PC, this is a thing i really want to keep as long as possible.
    For the question 'when will it start' : once more i dont have any idea. I am coding it slowly when i get some free time and it is none of my top priority.

    RépondreSupprimer
  7. Do you think that it would be possible to have a server running a previous version of GE, or will we always have to play 3.4 (or whichever version you're using to code this)? I always wanted to revisit the days when veteran was the highest level and raiding was more challenging -- those are the times I had the most fun in the game!

    RépondreSupprimer
  8. Can't wait when it is release! I'm really excited about this :D. Good job and good luck, hope it will release early :D

    RépondreSupprimer
  9. Damn, my mind is exploding with this StGE can't wait for this to be release! Good job and hope its Progressing Well :D

    RépondreSupprimer
  10. Hi i know you said youre too lazy to blog in english but just wondering if the the server comes up, would it be in english? because i only speak english and im excited.

    RépondreSupprimer
  11. ._. good question, i also want to know if the server would be in English

    RépondreSupprimer
  12. I'll answer quite fast to some questions :
    - About playing previous versions of GE : i personnally did not play GE when it was at previous versions like when only Veterans were allowed. As a lot of gameplay had to change since that time i will not be able to create something i do not know any single bit.
    - StGE will fully support English language. Even if i would like to create a mod able to support other languages, this is not my goal atm. So yes.

    RépondreSupprimer
  13. Hi do even have a target date on when you plan to release this? do you have a list on whats needed to be done to make this happen.

    RépondreSupprimer
  14. You know, it's really difficult to plan a date when he's alone to do such a big work ^^

    RépondreSupprimer
  15. Mogwai a dit…
    You know, it's really difficult to plan a date when he's alone to do such a big work ^^

    thank you for stating the obvious


    if you know how to read youll see in almost all of his post hes giving an update on the progress. And what im asking is the what to do list and possible target date. because he can already bring up the server so to speak. but hes still trying to tweak some parts like the cash shop etc.

    so if he say its gonna be up in 2012 because he has to get out of jail first then its 2012 get my point?

    2012=target date
    get out of jail= to do list

    RépondreSupprimer
  16. I'm french, so i'm well placed to see where his work is going. Then, he already said in comment that he wasn't able to give a date.

    And i'm sorry I didn't saw your demand like that, thank you for having cleaning my thoughts if I can say it like that ^^.

    RépondreSupprimer