Skip to content

b-smyers/rolytics

Repository files navigation

Rolytics

Rolytics is a powerful analytics and control tool designed specifically for Roblox developers. It provides deeper insights into social interactions, player engagement, in-game purchases, and performance metrics that go beyond the standard tools offered by Roblox. Developers can use Rolytics to optimize their experiences and better understand their player base.

Key Features

  • A/B Testing: Easily set up and monitor A/B testing campaigns to optimize gameplay elements and improve user experience.
  • Command and Control Center: The web interface acts as a centralized command hub, enabling remote execution of custom in-server functions for enhanced control and flexibility over your Roblox games.

Mockup

The webpage mockup can be found Here

Roblox Studio Plugin

Official Rolytics Plugin

Prerequisites

  • Node.js (see .nvmrc)
  • Nginx
  • Docker or docker-compose (production)

Development

1) Shared Setup

nvm (optional)

Install nvm if you haven't

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# Reopen your terminal or run:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

Use nvm to sync the project node version

nvm use

pnpm

Install pnpm & the project packages.

npm install -g pnpm
pnpm install

nginx

Copy the development config into /etc/nginx/conf.d/, and the error page into /var/www/html/.

sudo cp packages/proxy/configs/dev.rolytics.conf /etc/nginx/conf.d/
sudo cp packages/proxy/html/*.html /var/www/html/

Configure, test, and start Nginx.

sudo ufw allow 'Nginx Full'
sudo nginx -t
sudo systemctl restart nginx

2) API Setup

API development Setup Instructions.

3) UI Setup

UI development Setup Instructions.

4) Startup

Start the API and UI with:

pnpm dev

Production

Run the server using Docker Compose

sudo docker-compose build
sudo docker-compose up -d

Troubleshooting

Use freedns to route a free subdomain to your external IP on port 443 (https). Portforward 443 traffic on your router to your server.

TODO

  • Implement saving analytics to sqlite databse
  • Automatically delete old analytics data
  • Automatically delete old servers
  • Implement download data button on the experience page
  • Add place analytics page
  • Add server analytics page
  • Add rolytics plugin tool

Site Layout

  • / <--(Landing page)
  • /login
  • /register
  • /about
  • /updates
  • /faq
  • /dashboard
    • /account
    • /settings
    • /feedback
    • /experiences
      • /connect
      • /(Experience Name)

API Layout

  • /api/v1
    • /roblox
      • /place-details
    • /auth
      • /login
      • /register
      • /logout
      • /refresh
      • /verify
    • /users
      • /profile
      • /settings
    • /experiences
      • /connect
      • /disconnect
      • /analytics
        • gameplay
        • engagement
        • retention
      • /performance
        • uptime
        • fps
        • memory
        • data-receive
        • data-send
        • heartbeat
        • instances
        • primitives
        • moving-primitives
        • physics-receive
        • physics-send
        • physics-step
      • /players
        • active
        • new
        • returning
        • demographics
      • /purchases
        • passes
        • developer-products
        • subscriptions
      • /social
        • chats
        • friend-requests
        • invites
    • /servers
      • /data
        • logging endpoint
      • /performance
        • uptime
        • fps
        • memory
        • data-receive
        • data-send
        • heartbeat
        • instances
        • primitives
        • moving-primitives
        • physics-receive
        • physics-send
        • physics-step
      • /players
        • active
        • new
        • returning
        • engagement
        • retention
        • demographics
      • /purchases
        • passes
        • developer-products
        • subscriptions
      • /social
        • chats
        • friend-requests
        • invites

About

Analytics and control tool for Roblox developers to monitor engagement, social, and performance metrics, with A/B testing and remote command features.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors