The session manager logs each session's creation, readiness time and removal with its reason. A streamer that exits during startup now fails the start at once instead of after 60 seconds, and the log carries its exit code and last output; containers are no longer auto-removed, so that output survives until teardown. A failed start reaches the app as a 502.
Feature Documentation
This directory contains documentation for all major features in the Flashpoint Web application.
Features
- Authentication & Authorization - User registration, JWT tokens, session management, and RBAC
- Game Browsing & Filtering - Free-text search, multi-criteria filtering, sorting, and pagination
- Game Playing - Browser-based game playback with Ruffle emulator and game service proxy
- Play Session Tracking - Automatic gameplay monitoring with statistics and analytics
- Playlists & Favorites - Game organization through playlists and favorites with Flashpoint Launcher compatibility
- User Management - Administrator tools for managing user accounts, roles, and access control
- Role-Based Access Control - Fine-grained permission system with custom roles and flexible access control
- Activity Logging & Audit Trail - Comprehensive audit logging for security monitoring and troubleshooting
- System Settings - Centralized configuration management with validation and caching
- Date & Time Formatting - Consistent date/time formatting and localization across the application
- Maintenance Mode - Temporarily restrict access during system updates while allowing admin access
- Discovery Portal - Arcade portal layout, color schemes, discovery homepage and mature content filtering
- Streaming - Java, Shockwave and original Flash Player games streamed from the server, one container per player
- Proxy Sign-In - Sign users in through Authentik, Authelia, oauth2-proxy and other forward-auth proxies
- Game Saves - Saves kept on the player's account, with backups to restore
Quick Reference
All Permissions
| Permission | Resource | Action | Description |
|---|---|---|---|
| games.read | games | read | View and browse games |
| games.play | games | play | Play games in browser |
| games.download | games | download | Download game files |
| playlists.read | playlists | read | View playlists |
| playlists.create | playlists | create | Create new playlists |
| playlists.update | playlists | update | Update existing playlists |
| playlists.delete | playlists | delete | Delete playlists |
| users.read | users | read | View user accounts |
| users.create | users | create | Create new user accounts |
| users.update | users | update | Update user accounts |
| users.delete | users | delete | Delete user accounts |
| roles.read | roles | read | View roles and permissions |
| roles.create | roles | create | Create new roles |
| roles.update | roles | update | Update roles and permissions |
| roles.delete | roles | delete | Delete roles |
| settings.read | settings | read | View system settings |
| settings.update | settings | update | Update system settings |
| activities.read | activities | read | View activity logs |
Total: 18 permissions across 6 resources
Database Tables
User Database (user.db):
- users, roles, permissions, role_permissions, refresh_tokens, login_attempts
- system_settings, user_settings, user_game_plays, user_game_stats, user_stats, activity_logs
Flashpoint Database (flashpoint.sqlite - read-only):
- game, platform, tag, game_tags_tag, playlist, playlist_game
Default Roles
| Role | Priority | Permissions |
|---|---|---|
| admin | 100 | All 18 permissions |
| user | 50 | games., playlists. (10 total) |
| guest | 0 | games.read, playlists.read (2 total) |
Related Documentation
- System Architecture - System architecture and components
- Database Schema - Complete database documentation
- API Reference - REST API documentation
- Development Guide - Project setup and development