* OpenTNL
News SF.net Project Frequently Asked Questions Documentation Downloads Mailing Lists How to Contribute Access Our Forums

SourceForge.net Logo

Changing the way games are made and played.

Features

Multiple platform support
  • Windows 98, ME, NT, XP
  • Linux on x86
  • Mac OS X

Robust connection architecture
  • UDP based delivery notification connection protocol
  • Two-phase connect for prevention of IP spoofing attacks
  • Client-puzzle system for server CPU depletion Denial of Service protection
  • ECC key exchange and certificate authentication
  • AES symmetric encryption with SHA-256 message authentication
  • Efficient packet streaming architecture for consistent bandwidth utilization

Multiple levels of data guarantee
  • Reliable, ordered - data will arrive, and will be delivered in the order it was sent
  • Reliable, unordered - data will arrive, and will be delivered as soon as it is received
  • Unreliable - data is not guaranteed to arrive
  • Most Recent State with prioritization - most recent state of an object will be reflected on a client, updated according to priority
  • Guaranteed Quickest - data is sent with every packet until its delivery is confirmed

Bit-level compression using the BitStream class for optimal bandwidth utilization
  • Specific bit length encoding for simple data types (floats, integers)
  • 3D point compression based on maximum error tolerance from reference point
  • Huffman encoded strings and common substring skipping

Server Object replication (ghosting) and management
  • Objects can be cloned from server to client
  • User code has complete control over scoping policy (which objects get replicated)
  • Prioritization of updates can be specified on a per-object basis
  • Support for up to 32 orthogonal state categories per object
  • Automatic class registration and remote instantiation

Simple and efficient event and RPC (remote procedure call) framework
  • RPC methods declared using simple macros
  • RPC parameter lists can contain simple data types, as well as vectors
  • RPC´s can be invoked on connection instances as well as ghosted objects
  • Generic network event class for data not suited to RPCs

Extensible master server framework
  • Supports filtering of game servers on several criteria
  • Acts as a matchmaker, and can facilitate a direct connection between hosts behind firewalls and NATs
  • Easily extended to particular game needs
  • RPC versioning feature makes exposing new interfaces easy while maintaining backward compatibility

Documentation, tutorials and example code, and full library source code
  • Extensive API and usage documentation covering all members of every class in the library
  • Simple "Hello, World" client/server example
  • Example master server and client test program
  • Graphical TNLTest example that demonstrates the higher level features of the TNL
  • Full client/server team based space shooter ZAP

Proven successful technology
  • Iterative improvement of core technology over the last 7 years
  • Dozens of shipped titles, including the internet hits Starsiege: TRIBES and Tribes 2
  • Award-winning network play

Support
  • Free updates and bug fixes via SourceForge CVS
  • Developer mailing list and forums for questions
  • Email and telephone support packages are available on an annual contract basis
System Requirements

Windows 95/98/SE/ME/2000/XP
Pentium II 300, 64 MB RAM
Supported Compilers: Microsoft VC++ 6.0 Microsoft Visual Studio .NET 2003
OpenGL capable graphics card required for graphical examples.

MAC OS-X
G3 +, 64 MB RAM
Supported Compilers: XCode
OpenGL capable graphics card required for graphical examples.

Linux
Pentium 500, 128 MB RAM
glibc 2.2 or newer (e.g.: Redhat 7.x+, Mandrake 8.x+, Debian 3.0+)
Supported Compilers: GNU make and g++ (version 2 or 3)
OpenGL capable graphics card required for graphical examples.