Skip to content

Framework for communication between servers

Pulse

A call to another server looks like a function call in code. Pulse generates the code for it at compile time, and the transport can be swapped.

Key facts

  • for .NET, built for real-time servers, distributed services and communication within a host
  • transports: reliable UDP, shared memory and AF_XDP with zero-copy receive on Linux
  • one shared protocol and code generation pipeline for all transports
  • low latency, without memory allocations during operation

In use

Jump Jupiter runs on Pulse: the game client, main server and simulation servers communicate through it.

For your projects

What Pulse demonstrates, I also deliver in client projects without Pulse: code generated at compile time, interchangeable transports and connections with access control.

Game clientUnity for Windows, macOS and Linux
Main serverC# and .NET
Simulation serversUnity, one per CPU core
Data storesdistributed, in memory and persistent

My own Kubernetes cluster in Germanywith self-hosted key management and container registry

Architecture of Jump Jupiter, a real-time multiplayer game in development, designed and developed by me.

  • PulseFramework for communication between servers
  • SurgeFramework for data access
  • Direct connection between client and simulation server while a player is in a room.

Tell me about your system

The intro call takes 30 minutes and is free of charge. I reply within 24 hours.