Whitelisting

  • community
  • community-management
  • by limon
  • Takaro main
  • all
Version
View export JSON

Restrict server access to specific players with a simple whitelist system.

The Whitelist module gives you complete control over who can join your server by using Takaro's powerful permission system.

  • Permission-based access: Only players with the 'Whitelist Access' permission can join the server.
  • Customizable kick message: Set what rejected players see when attempting to connect.
  • Role integration: Works seamlessly with Takaro's role system for easy management.
  • Global or per-server: Apply whitelist roles to specific servers or globally across all servers.

Key Features:

moduleoverview

  • Simple setup - just assign permissions to roles
  • No complex configuration needed
  • Works across all supported game types
  • Instantly denies access to unauthorized players

How to use:

  1. Install the module on your server
  2. Configure the kick message
  3. Create or edit roles with the 'Whitelist Access' permission
  4. Assign roles to players either globally or per server

role assignment

Players without the required permission will receive your custom message when they attempt to join:

kicked message

Perfect for:

  • Private servers for friends and communities
  • Premium/VIP game servers
  • Testing environments
  • Scheduled events with limited participation
  • Temporarily restricting access during maintenance

Configuration 1

Settings you fill in when installing the module on a server.

SettingTypeDefaultDescription
kickMessage kickMessage string "You do not have permission to join this server." Message to display to players who are kicked for not having the required role.
Raw config schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "required": [],
  "additionalProperties": false,
  "properties": {
    "kickMessage": {
      "title": "kickMessage",
      "description": "Message to display to players who are kicked for not having the required role.",
      "default": "You do not have permission to join this server.",
      "type": "string"
    }
  }
}
Raw UI schema
{}

Hooks 1

Code that runs in reaction to a game or Takaro event.

  • whitelisting

    Hook for player-connected events

    Hook source
    import { takaro, data, checkPermission } from '@takaro/helpers';
    
    async function main() {
        const { player, gameServerId, module: mod } = data;
    
        // If player has whitelist permission, allow them to stay
        if (checkPermission(data.pog, 'WHITELIST_ACCESS')) {
            return;
        }
    
        // Player doesn't have permission, kick them
        const kickReason = mod.userConfig.kickMessage || 'You do not have whitelist access';
    
        await takaro.gameserver.gameServerControllerKickPlayer(gameServerId, player.id, {
            reason: kickReason
        });
    
        await takaro.gameserver.gameServerControllerSendMessage(gameServerId, {
            message: `${player.name} was kicked: not on the whitelist`
        });
    }
    
    await main();

Permissions 1

Roles you can grant to decide who may use what.

  • Whitelist Access

    Players with this permission can join the whitelisted server.