Getting Started (Place File Users)
If you downloaded the ElectionSystem.rbxl file, this guide is for you. No coding experience needed!
What You Have
The election system is a Roblox place file that handles voting, ballot counting, and result display. It comes pre-configured but needs customization for your game.
Step 1: Open the Place File
- Open Roblox Studio
- File → Open → Select
ElectionSystem.rbxl - Wait for it to load (this may take a minute)
Step 2: Enable Required Services
Before anything works, you need to turn on DataStore.
Turn On DataStore (CRITICAL!)
Without DataStore, votes won't save and players will lose their votes if the server restarts.
- Click Home tab at top
- Look for Game Settings button (gear icon)
- In the left panel, click Security
- Find Enable Studio Access to API Services — toggle it ON
- Scroll down and find Enable DataStore Access in Studio — toggle it ON
- Click Close
⚠️ Important: If you don't do this, you'll see DataStore errors and votes won't save.
(Optional) If you turn on Discord notifications later, you also need Allow HTTP Requests on in Game Settings → Security — see Settings — Discord webhook.
Step 3: Configure Your Election
The election settings live in one file: ServerScriptService → ElectionManager → Settings.lua
See the Settings Configuration Guide for detailed instructions on:
- Setting voting method (FPTP, IRV, Approval, etc.)
- Adding candidates and parties
- Setting voting times
- Eligibility rules
- Alt detection (to prevent cheating)
- Discord webhooks for staff channels (optional)
Step 4: Test In Studio
- Click the green Play button
- You should see no errors in the Output panel
- If you see red errors, check the Troubleshooting section below
Step 5: Add Your UI (Optional)
The place comes with a basic voting booth. To customize it or add your own interface, see:
What Happens When You Play
- Server starts → Election system initializes
- Players join → Their votes are loaded from DataStore (if they already voted)
- Voting phase begins → Players can submit ballots
- Phase changes → System counts votes automatically
- Results show → Winners are displayed
File Structure (You Don't Need to Edit Most of This)
ServerScriptService/
├── ElectionManager/ ← Main system (don't move this!)
│ ├── Settings.lua ← ⭐ YOU EDIT THIS (candidates, voting method, etc.)
│ ├── init.module.lua ← Core system (don't edit)
│ ├── Modules/ ← Vote counting, storage (don't edit)
│ └── ...other files...
The only file you really need to touch is Settings.lua. Everything else is internal system code.
Troubleshooting
"DataStore Error" or "DataStore access denied"
- Solution: You didn't enable DataStore. Go back to Step 2 and toggle it on.
"Module not found" errors
- Solution: Make sure the
ElectionManagerfolder stayed inServerScriptServiceand didn't get moved.
No voting UI appears
- Solution:
- Check that the voting booth model exists in Workspace
- See Custom UI Implementation Guide
Phase doesn't change
- Solution: Check
Settings.lua— make sure the times are set correctly (not in the past).
Votes aren't saving
- Solution: Enable DataStore (Step 2). Without it, votes only exist in the current server session.
Next Steps
- Configure Settings → See Settings Configuration Guide
- Customize UI → See Custom UI Implementation Guide
- Test voting → Play in Studio and try voting
- Deploy to game → Publish the place to your game
Need help? Check the other guides or see the full documentation hub.