This blog post is an in-depth explanation of the current state of Ducky, the issues we’ve been facing, and how we’re approaching a full rewrite with stability in mind.Documentation Index
Fetch the complete documentation index at: https://docs.duckybot.xyz/llms.txt
Use this file to discover all available pages before exploring further.
What’s going on?
Over the past few months, Ducky’s latency, uptime, and overall reliability have been unacceptable. We’ve also severely fallen behind on our update schedule, as our last release was in March. Maintaining the current codebase has become increasingly difficult. Lua’s small ecosystem means we’ve had to build and maintain our own libraries, including ropi (our Roblox API wrapper), erlua (our ERLC API library), and Quackscordia (our fork of Discordia with modern interactions support). This is simply not sustainable. When interacting with Ducky, there’s a noticeable delay and occasional interaction failure. We want to be transparent about what’s gone wrong and how we’re fixing it.Project Vegavis — Ducky v2.0.0
Vegavis is a project codename — our service will still be branded as Ducky.
Why a full rewrite?
Ducky currently runs everything on one process, including the main bot, event handler, all 14 shards’ gateway WebSocket connections, database operations, and the public API. At nearly 14,500 servers, that’s far too much for a single process to handle. Rebuilding from the ground up lets us properly plan out the architecture and take the opportunity to clean things up, making it easier to ship updates faster without sacrificing quality.What will change?
For the most part, Ducky’s feature set will remain the same, but how you configure Ducky is changing significantly. The biggest change is a proper Dashboard, replacing all Discord-based configuration. This removes Discord’s limitations on page size and component types, and lets us add more configuration options that weren’t possible before. The rewrite also lets us implement a proper data validation system and schema, preventing invalid configuration from reaching the database. We’re also building a Moderation Panel, which will allow for ERLC private server moderators to manage players in real-time directly from our website.We’re looking for frontend developers to help build the Dashboard and Moderation Panel. If you’re experienced with React and TypeScript and know what Ducky is as a service, please reach out to us via a Development ticket in the Pond.
How long will this take?
At the time of writing, we’ve already mapped out how the core services will interact, which include the bot, gateway, HTTP interactions, Discord API requests, public API, and database. An exact ETA is hard to give, but we need to take the time to do this right rather than rush to meet a deadline. To keep everyone updated, we’ll be releasing progress reports at least once a week via our blog. Thank you for your patience and support as we work hard to deliver a new era of Ducky.Frequently Asked Questions
Below is a compiled list of answers to questions that have been frequently asked by the community after announcing this project.Will there be changes made to Ducky Plus+?
Will there be changes made to Ducky Plus+?
Yes. The primary purchase method will become real-world currency, mainly due to recent Roblox updates and much stricter limitations. We are still discussing whether or not to continue Robux purchases. The new price has not yet been determined.The slot system will stay the same: one-time payment, permanent, and per-server.
If you already own Ducky Plus+ slots, you will keep them. There is no need for an extra purchase, confirmation, or payment.
Will the current Ducky bot (v1.x.x) receive any more updates?
Will the current Ducky bot (v1.x.x) receive any more updates?
No. Ducky will not receive any more updates. The only exception is critical bug fixes and security patches.
How can I track the progress of the rewrite?
How can I track the progress of the rewrite?
We will be posting weekly progress updates on our blog. The @Project Vegavis role will be pinged in the Pond when a new progress update is posted. You can obtain it via the Onboarding menu.