Networking Compatibility
Anomaly uses a versioned, encrypted messaging layer between modded clients and Anomaly-enabled servers. Players and most mod authors do not need to parse packets, choose security settings, or depend on the underlying transport format.
What happens on server join
Section titled “What happens on server join”When an Anomaly client joins an Anomaly server:
- The client and server perform an asymmetric handshake before gameplay state is loaded.
- The server verifies that the client controls its local Anomaly identity.
- The server assigns the player their stable
@anomalyID. - The client and server confirm they are using compatible Anomaly networking versions.
- If compatibility checks fail, the connection is rejected cleanly before the player enters the round.
Vanilla clients cannot complete this handshake, and Anomaly clients cannot join vanilla servers.
What mod authors use
Section titled “What mod authors use”Mod authors normally interact with networking through public APIs:
- Client side:
Anomaly.Client.Api.Networking.AnomalyMessaging. - Server side:
Anomaly.Server.Networking.AnomalyMessaging. - Shared contracts:
IAnomalyMessageinAnomaly.Shared.dll.
Define a message once in a shared assembly, register it on both sides, and send it through AnomalyMessaging. Anomaly handles routing, encryption, replay protection, and version checks.
See Custom Networking for the supported mod-facing workflow.
Delivery choices
Section titled “Delivery choices”Each custom message declares a MessageChannel so the transport knows what delivery guarantees you need.
| Channel | Use for |
|---|---|
ReliableOrdered | Commands, one-shot events, state changes that must arrive in order. |
Unreliable | High-frequency updates where occasional loss is acceptable. |
Sequenced | Frequent state where only the newest update matters. |
ReliableSequenced | Reliable state where stale updates should be skipped. |
ReliableUnordered | Reliable messages that do not need ordering. |
If you are unsure, start with ReliableOrdered and move to a lighter channel only for high-frequency data.
Version drift
Section titled “Version drift”Anomaly clients and servers must use compatible networking versions. If they do not, the connection is rejected with a version mismatch instead of failing later during gameplay.
For players, the fix is to update the Launcher or join a server using the same Anomaly release. For server operators, keep Anomaly.Server.dll and Anomaly.Shared.dll from the same release bundle.