HuzuRelay is an advanced lightweight message server that connects multiple users to virtual worlds and multi-player games. It passes short messages between processes that are connected to it via sockets thereby controlling chat, movement and game actions.
It is easy to use, configure and deploy, and its generous licensing model allows developers to download and test it immediately. It can be extended with plugins and provides game developers with everything they need to get started right away.
HuzuRelay can be used as part of an overall solution involving a suite of products or as a standalone messaging server, and its flexibility is designed to make it a simple, affordable alternative to more complex, expensive licensed products that are the norm.
Download product overviewHow It Works
HuzuRelay processes messages for chat, movement and game actions within a virtual world, all of which are simple text strings that can be accessed and controlled from any programming language.
It is written in Python, using the Twisted asynchronous networking engine. This exploits the reliability of a tried and tested framework used by many organisations that require mature messaging solutions such as NASA, Lucasfilm and Canonical.

Developers can write plugins to decide what messages can be sent and how they are interpreted, providing an advanced mechanism to extend HuzuRelay for almost any virtual world or multi-player game environment.
The HuzuRelay messaging server allows anyone to quickly add a sophisticated messaging service to a software solution or product without the overhead of expensive licensing or lengthy configuration. There are no usage limits or activation codes and the installation process is simple and straightforward.
Configuration
The functionality of HuzuRelay is implemented via plug-in modules which provide methods to handle each kind of request and may also perform actions at regular intervals or in response to certain events that occur. The server loads a set of configuration files at start-up and these define which plug-in modules are to be loaded.
Worlds and rooms
The server allows connections to be grouped into "worlds" and "rooms". A world is a subset of the features of the server, which can have its own set of plug-ins, and therefore its own set of accepted responses and behaviours.
A room is a collection of connections that are conceptually in the same space within a world, such that they have some shared visibility of messages. For example, a chat session where everyone sees everyone else's chat messages, or an environment within a virtual world where all users see each others' avatars moving around.
Technology
HuzuRelay is written in Python, using the Twisted asynchronous networking engine, ensuring developers are using tried and tested technology that is easily understood.
The server runs as a background task, waiting for connections on its configured port (by default, 8285) and accepting requests from those connections in the form of lines of text. Responses can be returned to the sender of a request, or broadcast to other connections.
HuzuRelay can be extended by the use of plugins written in Python, allowing a high degree of customisation.
Server requirements
To run the HuzuRelay server you will need Python (version 2.6 or 2.7), the Twisted framework, and the Python YAML module. For Ubuntu (and probably other Debian variants of GNU/Linux), these requirements can be met by installing the python-twisted and python-YAML packages.
On other systems you can install equivalent packages, which are called twisted and pyYAML respectively.
If you want to connect to HuzuRelay using HTML5 WebSockets, you will need to install the txWS package, which can be obtained from https://github.com/ MostAwesomeDude/txWS.
The recommended platform for running a HuzuRelay server is Linux, but can be run on UNIX variants such as MacOS X or Solaris. Windows is not ideally suited to high-performance networking, but may be adequate for experimentation and development.
Plugins
Twisted has a plugin system that can load Python modules from a specific plugin directory and extract a list of objects defined in them that implement a particular interface. HuzuRelay uses this mechanism to load plugins that implement most of its behaviour.
This approach ensures HuzuRelay can be adapted to suit individual needs, and is typically used for the following:
- Handling requests
- Handling unknown requests
- Perform an action after a request
- Respond to system events
- Get data
- Send messages
HuzuRelay Features
Uses established technology
HuzuRelay is written in Python, using the Twisted asynchronous networking engine, exploiting the reliability of a tried and tested framework. This ensures developers are working with technology that is well understood generally and has a good reputation for support.
Generous licensing model
HuzuRelay is available free of charge for the purposes of software development and non-commercial use, with a small one-off fee charged for commercial deployment.
Easy to install and configure
Everything is available as a single downloadable zip file that can be installed and deployed with the minimum of fuss. Our extensive documentation guides developers through every aspect of the installation and use of HuzuRelay, including typical scenarios and troubleshooting tips.
Flexible deployment
HuzuRelay can be deployed on anything that runs Python, ensuring developers can make use of their existing infrastructure during the testing and deployment phase.
Accessible from any software
HuzuRelay can be accessed by any software or language that can connect to it via sockets such as Flash or JavaScript. Our documentation explains every detail of its operation including input and output, constraints and typical usage scenarios.
Group services provided by plugins
Developers can define plugins that are restricted to a single world, providing control over connections. These connections can be further grouped into rooms giving developers full control over environmental elements such as chat or avatar movements.
Extensible platform
The use of the Twisted asynchronous networking engine allows developers to easily and quickly develop their own plugins to extend the usefulness of the server and adapt it to product-specific needs.
Support and documentation
HuzuRelay has extensive support and documentation to help developers take full advantage of its many features.
Try it out now, for FREE*
For software development and non-commercial use, you can try HuzuRelay Message Server for free. Simply fill in your details below and we'll be in touch to discuss your needs.
Licensing
HuzuRelay server is available free of charge for the purposes of software development and non-commercial use. A small one-off license fee is charged per server for commercial internet-facing use (that is, use of the message server to send messages over the internet to support a revenue-earning commercial activity). There are no usage limits or license activation codes, nor are licenses tied to specific physical machines or IP addresses.
Support and Documentation
We are committed to ensuring our products work perfectly for you and meet your needs. This commitment includes extensive support:
-
Documentation and developers guide
Our documentation acts as a useful technical introduction as well as a reference guide for technicians and developers.
-
Plugin documentation
The documentation includes details on the plugin mechanism, helping developers extend the usefulness of HuzuRelay and adapting it to specific needs.
-
Contacts
Our team are always available to guide you and advise on the best ways to make use of HuzuRelay.
