What it is
OpenSMUS is a server application that runs on Linux, Solaris, MacOSX, FreeBSD and almost any Java-enabled operational system. OpenSMUS is 100% compatible with the Shockwave MultiUser protocol published by Macromedia, so movies authored for the Shockwave MultiUserServer version 2 and 3 can connect seamlessly to an OpenSMUS server, without modifications.
Java is recognized as one of the strongest platform solutions for server applications that need to service hundreds or thousands of users at the same time. Macromedia, Adobe and other vendors offer server products that work on top of the Java 2 platform, like ColdFusion or JBoss. OpenSMUS is 100% pure Java code, including the database engine, and works with the any Java platform VM (JDK 1.5 or later.) OpenSMUS provides an alternative to Shockwave developers that need to host multiuser movies in Unix systems, while preserving the investment made in learning the Shockwave MultiUser API.
All Shockwave MultiUser Server messages and commands can be used transparently with an OpenSMUS server, including DBObject functions. OpenSMUS includes a database engine so no database setup is required on the hosting machine, and database files are created and initialized automatically by the server. OpenSMUS also implement commands not available in the Shockwave MultiUser Server, like the ability to add banned user entries and ip addresses to the database and restart or shutdown the server remotely.
OpenSMUS can work transparently with TCP or UDP connections as well, when used with Director 8.5 Shockwave movies that support UDP connections. No special Xtra is required for your Shockwave movies to connect with an OpenSMUS Server: Shockwave treats OpenSMUS connection just like regular Shockwave MultiUser Server 3 connections, using the same commands and protocols. The only command that returns a different result is "system.server.getVersion", and you can use this command to determine if extended OpenSMUS functions are available to your Shockwave movies.
The most important feature not supported by OpenSMUS in comparison with version 3 of the Shockwave MultiUser Server is server side Lingo scripting, since a Lingo interpreter is not available for other platforms. The server side scripting language used in OpenSMUS is Java: this is usually a more powerful solution for enterprise-level servers. More information about server side scripting is available in the OpenSMUS Online Help.