-
Notifications
You must be signed in to change notification settings - Fork 5
Network
ziaix edited this page Sep 5, 2011
·
4 revisions
- Launcher contacts network server to login, generates a key pair, gives it the public key. Updates game client and other misc tasks, runs game client and gives it the keys and login name/details.
- Game client logs into game server. Game server checks the public key against the one the network server has, then gets user data from the network server and logs the client into the server.
This involves four entities:
- A launcher/updater (handles updating and login)
- A game client
- A game server
- A 'network' server (handles users and update distribution)
The launcher will be a small, platform agnostic program that should handle these features:
- Logging into a user account on a network.
- Downloading updates to the game software from the network, or failing that, the mainstream network.
- Downloading server lists from the network (To be browsed in game or out of game?)
- Launching the game.
A network should be a web interface that can handle these features:
- Users
- User account creation.
- User authentication.
- Authentication of user/server connections. [?]
- Provide server lists to logged in users
- Alternatively, provide server lists without authentication.
Provide downloads for past, current and development versions either by caching upstream updates, or by providing its own (in a case where a network would like to pre install mods, or use a different upstream branch).
A download url should be able to accept these options:
/download?os=$OPERATING_SYSTEM&arch=$ARCHITECTURE&version=$VERSION
OPERATING_SYSTEM should be one of 'Windows', 'Linux'
ARCHITECTURE should be one of 'i386', 'amd64' [citation needed]
VERSION should be 'current', 'dev' or a full version number.
If the version is not found, the network should return an error.