Discord Server Setup Guide¶
This guide documents how to set up a Discord server for a MAID project community. It provides a recommended structure, roles, permissions, and best practices for building an engaged and welcoming community.
Introduction¶
Purpose¶
A Discord server for MAID serves multiple purposes:
- Real-time Communication: Quick questions, discussions, and collaboration
- Community Building: Connect developers, game creators, and players
- Support: Help users with installation, development, and gameplay
- Announcements: Share project updates, releases, and events
- Showcasing: Highlight community creations and content packs
Target Audience¶
Your Discord server should accommodate:
- Developers: Contributing to MAID core or building content packs
- Game Creators: Using MAID to build their own MUD games
- Players: Playing games built with MAID
- Newcomers: Learning about MUDs and MAID
Channel Structure¶
Overview¶
Organize channels into categories for easy navigation. Below is the recommended structure:
INFORMATION
├── #welcome
├── #announcements
├── #rules
└── #showcase
HELP
├── #general-help
├── #installation
└── #code-help
DEVELOPMENT
├── #dev-discussion
├── #pull-requests
├── #testing
└── #content-packs
COMMUNITY
├── #general
├── #game-dev
├── #introductions
└── #off-topic
VOICE
├── Dev Chat
├── General Voice
└── AFK
Category: INFORMATION¶
#welcome
The first channel new members see. Include:
- Brief introduction to MAID
- Server navigation guide
- Links to key resources
- How to get roles (if using role selection)
#announcements
Official project updates only (read-only for most members):
- Version releases
- Breaking changes
- Security advisories
- Community events
#rules
Server rules and guidelines (read-only):
- Code of conduct
- Channel-specific guidelines
- Moderation policies
- Consequences for violations
#showcase
Community creations and achievements:
- Content packs
- Games built with MAID
- Tutorials and blog posts
- Screenshots and demos
Category: HELP¶
#general-help
General questions about MAID:
- Feature questions
- Best practices
- Architecture guidance
- Recommendations
#installation
Setup and configuration help:
- Installation issues
- Environment setup
- Dependency problems
- Platform-specific questions
#code-help
Technical assistance:
- Debugging help
- Code review requests
- Error messages
- Implementation questions
Category: DEVELOPMENT¶
#dev-discussion
Core development conversations:
- Design discussions
- RFC feedback
- Architecture decisions
- Roadmap discussions
#pull-requests
PR-related discussions:
- PR announcements
- Review requests
- CI/CD issues
- Merge conflicts
#testing
Testing coordination:
- Test coverage discussions
- Bug reports
- Release testing
- Performance testing
#content-packs
Content pack development:
- Plugin development help
- Sharing work-in-progress
- Content pack ideas
- maid-contrib submissions
Category: COMMUNITY¶
#general
Main community chat:
- General conversation
- MUD nostalgia
- Game recommendations
- Random chat
#game-dev
Game development topics:
- Game design discussions
- Narrative design
- World building
- Industry news
#introductions
New member introductions:
- Welcome new members
- Share backgrounds
- Interests and goals
- Connection opportunities
#off-topic
Non-MAID discussions:
- Other projects
- Life updates
- Hobbies
- Fun stuff
Category: VOICE¶
Dev Chat
Voice discussions for development:
- Pair programming sessions
- Design discussions
- Code reviews
- Planning meetings
General Voice
Casual voice chat:
- Community hangouts
- Gaming together
- General conversations
AFK
Away from keyboard channel:
- Idle members
- Automatic move for inactive users
Roles and Permissions¶
Role Hierarchy¶
Create roles in this order (highest to lowest):
| Role | Color | Description |
|---|---|---|
| Admin | Red | Full server management |
| Moderator | Orange | Community moderation |
| Maintainer | Purple | MAID core maintainers |
| Contributor | Blue | Active code contributors |
| Content Creator | Green | Published content pack authors |
| Member | Gray | Verified community members |
| @everyone | None | Unverified users |
Role Permissions¶
Admin
Responsibilities:
- Server configuration
- Bot management
- Role management
- Channel management
- Handling escalated issues
Moderator
Manage Messages: Yes
Kick Members: Yes
Ban Members: Yes
Timeout Members: Yes
Manage Nicknames: Yes
View Audit Log: Yes
Responsibilities:
- Enforce rules
- Handle reports
- Remove spam/inappropriate content
- Welcome new members
- Assist with questions
Maintainer
Responsibilities:
- Post announcements
- Coordinate releases
- Lead discussions
- Mentor contributors
Contributor
Attach Files: Yes
Embed Links: Yes
Add Reactions: Yes
Use External Emojis: Yes
Create Public Threads: Yes
Benefits:
- Recognition for contributions
- Access to contributor-only channels (optional)
- Ability to help others
Content Creator
Benefits:
- Recognition for published content
- Showcase channel posting
- Content pack support priority
Member
Send Messages: Yes
Read Message History: Yes
Connect to Voice: Yes
Speak: Yes
Use Voice Activity: Yes
Basic permissions for verified members.
@everyone
Limited access until verification complete.
Welcome Message Template¶
Use this template for your welcome channel or welcome bot:
# Welcome to the MAID Community!
**MAID** (Multi AI Dungeon) is a modern MUD engine combining classic text-based gameplay with AI integration.
---
## Quick Links
- [Documentation](https://maid-mud.org/docs)
- [GitHub Repository](https://github.com/Qworg/MAID)
- [Getting Started Guide](https://maid-mud.org/docs/getting-started/quickstart)
- [Contributing Guide](https://maid-mud.org/docs/contributing/)
---
## Server Rules
1. **Be Respectful** - Treat everyone with kindness
2. **Stay On Topic** - Use appropriate channels
3. **No Spam** - Avoid excessive messages or self-promotion
4. **No NSFW Content** - Keep it family-friendly
5. **Follow Discord TOS** - Adhere to Discord's guidelines
6. **Ask Before DMing** - Respect privacy
Read full rules in #rules
---
## Getting Help
- **General Questions:** #general-help
- **Installation Issues:** #installation
- **Code Problems:** #code-help
Search before asking - your question may already be answered!
---
## Getting Started
1. Read the rules in #rules
2. Introduce yourself in #introductions
3. Check out #announcements for latest updates
4. Explore channels and join conversations!
---
## Useful Commands
If using a bot for role selection:
- `!roles` - View available roles
- `!role <name>` - Assign yourself a role
---
Welcome aboard! We're glad you're here!
Bot Integration¶
Recommended Bots¶
GitHub Notifications
Connect GitHub to receive notifications about:
- New releases
- Pull request activity
- Issue creation and updates
- Commit activity
Setup:
- Go to Server Settings > Integrations
- Click "Webhooks" > "New Webhook"
- Name it "GitHub" and select a channel (#pull-requests or #announcements)
- Copy the webhook URL
- In your GitHub repo: Settings > Webhooks > Add webhook
- Paste the Discord webhook URL with
/githubappended - Select events to notify about
Moderation Bots
Consider bots like MEE6, Carl-bot, or Dyno for:
- Auto-moderation (spam, bad words)
- Warning/timeout systems
- Logging (message edits/deletes)
- Reaction roles
Utility Bots
- Bot for Code Snippets: Allow syntax-highlighted code sharing
- Poll Bot: Create polls for community decisions
- FAQ Bot: Answer common questions automatically
Custom Bot Ideas¶
For MAID-specific functionality, consider building a custom bot:
# Example: Bot command to check MAID version
@bot.command()
async def version(ctx):
"""Show the latest MAID release version."""
# Fetch from GitHub API
response = await fetch_latest_release()
await ctx.send(f"Latest MAID version: {response['tag_name']}")
@bot.command()
async def docs(ctx, topic: str):
"""Link to documentation for a topic."""
docs_base = "https://maid-mud.org/docs"
topics = {
"quickstart": f"{docs_base}/getting-started/quickstart",
"ecs": f"{docs_base}/guides/ecs/overview",
"commands": f"{docs_base}/guides/commands/overview",
"content-packs": f"{docs_base}/guides/content-packs/overview",
}
if topic.lower() in topics:
await ctx.send(topics[topic.lower()])
else:
await ctx.send(f"Documentation: {docs_base}")
Best Practices¶
Moderation Guidelines¶
Be Consistent
- Apply rules equally to everyone
- Document moderation actions
- Use a graduated response system:
- Warning
- Timeout (1 hour)
- Timeout (24 hours)
- Temporary ban
- Permanent ban
Be Transparent
- Explain why actions are taken
- Keep public moderation logs (optional)
- Allow appeals for serious actions
Be Proactive
- Welcome new members personally
- Monitor channels regularly
- Address issues before they escalate
Community Engagement¶
Regular Activities
- Weekly Q&A sessions
- Monthly community meetings
- Content pack showcases
- Code review streams
Recognition Programs
- Highlight helpful members
- Showcase community projects
- Celebrate milestones (releases, contributions)
Onboarding
- Greet new members promptly
- Point them to resources
- Pair newcomers with mentors
Channel Management¶
Keep It Clean
- Archive inactive channels
- Consolidate similar discussions
- Use threads for detailed conversations
Clear Guidelines
- Pin important messages
- Use channel topics/descriptions
- Create FAQ sections
Balanced Permissions
- Start restrictive, loosen as needed
- Use slowmode in active channels if needed
- Enable thread creation for detailed discussions
Server Settings Checklist¶
Security Settings¶
- [ ] Enable 2FA requirement for moderators
- [ ] Set verification level to "Medium" or higher
- [ ] Enable explicit media content filter
- [ ] Configure auto-mod rules
- [ ] Set up server backup (via bot)
Onboarding Settings¶
- [ ] Enable Community Server features
- [ ] Set up Server Rules Screening
- [ ] Configure welcome messages
- [ ] Create role selection (if using reaction roles)
- [ ] Set up verification system
Channel Settings¶
- [ ] Create all categories and channels
- [ ] Set appropriate permissions per channel
- [ ] Configure slowmode where needed
- [ ] Set up webhooks for integrations
- [ ] Pin important messages
Bot Setup¶
- [ ] Add moderation bot
- [ ] Configure GitHub webhooks
- [ ] Set up welcome messages
- [ ] Configure auto-roles
- [ ] Test all bot commands
Maintenance Tasks¶
Daily¶
- Check moderation queue
- Respond to member questions
- Review new introductions
Weekly¶
- Review server insights
- Archive inactive threads
- Update pinned messages if needed
- Check bot functionality
Monthly¶
- Review and update roles
- Analyze engagement metrics
- Gather community feedback
- Plan events and activities
Quarterly¶
- Review channel structure
- Update welcome messages
- Refresh bots and integrations
- Conduct moderation team review
Additional Resources¶
Discord Documentation¶
MAID Documentation¶
Summary¶
A well-organized Discord server enhances community engagement and makes MAID more accessible. Focus on:
- Clear Structure: Logical channel organization
- Defined Roles: Clear permissions and responsibilities
- Welcoming Environment: Friendly onboarding experience
- Consistent Moderation: Fair and transparent rules enforcement
- Regular Engagement: Active participation from maintainers
Remember: The goal is to build a welcoming, helpful community where everyone can learn, contribute, and create together.