How to set up a secure Discord server — a step by step guide

These instructions are for the desktop browser and desktop app. If you are using the mobile app, there will be differences and fewer options.

    1. Create your server:
      1. Click the giant + button at the bottom of your server list in the left-hand sidebar.
        • If there is no button, you’ve exceeded the 50 server limit.
      2. Choose the “Create a server” option (not the “Join a server” one)
      3. Give your server a name.
        • You can change your server name as often as you like.
        • You may use any name you like as multiple servers may have the same name (but you might like having a unique name)
      4. If you have an image for your server icon, upload that.
        • You don’t need an image, and you can change your image whenever you want.
        • A distinctive icon image is handy for your members as it helps them find your server in their server lists.
        • If you don’t upload an image, Discord will supply an icon using your server name’s initials
      5. Your server region should have been set automatically, but change it if you need to do do.
      6. Click the “create” button.
      7. Click the x to close the Invite Friends prompt. You won’t invite friends until you’re all set up! 
      8. Exit the voice channel by clicking the disconnect icon at the bottom of your new server’s channel list.
    2. Lock down the Everyone role.
      1. Click the down caret next to your Server’s name and click on Server Settings.
      2. In the next screen, click on Roles.
      3. Turn off all permissions for the Everyone role. (Don’t worry, roles do not affect Server owner permissions — owners can always do anything they want.)
        1. Turn off Create Instant Invite under General Permissions
        2. Turn off Change Nickname under General Permissions
        3. Turn off Read Text Channels & See Voice Channels under General Permissions
        4. Turn off Send Messages under Text Permissions
        5. Turn off Send TTS Messages under Text Permissions
        6. Turn off Embed Links under Text Permissions
        7. Turn off Attach Files under Text Permissions
        8. Turn off Read Message History under Text Permissions
        9. Turn off Mention Everyone under Text Permissions
        10. Turn off Use External Emojis under Text Permissions
        11. Turn off Add Reactions under Text Permissions
        12. Turn off Connect under Voice Permissions
        13. Turn off Speak under Voice Permissions
        14. Turn off Use Voice Activity under Voice Permissions
      4. Scan through and make sure no other permissions are still turned on.
      5. Be sure to Save Changes before moving on.
    3. Create a member role
      1. Click the small + icon to create a new member role
      2. In the role editing form, give this member role a name
        • You can call this role “members” or anything you like, but be mindful that this will be a label you are applying to people so choose wisely and kindly.
      3. Pick the role’s color.
      4. Turn on the following permissions for this role:
        1. Turn on Change Nickname under General Permissions
          1. If you think your Server members are likely to abuse this privilege, then don’t turn it on. Or if you later find that they are abusing it, you can return to Server Settings: Roles to turn it off.
        2. Turn on Read Text Channels & See Voice Channels under General Permissions
        3. Turn on Send Messages under Text Permissions
        4. Turn on Send TTS Messages under Text Permissions
        5. Turn on Embed Links under Text Permissions
        6. Turn on Attach Files under Text Permissions
        7. Turn on Read Message History under Text Permissions
        8. Turn on Mention Everyone under Text Permissions
          • @everyone sends an app notification to everyone on your server. Some people find it very annoying. If you think your Server members are likely to abuse this privilege, then don’t turn it on. Or if you later find that they are abusing it, you can return to Server Settings: Roles to turn it off.
        9. Maybe turn on Use External Emojis under Text Permissions
          • Not all External Emojis are family friendly or SFW. If you think your Server members are likely to abuse this privilege, then don’t turn it on.
        10. Turn on Add Reactions under Text Permissions
        11. Turn on Connect under Voice Permissions
        12. Turn on Speak under Voice Permissions
        13. Turn on Use Voice Activity under Voice Permissions
        14. Scan through to see if there are any other permissions that you wish to grant.
      5. Be sure to Save Changes before moving on.
    4. Create a muted role by clicking the + icon to add another new role
      1. Call this Role “muted” or whatever makes sense to you
        • This role will allow you to temporarily silence a misbehaving member. Members whose only role is “muted” will still be able to read text messages and hear what others are saying in voice channels.
      2. I prefer to not give this role a color option.
      3. Turn on the following permissions for this role:
        1. Turn on Read Text Channels & See Voice Channels under General Permissions
        2. Turn on Read Message History under Text Permissions
        3. Turn on Connect under Voice Permissions
      4. Be sure to Save Changes before moving on.
    5. Create a timeout role by clicking that + icon to add another role
      1. Call this one “timeout” or whatever makes sense to you
        • This role will allow you to temporarily place a misbehaving member in a timeout.
        • Members whose only role is “timeout” won’t be able to read text messages or hear what others are saying in voice channels.
        • It gives you time to message the member privately with the goal of de-escalating the situation before you have to resort to kicking or banning them.
      2. I prefer to not give this role a color option.
      3. Do not turn on any permissions for this role
      4. Be sure to Save Changes before moving on.
    6. If you plan to have moderator assistance, then click that + icon again to create a moderator role.
      1. Give the role a name (“moderator” is fine, but feel free to get creative).
      2. I prefer to not give this role a color option.
      3. You have to decide what permissions you want to grant your moderators — it depends on what you want help doing, but here are some suggestions:
        1. Manage Channels
        2. Manage Nicknames
        3. Manage Messages
        4. Mute Members
        5. Deafen Members
        6. Move Members
        7. Priority Speaker
      4. Be sure to Save Changes before moving on.
    7. If you plan to share administrator powers with another user(s), then click that + icon again to create an administrator role.
      1. Give the role a name (“admin” is fine, but feel free to get creative).
      2. I prefer to not give this role a color option.
      3. Turn on Administrator under General Permissions.
        • This gives anyone with the administrator role all the powers you hold as the Server owner.
      4. Be sure to Save Changes before moving on.
    8. Click the giant X to escape from Server Settings!
    9. If necessary, remove access to the #general channel for the everyone role.
      1. Click on the gear icon next to the #general channel in your server’s channel list
      2. Choose Permissions from the left-hand menu
      3. For the @everyone role, change all settings to the “default” or the / icon.
      4. Be sure to Save Changes before moving on.
      5. Click the giant X to escape from Channel Settings
    10. Create an #introductions text channel.
      1. In your server’s channel list, click the + icon next to the TEXT CHANNELS header to create a new text channel.
      2. Call this channel who-am-i or something that makes sense to you
      3. Click Create Channel button
      4. Click the gear icon next to the channel name in your server’s channel list
      5. Select Permission in the left-hand sidebar
      6. For the @everyone role:
        1. Turn on Read Messages under Text Permissions
        2. Turn on Send Messages under Text Permissions
        3. Turn on Send TTS Messages under Text Permissions
        4. Be sure to Save Changes before moving on.
      7. Click the + icon next the ROLES/MEMBERS heading and add your timeout role
        1. Turn off Read Messages under Text Permissions
        2. Turn off Send Messages under Text Permissions
        3. Turn off Send TTS Messages under Text Permissions
        4. Be sure to Save Changes before moving on.
      8. Click the giant X to escape!
      9. Introduce yourself in whatever manner you wish your members to introduce themselves. For example,
        I’m Jamie Jones,  and I created this server to have fun with my awesome friends.
      10. Click the down caret next to your server’s name at the top of your server’s channel list and select Server settings.
        1. Under new member messages channel, select #who-am-i
        2. Be sure to Save Changes before moving on.
        3. Click the giant X to escape from Channel Settings!
    11. Create a #welcome text channel.
      1. In your server’s channel list, click the + icon next to the TEXT CHANNELS header to create a new text channel.
      2. Call this channel “welcome” or something else that you prefer.
      3. Click the Create Channel button
      4. Click the gear icon next to the channel’s name in your server’s channel list.
      5. Click on permissions in the left-hand sidebar
      6. For the @everyone role:
        1. Turn on Read Messages under Text Permissions
        2. Turn on Read Message History under Text Permissions
        3. Turn off Create Instant Invite under Text Permissions
        4. Turn off Send Messages under Text Permissions
        5. Turn off Send TTS Messages under Text Permissions
        6. Turn off Embed Links under Text Permissions
        7. Turn off Attach Files under Text Permissions
        8. Turn off Mention Everyone under Text Permissions
        9. Turn off Use External Emojis under Text Permissions
        10. Turn off Add Reactions under Text Permissions
        11. Be sure to Save Changes before moving on.
      7. If you want to allow members to invite others to join your server:
        1. Click the + icon next the ROLES/MEMBERS header and select your member role
        2. Turn on Create Instant Invite under General Permissions
        3. Be sure to Save Changes before moving on.
      8. Click the giant X to escape from Channel Settings!
      9. Post a message in the #welcome channel that explains what your server is. For example:
        Welcome to my server where we are all awesome.
      10. Post a message in the #welcome channel with any rules your server has.
        • I always have at least 2 rules:
          1. Be kind.
          2. Stay safe.
      11. Post a message in the #welcome channel directing new members to post an introduction in the #who-am-i channel and explaining what you required of your introduction. For example:
        You must introduce yourself in the #who-am-i channel be granted access to this server. For safety reasons, we don’t allow anonymous members. In addition to giving your real name, you must tell us who invited you to the server. If you have been a member of this server for more than 24 hours and have not yet introduced yourself, you will be removed, so go introduce yourself right now. You must introduce yourself even if a Server Owner knows who you are, because our other members may not. You won’t be able to see anyone else’s introduction or any of the other channels until you are granted access by one of the Admins. Once you are granted access, you may need to refresh for those things to show up. Post your introduction to the #who-am-i channel.
    12. Create a #muted text channel where those who have been muted can learn what is happening to them.
      1. In your server’s channel list, click the + icon next to the TEXT CHANNELS header to create a new text channel.
      2. Call this channel muted or something that makes sense to you
      3. Turn on the private channel option
      4. Under “Who can access this channel?” select your muted and moderator roles.
      5. Click Create Channel button
      6. Click the gear icon next to the channel name in your server’s channel list
      7. Select Permission in the left-hand sidebar
      8. For both your @muted and @moderator roles:
        1. Turn on Read Messages under Text Permissions
        2. Turn on Read Message History under Text Permissions
        3. Be sure to Save Changes before moving on.
      9. Click the giant X to escape from Channel Settings.
      10. Now post an explanation of the muted role to your #muted channel. For example:
        You’ve been muted on this server. You may still read messages but you may not post to the server. Most likely, you’ve broken one of our rules. Check for a private message from a server admin explaining what you need to do to regain access to the server.
    13. Create a #timeout text channel where those on a timeout can learn what is happening to them.
      1. In your server’s channel list, click the + icon next to the TEXT CHANNELS header to create a new text channel.
      2. Call this channel time-out or something that makes sense to you
      3. Turn on the private channel option
      4. Under “Who can access this channel?” select your time-out and moderator roles.
      5. Click Create Channel button
      6. Click the gear icon next to the channel name in your server’s channel list
      7. Select Permission in the left-hand sidebar
      8. For your timeout and moderator roles:
        1. Turn on Read Messages under Text Permissions
        2. Turn on Read Message History under Text Permissions
        3. Be sure to Save Changes before moving on.
        4. Click the giant X to escape from channel settings
      9. Now post an explanation of the timeout role to your #time-out channel. For example:
        You’ve been placed on a timeout for this server. Most likely, you’ve been unkind or unsafe. Check for a private message from a server admin explaining what you need to do to regain access to the server.
    14. Now create a #moderators channel where moderators and administrators can talk and no one else can listen in.
      1. In your server’s channel list, click the + icon next to the TEXT CHANNELS header to create a new text channel
      2. Call this channel mods-only or something that makes sense to you
      3. Turn on the private channel option
      4. Under “Who can access this channel?” select your moderator role.
      5. Click the Create Channel button.
    15. Create any other channels you’ll need.
      • One channel I like to add to every server is a meme-spam channel. It keeps happy both those who love memes and spamming and those who hate memes or spamming.
      • No need to monkey about with permissions or roles when creating additional channels.
    16. Now you’ve got several channels, and you might not like the order of them. You can click and drag your channels into whatever order you like. This is my preferred order:
      1. muted
      2. general
      3. meme-spam
      4. all other channels in alphabetical order or whatever order makes the most sense for your server
      5. welcome
      6. who-am-i
      7. timeout
      8. mods-only
    17. If you want to give one of your members a channel of their own, you can set them up this way:
      1. Click the + icon next to the TEXT CHANNELS header to create their channel.
      2. Give the channel a name that makes sense
      3. Click Create Channel button
      4. Click the gear icon next to the channel name in your server’s channel list
      5. Select Permission in the left-hand sidebar
      6. Click the + icon next to ROLES/MEMBERS.
      7. Enter the username of the member who will control the channel.
      8. Set your channel moderator’s channel permissions:
        1. Turn on Manage Channel under General Permissions
        2. Turn on  Manage Messages under Text Permissions
        3. I don’t usually grant Manage Permissions, Manage Webhooks or Create Instant Invite, but those might make sense for your server.
      9. Be sure to Save Changes before moving on.
      10. Click the giant X to escape from channel settings.
      11. Optionally post an explanation to the new channel. For example:
        This channel is managed by @user for the purposes of promoting magic and dragon riding.
    18. I like to test my settings by inviting a trusted friend join first.
      1. Ideally, we are in the same room, but if not, we are communicating using a method other than the Discord server.
      2. I then assign them various roles and they report what happens to them in those roles.
        1. When they first join, they should see only the #welcome and #who-am-i channels.
        2. They should not be able to post in the #welcome channel.
        3. They should be able to post in the #who-am-i channel but it should appear to be empty to them (that is, they should not be able to read the message history).
        4. I then assign them the member role and all of the channels should appear except for the #muted, #mods-only, or #timeout channels.
        5. I then add the moderator role and the #muted, #mods-only, and #timeout channels should appear.
        6. I then remove the member and moderator roles and assign the muted role. They should be able to see all channels except #mods-only and #timeout but they should be unable to post in any of them.
        7. I then remove the muted role and assign the timeout role. They should be able to see only the #welcome and #timeout channel.
      3. If all that works, I either thank them for their help and send them on their way or remove the timeout role and assign them the member role.
    19. Once you’re all set up, go to your welcome channel and click on the Create Instant invite icon next to the channel name in your server’s channel list and invite your friends.
      1. Creating your invite here ensures that your new members land in the #welcome channel when they arrive.
      2. Because you’ve otherwise locked down the server, no one gets past the door without an introduction.
    20. Using the muted and timeout roles
      1. If you need to mute someone or put them in a timeout, you must also remove the member role (and any other role they hold), otherwise, they will continue to have all those role permissions.