v1.15.6

Summary

This release confiscates a player's inventory when they are jailed and lets them claim or discard it after release, turns the built-in weather system on by default, and improves chat attachments. It also stops large inventory-image CDN uploads from hitting the IPC timeout.

What's New

Features

  • Jail inventory confiscation — when commands.jail.inventory_confiscation is true (the new default), jailed players have their items stored on the sentence and cleared. After release they get a claim overlay (Claim or Discard). /jailclaim reopens it. Ending a sentence keeps the jail row until items are claimed or discarded.
  • Built-in weather is enabled by default (weather.enabled). Personal weather, sync, blackout, and freeze are applied with net events instead of player state bags. Client exports: weather:get, weather:toggleSync, weather:toggleBlackout, weather:toggleFreeze, weather:setWeather.
  • Chat attachments are uploaded from the panel before send. The server only accepts http/https URLs (raw/base64 payloads are rejected). Right-click an attachment to copy its URL.

Bug Fixes

  • Inventory item-image CDN uploads no longer wait on a single IPC reply for the whole HTTP batch, which previously logged IPC timeout: cdn:uploadInventory on large inventories. The child ACKs after listing files, uploads in the background, scans only the images subdirectory, and always clears the upload lock.
  • Successful chat sends now replace the optimistic message instead of leaving the local copy unchanged.

File Changes

⚙️ Configuration & Bridge Files

These files are not encrypted. Review the changes below — you may need to manually apply updates to your server's config files.

config/config.json

   "weather": {
-    "enabled": false,
+    "enabled": true,
     "__comment__": "Use luxu's built-in weather system"
   },
+    "jailclaim": {
+      "enabled": true,
+      "name": "jailclaim",
+      "description": "Claim confiscated items after jail"
+    },
     "jail": {
       "enabled": true,
       "name": "jail",
       "description": "Jail a player",
+      "inventory_confiscation": true,
+      "_comment_inventory_confiscation": "When true, jailed players have their inventory stored on the sentence and removed until they claim or discard it after release.",
       "params": [

config/commands/sv_commands.lua

     end)
 end

+if commands.jailclaim and commands.jailclaim.enabled then
+    Luxu.addCommand(commands.jailclaim.name, {
+        help = commands.jailclaim.description,
+        restricted = false,
+    }, function(src)
+        if not Config.jail or not Config.jail.enabled then return end
+        if not commands.jail or not commands.jail.inventory_confiscation then
+            Luxu.notifyPlayer(src, {
+                title = Locales.error,
+                description = Locales.no_confiscated_items_to_claim,
+                type = "error",
+                duration = 4000
+            })
+            return
+        end
+
+        exports[GetCurrentResourceName()]:promptJailInventoryClaim(src, true)
+    end)
+end
+
 if commands.jail and commands.jail.enabled then

sql/install.sql

   `remaining_ms` bigint(20) unsigned NOT NULL DEFAULT 0,
   `expires_at` datetime NOT NULL,
   `created_at` datetime NOT NULL DEFAULT current_timestamp(),
+  `confiscated_items` longtext DEFAULT NULL,
+  `pending_claim` tinyint(1) NOT NULL DEFAULT 0,
   PRIMARY KEY (`id`),

fxmanifest.lua

 author 'luxu-gg'
 description 'Admin menu for FiveM'
-version '1.15.5'
+version '1.15.6'

 dependencies {
     'oxmysql',

locales/en.json

{
  "cannot_claim_items_while_jailed": "You cannot claim items while jailed",
  "claim": "Claim",
  "claim_confiscated_items": "Claim confiscated items",
  "confirm_discard_items": "Confirm discard items",
  "confiscated_items_claimed": "Your confiscated items have been returned",
  "confiscated_items_discarded": "Your confiscated items have been discarded",
  "discard": "Discard",
  "failed_to_return_confiscated_items": "Failed to return some confiscated items. Use {command} to try again",
  "jail_sentence_complete": "Jail Sentence Complete",
  "no_confiscated_items_to_claim": "You have no confiscated items to claim"
}

Full list of files changed

Change File
Modified bridge/server/weather.lua
Modified client/modules/nui.lua
Modified client/modules/weather.lua
Modified config/commands/sv_commands.lua
Modified config/config.json
Modified fxmanifest.lua
Modified server/modules/jail.lua
Modified sql/install.sql
Modified web/
Modified server/index.js