Installation Guide
Installation guide for server owners and administrators. No database setup required — weapon meta overrides are persisted in data/weapon_meta_state.json and native recoil configurations are persisted in data/native_recoil_state.json.
Prerequisites
Section titled “Prerequisites”- ox_lib — Installed and started before this resource
- QBCore / QBX / ESX / Standalone — One framework must be present on your server
- Resource files — Downloaded from portal.cfx.re
Installation Steps
Section titled “Installation Steps”1. Download and Place Resources
Section titled “1. Download and Place Resources”Place all three resources in your server’s resources/ directory:
server-data/resources/[weaponmeta]/ ├── ars_weaponmeta/ ├── ars_weaponmeta_assets/ └── ars_components_assets/2. Configure Filesystem Permissions
Section titled “2. Configure Filesystem Permissions”Add these lines to your server.cfg:
add_ace resource.ars_weaponmeta command allowadd_filesystem_permission ars_weaponmeta write ars_weaponmeta_assetsadd_filesystem_permission ars_weaponmeta write ars_components_assetsadd_ace resource.ars_weaponmeta command.add_ace allowImportant: These permissions are mandatory. Without them, saving will fail.
3. Configure Framework
Section titled “3. Configure Framework”Open ars_weaponmeta/config.lua and set Config.Framework to match your server:
Config.Framework = 'qb' -- QBCoreConfig.Framework = 'qbx' -- QBXConfig.Framework = 'esx' -- ESXConfig.Framework = 'standalone' -- No framework4. Set Admin Permissions
Section titled “4. Set Admin Permissions”By default, only accounts with ACE groups admin or god can use the editor. Adjust Config.AdminPermissions to match your server’s admin groups.
Config.AdminPermissions = { Permissions = { 'admin', 'god' }, License = { -- Optional: license identifier whitelist }}5. Add Resources to Server Config
Section titled “5. Add Resources to Server Config”Add these lines at the end of your server.cfg:
ensure ars_weaponmeta_assetsensure ars_components_assetsensure ars_weaponmetaNote:
ox_libmust be started somewhere in yourserver.cfgbefore these resources.
6. (Optional) Configure AI Assistant
Section titled “6. (Optional) Configure AI Assistant”The built-in AI assistant requires an OpenAI-compatible chat completion API endpoint.
Add these convars to your server.cfg:
set ars_weaponmeta:ai_key "<your-api-key>"set ars_weaponmeta:ai_model "<model-name>"set ars_weaponmeta:ai_url "<api-endpoint>"Supported providers:
| Provider | ai_url |
ai_model examples |
Notes |
|---|---|---|---|
| Groq | https://api.groq.com/openai/v1/chat/completions |
llama-3.3-70b-versatile, llama-3.1-8b-instant |
Free tier: 30 req/min; fastest inference |
| OpenRouter | https://openrouter.ai/api/v1/chat/completions |
openrouter/free, meta-llama/llama-3.3-70b-instruct |
300+ models; free tier available |
| Local/other | Your custom endpoint | Any OpenAI-compatible model ID | Must support /chat/completions |
Note: The AI runs entirely server-side — keys are never sent to clients.
7. (Optional) Configure Add-on Component Write-Back
Section titled “7. (Optional) Configure Add-on Component Write-Back”By default, Config.OverwriteAddonComponentSource is false, meaning add-on component edits generate override files inside ars_components_assets. If set to true, edits are written directly back to the source resource’s original .meta file.
When enabled, you must add filesystem permissions for each add-on resource that contains weapon components. The resource prints the required add_filesystem_permission lines on startup.
8. Start the Server
Section titled “8. Start the Server”Start or restart your server. Look for [ars_weaponmeta] Ready in the console.
Verification
Section titled “Verification”- Console output — Look for
[ars_weaponmeta] Ready. - Run
/weaponmetaas an admin in-game. The NUI panel should open without a “No permission” error. - Click Scan (or run
/weaponmeta_scanfrom server console) and verify weapons populate the list. - Edit a weapon stat — Change
DamageorTimeBetweenShots, clickSave, then test the weapon in-game. - Test Native Recoil — Select a weapon, switch to the Recoil tab, toggle its mode to Native, adjust the global baseline
RecoilShakeAmplitude, and check that the shooting behavior applies in-game and mirrors the canvas-based spray pattern visualizer.
Updating
Section titled “Updating”- Replace the resource files with the new version.
- Compare the new
config.luawith your customized version and merge any new options. - Restart the server.
Troubleshooting
Section titled “Troubleshooting”“No permission to use this” when opening UI
Section titled ““No permission to use this” when opening UI”- Ensure your account has an ACE group listed in
Config.AdminPermissions.Permissions - Verify
Config.Frameworkmatches your server’s framework - Restart the resource after changing
config.lua
Weapons list is empty or incomplete
Section titled “Weapons list is empty or incomplete”- Run
/weaponmeta_scanfrom the server console to force a full scan - Ensure your framework resources are started before this resource
- If using a custom weapon mod, verify it includes
.metafiles
Save fails or shows filesystem error
Section titled “Save fails or shows filesystem error”- Verify the
add_ace/add_filesystem_permissionlines inserver.cfgare present - Check that
ars_weaponmeta_assetsis running - If using
OverwriteAddonComponentSource, ensure filesystem permissions are set for the add-on resource
AI assistant returns errors
Section titled “AI assistant returns errors”- Confirm
ars_weaponmeta:ai_key,ars_weaponmeta:ai_model, andars_weaponmeta:ai_urlconvars are set inserver.cfg - Check that the API key is valid and has quota remaining
Weapon changes do not apply in-game
Section titled “Weapon changes do not apply in-game”- Confirm the console shows a resource restart message after saving (for Meta mode meta-XML files)
- If changes seem to revert after a full server restart, check write permissions on the resource folder
- For Native Recoil mode, verify changes are saved to the server and synchronized (Native mode does not trigger a resource restart on save because values are updated dynamically at runtime)
Native recoil overrides are not resolving
Section titled “Native recoil overrides are not resolving”- Ensure
data/native_recoil_state.jsonexists in yourdata/folder and is writable by the resource - Verify
Config.Frameworkmatches your actual running framework - Enable
Config.Debugto inspect job, gang, and identifier runtime matching in your server logs
Note: AI convars (
set ars_weaponmeta:ai_*) can go anywhere inserver.cfg.
Note: This guide is written by a third party. If you find any incorrect or outdated information, please contact us on Discord so we can update it for you.