Features

ServerAssistantAI is packed with many features designed to enhance player support, engagement, and overall experience on your Minecraft and discord server.

Let's take an in-depth look at the key features offered by ServerAssistantAI:

  1. Seamless Dual-Platform Integration

    • Minecraft Chat Integration: ServerAssistantAI seamlessly integrates with your server's in-game chat. Players can communicate with the AI assistant through Minecraft's chat interface, making it convenient to seek help or information without disrupting gameplay. In-game, players can ask questions in the following ways:

      • Asking questions directly in the public chat will work as long as the message meets the minimum_words threshold requirements and related chunks are found in the files within the documents/ directory or if the question is Minecraft-related.

      • Forcing the bot to reply by including the AI's full name (specified in the bot_name field) within the sentence.

      • Asking questions privately using the /serverassistantai ask (question) command (/ai alias can also be used)

      • Engaging in a continuous private conversation with the AI using the /serverassistantai chat command with context across multiple messages. The conversation continues until the player ends it or reaches the daily question limit.

    • Discord Integration: In addition to Minecraft, ServerAssistantAI also seamlessly integrates with your server's Discord using JDA 5 (Java Discord API), allowing players to interact with the AI assistant. It operates as a fully standalone bot without requiring additional plugins. Players can ask questions, seek information, or request assistance, and the AI will provide instant, accurate, and context-aware responses. On Discord, players can ask questions in the following ways:

      • Asking in a designated channel (specified in the channel_id field) where every message sent will be responded to as long as it meets the minimum_words threshold requirements.

      • Asking in channels specified within the question_detection_channels, where the AI will only respond if a message is detected to be a question (when question detection is enabled).

      • Mentioning the bot in any channel where it has the necessary permissions as long as it meets the minimum_words threshold requirements.

      • Right-clicking on any message, selecting 'Apps', and choosing the "Ask AI" app. This will make the AI respond to that specific message, even if it's not the user's own message. By default, only server owners have access to this app. To give others access, go to Discord server settings > Integrations > Your bot > and choose which roles should have access to use the "Ask AI" app.

  2. Diverse AI Provider & Model Support (Free & Paid Options) ServerAssistantAI offers three different ways to load AI providers, allowing server owners to choose from a wide range of options to best suit their needs:

    • Built-in Providers: ServerAssistantAI comes with two built-in chat model providers, Cohere and OpenAI, which can be easily configured and used out of the box. Cohere offers free-to-use language models with enterprise-grade performance and scalability, while OpenAI provides state-of-the-art models like GPT-4o and GPT-4, known for their high-quality responses.

    • OpenAI Endpoint Compatible Providers (OpenAI Variant): This method is divided into two sections:

      1. Pre-configured providers: Many providers like Groq, PerplexityAI, TogetherAI, etc., are already built-in. To use these, users need to add the provider name and model name in the config, then reload the plugin. This will generate a new field in the credentials.yml file for the provider. Users can then fill out the credential and reload again to apply.

      2. Custom base URL: For providers like LM Studio, LocalAI, Ollama, or any other provider that supports the OpenAI API format, users can change the base URL to another endpoint URL in the base_url field and set the provider to 'openai-variant' in the config.yml file. For example:

        chat_model:
          discord:
            base_url: 'https://api.groq.com/openai/v1'
            provider: 'openai-variant'
            model: 'llama-3.1-70b-versatile'
    • AI Provider Addons: Server owners can further expand ServerAssistantAI's AI capabilities by downloading and installing AI Provider addons. These addons integrate additional language models and services, such as Anthropic's Claude 3.0 and HuggingFace, which supports thousands of open-source models. AI Provider addons are automatically registered when the plugin starts up. This allows for even more advanced and specialized AI assistance tailored to the server's specific needs.

  3. Customizable AI Persona

    • Persona Configuration: ServerAssistantAI enables server owners to customize the AI assistant's persona and behavior through the prompt-header.txt files located in the Discord and Minecraft directories. These files contain instructions and guidelines that shape the AI's tone, knowledge base, and interaction style, ensuring a consistent and appropriate experience for players.

    • Interaction Guidelines: The prompt-header.txt files also include interaction guidelines that define how the AI should handle sensitive or inappropriate questions, maintain a desired level of formality or casualness, adhere to server rules, and manage response length. This allows server owners to tailor the AI's behavior to their community's specific needs and preferences.

  4. Intelligent Question Detection

    • Simple and Advanced Modes: Choose between simple question detection using keyword matching and regex patterns, or download our free advanced question detection addon for improved accuracy and reduced false positives/negatives. The advanced question detection model can be tested on our online interface here.

    • Customizable Detection: When using simple mode, server owners can fine-tune the question detection system by adjusting settings such as interpersonal keyword regex patterns. This helps the AI detect when a message in the chat is directed at another player rather than a question for the AI. Custom regex patterns can also be added no matter which mode is being used.

    • Advanced Question Detection: Our addon for the advanced question detection system accurately identifies and classifies player questions. Please note that the advanced question detection model was trained only in English, the addon may not be able to correctly identify questions in other languages, but multilingual support is planned.

    • Minecraft Chat Support: ServerAssistantAI's question detection system for Minecraft works seamlessly in the public chat to provide accurate, context-aware responses based on the information in the documents/ directory and its Minecraft knowledge.

    • Discord Channel, Category, Forum, and Thread Support: ServerAssistantAI's question detection system for Discord works seamlessly with individual channels or forums, as well as entire categories, along with threads within these channels, forums, or categories to provide accurate, context-aware responses based on the information in the documents/ directory and its Minecraft knowledge.

  5. Context Awareness

    • Multi-Document Knowledge Base: The AI assistant generates responses based on the information provided in the files within the documents/ directory to generate context-aware responses. This directory supports various file formats including .txt, .md, .pdf, .docx, .pptx, and .xlsx. Server owners can easily update and expand on these files to include relevant details about the server, such as rules, features, and command usage, enabling the AI to provide accurate and up-to-date information to players.

    • Embedding-Based Retrieval: ServerAssistantAI uses advanced embedding techniques to efficiently retrieve the most relevant information from the documents, enabling quick and precise responses to player questions. The plugin checks cached embeddings generated from the content in the documents/ directory to find relevant information. By default, a free embedding model from Cohere is used, however, server owners can use embedding models from other services like OpenAI by configuring the embedding_model section in the config.yml file.

    • Configurable Relevance Thresholds: Customize the max_results and min_score settings in the config.yml file to control the number of relevant embedding chunks included in the AI's context and the minimum relevance score required for a chunk to be considered related.

  6. Response Customization

    • Public and Private Responses: Server owners can configure ServerAssistantAI to send responses either publicly in the chat, visible to all players, or privately to the individual player who asked the question. This flexibility allows for a balance between public knowledge sharing and personal assistance, depending on the nature of the inquiry and the server's preferences.

    • Continuous Chat Mode: Players can engage in a continuous private conversation with the AI using the /serverassistantai chat command in Minecraft. This feature allows for a more natural and context-aware interaction since the AI maintains the conversation context across multiple messages.

    • Response Toggling: Players can use the /serverassistantai toggle command in-game or /ai toggle command on Discord to activate or deactivate the AI's automatic chat responses to their questions.

    • Minecraft Message Formatting: ServerAssistantAI supports rich text formatting using MiniMessage, enabling server owners to customize the appearance of the AI's responses in Minecraft chat. This includes options for text color, style, and even gradient effects, ensuring that the AI's messages are visually appealing and consistent with the server's branding.

    • Discord Message Formatting: For Discord responses, ServerAssistantAI offers customizable formatting that supports both plain text and embeds, allowing for visually rich and informative responses. Server owners can use our embed creator to design custom embed formats that align with their Discord server's aesthetic.

    • JSON Mode: ServerAssistantAI offers an option to receive AI responses in JSON format. This feature helps the AI stay on topic and not include irrelevant or unnecessary information by instructing the bot to respond directly in JSON format for more concise and focused responses.

    • Ignore Question Handling: When the bot isn't forced to answer, it adds a customizable statement (set in ignore_question) to the prompt for handling potentially irrelevant questions.

    • Ignore Keyword: If the AI's response includes the ignore_keyword, the response will not be sent to the player or Discord channel.

    • Skip Keyword Functionality: Users with roles specified in skip_keyword_roles can use the skip_keyword to prevent the bot from responding to specific messages.

    • Message History: The max_history setting determines the number of previous messages in the channel that will be sent along with the question to provide further context for the conversation.

    • Configurable Response Sounds: Play customizable sounds when the AI starts processing a question and when players receive AI responses in-game.

    • Replying Status Animation: Configure the animation displayed when the AI is replying to a question in-game. Supported options include TITLE, SUBTITLE, and BOSSBAR.

  7. Limits and Role Management

    • Configurable Daily Limits: ServerAssistantAI allows server owners to set daily question limits for both Minecraft and Discord users. These limits help manage AI usage efficiently and prevent abuse.

    • Global Limits: In addition to individual user limits, ServerAssistantAI supports global daily question limits for both Minecraft and Discord. These limits can help manage the overall AI usage efficiently.

    • Multiple User Groups: The plugin supports defining multiple user groups with different daily limits. In-game users can be assigned to a specific group using the permission serverassistantai.group.<group>, while Discord users can be assigned to a group using either the role ID or role name in the config.

    • Bypass Permissions: Certain roles or permissions can be configured to bypass the daily limits, allowing trusted users or staff members to have unlimited access to the AI assistant.

    • Admin Roles: Designate admin roles that can manage the bot, check usage statistics, and reset daily limits.

    • Minimum Word Limit: Set a minimum word limit for questions asked by players in both Minecraft and Discord. Questions shorter than this limit will not be processed by the AI.

    • Maximum Question Length: Set a maximum character limit for questions asked by players in both Minecraft and Discord. Questions exceeding this limit will not be processed by the AI.

  8. Logging and Moderation

    • Interaction Logging: ServerAssistantAI keeps detailed logs of all player interactions with the AI assistant in-game, including the questions asked and the responses provided. These logs are sent to a designated Discord channel, allowing server staff to monitor AI usage, identify potential issues, and ensure a safe and appropriate environment for all players.

    • Discord Webhook Integration: In addition to channel-based logging, ServerAssistantAI supports sending interaction messages via Discord webhooks. This option provides an alternative method for tracking player AI interactions. When enabled, this feature allows AI interactions to be sent to Discord without the need for a Discord bot.

  9. Performance Optimization

    • Asynchronous Performance: ServerAssistantAI is designed to handle AI-related tasks asynchronously, minimizing the impact on server performance.

    • Caching Mechanisms: ServerAssistantAI caches (stores) frequently accessed data like embeddings, which reduces the need for repetitive API calls, minimizing costs and improving response times.

  10. PlaceholderAPI Integration

    • Personalized Responses: By integrating with PlaceholderAPI, ServerAssistantAI can generate personalized responses that incorporate dynamic player-specific information. Placeholders such as player username, rank, playtime, and other data from various other plugins can be included in the AI's responses.

  11. Configurability

    • Extensive Configuration Options: ServerAssistantAI offers a wide range of configuration options through its config.yml file, allowing server owners to customize various aspects of the AI assistant's behavior, appearance, and performance.

  12. Response Filtering

    • Exclude Elements: ServerAssistantAI allows you to exclude specific elements from the AI's responses and the conversation history. By adding entries to the response_filtering.exclude list in the config.yml file, you can remove unwanted content from the AI's outputs. To exclude elements from the conversation history, prefix the entry with "history:".

    • Stop Words: You can define a list of stop words in the response_filtering.stop section of the config.yml file. If any of these words are encountered in the AI's response, the response will be truncated at that point, preventing the AI from generating content beyond the stop word.

  13. Splitter Configuration

    • Max Segment Length: ServerAssistantAI uses a splitter to break down large documents into smaller chunks for processing. The splitter.max_segment setting in the config.yml file determines the maximum number of characters per chunk.

    • Max Overlap: The splitter.max_overlap setting allows you to control the maximum number of overlapping characters between chunks. By default, it is set to 0 for no overlap. Only full sentences are considered for the overlap to make sure that the chunks maintain coherence and readability.

  14. Language Support

    • Multiple Language Support: Although ServerAssistantAI primarily supports English language interactions, it can be extended to support other languages by leveraging language models from OpenAI, Cohere, and more.

  15. Addons and ServerAssistantAI API

    • Addons: ServerAssistantAI supports a wide range of add-ons like advanced question detection and more AI service options, offering additional features and enhancements to extend the capabilities of ServerAssistantAI.

    • API for Developers: ServerAssistantAI provides a powerful API that allows developers to integrate the AI assistant's functionality into their own plugins or applications. This opens up possibilities for custom addons, advanced integrations, and the development of additional features that enhance the capabilities of ServerAssistantAI.

  16. Additional Features

    • Helpful Information Display: Option to show additional context about the AI's response process, with detailed information available for both Minecraft and Discord.

    • Multi-Channel Support: Configure specific Discord channels for question detection and general bot interactions.

    • Customizable Bot Status: Set a custom activity status for your Discord bot to enhance its presence in your server.

These features collectively make ServerAssistantAI a comprehensive and powerful tool for enhancing player support, engagement, and overall experience on Minecraft servers.