About RustAI
RustAI brings intelligent AI-powered chat responses to your Rust server. It answers player questions, remembers previous conversations, and enhances player engagement using OpenAI's language models.
Features
Natural Language Responses - Using OpenAI or local models
Conversation Memory - Remembers interactions with players
Player Awareness - References past player conversations
Custom Server Info - Shares your server's rules and settings
Highly Configurable - Customize personality, response style & more
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 API key in config
Commands:
/switchmodel - Toggle between OpenAI and local models (admin)
/togglecensor - Toggle between censored and uncensored response (admin)
/bot - Toggles receiving the bot responses (player)
Permissions
rustai.use - Allow using the bot
rustai.switchmodel - Access admin commands
rustai.toggle - Allow muting/unmuting the bot
Example config:
{ "OpenAIApiURL": "https://api.openai.com/v1/chat/completions", "TextGenerationApiUrl": "http://0.0.0.0:5000/v1/chat/completions", "ActivationKeywords": [ "!bot", "!admin" ], "UserCooldownInSeconds": 60.0, "GlobalCooldownInSeconds": 10.0, "SystemPrompt": "You are a helpful assistant for a Rust game server. Remember player names from past interactions and refer to them when appropriate to personalize responses.", "ModelType": "openai", "OpenAI_API_Key": "your openai api key here", "ModelName": "gpt-4o-mini", "MaxTokens": 100, "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": "1.5x", "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, insults, 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": [ "doxxing", "dangerous illegal activities" ], "ConversationMemorySize": 5 }