INTRODUCING ODIN SDK

Real-time data for your apps, games and websites

Generate and process data in real-time - combined with voice.

Get started for free

Real-time data made simple

Send and process data in real-time using our platform and create interactive experiences in apps, games and on websites.

import { OdinClient } from '@4players/odin';
import { TokenGenerator } from "@4players/odin-tokens";

// Prepare the token to connect
const generator = new TokenGenerator(apiKey);
const token = generator.createToken("My Room", "John Doe");
const odinRoom = await OdinClient.initRoom(token);

// Handle events for new peers joining the room
odinRoom.addEventListener('MessageReceived', (event) => {
    console.log(`Received message ${event.payload.messsage}`);
});

// Connect the room
await odinRoom.join();

// Send a message to other clients
const data = {
    sender: "John Doe",
    senderId: "abcdef123456",
    message: "Hello world!"
};
const encoder = new TextEncoder();
await odinRoom.sendMessage(encoder.encode(JSON.stringify(data)));

Use the SendMessage function available in all our SDKs to send arbitrary data to all or selected clients connected to the same room.

This function is often used in messaging. Our SDK is very flexible and empowers you to design your very own protocol - easily and fitting into your existing data structures without converting back and forth all the time.

Within our ecosystem, messages are just an array of bytes and you can convert all your data directly to it.

Keep users or shared data automatically in sync

With all our SDKs, every peer connected to our servers with the JoinRoom function has a userData property that can be used to store arbitrary data. This can be anything, from a binary stream, to JSON, whatever makes sense to you.

Our servers make sure, that the data is kept in sync of all clients. Whenever the data changes, all clients get notified automatically. A dating app, storing the current GPS location of a user and syncing it in real-time with their mate so they can meet easily on crowded places.

The SDKs automatically optimize bandwidth usage by only sending and processing changed bytes. Just update the users data as often as you like and use the update function to update them on the servers. The callback PeerUserDataChanged gets the whole user data. There is no requirement on your side to process that data.

import { OdinClient } from '@4players/odin';
import { TokenGenerator } from "@4players/odin-tokens";

// Prepare the token to connect
const generator = new TokenGenerator(apiKey);
const token = generator.createToken("My Room", "John Doe");
const odinRoom = await OdinClient.initRoom(token);

// Handle events for new peers joining the room
odinRoom.addEventListener('PeerUserDataChanged', (event) => {
    console.log(`Peer data updated ${event.payload.peer.data}`);
});

// Connect the room
await odinRoom.join();

// Send a message to other clients
const data = {
    location: {
        longitude: CurrentLocation.longitude,
        latitude: CurrentLocation.latitude
    },
    name: User.name
};
const encoder = new TextEncoder();
odinRoom.ownPeer.data = encoder.encode(JSON.stringify(data));
await odinRoom.ownPeer.update();

Next-Gen solutions for your business

Our technology has been battle-tested in gaming - the toughest environment imaginable for real-time applications and services. Leverage our know-how and expertise today! Learn more how our products and services empower your business.

Flexible and fair pricing

Traffic included

As one of the largest providers of game servers in the world, traffic is not an issue for us – one thing less you need to worry about.

Hosting included

Don’t worry about server costs, maintenance and operations. We’ll handle world-wide server hosting for you.

Unlimited Rooms

Our software automatically creates and destroys rooms for you. Create as many rooms as you like. There is no limit.

SDKs included

Our Voice SDK is deeply integrated into Unity and Unreal Engine via our free SDKs. For hard core developers a C based client library is available.

If the pricing model does not work for you, please get in touch with us so we can decide a custom proposal to fit your needs.

FREE
Free

Free for development

  • Up to 25 CCUs
  • No registration required
  • Free Unity and Unreal Engine SDK
  • Support via Discord/Community

Indie
Free

For smaller games and experiences

  • Up to 10.000 minutes/month
  • Registration required
  • Free Unity and Unreal Engine SDK
  • Support via Discord/Community
  • Production ready
  • 4Players branding required *

Next-generation technology

Existing voice-chat solutions rely on WebRTC, which is an old legacy browser extension. Yes, it’s true: a browser extension with hundreds of dependencies and an awfully bloated API.

ODIN is developed from scratch based on HTTP/3 and QUIC with nearly zero dependencies allowing us to deliver excellent voice quality seamlessly embedded into your game engine.

Hosted by us or host yourself

We love gaming! We are gamers! We know that real-time communication is essential for a fun and immersive gaming experience. This is why our new and innovative voice chat adds another layer of realism to any game or any other virtual interaction, elevating regular voice from chatter to a true communication feature.

With our Voice SDK, we provide a complete out-of-the-box solution that has been designed and built from the ground up for gamers, developers and publishers: flexible, feature-rich and cross-platform.

Reduce development time by leveraging our best-in-class technology to deliver seamless in-app communication.

4Players has more than 20 years of experience hosting game and voice servers for gamers. You can trust in us that we provide the highest quality of service for you and your players.

If you want to be in charge, no worries, we got you covered. Our servers can be easily hosted everywhere. Contact us for more information about self-hosting.