A script that adds a Key System UI using BloxyBins Key System API.
The purpose of me making this script was to help people monetize their script. What I mean by that is allowing creators to make money for their work, with the use of keys. The user generates a key, which in the process can earn you some amount of money, compensating you for your work!
I wanted to allow people to have this oppourtinity by utalizing 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 garuenteed. I will try to make this library as secure as possible, so bad actors couldn't bypass, but just be aware that bypasses or vulnerabilities may be present. I do not intend for these bypasses or vulnerabilities, and if one does occur I will try to patch it as fast as I could.
This Script includes features, such as:
- A pre-made GUI
- One function which does all the work for you
- Automatic Key Checking (With the use of BloxyBin)
- Automatically save and uses 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 paramaters, and thats 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 would have a working key system that's 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 engeneering obfuscation, which is why I reccomend one of two option.
- Moving the file somewhere outside of workspace, only putting it in when you are loading your script
- Not including this into 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 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.