Skip to content

Developing with SynergyNet 3.1

SynergyNet edited this page May 20, 2015 · 6 revisions

SynergyNet 3.1 is a version of SynergyNet 3 which is simplified for developers. The project utilises 3rd party libraries such as the Google Web Toolkit and Hazelcast to allow for various networking features in addition to JME for a feature-rich visual environment.

Basic Project Setup

You'll need:

  1. An IDE with the ability to connect to this github repository, such as Eclipse (Eclipse IDE for java developers is recommended)
  2. OpenFire (if you wish to use SynergyNet 3's networking features).
  3. A GWT plugin for your IDE, such as the GWT plugin for eclipse (if you wish to use SynergyNet 3's web-interface features).
  4. A copy of the GWT Version 2.6.0 sdk (if you wish to use SynergyNet 3's web-interface features)

Import synergynet3.1-parent into eclipse as a general (non-Java) project from this repository. In eclipse go to file > import and select General Projects > Existing Projects. Find where your checked out project is (it may be in your local git directory) and select it. Ensure Search for nested projects is selected and that Copy projects into workspace is un-selected before clicking Finish.

SynergyNet3.1 - Web Project Setup

After basic project setup you'll need to download and extract the GWT Version 2.6.0 sdk to a location on your development machine. You'll then need to set this to be your IDE's default GWT sdk. In eclipse go to Windows > Preferences then Google > Web Toolkit. From here click 'Add' then select the folder containing the sdk. Tick the new entry created to make it the default sdk then press 'OK'.

Before running a web project click the GWT Compile Project button (this should be an icon in Eclipse showing a red box with G on it) and compile to ensure the project is up to date and compatible with separate browsers.

You will need to install OpenFire and and set it up with several users and groups (see the Example OpenFire Setup page).

Running a SynergyNet3.1 project

Before running any applications for the first time run the SNConfigurationApplication. This will allow you to set screen resolution and the parameters that any clients on the device use to connect to the synergynet networking cluster.

If you wish to run several instances of SynergyNet on the same device you can override the web settings established in the 'Config' app with one or more VM parameters.

To change the host of the cluster use: -Dsynergynet3.host=hostValue (where hostValue is the address of the cluster, this can be 'localhost' if running on the same machine.)

To change the port of the cluster use: -Dsynergynet3.port=portValue (where portValue is the port to use, this is usually 5222.)

To change the hazelcast user use: -Dsynergynet3.user=userValue (where userValue is a user name defined in OpenFire.)

To change the hazelcast password use: -Dsynergynet3.password=passwordValue (where passwordValue is the password defined in OpenFire for the appropriate user.)

If running SynergyNet across several devices the cluster host value should be the address of the device that the !OpenFire service is running on. For the teacher console (i.e. the web server) ensure the following is in the program arguments: -bindAddress followed by the ip address of the machine.

Javadocs

The Java API for this project can be found here.