About Easy Map Voter
Easy Map Voter — Discord Bot for Rust Servers
Easy Map Voter lets your community decide the next Rust map directly inside Discord.
Run clean, interactive voting sessions, generate or fetch maps automatically while tracking long-term player preferences all with a few slash commands.
Features:
Flexible Map Sources
Choose how maps are provided:
Random generation
Rustmaps filter IDs
Custom maps
Supports vanilla, modded, and themed servers.
VIP Voting (Optional)
Reward supporters while keeping voting fair:
- Assign VIP role
- Configure vote multiplier (example: VIP = 2 votes)
- Winner summaries show both regular and VIP totals
Community Statistics & Insights
Track long-term player behavior:
/mappreferences – View community map preferences
/voter [user] – See individual voting history
/votingstats – Interactive stats with top voters and recent activity
Great for understanding what your players actually enjoy.
Wipe Countdown Support
Each server configuration can include a wipe schedule.
Countdown timers appear during voting so players know exactly what they’re voting for.
Persistent Data Storage
All sessions, maps, and votes are stored locally in SQLite:
- Automatic database creation
- Historical voting records
- No external databases required
🛠 Utility Commands
/ping – Check bot latency
!sync – Sync slash commands to your server
Requirements:
- Python 3.10+ recommended.
- A Discord application and bot token.
- A Rustmaps API key.
Python dependencies are listed in requirements.txt.
Setup
1) Install requirements
- Python 3.10+ installed and available on PATH.
- Install dependencies from the project root:
pip install -r requirements.txt
2) Configure your .env file
DISCORD_TOKEN=your_discord_bot_token RUSTMAPS_API_KEY=your_rustmaps_api_key
3) Configure config.json
Open `config.json` and update the IDs and options for your server:
{ "discord": { "guild_id": YOUR-GUILD-ID, "prefix": "!" }, "roles": { "administration_role_id": ADMINISTRATION-ROLE-ID, "enable_vip_voting": true, "vip_voter_role_id": VIP-ROLE-ID, "vip_vote_weight": 2, "store": YOUR-STORE-LINK }, "appearance": { "embed_color": DISCORD-APPROVED-COLOR } }
4) Discord bot permissions and intents
Enable these gateway intents in the Discord Developer Portal:
- Message Content Intent
- Server Members Intent
Recommended permissions for the bot invite:
- Read Messages / View Channels
- Send Messages
- Embed Links
- Add Reactions
- Read Message History
- Manage Messages (needed to remove reactions and clean up voting messages)
Also include the applications.commands scope for slash commands.
Running the bot
Run this line in the console or set it as the starting file if using a Host:
python main.py
Logs are written to data/logs/bot.log.
For any help and support you can contact me on Discord #carl7332
