soliloque-server icon indicating copy to clipboard operation
soliloque-server copied to clipboard

An open source alternative to the Teamspeak server with protocol compatibility.

Soliloque Server

Welcome to Soliloque Server!

Getting the code

Check out http://github.com/Youx/soliloque-server for the wiki, bug tracking, etc... The bleeding edge code can be grabbed from the git repository on github :

$ git clone git://github.com/Youx/soliloque-server.git

For information about Git, please see http://www.git-scm.com

How to build soliloque server

To build soliloque server from source, you will need :

  • a C compiler (most likely gcc)
  • libconfig (http://www.hyperrealm.com/libconfig/), a library to parse config files
  • libdbi (http://libdbi.sf.net), a database abstraction library, and the specific drivers (mysql, sqlite3, ...)

Then run

$ ./waf configure
$ ./waf build

You can install it, which isn't really recommended yet...

$ sudo ./waf install

Or use the binary output/default/soliloque-server

Preparing the database

There are two scripts to prepare a database :

db_generator.sql : generate the tables db_sample.sql : generate a server with some standard values

Those script are compatible with sqlite3, and may work with mysql or postgresql, for example :

$ sqlite3 file.db3 < db_generator.sql
$ sqlite3 file.db3 < db_sample.sql

Then edit your sol-server.cfg file accordingly (examples for mysql or sqlite3/sqlite are included)

Known Incompatibilities

Big endian processors (PowerPC, Sparc, ...) are not currently supported, but will be in a close future.

Full protocol support is not achieved yet.

Some problems seem to happen when using sqlite3 v3.5.9 + libdbi v0.8.2, but sqlite3 v3.6.10 + libdbi v0.8.3 works fine.

Hardware Requirements

The application compiled takes ~67k or disk with debug flags, and 53-57k without the debug flags, depending on the optimization level.

Soliloque server hopefully does not leak too much memory, and can run an empty server with ... ~500kBytes of RAM (~350kBytes of those being the database library). Each additional player or channel takes about 300 Bytes, so it could probably run on an embedded linux device.

Author(s)

Hugo Camboulive (Youx) <hugo.camboulive [AT] gmail.com>

Links

For a documentation of the protocol (not complete yet) : http://wiki.github.com/Youx/soliloque-server/teamspeak-protocol

To submit bugs, discuss, join the effort, etc etc : http://github.com/Youx/soliloque-server/issues

The code is hosted and can be forked from here : http://github.com/Youx/soliloque-server