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.
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.
Scheduled votes — Queue a vote to start automatically at a set time. Schedules survive bot restarts, so nothing gets lost if the bot goes down.
Vote history — /vote_history shows a full log of past votes with winners, vote counts, and timestamps.
Role select ping — Optionally select a role to ping when a vote starts to notify your community.
Persistent storage — All votes and map data are stored in SQLite. Nothing is lost on restart.
Live vote tracking with animated progress bars
2–5 maps per voting session
Standard maps (any size/seed), custom RustMaps.com maps, and staging branch support
Detailed map info — biomes, islands, rivers, and more
Automatic winner determination with random tie-breaking
Role-based command access via Discord's built-in Server Integrations (no bot config needed)
Ephemeral setup flow — vote configuration is private to the admin running it
By default the commands require Administrator. You can grant access to specific roles without giving them admin — go to Server Settings > Integrations > MapVote and configure per-command role access.
Node.js 24+
Discord bot token
RustMaps.com API key
Download and extract the files
Run
| 1 | npm install |
| 1 | TKN=BotTokenHere |
| 2 | RUSTMAPS_API_KEY=RustMapsApiKeyHere |
| 1 | npm start |
Stop the bot
Delete the src/ folder
Input the new src/ folder and package.json, README.md, CHANGELOG files
Delete the node_modules/ folder package-lock.json
Run npm install
Start the bot
Your .env and .db files are not touched — all settings and vote history are preserved.