Appearance
Lift

Dependencies & License Activation
Everything Lift needs to run, and exactly what happens when you activate it.
Thanks for picking up Lift. We'd rather you know everything up front than find out halfway through setting up, so this page covers the full picture: what your server needs, which plugins are optional, how to get and activate your license key, and what the activation check sends.
If anything here is unclear, come and talk to us on Discord. We're happy to help.
Guides
- All Lift guides
- Installation & License Setup
- Creating & Managing Lifts
- Configuration, Essentials & AFK Protection
Requirements
| Server software | Paper 1.21 or newer. Paper forks such as Purpur and Pufferfish work too. Plain Spigot and CraftBukkit are not supported. |
| Java | Java 21 or newer (Adoptium Temurin is a good free choice) |
| Internet access | Outbound HTTPS (port 443) to api.krapple.studio, needed once at startup for license verification |
That's it. No other plugins, client mods or resource packs are required.
Optional dependencies
You only need these if you want the features they unlock. Lift runs fine without them.
| Dependency | What it adds | Link |
|---|---|---|
| PlaceholderAPI | Lets you use placeholders such as %player_name% in Lift's messages, titles and chat formats | Modrinth · SpigotMC |
| BungeeCord or Velocity proxy | Sends players to other servers on your network, for cross-server teleport regions and server joining | BungeeCord · Velocity |
Using Velocity? Lift talks to the proxy through the standard
BungeeCordplugin-messaging channel. Velocity supports this out of the box, as long asbungee-plugin-message-channel = trueis set invelocity.toml(it is by default).
Your license key
Lift needs a Krapple license key before it will run. Each purchase includes one key.
How to get it
Buy Lift on BuiltByBit.
Join our Discord at discord.gg/krapplestudios.
Open a ticket and include your BuiltByBit username. A purchase screenshot or order number speeds things up.
Once we've confirmed your purchase, we'll send your key in the ticket. It looks like this:
KRP-XXXXX-XXXXX-XXXXX-XXXXX-XXXXXX
Please keep your key private. It's tied to your purchase and to the server you activate it on.
How to activate it
Drop
Lift.jarinto your server'splugins/folder and start the server once. Lift createsplugins/Lift/license.ymland waits for a key. The rest of your server keeps running normally.Open
plugins/Lift/license.ymland paste in your key:yamllicense-key: "KRP-XXXXX-XXXXX-XXXXX-XXXXX-XXXXXX"Restart the server.
Once the key is verified, Lift generates its configuration files (config.yml, lifts.yml, gates.yml, regions.yml and holograms.json) and you're ready to build your first lift with /lift wand.
Other ways to provide the key (handy for panels and containers)
Lift checks these locations in order and uses the first key it finds:
plugins/Lift/license.yml(license-key)plugins/Lift/license.txt(just the key on its own)plugins/Lift/config.yml(license-key)- JVM flag
-Dlift.license=YOUR-KEY - Environment variable
KRAPPLE_LICENSE_KEY=YOUR-KEY
What happens during activation
We think you should know exactly what a paid plugin does over the internet. Here it is in plain terms:
- When: once, each time the server starts. Lift doesn't phone home while your server is running.
- Where: a single HTTPS request to
https://api.krapple.studio. The response is cryptographically signed, and Lift verifies it before it starts. - Downloads: none. Lift never downloads code or files. Everything it needs ships inside the jar.
- If the check fails (invalid key, no internet and so on): Lift disables itself and prints the reason in the console. Your server and your other plugins are not affected. Fix the issue, restart, and Lift starts again.
What the request contains:
- your license key, plus the product name and version
- a random installation ID, stored in
plugins/Lift/.node-id - your server's hostname
- a hardware fingerprint, built from one-way salted hashes of hardware identifiers (machine ID, board, disk, CPU and network adapters). We never send the raw serial numbers or MAC addresses.
- basic environment details: operating system, CPU model and core count, total RAM, Java version, server software, Minecraft version, and whether the server runs in a container or a VM
- a checksum of the
Lift.jarfile, and whether a debugger or Java agent is attached (this is part of our tamper protection)
Like any web request, our server also sees your IP address, which we store only in hashed and encrypted form. We use this data only to verify your license and to stop keys from being shared. We don't sell it or use it for anything else.
Troubleshooting
If activation fails, the console shows a line like VERIFICATION FAILED: <REASON>. Here's what each reason means:
| Reason | What it means | What to do |
|---|---|---|
INVALID | The key wasn't recognised | Check you pasted the whole key, including KRP-, with no extra spaces |
EXPIRED | The license is no longer active | Open a ticket and we'll look into it |
SUSPENDED / REVOKED | The license has been paused or withdrawn | Open a ticket so we can explain and help |
HWID_MISMATCH / IP_MISMATCH | The key is bound to a different machine | Moved hosts? Open a ticket and ask for a reset |
LIMIT | The key is already active on its maximum number of servers | Free up an installation, or open a ticket |
UNREACHABLE | Lift couldn't reach api.krapple.studio | Allow outbound HTTPS (port 443) in your host's firewall or panel, then restart |
Moving to a new host or machine? That's completely normal. Open a ticket and we'll reset your license binding.
Support
- Discord: discord.gg/krapplestudios. Open a ticket for license keys, resets and setup help.
- When asking for help, please include your server software and version, your Java version, and the relevant console lines. It helps us sort things out much faster.
© 2026 Krapple Studios · Lift is a paid resource. This repository contains documentation only.