Installation

The Installation feature allows the client and server be installed, both by end users and developers.

Below are the user stories this feature contains, as well as some steps for how to implement it.

Server Installation
"As a server administrator, I can easily install and start a server."

Consists of a few steps:
 * 1) Make the build script generate a deployable server
 * 2) Put the deployable server up for download at each release
 * 3) Write instructions for installing Darkstar and deploying the Skycastle server into it.
 * 4) Set up an automatic system to deploy the server after each successfull Skycastle build (one development server that is automatically deployed, and one manually updated game server).
 * 5) Make the automatic deployment shell script available as a download also

Client Installation
"As a player, I can easily install and start the client."

Implementation steps for a downloadable client build
 * 1) Make the build script generate an executable Jar, that contains the client
 * 2) Write bat and shell scripts to run the executable jar
 * 3) Put the executable jar up for download at each release
 * 4) Write instructions for downloading, installing and running the client
 * 5) Set up an automatic system to put the latest build of the client up at a nightly build download location

Implementation steps for a webstartable client build
 * 1) Make the build script produce a Java Webstart version of the client
 * 2) Write instructions for how to make the webstartable client downloadable from a website
 * 3) Create a shell script for deploying the webstartable client to a server
 * 4) Deploy a webstartable version of the client at each release, link to the webstartable client from the skycastle home page.
 * 5) Deploy a nightly build version of the webstartable client on a server

Developer Installation
"As a developer, I can easily fetch the dependencies, build the applications, and test run the client and server."


 * 1) Write instructions for getting the java dependencies  (basically mvn eclipse:eclipse or mvn idea:idea can be used).
 * 2) Write instructions for getting the native dependencies ([Darkstar] has some, as well as [JME])
 * 3) Write instructions for how to start a server and a client, and how to connect with the client to the local or a remote server.