DiscordLink requires Python 3.8+, a .env file configured with your Discord Bot Token, Guild ID, Admin Role ID, Steam API Key, and Rust server RCON details. It uses an SQLite database for storing link information.
pip install -r requirements.txt
The bot's configuration is managed through a central configuration file. Create a .env
file with the following settings:
DISCORD_SETTINGS (.env) = {
'DISCORD_TOKEN': 'Your Discord bot token.',
'GUILD_ID': 'Your Discord server ID.',
'ADMIN_ROLE_ID': 'Discord Role ID for bot administration.',
'LINKED_DISCORD_ROLE_ID': 'Discord Role ID to assign to users who link their Steam ID.',
'WELCOME_CHANNEL_ID': 'Channel ID for sending welcome messages or fallback booster DMs.',
'COMMANDS_CHANNEL_ID': 'Designated channel ID for using bot commands.',
'TICKET_CHANNEL_ID': 'Channel ID for users to seek support.',
'STEAM_API_KEY': 'Your Steam Web API key for validating Steam IDs.',
}
RUST_PERK_SETTINGS (.env) = {
'NITRO_OXIDE_GROUP_NAME': 'Oxide group name for Nitro booster perks (e.g., "nitro").',
'LINKED_PLAYER_OXIDE_GROUP': 'Oxide group name for general linked player rewards (e.g., "discord").',
}
RUST_SERVER_SETTINGS (.env - Repeat for each server: SERVER1, SERVER2, etc.) = {
'SERVER_NAME': 'Display name for your Rust server.',
'SERVER_HOST': 'IP address or hostname of your Rust server.',
'SERVER_PORT': 'RCON port for your Rust server (e.g., 28016).',
'SERVER_RCON_PASSWORD': 'RCON password for your Rust server.',
}
Option | Description |
---|---|
DISCORD_SETTINGS (.env) |
Configuration object with the following properties:
|
RUST_PERK_SETTINGS (.env) |
Configuration object with the following properties:
|
RUST_SERVER_SETTINGS (.env - Repeat for each server: SERVER1, SERVER2, etc.) |
Configuration object with the following properties:
|
Command | Description |
---|---|
/link |
Link your Discord account to your 17-digit Steam ID for server rewards. Can be used to update your linked Steam ID (subject to cooldowns). |
/checklink | Check your current Discord linkage, booster status, and associated Steam IDs for perks. |
/reminders |
Enable or disable daily reminders about linking your Steam ID (if you are a booster and haven't linked). |
Command | Description |
---|---|
/status | Shows bot status, statistics about linked users, boosters, and Rust server RCON connectivity. |
/reset |
Resets all link data (general and booster perks) and associated Oxide group memberships for a specified Discord user. Removes linked role. |
/checklinks |
Admin command to check the general and booster perk link status for a specified Discord user. |
This bot runs the following automated tasks:
Task | Frequency | Description |
---|---|---|
Booster Status Check & Sync | Every 1 hour | Checks Discord server members for active Nitro boosts, updates the local database, and removes perks from users who are no longer boosting. |
Unlinked Booster Reminders | Every 24 hours | Sends DM reminders to active Nitro boosters who have not yet linked their Steam ID and have reminders enabled. |
Nitro Perk Group Audit | Every 12 hours | Audits the configured Nitro Oxide group on all Rust servers, ensuring only currently valid boosters/admins with linked Steam IDs are in the group. |
General Linked Players Group Audit | Every 12 hours | Audits the configured general linked player Oxide group on all Rust servers, ensuring only users with a valid link in the database are in the group. |
Ensure 24/7 uptime and optimal performance for your DiscordLink bot by hosting it on our specialized Python bot hosting plans, managed via Pterodactyl panel.
View Hosting PlansInterested in using this Discord bot for your game server?
$4.99 USD
This bot is designed specifically for Discord integration with Rust game servers and communities.
For support with bot implementation or customization, please contact us.