Eclipse integration
We are providing a set of plugins to integrate project darkstar gameservers into eclipse IDE. This plugin set
is based on eclipse webtools. If you are not familiar with webtools we recommend a tutorial. There are several
tutorials for well known application servers (f.e. tomcat) around. A detailed manual can be found at
www.pentagaia.com.
Network services
There are base classes that can be used to enable fast asynchronous network services. No unneeded overhead.
Implement your own network protocol or add additional network services to your application. Convert
project darkstar to a http server. We use this network services to create our telnet administration
interface.
Administration service
The administration service provides a telnet interface to administer and configure the gameserver.
You can add new menu entries and commands as you like. We use a special version of the open source library
telnetd as backend. There are plans to integrate a ui library (f.e. jcurses). Why do we need it?
The darkstar gameserver itself does not provide any additional administration interface for this time.
So we will have to shutdown the gameserver by terminating the java vm. The administration interface adds
support to administer the gameserver in common ways. View the following screenshots:
-> Shutdown
http://www.pentagaia.com/files/build/eclipse/html/img/telnet_admin_sample.png
-> Browse bindings (this sample shows a clean/new gameserver)
http://www.pentagaia.com/files/build/eclipse/html/img/telnet_browser_sample.png
-> View a server binding that maps to Managed Object with uid 4
http://www.pentagaia.com/files/build/eclipse/html/img/telnet_objects_bindings_sample.png
-> View contents of the Managed Object with uid 4
http://www.pentagaia.com/files/build/eclipse/html/img/telnet_bindings_samples.png
-> View another object content
http://www.pentagaia.com/files/build/eclipse/html/img/telnet_objects_sample.png
OSGi bridge
To enable hot-code-replacement we need some kind of module and plugin system. OSGi is a specification
that defines a huge set of tools and classes to be used by version management systems. Eclipse IDE is based
on OSGi and an implementation called Equinox. We will use this utilities to enable a module support in
darkstar gameservers. There will be solutions to migrate data on the fly. However we plan to have a full and real
24/7 lifetime support even if you need to upgrade your application. The current implementation connects the
project darkstar application server and Equinox. It uses a small interface to manipulate the migration process.
However we will implement standard solutions to migrate serialized java objects to newer versions You may use.
Network protocol
A modern MMO application or game is built of several independent services that cooperate. There will be
a chat, a support interface and the actual game. Some solutions provide auctions, private message systems and many
other services. However we need a fast and simple gameserver. It should show up the smallest possible latency so that
a player really enjoys the game. If we are thinking of a server cluster where some nodes are handling the chat service
and other nodes are handling the game data, they need synchronization. Within this topic we will create a fast and
easy-to-use network protocol that respects several independent sub systems. No subsystem should block another and
if one subsystem waits for an answer that will not influence messages sent by other subsystems. We use
java beans architecture to send the data.