Documentation / Getting started

Keep the original. Ship what is next.

Your first protected Lua or Luau script, step by step. Start with source you own, then build, configure access and test the generated loadstring.

01 / Your workspace

Give your script a home.

Create a vodka account or sign in. The creator workspace is free to use. Open New script, name your script and create it.

Bring your original Lua or Luau source. If you are moving from another service, use a copy you control rather than its generated loader or already-obfuscated output.

02 / Original first

Save something worth keeping.

Paste or upload your source in the script editor. Use diagnostics to check syntax and save a draft as you work. Drafts are separate from the published artifact.

Originals and drafts are stored privately with application-level encryption. You can read your own originals; authorized administrators can inspect them for support and moderation, with audited access. They are not included in public Discovery listings.

Small Luau example / use only in an environment you control

local Players = game:GetService("Players")
local player = Players.LocalPlayer

local function welcome(name: string)
  print("Welcome back, " .. name)
end

welcome(player.DisplayName)

03 / Build and validate

Make the protected release.

Start a protection build from the editor and inspect its result. The platform applies its protection pipeline automatically, then parses and compiler-checks the output before publication.

If a build fails or is cancelled, your previous working release remains available. Fix the reported source issue and build again. Compiler validation checks the artifact; it does not prove every possible runtime behavior.

Read about the VM, transformations and native fallback →

04 / Keys and tasks

Choose how access works.

Open the script's task and key settings. Arrange supported acquisition steps, configure available timers and captcha, and choose free-key lifetimes. Review the player-facing flow before sharing it.

Community link visits record a visit; they do not prove group membership. Site-issued player premium skips acquisition tasks across active scripts. It does not bypass disabled scripts, revoked access or rate limits.

05 / Put it to work

Test the address you will share.

After a successful build is published, copy the generated loadstring from your workspace. Use the real address supplied there rather than typing one from a documentation example.

  1. Run your loader in the supported environment you intend to use.
  2. Complete your configured key flow and check that a valid key allows access.
  3. Check expiry or revocation behavior with a separate test key.
  4. Publish a small update and confirm the same vodka delivery address serves the new build.

A working published script can appear in Discovery. Review its listing and visibility controls if you want it unlisted. Public listings do not include original source.

06 / See what happened

Know what the numbers mean.

Authorized deliveries count successful protected-payload responses. Reported executions are best-effort client reports of a start; they do not prove the script completed successfully.

Player and place identities supplied by the runtime are self-reported. Your activity views distinguish those reports from server-observed delivery and access events.

Keep your own source backup and review the privacy and retention details before publishing sensitive work.

Further reading

Find your next step.

Keep building

Your next release starts here.

Bring your original source. Make the workspace your own.

Get started
vodka / Product notesUpdated