Panda V3 Library

Panda V3 is a Roblox Lua internal library designed to enable secure service access via a key-based authentication system. This guide will help you understand how to use Panda V3 for your projects, inc

Here's the revised documentation:

  • __PELINDA_SERVICE__: Your unique service name registered with Panda Development.

  • __PELINDA_SILENTMODE__: If true, Pelinda will not output its own logs or UI elements.

  • __PELINDA_SECURITY_LEVEL__: Controls how the script reacts to an invalid key. See the Security Level section for details.

Use the Pelinda.GetKeyLink function to generate a URL where users can obtain their Panda V3 access key. You can then present this link to your users.

Function: Pelinda.GetKeyLink(options)

  • Parameters:

    • options (table):

      • Service (string): Your registered service name (e.g., __PELINDA_SERVICE__).

  • Returns:

    • A URL string (e.g., https://pandav3.link/getkey?service=yourservicename).

Example Usage:

You have a few options for sharing the key link:

-- Option 1: Print the link to the console
print("Get your key here: " .. Pelinda.GetKeyLink({ Service = __PELINDA_SERVICE__ }))

-- Option 2: Copy the link to the user's clipboard
setclipboard(Pelinda.GetKeyLink({ Service = __PELINDA_SERVICE__ }))
print("Key link copied to your clipboard!")

-- Option 3: Both
local keyLink = Pelinda.GetKeyLink({ Service = __PELINDA_SERVICE__ })
print("Get your key here: " .. keyLink)
setclipboard(keyLink)
print("Key link also copied to your clipboard!")

Example Output URL: https://pandav3.link/getkey?service=pandadevkit

3. 🚀 Initializing the Service (Key Validation)

Once the user obtains their key, use Pelinda.Init to validate it and initialize the service.

Function: Pelinda.Init(options)

  • Parameters:

    • options (table):

      • Service (string): Your registered service name (e.g., __PELINDA_SERVICE__).

      • SilentMode (boolean): Optional. Suppresses UI/logs if true (e.g., __PELINDA_SILENTMODE__).

      • Key (string): The access key provided by the user.

      • SecurityLevel (number): Optional. The security level to use (e.g., __PELINDA_SECURITY_LEVEL__).

  • Returns:

    • A string indicating the validation status (e.g., "validated!!") or an error message if validation fails.

Example Usage:

-- Assume userKey is obtained from the user (e.g., via a GUI input)

local status = Pelinda.Init({
    Service = __PELINDA_SERVICE__,
    SilentMode = __PELINDA_SILENTMODE__,
    Key = "",
    SecurityLevel = __PELINDA_SECURITY_LEVEL__
})

print("[+] PandaV3 Status: " .. status)

if status == "validated!!" then
    print("PandaV3 Loaded Successfully!")
    -- Proceed with your script's main functionality
else
    print("PandaV3 Failed to Load: " .. status)
    -- Handle invalid key based on security level or custom logic
end

🔒 Security Level

Panda V3 offers different security levels to handle invalid key attempts. You configure this using the __PELINDA_SECURITY_LEVEL__ variable or by passing SecurityLevel to Pelinda.Init.

  • Level 1 (Default):

    • Action: Returns an "invalid" status string from Pelinda.Init.

    • Use Case: Recommended if you want to implement custom handling, such as a "save key" feature or displaying a custom message. The script execution is not halted by Pelinda.

  • Level 2:

    • Action: Kicks the user from the game if the key is invalid and returns an "invalid" status.

    • Use Case: A stricter approach to prevent unauthorized use immediately.

  • Level 3:

    • Action: Attempts to crash the user's game client if the key is invalid.

    • Use Case: The most aggressive approach to deter unauthorized users.

Example Configuration:

local __PELINDA_SECURITY_LEVEL__ = 1 -- Or 2, or 3

☁️ Embedding & Obfuscation (Virtual Script Storage)

Once you have set up the key system in your script, you upload it to Panda Development's Virtual Script Storage (VSS) for obfuscation and secure distribution.

Process:

  1. Navigate to VSS: Go to the "Virtual Script Storage" section on the Panda Development dashboard.

  2. Upload Script:

    • Choose your Lua script file.

    • Important: Upload your actual source code (.lua file), not a pre-made loadstring. While uploading a loadstring might seem to work, it significantly weakens security, making it easier for attackers to bypass whitelisting.

  3. Select Library Type: Ensure "V3 Internal" (or similar V3 option) is selected.

  4. Upload & Obfuscate: Click the "Upload & Obfuscate" button.

    • The VSS will merge the Panda V3 library code directly into your script and then obfuscate the entire bundle (e.g., using Lura.ph). This is much more secure than externally calling the library via a plain loadstring.

    • Enhanced Error Detection: The system may automatically check your script for common Roblox Lua syntax errors before obfuscation.

  5. Retrieve Loadstring: After successful obfuscation, go to "Script History."

    • Find your script and click "Get Script" (or a similar option).

    • You will receive a loadstring, which looks something like this:

      loadstring(game:HttpGet("https://pandadevelopment.net/virtual/file/your_unique_file_id"))()
  6. Distribute: You can now publish this loadstring for your users to execute.

Why this is important:

  • Security: Merging and obfuscating makes it significantly harder to reverse-engineer or tamper with your script and the licensing mechanism.

  • Token Usage: Obfuscate correctly the first time to avoid wasting your monthly obfuscation tokens.

❓ Need Help?

If you're having trouble integrating Panda V3:

  • Check Executor Compatibility: Ensure your script executor is compatible (Tested: Swift / Solara / AWP).

  • Verify Service Name & Key: Double-check that your __PELINDA_SERVICE__ name and the user's key are correct and that the key is active for that service.

  • Contact Support: Reach out to the Panda Development internal dev team for further assistance.

Last updated