Multiplayer
A Distributed Objects networking stack designed for massively concurrent worlds — MMOs, persistent simulations, battle royales, digital twin clusters. Deploy to managed infrastructure in one command.
Architecture
Every game object exists simultaneously as three views: a client-side proxy, an AI/game-logic server, and an authoritative uber-dog. Each layer only knows what it needs to know.
01
Each client only receives state updates for objects in their current zone. A 10,000-player world doesn't broadcast everything — each player sees only their neighbourhood. Scales horizontally without code changes.
02
DistributedSmoothNode interpolates position, heading, and velocity between server ticks. Players see fluid movement at 10 Hz server updates. No client-side prediction complexity in your game code.
03
Define networked fields and remote methods in a .dc file. Acron generates client and server stubs automatically — no protobuf boilerplate, no manual serialization.
04
The world is divided into a cartesian grid. Objects and clients exist in cells; interest is declared per-cell. A player moving between zones triggers automatic subscription updates — transparent to your game logic.
05
All external connections go through a ClientAgent — a hardened gateway that validates clients, enforces rate limits, and routes to the right StateServer. Clients never touch the game server directly.
06
Add StateServer nodes to handle more zones. The cluster router distributes objects across nodes automatically. Run a 1-zone dev server or a 500-node production cluster with the same game code.
Code
Declare your networked object in a DC schema. Acron generates the client, AI, and UD classes — you just fill in the logic.
// Declare networked fields & methods dclass DistributedAvatar: setName(string n) broadcast required; setPos(float32 x, float32 y, float32 z) broadcast ram; setHp(uint16 hp) broadcast ram required; requestAttack(uint32 target_do_id) airecv clsend;
from acron.distributed import DistributedObjectAI class DistributedAvatarAI(DistributedObjectAI): def requestAttack(self, target_do_id): target = self.air.doId2do(target_do_id) if not target: return dmg = self.calcDamage() target.b_setHp(target.hp - dmg) # b_ = broadcast: updates all clients
Managed Hosting
Acron-managed infrastructure runs the cluster server, load balancing, and auto-scaling. You ship the game; we run the servers.
Dev
Free
while in development
Indie
$29
/ month
Growth
$149
/ month
Scale
$599
/ month
Enterprise
Custom
Prefer to self-host? Full cluster server source included. Self-host guide →
Multiplayer is included in every install. No extra packages, no separate SDK.