> For the complete documentation index, see [llms.txt](https://ans-dev.gitbook.io/datareplicator/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ans-dev.gitbook.io/datareplicator/introduction/datareplicator.md).

# DataReplicator

Hey Developers! 👋

Ever feel like you're spending more time wrestling with [RemoteEvents](https://create.roblox.com/docs/reference/engine/classes/RemoteEvent) than building your actual game? Keeping data perfectly in sync between the server and your clients can be a complex and error-prone task.

**DataReplicator** is a modern, modular system designed to handle all that heavy lifting for you. It provides a robust, secure, and highly efficient way to replicate data, so you can stop worrying about network code and get back to creating amazing gameplay experiences.

<details>

<summary>🤔 Why DataReplicator?</summary>

* **Simple & Clean API**

  Focus on your gameplay, not network boilerplate. The intuitive API is easy to learn and a joy to use, making your code cleaner and more maintainable.
* **Secure by Design**

  Protect your game right out of the box with multiple layers of security: obfuscated keys, optional transport encryption (secured by a post-quantum key exchange), and a smart, reputation-based rate limiter that intelligently handles threats.
* **Built for Performance**

  Keep your game responsive and your network usage low. Automatic batching, priority queues, and revolutionary delta compression work together to ensure maximum efficiency, even at scale.
* **Battle-Tested & Intelligent**

  Engineered to be reliable, `DataReplicator` prevents common race conditions during data loading and can smartly distinguish between a player with network lag and a malicious attacker.

</details>

<details>

<summary>✨ Key Features</summary>

* **Seamless Real-Time Replication**\
  A complete, two-way system for pushing, requesting, and listening to data, with automatic client-side caching to eliminate redundant network calls.
* **Advanced Multi-Layered Security**\
  Protect your data's structure with obfuscated keys and its content with optional transport encryption, initiated with a post-quantum key exchange. You control who sees what.
* **Intelligent Network Optimizations**\
  Keep your game fast with automatic update batching, priority queues for critical data, and delta compression to slash bandwidth usage on large table updates.
* **Granular Access Control**\
  Define exactly who can access what data. A simple, powerful server-side authorization callback gives you full control over your game's information flow.
* **Resilient Rate Limiting**\
  A modern, reputation-based Token Bucket system that is fair to players experiencing lag but harsh on malicious attackers attempting to spam or probe your server.
* **Robust Data Handling**\
  Safely wait for critical data to be available on the client using [`:WaitForData()`](/datareplicator/api-reference/client-side-api/waitfordata.md), an efficient, signal-based function that prevents messy loops and common race conditions.

</details>
