ClothForge Documentation
ClothForge is a self-hosted FiveM/GTA V clothing manager, isolated 3D catalog renderer and managed add-on clothing sync system. It combines the clothing library, preview workflow, public catalog and server sync tools in one product.
Five-minute install
- Extract ClothForge to a permanent folder.
- Double-click ClothForge.exe.
- Click Start ClothForge. No API key is required to start the local dashboard. Missing first-run dependencies are prepared automatically.
- The dashboard opens. Create or open a server workspace and copy that server's API key.
- Return to the Control Center and paste the API key.
- Browse to your FiveM clothforge_clothing resource folder.
- Click Verify & Save Sync Connection.
- Upload clothing and click Sync to FiveM.
- Optional: open Public Catalog in the Control Center to connect a custom domain.
Runtime requirements
The Control Center checks these components for the normal Windows workflow:
| Requirement | Purpose |
|---|---|
| Windows x64 | Control Center and normal customer workflow |
| Node.js 22.5+ / npm | Dashboard and sync runtime |
| Python 3.11+ | Standalone preview converter |
| NumPy + Pillow | Preview conversion / CPU thumbnail work |
| Pinned rage-cli YMT compiler | Local CPedVariationInfo compilation |
For the normal website/render/sync workflow you do not need Blender, Sollumz, Rust/Cargo, a GTA V installation, a GPU, or an interactive desktop renderer.
Clothing uploads
ClothForge accepts .ydd, .ytd and bulk .zip uploads. The clothing library detects filename metadata such as gender, component and variation, then automatically pairs matching YDD/YTD assets where possible.
- Multiple server workspaces are isolated from one another.
- Clothing/item count is limited by your own storage rather than a hosted plan cap.
- The original uploaded YDD/YTD bytes are stored unchanged.
- Items can be edited, hidden, deleted and tracked through history snapshots.
Preview renderer
The standalone ClothForge converter reads GTA V/FiveM drawable and texture data, generates browser-ready glTF preview assets, extracts texture PNGs and produces CPU-rendered thumbnails.
The browser viewer supports drag-to-rotate, wheel-to-zoom, reset, auto-rotate, fullscreen and texture-variant buttons. A manual GLB fallback can still be attached for special assets or debugging.
Preview state flow: queued → rendering → ready Generated browser assets: .gltf .bin texture .png files thumbnail
Public catalog
Every server workspace can expose a branded public clothing catalog. The catalog supports a server logo, banner, accent color, description, Discord link, website link and FiveM connect link.
Catalog browsing includes search, gender/category/status filters and sorting. Numeric drawable ordering is available so players can browse items in a predictable 1, 2, 3… sequence.
Default local-style route: /catalog/<server-slug>
Custom catalog domain
The recommended public-catalog path uses Cloudflare Tunnel. The custom hostname is intentionally catalog-only so the dashboard/admin interface does not have to be exposed on the same hostname.
- Verify the server API key on the Control Center's Connection page.
- Open Public Catalog.
- Enter the hostname you want to use, such as catalog.example.com.
- In Cloudflare, create a Tunnel/Public Hostname that forwards to http://localhost:3080.
- Choose the Windows connector in Cloudflare and copy its install command/token.
- Paste that value into ClothForge and click Install Tunnel & Connect.
- Run Verify Public URL.
If you already use Caddy, Nginx, a VPS reverse proxy or another tunnel, use Save Domain Only and route that hostname to the local ClothForge website.
FiveM sync
The server dashboard creates the API key used by the Control Center/sync agent. After you select the resource folder and verify the connection, the dashboard can launch a one-shot sync into the configured FiveM resource.
CLOTHFORGE_URL=http://localhost:3080 CLOTHFORGE_API_KEY=cf_your_generated_key CLOTHFORGE_RESOURCE_PATH=C:\\txData\\YourServer.base\\resources\\[clothing]\\clothforge_clothing
The managed collection uses stable local indexes by server, gender and component. Existing later indexes are not shifted simply because an older item is hidden or deleted.
Separate FXServer PC
The recommended arrangement is to run ClothForge and the FXServer resource storage on the same Windows machine. If the FiveM resource is on another PC, run the Control Center on that machine, enter the remote ClothForge URL/API key, choose the local resource path, verify the connection, then use Advanced → Install Background Sync.
Sync verification
The sync system is designed to verify the generated collection before installation. The current workflow includes checks around file hashes, collection identities, component ordering and collision prevention.
- Original YDD/YTD source files are preserved.
- Only missing stream assets are downloaded.
- An existing conflicting YDD/YTD stops the sync instead of being silently overwritten.
- ShopPedApparel metadata is regenerated from the accumulated collection.
- CPedVariationInfo XML is compiled locally to binary YMT metadata.
- Male/female collection identities are checked so they do not collide.
- Cross-resource collection collisions and base freemode YMT overrides are blocked.
- Generated metadata is installed only after verification passes.
Security / public hosting
The easiest first run uses local development login. If you intentionally expose the full ClothForge dashboard to the public internet, harden the deployment before doing so.
- Disable development authentication.
- Configure proper Discord OAuth, a reverse proxy and TLS/HTTPS.
- Keep your environment file private.
- Do not publish a server API key or renderer token.
- Rotate a FiveM server API key immediately if it leaks.
Backups
Back up the complete ClothForge data directory. It contains the data needed to restore the product state, including:
- SQLite database
- Original uploaded YDD/YTD files
- Generated glTF/bin/PNG preview assets
- Generated thumbnails
- Catalog branding images
Troubleshooting
Start with Diagnostics
Open the Control Center's Diagnostics and Logs screens first. The Sync Doctor checks the existing sync path without creating a separate sync implementation.
Connection will not verify
Confirm the selected server workspace's API key, the ClothForge URL and the exact local resource path on the FXServer machine.
A file conflict stops sync
This is intentional. ClothForge avoids overwriting a conflicting existing streamed asset. Resolve the conflicting file/resource rather than forcing an overwrite.
Catalog domain does not open
Verify that the hostname reaches the local ClothForge site through your tunnel or reverse proxy, then use the Control Center's Verify Public URL action.
site-config.js.