YTD-Optimizer
Zieh einen Stream-Ordner oder einen Haufen .ytd-Dateien rein und optimier alles in einem Rutsch: größte Texturgröße begrenzen, deckendes DXT5 in DXT1 umwandeln, fehlende oder kaputte Mip-Ketten reparieren und vor dem Download den gesparten Speicher pro Datei sehen. Alles läuft in deinem Browser.
Dieses Tool und seine Hinweise sind vorerst auf Englisch.
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.
Weitere Tools: config & code
server.cfg-Generator
Bau eine komplette, funktionierende server.cfg mit Hostname, Slots, OneSync, Endpoints, Tags, Resources und ACE-Permissions.
fxmanifest.lua-Generator
Erstell ein gültiges Resource-Manifest: fx_version, Scripts, NUI-Seite, Files, lua54 und Dependencies.
Fahrzeug-Handling-Editor
Stell Masse, Antriebskraft, Grip und Federung über eine UI ein und exportier dann handling.meta oder Runtime-Lua.
