Skip to main content

Introduction

BloxChat is a Windows desktop chat companion for Roblox games. While the official hosted version is available at bloxchat.logix.lol, you can self-host your own instance for complete control over your infrastructure, data, and customization.

Why Self-Host?

Self-hosting BloxChat gives you:

Full Control

Manage your own backend infrastructure and data storage

Privacy

Keep all chat data on your own servers

Customization

Modify rate limits, message lengths, and behavior

Integration

Integrate with your own Roblox games and verification systems

Architecture Overview

BloxChat consists of three main components:

Components

1

Desktop Application

A Tauri-based Windows app built with React and Vite. Users install and run this on their machines.Tech Stack:
  • Frontend: React + Vite + TypeScript
  • Desktop Framework: Tauri (Rust)
  • Communication: tRPC client over HTTP and WebSocket
2

Backend Server

A Bun server that hosts the tRPC API for authentication and real-time chat.Tech Stack:
  • Runtime: Bun
  • API: tRPC with HTTP and WebSocket adapters
  • Auth: JWT-based sessions
  • Storage: In-memory (sessions, chat messages)
3

Roblox Game Integration

Your Roblox game must integrate with the backend to complete user verification.Requirements:
  • HTTP requests from game server scripts
  • Verification secret header authentication
  • Integration with verification place

System Requirements

To self-host BloxChat, you’ll need:

Development Environment

  • Operating System: Windows 10/11 (for development)
  • Bun: v1.3.8 (pinned version)
  • Node.js: v18 or higher
  • Rust: v1.88.0 (specified in rust-toolchain.toml)
  • MSVC Build Tools: For Windows compilation
  • WebView2 Runtime: For Tauri desktop app
  • Operating System: Linux (recommended) or Windows
  • Bun: v1.3.8 or higher
  • Node.js: v18 or higher
  • Memory: Minimum 512MB RAM (more for high traffic)
  • Storage: Minimal (all data is in-memory)
  • A Roblox place ID for verification
  • HTTP request permissions enabled in game
  • Server-side script access

Security Considerations

Self-hosting requires careful security setup. Follow these best practices:

Critical Security Measures

1

Generate Strong Secrets

Use cryptographically secure random strings for all secrets:
# JWT_SECRET (32-64 characters)
openssl rand -base64 48

# VERIFICATION_SECRET (64+ characters)
openssl rand -base64 64
2

Protect Environment Variables

Never commit .env files to version control. Add to .gitignore:
echo "apps/server/.env" >> .gitignore
3

Secure Verification Secret

The VERIFICATION_SECRET must be:
  • Stored securely in both backend .env and Roblox game
  • Never exposed to clients
  • Sent only in x-verification-secret header from game servers
4

Use HTTPS in Production

Deploy behind a reverse proxy (nginx, Caddy) with SSL/TLS:
  • Obtain SSL certificate (Let’s Encrypt recommended)
  • Configure HTTPS on port 443
  • Redirect HTTP to HTTPS
5

Configure CORS

The backend uses CORS middleware. In production, restrict origins if needed.

Data Storage

BloxChat stores all data in-memory. When the server restarts:
  • All chat messages are lost
  • Active sessions are invalidated
  • Users must re-verify
This design prioritizes:
  • Privacy: No persistent chat logs
  • Simplicity: No database setup required
  • Performance: Fast message delivery
If you need persistent storage, you’ll need to modify the source code to add a database.

Next Steps

Server Setup

Install dependencies and run the backend server

Environment Variables

Configure all required and optional settings

Game Integration

Connect your Roblox game to the backend

Desktop App

Build and distribute the desktop client

Support

For issues and questions:
  • Check the GitHub repository
  • Review the source code in apps/server/ and packages/api/
  • Open an issue for bugs or feature requests

Build docs developers (and LLMs) love