Minecraft Bedrock whitelist and player-count setup
Connect Discord to your existing Minecraft Bedrock server on Pterodactyl with the Pro Game Server module. Set up whitelist requests and staff approval, show player counts in a voice channel, and optionally send Discord messages into Minecraft. Before signing up, you need an existing game server, a panel administrator who can grant access, and a Discord server you manage. Build Discord Bots hosts your Discord bot; it does not create or host your Minecraft server.
Read the current Game Server live-panel scope
Start freeStart free. Pro is $9.99/month.
Before you start
- An existing Minecraft Bedrock server on a Pterodactyl panel. This module connects to that server; it does not provision hosting or create a server for you.
- A Build Discord Bots bot that is online in the Discord server you manage, with Pro so you can enable the Game Server module.
- An administrator who can create a limited panel user for the existing server and grant the required panel permissions. Keep the connection details private and enter them only in the bot dashboard.
- For whitelist requests, prepare a private Discord console channel and a staff approver role. For a player counter, prepare an existing voice channel the bot can view and manage. Both features require the Bedrock live panel and a status channel.
Enable the Game Server module and open its settings
Open your bot from the dashboard, select Modules, enable Game Server if it is off, and open its Settings. Choose the Discord server you are configuring before saving any server-specific options. Settings are read for the selected Discord server, so verify that selector before you continue.
The Pterodactyl connection and Live panel sections are separate. Do not enable the live panel until the existing server connection has been saved and tested. The module is a Discord companion for your existing Bedrock server, not a hosting setup flow.
Prepare a limited panel user for the existing server
Ask the server administrator to create a panel user, add it to the intended existing server, and grant only the permissions the live panel needs. The baseline permissions are websocket.connect and control.console. Optional live power buttons need control.start, control.stop, and control.restart as well.
Do not paste connection details into Discord, screenshots, support posts, or a public channel. Keep the panel user limited to the target server. A panel user is not a new hosting account and does not change who owns or operates the server.
Save and test the panel connection
In the Pterodactyl section, enter the connection for the existing server and save the settings. Use Test connection before you enable the live panel. The dashboard checks server details, a WebSocket credential, resources, and the required permissions without returning connection credentials in the result.
If the test reports a missing permission, correct the limited panel user's access and test again. Do not work around a failed test by enabling console or power controls first. Confirm that the test is for the intended Bedrock server before you move on.
Choose what Discord can display
In the Live panel section, select the status channel and decide whether the message can show player names, a join address, and recent activity. The maintained message can show server state, player count, Bedrock version, world, game mode, difficulty, CPU, memory, disk, uptime, and network usage when the available panel and Bedrock data provide them.
If you enable console relay, choose a private console channel and review the player-ID masking option. Console relay sends sanitized, batched server console output to Discord. Separately enabled console input lets permitted admins send raw console commands from that channel. Neither is the member-facing chat relay described below.
Limit console and power controls to admins
Choose the Discord roles allowed to use console input and, if you enable them, the live power controls. Start, stop, and restart buttons are role-gated. The requesting admin must confirm the action before the bot forwards it to the panel.
Test each enabled control with a staff member in a controlled server. Keep the console channel private, and make sure the selected roles match the people who should operate the existing server. Do not treat a Discord role as a replacement for the panel's own permission limits.
Approve a Bedrock whitelist request
After the connection test passes, enable the live panel with a status channel, then enable Whitelist in Game Server settings. Set the allowed role IDs for staff who can add, remove and list entries. To accept member requests, enable requests and set an approver role ID. Configure the private console channel so @everyone cannot view it and the bot can post there. The Bedrock server must be running and connected.
For a worked example, have a test member submit /whitelist request gamertag:AlexCraft. AlexCraft is an example classic Xbox gamertag; use the test player’s actual gamertag. The bot posts the request with Approve and Deny buttons in the private console channel. A member of the configured approver role clicks Approve within ten minutes. The bot sends whitelist add "AlexCraft" through Wings and records whether it was sent. Deny closes the request without sending an add command.
The approval result confirms submission to Wings, not that Bedrock accepted the change. Check the panel console, then have allowed staff run /whitelist list and have the test player try joining. If no recognized list response arrives within eight seconds, the bot reports that instead of showing a cached list. Staff can also use /whitelist add gamertag:AlexCraft or /whitelist remove gamertag:AlexCraft; both ask for confirmation. An existing Discord role alone never adds a gamertag.
Show the Bedrock player count in a voice channel
With the live panel and status channel enabled, opt in to Player-count voice channel and select an existing voice channel in this Discord server. Allow the bot View Channel and Manage Channels there, then save. This feature renames the selected channel; it does not create a new Minecraft server or a new voice room.
For example, a current Bedrock sample of seven players on a server with twenty slots produces Players: 7/20. The channel name never contains player names. Updates are spaced at least about five minutes apart, so it is not an instant join/leave counter. An unavailable player sample is shown as unknown; offline and other server states use status labels. Check the panel alongside Discord during your first test.
Enable one-way Discord-to-Minecraft chat
The separate chat relay works with an existing Java or Bedrock server through Pterodactyl/Wings. Save and test the connection with websocket.connect and control.console permissions. In Game Server settings, enable Discord-to-Minecraft chat relay, enter the Discord channel ID, and optionally enter a required role ID. Choose a separate channel from the private admin console. The live panel can remain off when you use only this relay.
With the server running, have an eligible member send “Hello from Discord” in the relay channel. The bot sends a sanitized say broadcast with the member’s display name and message. Check Minecraft for the message during your test. Message text is limited to 200 characters, with at most one message per two seconds per channel. Excess or undeliverable messages are dropped, not queued for later. Messages from bots and webhooks are ignored.
This is Discord → Minecraft only. It does not forward Minecraft chat to Discord, provide death alerts or grant game access. Keep the private console relay for staff diagnostics; allowing members to send chat is different from allowing them to issue raw console commands.
Verify the status message and current scope
Enable the live panel after the connection test passes, then inspect the single maintained Discord status message. Check that the displayed state and resource information match the existing Bedrock server, and review the selected visibility settings before sharing the channel with your community.
The live status parser, whitelist tools and player-count channel support Minecraft Bedrock on Pterodactyl. They do not add Java live status or CS2 support. The separate Discord-to-Minecraft chat relay supports Java or Bedrock; it does not send Minecraft chat back to Discord or provide death messages. Whitelist approval is a staff decision, not automatic Discord role-sync whitelisting.
Frequently asked questions
Does the Game Server module host or create a Minecraft server?
No. It connects Discord to your existing Pterodactyl server. Bedrock is required for the live panel, whitelist and player-count features; the separate one-way chat relay also supports Java. You keep responsibility for game-server hosting.
What does the Test connection action check?
It checks server details, a WebSocket credential, resources, and the required permissions for the saved settings. It does not return connection credentials in its result.
How is Minecraft chat relay different from console relay?
The opt-in chat relay sends sanitized Discord messages to Minecraft Java or Bedrock through Pterodactyl/Wings, even with the live panel off. It is one-way and does not return Minecraft chat or death messages. Console relay instead sends server console output to a private Discord channel; staff console input is a separate privileged control.
Does approving a whitelist request guarantee access?
No. Approval sends a Bedrock whitelist command through Wings and records its submission. Check the console result and whitelist list, then test joining. Requests require the configured approver role, a private console channel, a running connection and the enabled Bedrock live panel. They are not automatic Discord role synchronization.
