VintageUTX · MCP server

Your AI now makes textures for Lineage II.

You describe what you want and attach the artwork. The AI calls the server, which hands back the .utx ready for the patch — with the highlight sweeping across the lettering and, if you ask, looping.

What it actually looks like

From request to file, without leaving the chat

The sequence below is what really happens, with measured timings.

mcp.leonardoalves.com.br

Give the THRIVE logo a highlight sweeping across the lettering, looping.

📎thrive-banner.png
THRIVE.utx ready
THRIVE.utx28 framesDXT52,4 MB1,62 s
  1. You type

    in your AI's window, the way you'd write to a person

  2. Attach the art

    PNG, JPG or WebP — whatever you already have

  3. The MCP works

    effect, DXT compression and packing

  4. The .utx arrives

    single-use link, ready for the patch

How long it takes

Measured end to end: effect, compression and packing of the .utx. Not an estimate.

What was builtTime.utx size
Still texture, RGBA80.02 s342 kB
Still texture, DXT50.08 s86 kB
Animated, 12 frames, DXT50.74 s1.0 MB
Animated, 28 frames, DXT51.62 s2.4 MB

The queue runs two builds at a time, one per subscriber — nobody in a loop blocks your request.

Real examples

This is not a mock-up

The three below came out of VintageUTX, over artwork that is already on a live server. They are 24 frames on a loop, each at its real size — what you see is the file, not a demo video. The canvases differ on purpose: the client requires power-of-two sides, it does not require 4:1, and forcing everything onto one canvas would squash the art.

THRIVE

THRIVE

The request

A gold frame with the light running around it, fast, and a highlight sweeping across the lettering. Looping.

512×256 · 24 frames · 2 laps of the frame · “bright” mask on the lettering

L2DRAKE

L2DRAKE

The request

The same gold frame spinning, over the dark green background, without washing it out.

512×256 · 24 frames · 2 laps of the frame · the light doesn't wash the background

SIÓN

SIÓN

The request

An animated gold frame and a highlight on the metal of the typeface.

512×128 · 24 frames · 2 laps of the frame · lights only what was already bright

The frame is drawn INSIDE the artwork — the sides stay powers of two, as the client requires — and the light TRAVELS the perimeter instead of crossing the image in a straight line. That is two whole laps inside the loop (0.6s each), and whole on purpose: half a lap would make the loop jump on every pass. On the lettering the “bright” mask takes over, lighting only what was already bright and leaving the dark background untouched.

What it delivers

With the numbers from what was built in the examples above.

A highlight that lights only the lettering

Three masks: “bright” lights what was already bright (lettering, metal, trim); “alpha” only where the art is opaque; “all” the whole image. Angle, position and width you ask for in words — above, 25° and strength 0.75.

A loop that doesn't jump

The sweep starts and ends OFF the artwork, so the wrap is invisible. 24 frames at 20 fps was used above; 24 to 36 reads smooth. Every frame goes inside the same .utx, with the fps written into the package.

A frame that moves

Four styles: simple, double, L-corners only, and bevelled for a metal read — and the light can run AROUND it, as in the three examples above. Drawn INSIDE, because Lineage requires power-of-two sides: the dimensions never change. You pick the colour, the speed and how many laps fit in the loop.

Real alpha, end to end

Your artwork's alpha channel survives the whole path without being flattened: PNG or TGA in, effect, compression and .utx. Partial transparency — shadow, glow, feathered edge — stays partial inside the game instead of turning into a hard cut-out.

TGA quality, lossless

In RGBA8 the pixel that comes out is the pixel that went in: the same fidelity as a 32-bit TGA, which is how Lineage artwork is usually born. Use it when the art has fine gradients or soft alpha — DXT compresses well, but it is lossy.

DXT1, DXT3, DXT5 and RGBA8

Real compression through Compressonator, with mipmaps. The same still comes out at 342 kB in RGBA8 and 86 kB in DXT5 — four times less in the patch every player downloads. DXT1 without alpha, DXT3 with hard alpha, DXT5 with soft alpha.

It warns you when the client would refuse

A side that isn't a power of two works in RGBA8 and BREAKS in DXT. The server says so in the reply, before you find out from a black texture inside the game.

Encrypted file, single download

It comes out exactly as the client expects, with the package and texture name you asked for. The link works once and the server deletes the file — your artwork isn't kept.

Two plans, no catch

Cancel any time. Access runs to the end of the period you paid for.

15 textures

R$59.90

one-off payment

  • 15 textures, no subscription
  • They don't expire: use them when you need
  • Still or animated
  • 1 authorised AI at a time
Subscribe
Most picked

Unlimited

R$99.90/month
  • As many textures as you need
  • Builds the client's splash screen
  • Queue of 2 simultaneous builds
  • Priority support
Subscribe

Before you ask

Which AI does it work with?
Claude Code, Codex, GPT and others — any model that speaks MCP. It's a remote address you paste into your AI, not a program to install.
Do I need a server or a VPS?
No. The work happens on my server; your machine only sends the request and receives the file.
Does the 15-pack expire?
No. It's a one-off payment and the 15 sit in your account until you use them — it's there to try without subscribing to anything.
What is the splash screen, and why only on unlimited?
It's the image the player sees while the client loads. Its format is fussier than a plain texture — premultiplied alpha in one version, a 255-colour palette with a chroma key in the other, and the client looks for several numbered ones. It's work of a different order, which is why it sits on the monthly plan.
How many textures does an animation count as?
A short animation counts as one. Very long ones, over eight frames, count proportionally — it's real work on the server, and your AI tells you the cost before building.
Can I share the subscription with a friend?
Each plan authorises one AI at a time. Authorising on a second machine disconnects the first — so sharing annoys both of you constantly, by design.
What if a build fails?
It doesn't count. The hold is placed before building and any error releases it — you don't lose a texture to a failure on my side.
Does my artwork stay on your server?
No. The file is deleted after delivery, and the download link works only once.

Stop converting DDS by hand.

Subscribe, paste the address into your AI, and ask for the next texture in plain words.