From The Mana World
(draft for xml based server management system for trunk client)
 
m
Line 1: Line 1:
trunk client login sequence proposal
trunk client login sequence proposal


# get local server list
# parse local servers.xml
#download server lists from the web mentioned in the local server list
# download and parse server lists from the web mentioned in the local server list
# list all servers from both server lists and the accounts made for them in a menu.
# parse local accounts.xml
# list all servers from the lists and the accounts made for them in a menu.
#*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 and password

Revision as of 17:26, 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.
    • Player can click on a server to create a new account / register an old one
      1. ask for name and password
      2. check if the account exists.
        • When yes check the password and add it to the list of accounts when it is correct.
        • 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)
    • 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>