bluelock

πŸ”’ BlueLock β€” Roblox Script Hub Key System

A secure, modern key verification system for Roblox script hubs. Users must obtain a valid key from the website before accessing any script features.

BlueLock License Roblox


✨ Features

Key System

UI / UX

Security


πŸ“ Project Structure

BlueLock/
β”œβ”€β”€ .gitignore
β”œβ”€β”€ README.md
β”‚
β”œβ”€β”€ web/                          # Backend API + Key Website
β”‚   β”œβ”€β”€ server.js                 # Express.js API server
β”‚   β”œβ”€β”€ package.json
β”‚   └── public/
β”‚       β”œβ”€β”€ index.html            # Key generation website
β”‚       β”œβ”€β”€ style.css             # Dark theme stylesheet
β”‚       └── script.js             # Frontend logic
β”‚
└── roblox/                       # Roblox Lua Scripts
    β”œβ”€β”€ init.lua                  # Entry point / loader
    β”œβ”€β”€ KeyUI.lua                 # Animated key input UI
    β”œβ”€β”€ KeyVerifier.lua           # Remote verification module
    └── ScriptHub.lua             # Script hub (unlocked after key)

πŸš€ Setup

1. Start the API Server

cd web
npm install
node server.js

Server runs at http://localhost:3000

2. Deploy to Production

Deploy the web/ folder to any Node.js hosting:

3. Configure Roblox Script

Update the URLs in roblox/init.lua:

local Config = {
    API_URL = "https://your-api-url.com",
    KEY_WEBSITE = "https://your-api-url.com",
}

πŸ”„ How It Works

User runs script
       β”‚
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Key UI      β”‚  ← Modern animated interface
β”‚  appears     β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚
  β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”
  β”‚ Has key? β”‚
  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
       β”‚ No
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ "Get Key"    │──────▢│ Key Website  β”‚
β”‚  button      β”‚       β”‚ generates    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚ BLUE-XXXX... β”‚
       β”‚               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚ Yes
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ POST /verify │──────▢ API validates
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚
  β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”
  β”‚ Valid?  β”‚
  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
   β”‚       β”‚
  Yes     No
   β”‚       β”‚
   β–Ό       β–Ό
 Hub    Shake +
Opens   Error

πŸ“‘ API Endpoints

Endpoint Method Description
/api/key/generate POST Generate a new key
/api/key/verify POST Verify a key
/api/key/info/:key GET Get key metadata
/api/stats GET Key store statistics
/api/health GET Health check

βš™οΈ Configuration

Edit KEY_CONFIG in server.js:

const KEY_CONFIG = {
  expirationMs: 24 * 60 * 60 * 1000, // 24 hours
  maxUses: 1,                          // single-use
  prefix: 'BLUE',                      // key prefix
};

πŸ“œ License

MIT License β€” feel free to use and modify.