From The Mana World
m
m
Line 6: Line 6:
# list all servers from the lists and the accounts made for them in a menu. This menu should also contain a button to add new servers to the local servers.xml
# list all servers from the lists and the accounts made for them in a menu. This menu should also contain a button to add new servers to the local servers.xml
#*Player can click on a server to create a new account / register an old one
#*Player can click on a server to create a new account / register an old one
#*#ask for name and password
#*#ask for name
#*#check if the account exists.
#*#check if the account exists.
#*#*When yes check the password and add it to the list of accounts when it is correct.
#*#*When yes add it to the list of accounts.
#*#*When no prompt the player if she wants to register it and ask for personal information. Allow the server to customize the information it asks for or send a message with registration instructions when registration via the tmw client is not desired (invite only servers, for example)
#*#*When no prompt the player if she wants to register it and ask for password and personal information. Allow the server to customize the information it asks for or send a message with registration instructions when registration via the tmw client is not desired (invite only servers, for example)
#*or click on an account to log in with it
#*or click on an account to log in with it
# ask for password
# ask for password

Revision as of 18:02, 7 November 2008

trunk client login sequence proposal

  1. parse local servers.xml
  2. download and parse server lists from the web mentioned in the local server list
  3. parse local accounts.xml
  4. list all servers from the lists and the accounts made for them in a menu. This menu should also contain a button to add new servers to the local servers.xml
    • Player can click on a server to create a new account / register an old one
      1. ask for name
      2. check if the account exists.
        • When yes add it to the list of accounts.
        • When no prompt the player if she wants to register it and ask for password and personal information. Allow the server to customize the information it asks for or send a message with registration instructions when registration via the tmw client is not desired (invite only servers, for example)
    • or click on an account to log in with it
  5. ask for password
  6. download updates required for selected server
  7. reload any files replaced by updates
  8. show character select dialog

server list

Example for local servers.xml:

<servers>
 <import>http://www.themanaworld.org/servers.xml</import>
 <import>http://www.gpl.violating.fork.we.dont.like.freewebs.tk/servers.xml</import>
 <server>
  <name>Local Server</name>
  <host>127.0.0.1</host>
  <port>9601</port>
  <description>my server</description>
 </server>
</servers>

Example for servers.xml pulled from the web:

<servers>
 <import>http://www.tmwforkwelike.org/servers.xml</import>
 <server>
  <name>The Mana World</name>
  <host>server.themanaworld.org</host>
  <port>9601</port>
  <description>Official server</description>
  <icon>http://themanaworld.org/tmwlogo_32x32.png</icon>
  <update>http://updates.themanaworld.org/someupdate.zip</update>
  <update>http://updates.themanaworld.org/moreupdates.xml</update>
 </server>
</servers>

account file

The account file should map to servers by hostname instead of by servername because servernames can be spoofed easily.

<accounts>
  <account host="server.themanaworld.org" name="JohnDoe">
  <account host="127.0.0.1" name="JohnDoe">
  <account host="tmwfork.homeip.net" name="JohnDoe">
</accounts>