ElectroServer OverviewDeveloper's BlogElectroServer DownloadsShowcasing ElectroServer contentElectroServer DocumentionElectroServer Support
500 users license
$700
Benefits of Migrating to ElectroServer 4
Author: Jobe Makar

If you are already familiar with ElectroServer 3 then you may be wondering what is different with ElectroServer 4, and why would you want to migrate from ElectroServer 3 to ElectroServer 4. This brief article is meant to answer some of those questions.

First of all, ElectroServer 4 (ES4) is a complete rewrite from the ground up. ElectroServer 3 (ES3) was ground breaking at the time it was written using the latest in NIO technologies to achieve excellent performance and scalability into the thousands. Over the years as we've updated ES3 with request features and innovated to provide useful features to game developers, we saw some server weaknesses and many areas where it can be improved. So, in mid 2006 we initiated development on ES4 with these primary goals:

  • Scale to at least 100,000 simultaneous users.
  • Innovate
  • Support streaming audio and video
  • Provide a robust client-side API
  • Create an extensive set of documentation

We are proud to say that we've met and exceeded our goals.

Obvious Differences
So, what are some of the most obvious changes from ES3 to ES4?

  • Users do not need to be in a room. In ES3 a user had to always be in a room.
  • Users can exist in multiple rooms at once.
  • Users can individually subscribe to room-based events rather than have the room subscribe you to those events.
  • A client can have multiple socket connections to ES4.
  • XML is no longer used as the protocol. ES4 supports multiple protocols including text, binary, and RTMP. The text and binary protocols are used for normal server communication and are extremely light weight, and the RTMP protocol is used for audio and video streaming.
  • Support for audio and video streaming. This includes publishing streams from web cam and/or microphone.
  • ES4 can be run in standalone mode or distributed (enterprise only). Distributed spans many physical servers.

All of the normal concepts that you are used to such as rooms, zones, public and private messaging, and buddies still exist.

Plugins
Plugins are there as well although the model has changed a bit. In ES3 you install plugins by dropping them into a directory and registering them in the configuration.xml file. ES4 supports a new but intuitive concept called extensions. An extension is analogous to a package. It is a named directory that contains one or more ActionScript or Java files used to extend the server's capabilities. These can be for server-level or room-level plugins, event handlers, or managed objects. See the manual for more information on how to actually install extensions and details on each type.

Server-level plugins still need to be registered with the server through the web-based administrator. Room-level plugins don't need to be registered anywhere. They are automatically picked up by the server at startup.

Web-based Administrator
ES3 was mostly maintained through a configuration.xml file. A web-based administrator was available but was quirky. With ES4 a web-based administrator has to be used to configure just about everything. There is no longer one huge file to edit. The admin is served up using ES4 and so it can be accessed and maintained remotely.

ActionScript API
With ES3 there was an AS1 and AS2 API available. It was a series of 3 classes used to communicate with ES3. While easy to learn, this API is not very flexible and provided very weak event handling and validation. With ES4 we provide a very robust and highly object-oriented AS2 and AS3 API. This API has a little bit of a learning curve but is well documented and provides developers the flexibility they need to plug into their applications.

Why Migrate from ES3 to ES4?
ElectroServer 4 is a better server is every way. It is more stable, more scaleable, faster, easier to use, and has many more features. If you move your ElectroServer 3 application to ElectroServer 4 you will gain from those benefits. ElectroServer 3 suffered from a few annoyances that can be found under certain conditions, such as stuck users. Every known issue with ElectroServer 3 has been addressed and does not exist in ElectroServer 4.

In most cases, migration of the Flash client to use the ElectroServer 4 API can be done in a matter of hours. Plugin migration may take minutes, hours, or a day or two depending on how they were written. But over all, you are looking at a migration time investment of a few hours to a day or two depending on the application complexity.

For more information on ElectroServer 4 please see the user manual.

.