Overview
The Escape Room management system lets you run escape rooms with real-time control from any device. There are two main interfaces:
๐ฅ๏ธ Admin Panel
Your control center. Manage rooms, start/pause the timer, send messages, play videos, and customize the display โ all in real time.
๐บ Display Client
The participant-facing screen. Shows the countdown timer, messages, and videos. No login needed โ just open the room URL.
All communication is real-time via WebSocket. Changes you make in the admin panel appear on the display instantly.
Getting Started
Creating an Account
Register.Create Account. You'll be logged in automatically.Logging In
Sign In. You'll be redirected to the Admin Dashboard.Admin Dashboard
After logging in, you land on the Admin Dashboard. Here you can see all your rooms and create new ones.
Creating a Room
+ Create Room button.Create. A unique 6-character room code is generated automatically (e.g., ABC123).Room Cards
Each room card shows:
- Room name and unique code
- Manage โ opens the Room Control Panel
- Open Display โ opens the participant display in a new tab
- Delete โ permanently removes the room (with confirmation)
https://escape.janinc.no/room/CODE with participants or open it on a TV/projector in the escape room.Room Control Panel
The Room Control Panel is your command center for a single room. It is divided into several sections, each described below.
Connection Status
A green โ Connected badge means you have a live WebSocket connection. If you see โ Disconnected, check your internet connection โ the system will auto-reconnect.
A live preview of the display is shown at the bottom of the control panel so you can see exactly what participants see.
Timer Controls
Setting the Duration
HH:MM:SS format (e.g., 01:00:00 for 1 hour).Set Time. The timer resets to the new duration and pauses.Starting & Pausing
Startโ begins the countdown. The display switches to the "escape" background and shows the start message.Pauseโ freezes the timer. Click Start again to resume.
Speed Multiplier
Adjust the countdown speed from 0.5ร (half speed) to 2ร (double speed). This is useful for:
- Slower (0.5รโ0.9ร) โ give struggling teams more effective time
- Normal (1.0ร) โ standard real-time countdown
- Faster (1.1รโ2.0ร) โ speed up for teams doing too well
Messages & Sounds
Sending a Message
Send. The message appears at the bottom of the display screen.Messages persist on screen until you send a new one or clear it. A soft "ding" sound plays when a new message appears.
Sound Effects
๐ Alarm
Loud alert sound. Use for urgent communication or to signal time is almost up.
๐ DingDing
Gentle notification sound. Use to get attention before sending a hint message.
Video Playback
You can play fullscreen videos on the display. Two video slots are available: Video 1 and Video 2.
Controls
Play Video 1/Play Video 2โ starts fullscreen video playbackPauseโ pauses or resumes the videoRestartโ replays the video from the beginningHide Videoโ closes the video overlay and returns to the timer
Video1.mp4 and Video2.mp4 in the public/assets/videos/ folder. Videos are not included in the default installation due to file size.Display Customization
Customize how the display looks for participants.
| Setting | Range | Default | Description |
|---|---|---|---|
| Timer Font Size | 64โ128px | 96px | Size of the countdown numbers |
| Message Font Size | 24โ72px | 48px | Size of messages at the bottom |
| Display Theme | 4 options | Default (Teal) | Default, Dark, Light, or Colorful |
| Timer Position | 3 options | Center | Top, Center, or Bottom of screen |
Apply Customization to push changes to the display instantly.Room Settings
Configure persistent settings for each room. These are saved to the database and loaded each time the room is opened.
- Default Duration โ the initial timer value when the room loads (e.g.,
01:00:00) - Welcome Message โ shown when participants first open the display
- Start Message โ shown when the timer starts
- End Message โ shown when the timer reaches zero
- Miscellaneous Notes โ private notes visible only to admins (not displayed to participants)
Display Client (Participant View)
The display client is the screen participants see. Open it at:
No login is required โ anyone with the code can view the display.
What Participants See
- Countdown Timer โ large circular display with color-coded urgency
- Teal โ more than 5 minutes remaining
- Yellow โ under 5 minutes (warning)
- Orange โ under 1 minute (critical)
- Red pulsing โ time's up!
- Messages โ appear at the bottom of the screen with a ding sound
- Videos โ play fullscreen when triggered by admin
- Background โ themed escape room imagery
- Status indicator โ green "Live" dot in the top-right corner
Setting Up the Display
F11 for the best experience.Real-Time Sync
The admin panel and display client communicate via WebSocket (Socket.IO). Actions are reflected instantly across all connected clients.
How It Works
- Multiple display clients can connect to the same room (e.g., multiple screens)
- The admin panel shows a live preview synced with the same state
- If a client disconnects, it auto-reconnects and receives the current state
- All admin actions are logged for analytics
Troubleshooting
Display shows "Disconnected"
Check your internet connection. The display will automatically reconnect within seconds. If the problem persists, refresh the page.
No sound playing
Modern browsers block audio until the user interacts with the page. Click anywhere on the display screen first, then try sending a sound again.
Video not playing
Ensure Video1.mp4 and Video2.mp4 are placed in public/assets/videos/. Videos are not included by default.
Timer seems fast or slow
Check the speed multiplier in the Timer Controls section. A value other than 1.0ร will make the timer run faster or slower.
Can't log in
Verify your email and password. Passwords must be at least 8 characters. If you forgot your password, contact the system administrator.
"Room not found" error
Double-check the room code in the URL. Codes are case-sensitive and 6 characters long (e.g., ABC123).
Escape Room Management System v1.0