How-To · 6 min read
How to Reserve Shared Resources in a Discord Server
Lockit Team · 2026-10-10
Plenty of engineering work happens on Discord now. Indie game studios, open-source projects, hardware startups and small dev agencies often run their whole team out of a server rather than Slack or Teams.
The coordination problems are the same as anywhere else. Two people deploy to the one test server. Someone's been "on the devkit" since yesterday. A playtest build gets overwritten mid-session. The difference is that Discord has fewer built-in tools for it, and most bots in the ecosystem are aimed at communities rather than teams.
This guide covers what you can do with Discord's own features, where that runs out, and how to set up a lock bot for the things only one person should use at a time.
What counts as a shared resource
Make a list before picking a tool. On Discord-based teams the usual suspects are:
- Test and staging servers: a dedicated game server for playtests, a staging API, a shared database.
- Hardware: console devkits, VR headsets, test phones, dev boards on someone's desk.
- Accounts and licences: a single seat of a paid tool, a store developer account, a shared test login.
- Build infrastructure: a build machine that can only run one heavy job at a time.
Anything on this list where two people using it at once causes a problem needs a reservation, and the reservation needs to be visible to the whole team.
Option 1: Discord's built-in features
You can get surprisingly far with no bot at all.
A channel per resource, with a pinned status. Create #devkit-ps5 or a single #test-servers channel. Whoever takes the resource posts "Taking it until 4pm" and edits the pinned message. This works for small teams with good habits.
A role as a flag. Create a role like @on-staging and assign it to whoever is using staging. Everyone can see the role in the member list. It's visible but has no end time, and removing it depends on someone remembering.
Scheduled events. Discord's server events are useful for planned windows like "Friday playtest, 3pm." They don't help with ad-hoc "I need the devkit for an hour."
The common gap across all three: nothing expires. A pinned message saying "mine until 4pm" is still there at 9pm. A role stays assigned for a week. And none of them tell you when the thing frees up, so people keep asking.
Option 2: A lock bot
A lock bot turns each shared thing into a named resource with three properties: who holds it, until when, and what happens when someone else wants it.
Lockit supports Discord through /lockit slash commands. It's the same product that runs in Slack and Microsoft Teams, so if part of your company is on another chat tool, the model is the same.
Install
- Open the Discord install link.
- Choose your server. You need the Manage Server permission on it.
- Click Authorize.
The /lockit commands appear when you type / in any channel the bot can see.
Create resources in the right channel
/lockit new name:playtest-server
On Discord, new uses the channel you run it in as the updates channel. Every lock and release for that resource is posted there. So create resources from the channel your team actually watches, for example #test-servers or #hardware.
Naming tips:
- Names match case-insensitively, so
Playtest-Serverandplaytest-serverare the same resource. You can't accidentally create two. - Keep names short and specific:
devkit-ps5-1,staging-api,build-mac-m2.
Lock and release
/lockit lock resource:playtest-server duration:2 hours
/lockit release
/lockit list
duration takes plain language: 30 minutes, 2 hours, or a time of day like till 6pm. Leave it out and Lockit uses the resource's default, then the workspace default, then 48 hours. /lockit list shows everything and whether it's free.
When it's already taken
If someone holds the resource, you see who and until when, with two buttons:
- Alert when released messages you as soon as it's free. No more checking every ten minutes.
- Ask for takeover sends the holder a request with Release and Approve and Reject Request buttons.
On Discord, approving a takeover locks the resource straight to the person who asked. There's no gap where a third person can grab it.
Who can delete
On Discord, a resource can have admins. When it does, only an admin or the resource's creator can delete it. That's worth setting for shared hardware so a cleanup-minded teammate doesn't remove devkit-ps5-1 from the list by accident.
Restricting who can use the commands
Discord lets server admins control slash commands per app. In Server Settings → Integrations, pick the app and you can limit which roles can use its commands and in which channels. Two common setups:
- Only the dev team can lock. Restrict
/lockitto an@teamrole so community members or playtesters in the same server can't lock your test server. - Only in the right channels. Limit the command to
#test-serversand#hardwareso locks don't scatter across general chat.
Suggested setup for a small studio
| Resource | Channel | Typical duration | Notes |
|---|---|---|---|
playtest-server | #playtests | 2 hours | Lock for the session, release at the end |
staging-api | #backend | 1 hour | Short default so forgotten locks clear |
devkit-ps5-1 | #hardware | till 6pm | Physical device, label it with the name |
build-mac-m2 | #builds | 30 minutes | One heavy build at a time |
store-dev-account | #release | 1 hour | Shared login for store submissions |
Put the resource name on a label on physical hardware. When someone sees a devkit on a desk, the name on the sticker is what they type into /lockit lock.
Habits that make it work
- Release when you're done, not when the lock runs out. Anyone who clicked "Alert when released" is waiting.
- Pick an honest duration. "till 6pm" for a device you'll have all afternoon is better than
30 minutesfollowed by three takeover requests. - Use takeover for real urgency. A broken playtest build an hour before a stream is a takeover. Mild impatience is "Alert when released." More on this in lock etiquette.
Moving over from pinned messages
If your server already runs on a pinned "who has what" message, switch in one go rather than running both:
- Create a Lockit resource for each line in the pinned message, from the channel where that message lives.
- Ask current holders to lock what they have, with an honest duration.
- Edit the pinned message to a single line: "We use
/lockit listnow. Lock before use, release when done." - After a week, unpin it.
Running both in parallel is how you end up with two sources of truth that disagree by Thursday.
Limits to know about
Being specific about what Lockit doesn't do on Discord:
- No API or MCP on Discord yet. The REST API and MCP server work with Slack workspaces only for now. If you want CI pipelines to take locks automatically, that currently needs Slack.
- No calendar or future bookings. You can't reserve the playtest server for next Friday. A lock starts when you take it. Use a Discord scheduled event for planned sessions, and lock the server when the session starts.
- It doesn't control the resource. Lockit records who holds the playtest server. It doesn't stop the game server process or change its password.
Pricing
The free plan covers two resources with unlimited locks and members. Starter is $17/month for up to 100 resources. Every paid plan has a 15-day trial, and annual billing is 20% off. Details on the pricing page.
If your team is on Teams rather than Discord, see resource booking in Microsoft Teams. For hardware specifically, our post on sharing test devices for mobile QA goes further on labelling and tracking. Setup docs are at /docs.
FAQ
Do I need Manage Server permission to use Lockit?
To install it, yes. To use the commands afterwards, no, unless your admins restrict /lockit to certain roles in Server Settings → Integrations.
Can community members in the same server see our locks?
They can see whatever is posted in channels they have access to. Create resources from a team-only channel so updates go there, and restrict the commands to a team role.
What happens if I lock something and go offline?
The lock ends at its end time regardless. Anyone who needs it sooner can ask for a takeover, and you can approve it from your phone.
Can I lock several resources at once?
Lock each one with its own /lockit lock command. Each lock has its own duration and its own updates channel.