Skip to content

fantinodavide/Squad_Whitelister

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

651 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Whitelister

A Comprehensive Whitelist Management System for

Squad | Post Scriptum | Beyond the Wire

Join Discord Latest Release

πŸ“‹ Overview

Whitelister is a powerful web application designed to manage player whitelists for game servers. It provides a comprehensive solution for server administrators to control access, manage clans, and automate whitelist operations through a user-friendly interface.

✨ Features

  • Player Management: Easily approve or deny whitelist requests
  • Clan Management: Organize players into clans with custom permissions
  • User Access Control: Define different access levels for administrators
  • API Integration: Comprehensive API for integration with other systems
  • Discord Integration: Connect with Discord for user verification
  • Custom Branding: Personalize the application with your own branding
  • Automatic Updates: Stay up-to-date with the latest features
  • Secure Authentication: Protect your whitelist with robust authentication

πŸ–ΌοΈ Screenshots

Visit the screenshots directory to see the application in action:

πŸš€ Installation

Prerequisites

  • NodeJS (v14 or higher recommended)
  • npm (v6 or higher recommended)
  • MongoDB (v4.4 or higher recommended)
  • PM2 (Optional, for process management)

Setup Instructions

  1. Download and Extract

    # Download the latest release
    wget https://github.com/fantinodavide/Squad_Whitelister/releases/latest/download/release.zip
    
    # Extract the files
    unzip release.zip
  2. Initial Configuration

    # Start the server for the first time
    node server

    The application will automatically stop to create the configuration file.

  3. Configure the Application Edit the generated conf.json file according to your needs. See the Configuration Documentation for detailed information about all available options.

  4. Start the Server

    # Using PM2 (recommended for production)
    pm2 start server.js
    
    # Without PM2, with auto-restart
    node server --self-pm

Docker Installation

You can also run Whitelister using Docker:

# Pull and run using docker-compose
docker-compose up -d

πŸ”§ Configuration

For a complete reference of all configuration options, please see the Configuration Documentation.

SSL Certificate Setup

To use a custom SSL certificate:

  1. Place your certificate.key file in the certificates folder
  2. Place your certificate.crt file in the certificates folder

Process Management

If you're not using PM2, add the --self-pm argument to enable automatic restarts:

node server --self-pm

Game Server Integration

To link Whitelister to your game server's RemoteAdminListHosts.cfg:

  • Full whitelist output: /wl (e.g., https://your-domain.com/wl)
  • Clan-specific whitelist: /wl/{clan_code} (e.g., https://your-domain.com/wl/1a2b3c4d)

Environment Variables

Variable Description Example
MONGODB_CONNECTION_STRING MongoDB connection string mongodb://user:password@host:port/database
HIDDEN_CONFIG_TABS Hide specific config tabs web_server;database
HTTP_SERVER_DISABLED Disable HTTP server true
HTTPS_SERVER_DISABLED Disable HTTPS server true
HTTPS_PORT Override HTTPS port 8443

πŸ› οΈ Troubleshooting

Common Issues

  • Database Connection Errors: Ensure MongoDB is running and accessible
  • Port Conflicts: Check if the configured ports are already in use
  • SSL Certificate Issues: Verify certificate files are correctly formatted

Logs

Check the application logs for detailed error information:

# If using PM2
pm2 logs server

# If using standard Node
check the console output or application log files

Vulnerability Hunters

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“„ License

This project is licensed under the terms found in the LICENSE file.

πŸ“‹ Configuration Documentation

For detailed information about all available configuration options, please refer to the Configuration Documentation.

The configuration file (conf.json) is automatically generated when you first run the application and includes all necessary settings with default values. You can customize these settings according to your needs.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors