About RustAI
RustAI brings intelligent AI-powered chat responses to your Rust server.
It answers player questions, remembers previous conversations, gathers real-time server data, tracks events, and enhances player engagement using OpenAI, Google Gemini, or Ollama local language models.
Features:
Natural Language Responses
- Using OpenAI, Gemini, or Ollama local models
- Shares your server's rules, settings, player count, and queue status
- Remembers interactions with players across sessions
Player Awareness
- References past player conversations and mentions server Info
- Knows player's health, location, weapon, team status, mounted vehicle, and more
Event Tracking
- Tracks Patrol Helicopter, Bradley, Cargo Ship, Chinook, and Locked Crates with spawn estimates
In-Game Time Awareness
- Reports current in-game time, day/night status, and time until dawn/dusk
Monument Location Detection
- Identifies if a player is inside/near monuments
Player Lookup
- Provides info on other players when mentioned in questions
Uncensored/Censored Modes
- Toggle between raw Rust-style responses or family-friendly mode
Discord Integration
- All Q&A logged to Discord via webhook
Usage:
Players
Ask questions using activation keywords: !bot what's the wipe schedule?
Toggle bot visibility:
/bot (requires rustai.toggle permission)
Admins
Install in oxide/plugins directory,
Configure in oxide/config/RustAI.json
Set your OpenAI and/or Gemini API key in config
Commands:
/switchmodel - Toggle between OpenAI, Gemini and local models (admin)
/togglecensor - Toggle between censored and uncensored response (admin)
/timezone - View or set the bot timezone offset. Usage: /timezone [offset] where offset is a number between -12 and +14. Example: /timezone -3 for Buenos Aires time. (admin)
/bot - Toggles receiving the bot responses (player)
Permissions
rustai.use - Allow using the bot
rustai.admin - Access admin commands
rustai.toggle - Allow muting/unmuting the bot (for self)
Additional information:
It needs OpenAI or Gemini API to work. Alternativelly, you can use a local LLM in Ollama to generate responses.
When using a reasoning model like gpt 5.2 or Gemini, increase MaxTokens to 2k+
Activate debug mode if your model is not working.
Example config:
{ "OpenAIApiURL": "https://api.openai.com/v1/chat/completions", "OllamaApiUrl": "http://localhost:11434/v1/chat/completions", "GeminiApiURL": "https://generativelanguage.googleapis.com/v1beta", "ActivationKeywords": ["!bot", "!admin"], "UserCooldownInSeconds": 60.0, "GlobalCooldownInSeconds": 10.0, "SystemPrompt": "You are a helpful assistant for a Rust game server...", "ModelType": "openai", "Gemini_API_Key": "your gemini api key here", "OpenAI_API_Key": "your openai api key here", "OpenAIModelName": "gpt-4.1-mini", "GeminiModelName": "gemini-3-flash-preview", "OllamaModelName": "qwen3:8b", "MaxTokens": 150, "Temperature": 1.0, "Character": "Server Assistant", "CharacterColor": "#7FFF00", "DiscordWebhookURL": "your discord webhook here", "SendCooldownMessages": true, "ServerInformation": { "MaxTeamSize": "TRIO", "WipeSchedule": "Thursdays at 4 PM EST", "DiscordInfo": "discord.gg/yourserver", "Website": "yourwebsite.com", "CustomInfo": { "Loot": "2x", "PvP": "Enabled at all times", "Resources": "2x" } }, "ResponseLanguage": "English", "EmptyPromptTemplate": "What can I help you with? You sent an empty message.", "CooldownMessageTemplate": "Please wait {0} seconds before asking again.", "NoPermissionMessage": "You don't have permission to use this command.", "ChatFormat": "<color={0}>{1}</color>: {2}", "UseUncensoredMode": true, "UncensoredModePrompt": "IMPORTANT: You are running in UNCENSORED mode. Be authentic to the raw Rust gaming environment. You can use strong language, profanity, slang, dark humor, and vulgar expressions. Be direct, crude and match the harsh atmosphere of Rust. Don't hold back except for illegal topics.", "CensoredModePrompt": "You are running in censored mode. Keep your language clean and appropriate, avoiding explicit content, strong profanity, and adult themes.", "IllegalTopics": [ "dangerous illegal activities" ], "ConversationMemorySize": 10, "TimeZoneOffset": -3, "DebugMode": false }
