A script that adds a Key System UI using BloxyBins Key System API.
I made this script to help people monetize their scripts. By that, I mean allowing creators to make money for their work through the use of keys. The user generates a key, which can earn them some money and compensate them for their work!
I wanted to give people this opportunity by utilizing BloxyBin's easy-to-understand API, which generates user keys, earns you some profit, and is completely free to use.
Please Note:
- Security is not guaranteed. I will try to make this library as secure as possible so bad actors can't bypass it, but just be aware that bypasses or vulnerabilities may exist. I do not intend for these bypasses or vulnerabilities, and if one does occur, I will try to patch it as fast as I can.
This Script includes features, such as:
- A pre-made GUI
- One function that does all the work for you
- Automatic Key Checking (With the use of BloxyBin)
- Automatically save and use saved keys
- And of course, it's open source.
- Include the script by putting this somewhere in the script. (Recommended at the top or after the main script is defined)
local KeySystem = loadstring(game:HttpGet("https://raw.githubusercontent.com/Vortex-scripts/BloxyBin-Key-System/main/main.lua"))()
- Then call the
Initialize
function by adding a few parameters, and that's it!
KeySystem.Initialize({
Script_Name = "Name of Script", -- Optional
Script_Creator = "Script Creator", -- Optional
Paste_ID = "Paste ID", -- THIS IS VERY IMPORTANT, MAKE SURE IT MATCHES YOUR PASTE ID
Callback = function(key)
any_function(key)
end
})
Note that you do not have to give a value for Script_Name
or Script_Creator
if you want to automatically get that information from Bloxybin. Simply leave it as nil (don't mention it in the table). Only the Paste_ID
and Callback
are necessary for the script to work.
If you want to display key information yourself, then the script will automatically pass the variable key
into the function, which was successfully used.
After all this setup, you will have a working key system integrated with the BloxyBin key system.
If you want to easily continue developing your script or bypass your own keysystem, you can add a bypass key. Simply input the Bypass_Key
string into the initialize function and add it to the file location BloxyBinKeySystem/Keys/(Your paste ID).txt
in the workspace folder. The new table should look like this.
KeySystem.Initialize({
Script_Name = "Name of Script",
Script_Creator = "Script Creator",
Paste_ID = "Paste ID",
Bypass_Key = "Whatever string"
Callback = function(key)
any_function(key)
end
})
The more complex the bypass key, the harder it is for people to guess. However, people can use other scripts to get the key or "crack" your script by reverse engineering obfuscation, which is why I recommend one of two options.
- Moving the file somewhere outside of workspace, only putting it in when you are loading your script
- Not including this in your script
Use this responsibly
I recommended that you first set your paste to have a Key (Obviously). You can create a key by going here after logging in to BloxyBin and selecting a paste to have a key.
Next, the paste should be a loadstring, leading to the main script. The script itself should be obfuscated since there is a key involved. If you don't have money for one, I suggest using this Lua Obfuscator. It's free and does a good job of obfuscating scripts.
Now for the actual script, it should be done something like this.
local KeySystem = loadstring(game:HttpGet("https://raw.githubusercontent.com/Vortex-scripts/BloxyBin-Key-System/main/main.lua"))()
local function main()
print("Hello World")
-- Put all your main code in this function
end
KeySystem.Initialize({
Script_Name = "Name of Script",
Script_Creator = "Script Creator",
Paste_ID = "Paste ID",
Callback = function()
main()
end
})
I would, however, NOT recommend you do something like this.
KeySystem.Initialize({
Script_Name = "Name of Script",
Script_Creator = "Script Creator",
Paste_ID = "Paste ID",
Callback = function()
loadstring(game:HttpGet("https://example.com/script-location.lua"))() -- Here is the problem
end
})
You shouldn't do this as a user can use something like HttpSpy to get the loadstring and bypass the key system. The only way to get around this is by obfuscating that script and adding the key system in there OR THE BETTER OPTION, putting it all into one script.