| .vscode | ||
| commands | ||
| migrations | ||
| public | ||
| routes | ||
| views | ||
| .env.example | ||
| .gitignore | ||
| commands.js | ||
| flags.js | ||
| index.js | ||
| LICENSE | ||
| log.js | ||
| migrations.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| TODO.md | ||
RTECH Unified Ban System
The UBS Project is brought to you by the RTECH Development Team. This project aims to solve a simple but crucial problem: managing bans across roblox and discord. And making it easy to impliment, to keep communities safe.
Join the RTECH Discord!
Server Status
Features
- MariaDB database for storing ban data
- REST API for querying bans
- Web interface for querying bans
- Admin web interface for managing bans
- Mass import of bans
- Mass export of bans
- Ban appeal system
- Ban appeal system admin interface
- Discord integrations (Notifications, Appeals, Querying)
Usage on Roblox
- Download the UBS Main Module here
- Insert the module into your game
- Move the module to
ServerScriptService - Configure via the
Configurationmodule, or just leave it as-is to use the default settings - Profit!
API Documentation
🔓 Unauthenticated Endpoints
GET /health - Healthcheck endpoint (For Uptime Kuma)
GET /v1/myIP - Get your IP address (As seen by the server. Useful for debugging)
GET /v1/info - Get information about the API (Version, All reason flags)
GET /api/v1/bans - Get all bans
GET /api/v1/ban/roblox/:robloxId - Get bans by Roblox ID
GET /api/v1/ban/discord/:discordId - Get bans by Discord ID
🔒 Authenticated Endpoints
GET /admin - Renders the admin dashboard.
GET /admin/edit/:id - Renders the edit ban page for a specific ban.
GET /admin/create - Renders the create ban page.
POST /admin/create - Creates a new ban.
Post Data:
{
"robloxId": "string",
"discordId": "string",
"reason": "string",
"duration": "number"
}
POST /admin/edit/:id - Edits an existing ban.
Post Data:
{
"reason": "string",
"duration": "number"
}
GET /admin/import - Renders the import page for uploading ban data.
POST /admin/import - Handles the import of ban data from a file.
Post Data:
fileInput: File upload (CSV format)fileType: Type of the file being uploaded (e.g., 'csv', 'mfd')
GET /admin/uploadStatus - Renders the upload status page.
GET /admin/api/bans - Retrieves all bans.
GET /admin/api/uploads/:id - Retrieves the status of a specific upload.
GET /admin/api/uploads - Retrieves the status of all uploads.
GET /admin/login - Renders the admin login page.
POST /admin/login - Handles admin login.
Post Data:
{
"username": "string",
"password": "string",
"totp": "string"
}
ALL /admin/logout - Logs out the admin.