About Rust Map Vote Discord Bot
Map Vote Bot 
MapVote is a self-hosted Discord bot that lets your Rust community vote on the next wipe map. Built for server owners who want a clean, reliable voting system.
What's New in v3.0.0
Admin dashboard — Everything is managed through a single persistent message in your staff channel. No more slash commands for voting — the dashboard handles vote creation, scheduling, history, and settings all in one place.
Wipe schedule automation — Set a weekly, biweekly, or monthly wipe schedule and let the bot handle it. Supports auto-pick: the bot queries RustMaps at fire time and selects maps automatically based on your size, biome, terrain, and monument filters.
Three ways to create a vote — Enter a map manually, pick from a live RustMaps search with filters, or let the bot auto-pick.
Live vote editing — Change the title, duration, voter roles, or swap a map on an active vote without ending it.
Map cooldown — Prevent recently-won maps from being picked again. Configure how many past winners to skip.
Voter roles — Restrict who can vote on a per-vote basis by assigning one or more Discord roles at creation time.
Recovery — If the vote message or the dashboard message gets deleted, the bot automatically re-sends it.
Multiple schedules — Run independent wipe schedules simultaneously — useful for multi-server setups or different wipe types.
Features
- Persistent admin dashboard with tabbed navigation (Overview, Vote, Automation, History, Settings)
- Live vote tracking with animated progress bars
- 2–5 maps per vote
- Standard maps (any size/seed) and custom RustMaps.com maps
- Detailed map info — biomes, islands, rivers, monuments, and more
- Automatic winner determination with random tie-breaking
- Wipe schedule automation — weekly, biweekly, and monthly (by Nth weekday or last weekday)
- Auto-pick maps from RustMaps based on size, biome, terrain, and monument filters
- Per-vote voter role gating — restrict who can vote per session
- Live vote editing without ending the vote
- Paginated vote history with winner links, vote counts, and win-rate stats
- Vote and dashboard message recovery on deletion
- 24-hour advance reminder when a scheduled wipe has no maps set
- All votes and config stored in SQLite — nothing is lost on restart
- Full multi-guild support
Commands
/setup Create or move the admin dashboard to a channel
/search Browse RustMaps with filters — size range, biomes, terrain, monuments (available to all members)
Restricting Access
/setup requires Administrator by default. You can grant it to specific roles without giving them full admin — go to Server Settings > Integrations > MapVote and configure per-command role access.
/search is available to all members by default and can be restricted the same way.
Requirements
Node.js 24+
Discord bot token
RustMaps.com API key
Setup
Download and extract the files
Run npm install
Fill in your TKN & RUSTMAPS_API_KEY in the .env file
Run npm start
Use /setup #your-admin-channel to create the dashboard
Need help? Join the support server: Click Here
Updating
Stop the bot
Delete the src/ folder
Copy in the new src/ folder and overwrite package.json, CHANGELOG, and README.md files
Delete the node_modules/ folder and package-lock.json file
Run npm install
Start the bot (npm start)
Your .env and db/ files are not touched — all settings and data are preserved.