Find a file
2024-12-23 09:41:25 -07:00
.vscode GUH 2024-12-04 20:57:28 -07:00
commands Maybe fix that 2024-12-23 08:02:16 -07:00
migrations Bwuh 2024-12-22 17:34:02 -07:00
public Add lookup page 2024-12-23 08:48:40 -07:00
routes Add lookup page 2024-12-23 08:48:40 -07:00
views Fix 2024-12-23 09:41:25 -07:00
.env.example Add some docs 2024-12-22 22:40:15 -07:00
.gitignore Add import feature 2024-12-22 17:10:45 -07:00
commands.js Add discord lookup functionality 2024-12-23 08:00:54 -07:00
flags.js Progress is being made 2024-12-06 09:13:01 -07:00
index.js Add discord lookup functionality 2024-12-23 08:00:54 -07:00
LICENSE GUH 2024-12-04 20:57:28 -07:00
log.js Progress is being made 2024-12-06 09:13:01 -07:00
migrations.js Add audit logs; Fix Create/edit usernames 2024-12-21 11:05:34 -07:00
package-lock.json Add homepage (uses readme); Delete old uploads at startup (save space); Update README.md; 2024-12-22 23:11:26 -07:00
package.json Add homepage (uses readme); Delete old uploads at startup (save space); Update README.md; 2024-12-22 23:11:26 -07:00
README.md Update README.md with install instructions for roblox module 2024-12-23 08:17:21 -07:00
TODO.md Add some docs 2024-12-22 22:40:15 -07:00

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

UBS Status UBS Uptime UBS Response Time

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

  1. Download the UBS Main Module here
  2. Insert the module into your game
  3. Move the module to ServerScriptService
  4. Configure via the Configuration module, or just leave it as-is to use the default settings
  5. 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.