Saturday, November 18, 2006

Complete Overhaul of DotAPortal Client

I have decided that DotAPortal Client will be written in 100% (excluding anti-hack system) Java. I rewrote all the C++ code in Java and made any future modifications or extensions to the client. I hope that I can add a scripting system for external scripts/modules and the like (starting with the basic functions of an IRC bot).



The client works on a Peer-to-Peer model, with 2 points of mediation. A web server storing information on accounts, EXP, etc. (referred to as the "login server") and an IRC server allowing clients to announce hosted games and chat in real time (referred to as the "IRC server".



When the client starts, the user must identify him/herself with the login server (by their DotAPortal Client username and password. The first time a user logs in, their account at DotAPortal.com will automatically be copied to the login server, from there, that becomes their DotAPotal Client account. After identifying with the login server, the user is given a public and private session key. The private session key is for future queries to the login server, the public key is give to other users on IRC to allow them to lookup information from the login server about the user. Upon logging in to the login server, the client is given an IRC server to connect to and a channel to join.



Currently, I am completing the LAN Emulation class. No IRC sections are done yet. Login server communication framework and some basic commands are in place. Please disregard any previous screenshots posted on this blog, as they will not be the final version.

No comments: