Optimiseur de YTD
Dépose un dossier stream ou une série de fichiers .ytd et optimise-les en une fois : limite la taille max des textures, passe le DXT5 opaque en DXT1, répare les chaînes de mips manquantes ou cassées et vois la mémoire gagnée par fichier avant de télécharger. Tout tourne dans ton navigateur.
Cet outil et ses notes sont en anglais pour l'instant.
What the numbers mean
Every streamed resource file says in its header how much memory it needs, split in two: virtual (the structures, small for a .ytd) and physical (the texture pixels, which end up in video memory). The Physicalcolumn is that number, the same one the server reports.
When a resource starts, FXServer checks both numbers for every file in stream/ and prints:
| Size | What FXServer does |
|---|---|
| up to 16 MiB | Nothing, this is where you want every file. |
| over 16 MiB | Prints "Asset ... uses X MiB of physical memory". |
| over 32 MiB | Same warning, in yellow. |
| over 48 MiB | Adds "Oversized assets can and WILL lead to streaming issues (such as models not loading/rendering)". |
| over 64 MiB | Same, in red. |
The warning is not a hard limit, the file still streams. But GTA has a fixed texture budget. When a player is near many heavy assets the game runs out of room and drops things: textures stay blurry, cars and clothes turn invisible, parts of the map do not render ("texture loss"). Smaller dictionaries fix that for everyone, not only for players with weak PCs.
What it changes
- Dropping mip levels. A 2048 texture with a mip chain already holds 1024, 512 and so on. Capping it at 1024 cuts the top level off without touching the rest. Each step saves three quarters of the memory.
- Opaque DXT5 to DXT1. When the alpha channel is fully white, DXT5 wastes half its bytes. The result looks identical.
- Re-encoding only happens when the pixels have to change: uncompressed textures, BC5 normals, DXT3, or a downscale of a texture without mips.
- Missing mips are added below the full size level, which stays as it was.
Name, usage and flags of every texture stay as they were, and the texture count never changes. Textures you untick in the plan are copied over untouched.
Which preset
- Safe for anything players look at up close. Only textures above 2048 shrink.
- Balanced for most servers: colour maps up to 2048, normal and spec maps up to 1024. Normal and spec detail is hard to see at that size.
- Strict for big packs (EUP, clothing, vehicle packs with dozens of cars). Check a few close up shots after.
Keep an eye on emissive and livery textures with text or logos, they suffer first. Add them to the exclude list (for example*_livery* or *_sign_*) if they get too soft.
Put the files back
- All as zip keeps your folder layout, unchanged files included. Extract it over a copy of the resource.
- Restart the resource and look at the server console: the memory warnings for these files should be gone.
- Keep the originals until you checked the result in game.
Files protected by the Cfx asset escrow are encrypted and can not be read. The Copy for Discord report lists what was saved per file, handy for changelogs.
Plus d'outils config & code
Générateur de server.cfg
Crée un server.cfg complet et fonctionnel : hostname, slots, OneSync, endpoints, tags, resources et permissions ACE.
Générateur de fxmanifest.lua
Génère un manifest de resource valide : fx_version, scripts, page NUI, files, lua54 et dépendances.
Éditeur de handling
Règle la masse, la force motrice, l'adhérence et la suspension depuis une interface, puis exporte en handling.meta ou en Lua.
