/// PIMPMYRUST PLUGIN
AI Translation Pro
Settings guide for this version of AI Translation Pro. Check the plugin page before using it on your server.
Prepare your file
- Check the installed version
This guide describes AI Translation Pro 1.1.2. Use the same version in the configurator.
- Import your configuration
Open the configurator and import your current JSON. For a new installation, you can start from the provided example.
- Edit and download
Adjust the settings, fix reported errors, and download the JSON. Keep a copy of your old file before replacing it.
Your configuration is not saved on the site. Keep the exported file; you can import it again later.
Settings for this version
General 1
- OpenAI API token
- Text · required
Authenticate external translation requests with your own OpenAI API token. Keep it private; an empty token cannot authorize provider requests.
JSON path
OpenAIToken
Opt-in global chat 1
- Enable chat translation
- On / off · required
Allow eligible opted-in global chat to enter the translation route. Turning it off disables chat translation, not language-file commands.
JSON path
ChatConfiguration → Enabled
Language files 2
- Enable file translation
- On / off · required
Allow authorized single-plugin and bounded bulk file translation. Turning it off disables this file route, not chat translation.
JSON path
LangFilesConfiguration → Enabled - Legacy request delay (unused)
- Number · required
Retained for older configurations; it does not pace Pro 1.1.2 requests. Shared Limits control queue, concurrency and rate.
JSON path
LangFilesConfiguration → TimeBetweenRequestsInSecondsMinimum : 0.1 · Maximum : 60
Local request limits 12
- Maximum waiting requests
- Whole number · required
Bound the number of waiting file and chat requests. New work is rejected when the shared queue is full.
JSON path
Limits → MaxQueuedMinimum : 1 · Maximum : 256
- Maximum simultaneous requests
- Whole number · required
Bound the number of provider requests in flight for shared file and chat work.
JSON path
Limits → MaxConcurrentMinimum : 1 · Maximum : 8
- Requests per minute
- Whole number · required
Limit locally admitted provider requests per minute across file and chat translation.
JSON path
Limits → MaxRequestsPerMinuteMinimum : 1 · Maximum : 300
- Requests per day
- Whole number · required
Limit locally admitted provider requests per day across file and chat translation. Monitor provider usage separately.
JSON path
Limits → MaxRequestsPerDayMinimum : 1 · Maximum : 20000
- Daily local token budget
- Whole number · required
Limit daily local token reservations for file and chat requests. This estimate is not a currency billing cap or a provider account limit.
JSON path
Limits → DailyTokenBudgetMinimum : 1000 · Maximum : 100000000
- Temporary-error retries
- Whole number · required
Allow this many retries after eligible temporary provider errors. Use 0 to disable retries.
JSON path
Limits → MaxRetriesMinimum : 0 · Maximum : 3
- Language-file character limit
- Whole number · required
Bound source and translated JSON language files. Oversized English input prevents the request; an oversized translated result is rejected before file replacement.
JSON path
Limits → MaxLanguageFileCharactersMinimum : 1024 · Maximum : 500000
- Provider response character limit
- Whole number · required
Reject provider responses larger than this character limit instead of parsing or applying them.
JSON path
Limits → MaxProviderResponseCharactersMinimum : 1024 · Maximum : 1000000
- Chat input character limit
- Whole number · required
Keep oversized chat messages out of paid translation; affected recipients receive the original message.
JSON path
Limits → MaxChatCharactersMinimum : 32 · Maximum : 2000
- Target locales per chat message
- Whole number · required
Bound the number of paid target-language requests created from one eligible global-chat message.
JSON path
Limits → MaxChatLocalesPerMessageMinimum : 1 · Maximum : 16
- Sender cooldown in seconds
- Whole number · required
Require this minimum delay between paid chat translation triggers from the same sender.
JSON path
Limits → ChatSenderCooldownSecondsMinimum : 1 · Maximum : 60
- Plugins considered per bulk command
- Whole number · required
Bound the loaded-plugin set considered by ait.translateallplugins. This is not a per-minute request limit.
JSON path
Limits → MaxBulkPluginsMinimum : 1 · Maximum : 500
Privacy and player consent 2
- Explicit consent (always enforced)
- On / off · required
Pro 1.1.2 forces this setting to true when normalizing configuration. Setting false does not bypass saved player consent.
JSON path
Privacy → RequireExplicitConsent - Player privacy notice
- Text · required
Set the player-facing notice about external chat processing and /ait.chat on or off. This text does not grant consent.
JSON path
Privacy → PlayerNotice
Chat model settings 4
- OpenAI model
- Text · required
Select the provider model for this translation route. Check its availability and cost with OpenAI before enabling requests.
JSON path
ChatConfiguration → Model → Model - Legacy temperature (unused)
- Number · required
Retained for older configuration files; changing it has no effect on requests in Pro 1.1.2.
JSON path
ChatConfiguration → Model → Temperature - Response token limit
- Whole number · required
Cap the requested completion-token allowance for this route. Too low a limit can produce incomplete responses that the plugin rejects.
JSON path
ChatConfiguration → Model → MaxTokensMinimum : 64 · Maximum : 16384
- Legacy prompt (unused)
- Text · required
Retained for compatibility; current requests use fixed provider instructions, so editing this prompt has no effect.
JSON path
ChatConfiguration → Model → Prompt
File model settings 4
- OpenAI model
- Text · required
Select the provider model for this translation route. Check its availability and cost with OpenAI before enabling requests.
JSON path
LangFilesConfiguration → Model → Model - Legacy temperature (unused)
- Number · required
Retained for older configuration files; changing it has no effect on requests in Pro 1.1.2.
JSON path
LangFilesConfiguration → Model → Temperature - Response token limit
- Whole number · required
Cap the requested completion-token allowance for this route. Too low a limit can produce incomplete responses that the plugin rejects.
JSON path
LangFilesConfiguration → Model → MaxTokensMinimum : 64 · Maximum : 16384
- Legacy prompt (unused)
- Text · required
Retained for compatibility; current requests use fixed provider instructions, so editing this prompt has no effect.
JSON path
LangFilesConfiguration → Model → Prompt
Plugin instructions
AITranslation Pro user guide
AITranslation Pro translates one plugin language file, a bounded set of loaded plugin language files, or eligible global chat for players who explicitly opt in. It supports native global chat and can use BetterChat formatting when that optional plugin is present.
Requirements
- Rust server running Oxide or Carbon.
- The AITranslation Pro 1.1.2 plugin file from the matching product archive.
- Your own OpenAI API token with available provider credit.
- English source language files for file translation.
- BetterChat only if you want its optional formatting route.
The server owner supplies the token and pays any OpenAI charges. Free and Pro are separate, mutually exclusive products; do not install or run both together. Pro takes priority and unloads Free if both files are present.
Installation
- Stop the server or unload an older AITranslation Pro version.
- Remove AITranslation Free if it is installed.
- Place
AITranslationPro.csin the server's plugin directory. - Start or reload the plugin once so its configuration is created.
- Add your OpenAI token to
OpenAITokenin the protected server configuration. - Review the privacy notice, permissions and local limits before enabling translations.
Keep the configuration readable only by trusted server operators. The token is not written to plugin logs.
File translation
Translate one plugin into one or more locales:
aitpro.translateplugin MyPlugin fr deTranslate a bounded set of loaded plugin language files:
ait.translateallplugins fr deFile translation reads the selected English language values, validates plugin names, locales, source JSON and local limits, then queues provider work. Only the selected English values, target languages and provider instructions are sent to OpenAI.
Each complete response must contain the exact expected keys and string values with placeholders preserved. A valid result is staged before replacement. The previous target is retained as <PluginName>.json.aitranslation.bak, with additional transaction recovery material available if replacement fails.
Player chat consent
Player chat remains local until the player explicitly runs:
/ait.chat onThe available choices are:
| Command | Effect |
|---|---|
/ait.chat on | Save explicit consent for eligible global-chat translation. |
/ait.chat off | Save an explicit opt-out. |
/ait.chat status | Display the current stored choice. |
An unknown choice or storage failure is treated as opted out. A failed save is reported without claiming the choice changed. Team and other non-global channels pass through unchanged.
For an eligible global message, the sender and translated recipients must have aitranslationpro.chat.use and saved consent. Pro sends the eligible global-chat text, target language and provider instructions to OpenAI. A failed chat translation delivers the original message to affected recipients.
Commands and permissions
| Command | Authorization |
|---|---|
aitpro.translateplugin <plugin> <locale1> [locale2 ...] | Server console, RCON, Rust admin or aitranslationpro.admin. |
ait.translateplugin <plugin> <locale1> [locale2 ...] | Historical alias with the same authorization. |
ait.translateallplugins <locale1> [locale2 ...] | Server console, RCON, Rust admin or aitranslationpro.admin. |
/ait.chat on|off|status | Public privacy choice. |
| Permission | Purpose |
|---|---|
aitranslationpro.admin | Initiate paid single-plugin or bulk file translation from a trusted non-admin connection. |
aitranslationpro.chat.use | Allow a consenting sender to trigger paid chat work and a consenting recipient to receive translated chat. |
Configuration reference
The tracked 1.1.2 configuration uses gpt-5.6-luna as the default Model for file and chat translation. The model is configurable; verify current OpenAI availability and pricing before enabling requests.
Important local controls include:
| Setting | Default | Effect |
|---|---|---|
Privacy.RequireExplicitConsent | true | Enforced explicit consent for chat translation. |
Limits.MaxQueued | 32 | Maximum waiting file and chat requests. |
Limits.MaxConcurrent | 2 | Maximum in-flight requests. |
Limits.MaxRequestsPerMinute | 30 | Local per-minute request ceiling. |
Limits.MaxRequestsPerDay | 1000 | Local daily request ceiling. |
Limits.DailyTokenBudget | 500000 | Daily local token reservation ceiling. |
Limits.MaxRetries | 2 | Retries for eligible temporary provider errors. |
Limits.MaxBulkPlugins | 100 | Loaded plugins considered by one bulk command. |
Limits.MaxChatCharacters | 500 | Input character ceiling for one chat message. |
Limits.MaxChatLocalesPerMessage | 4 | Maximum paid target-locale fan-out per message. |
Limits.ChatSenderCooldownSeconds | 5 | Minimum delay between paid chat triggers per sender. |
Temperature, Prompt and LangFilesConfiguration.TimeBetweenRequestsInSeconds remain readable for older configurations but are not used to create current requests.
Privacy and diagnostics
Tokens, translated content, player chat, prompts and provider response bodies are not logged. Diagnostics contain operation details, identifiers, locales, counts and bounded error codes.
Malformed, incomplete, refused, oversized or structurally incorrect responses are rejected. Language-file responses must preserve all keys and placeholders. Chat responses must contain the single expected translated field and preserve formatting tokens.
Review the configurable player notice and obtain any local legal or operational approval required before enabling external chat processing.
BetterChat
BetterChat is optional. When it is available, Pro uses its formatting API; otherwise Pro uses the native global-chat route. Dynamic BetterChat hook ordering was not validated on a live server during the recorded final validation, so test the combination on a non-production server before relying on it.
Recovery
Before retrying a failed file replacement:
- Unload AITranslation Pro.
- Inspect the target file, its
.aitranslation.bakcopy and any.aitranslation.rollbackrecovery file. - Restore the known-good copy manually if required.
- Remove unresolved recovery material only after confirming the target is correct.
- Reload Pro and run one small file translation.
The plugin blocks another replacement while unresolved recovery material is present.
Known limitations
- Translation quality and provider availability are outside the plugin's control.
- The operator must monitor OpenAI usage and costs as well as the local limits.
- Chat translation is limited to eligible opted-in global chat.
- BetterChat formatting is optional and its live hook ordering remains unverified.
- A real OpenAI request was not executed during the recorded final validation.
Support
Use the Codefling support section. Include AITranslation Pro version, Oxide or Carbon version, whether BetterChat is loaded, the command or chat route and a redacted error code. Never post the OpenAI token, player chat or language-file contents publicly.
Install the file
After keeping a copy of the previous file, place the exported JSON at this location on your server:
oxide/config/AITranslationPro.jsonFollow the plugin instructions above for dependencies and reloading. Exporting does not connect the site to your server.