 Meta server system |
Posted - 5/4/2008 8:20:21 AM | Meta-server
In the past 3 weeks, I've been busy working on the meta-server. The meta-server is the server on which the client is first connecting. It handles connections to the server clusters ( shards ), patches, authentication, etc.. I won't go deeply in all details, but here are the list of things I've implemented so far:
- authentication
- accounts databases
- registration keys ( for alpha, beta, etc.. )
- statistics
- access lock
- versions checks
- automatic patching ( downloading from mirrors, installing a patch.. )
- warning dialog boxes ( when no connection could be established, or when the drivers are obsolete, etc.. )
- EULA dialog
- security ( signature IDs for transactions / connections )
- bans ( per account or IP address )
- listing shards, getting their description
- logs
- disconnections / reconnections
- busy servers: waiting in a line
- admin rights
Bandwidth optimizations
I've tested and debugged the meta-server by simulating users in different threads, for concurrent access, and at every step I've also verified performance and network bandwidth.
Speaking of network bandwidth, I found a very simple optimization in my RDP ( reliable UDP ) protocol, that allowed to merge ACK packets to packets there were ready to be sent. I think it saved from 10 to 30% of the total bandwidth, which is excellent for only 5 lines of code :)
Story system
Since last week I've also started working on a procedural story system for players and NPCs. Breslin is helping me to formalize the system. It seems like it'll be working quite well so far. More infos on it in a future dev journal.
GTA IV
This week, I've also bought GTA IV on the XBox 360. So I've taken the past 4 days as "vacation", more exactly to play GTA IV to death. In addition to being a lot of fun, it's also very interesting and inspirational for the way the missions are handled. I will also come back on this in a future journal.
| |
|
| S | M | T | W | T | F | S | | | | | 1 | 2 | 3 | | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
OPTIONS
Track this Journal
ARCHIVES
October, 2009
August, 2009
July, 2009
May, 2009
April, 2009
March, 2009
February, 2009
January, 2009
November, 2008
October, 2008
July, 2008
June, 2008
May, 2008
April, 2008
March, 2008
January, 2008
December, 2007
November, 2007
October, 2007
September, 2007
August, 2007
July, 2007
June, 2007
May, 2007
April, 2007
March, 2007
February, 2007
January, 2007
December, 2006
November, 2006
October, 2006
September, 2006
August, 2006
July, 2006
June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
December, 2005
November, 2005
October, 2005
September, 2005
August, 2005
July, 2005
June, 2005
May, 2005
April, 2005
March, 2005
February, 2005
January, 2005
December, 2004
October, 2004
September, 2004
August, 2004
|