diff --git a/README.md b/README.md
index b5890f9..496c609 100755
--- a/README.md
+++ b/README.md
@@ -3,117 +3,36 @@

-### The Ultimate Retro Hotel CMS
-
**Modern • Fast • Self-Repairing**
[](https://discord.gg/pP6HyZedAj)
[](https://laravel.com)
-[](https://php.net)
-
+[](https://php.net)
---
## Features
-### Commandocentrum (Admin Panel)
-- **Nitro V3 Update** — One-click update system for Emulator, Nitro-V3, and Nitro_Render_V3
-- **Configurable paths** — All directories (emulator, nitro client, renderer, gamedata, SQL, backups) configurable via the Housekeeping UI, stored in the database
-- **Emulator control** — Start, stop, restart, and check emulator status
-- **Hotel alert** — Send messages to all online users
-- **Live monitoring** — Online users, emulator status, database status, server load, system diagnostics
-- **Emulator logs viewer** — Live log viewer
-- **Clothing sync** — Sync catalog clothing from FigureMap
-- **Notification settings** — Email & Discord alerts with rank-based filtering
-- **Social login** — Google, Discord, GitHub OAuth configuration
-- **Staff activity log** — Track recent housekeeping actions
-
-### Radio Station
-- DJ applications & rank system
-- Live DJ sessions with schedule
-- Song requests & voting
-- Shoutbox
-- Listener points & leaderboard
-- Contests & giveaways
-- Radio banners & history
-
-### Shop
-- Product catalog with categories
-- Virtual currency purchases
-- Voucher/promo codes
-- PayPal integration
-- Order history
-
-### Community
-- Articles with comments, reactions & tags
-- Photo gallery
-- Leaderboard
-- Teams & team applications
-- Staff page & staff applications
-- Rare values tracker
-- Badge draw/lottery system
-
-### Hotel Client
-- Nitro (HTML5) client support
-- VPN/proxy checker
-
-### User System
-- Public profiles with guestbook
-- Two-Factor Authentication (2FA)
-- Referral system with rewards
-- Account & password settings
-- Session logs
-
-### Help Center
-- Support ticket system with replies & status management
-- Website rules
-- FAQ with categories
-
-### Themes
-- **Atom** — Default light theme
-- **Dusk** — Dark theme
-
-### Filament Admin Panel
-- User & ban management
-- Radio management (applications, schedules, ranks, shouts, history, banners)
-- Shop & order management with charts
-- Article & tag management
-- Emulator settings, texts & catalog editors
-- Chatlog viewer (rooms & private messages)
-- Word filters & moderation tools
-- Housekeeping permissions
-- Website navigation & settings
-- Camera/photo management
+**Commandocentrum** — Nitro V3 one-click updater, emulator start/stop/restart, hotel alert, live monitoring, emulator logs viewer, clothing sync, notification settings, social login (Google/Discord/GitHub), staff activity log
+**Radio** — DJ apps, live sessions, song requests, shoutbox, leaderboard, contests
+**Shop** — Product catalog, virtual currency, vouchers, PayPal integration
+**Community** — Articles, photo gallery, leaderboard, teams, staff page, rare values, badge lottery
+**Client** — Nitro (HTML5), VPN/proxy checker
+**Users** — Public profiles, 2FA, referrals, session logs
+**Help** — Ticket system, FAQ, rules
+**Themes** — Atom (light), Dusk (dark)
+**Filament Admin** — Users, bans, radio, shop, articles, emulator settings/texts/catalog, chatlogs, word filters, permissions, navigation, camera
---
## Nitro V3 Update System
-The **Commandocentrum** page in the Filament admin panel provides a one-click update system for your entire retro hotel stack.
+One-click update via **Commandocentrum** → "Configureer Paths" (9 configurable paths stored in DB) → "Run Update".
-### How It Works
-
-1. **Configure paths** — Click "Configureer Paths" to set directories for your emulator, Nitro-V3 client, Nitro_Render_V3, Gamedata, SQL updates, and backups. Paths are stored in the database and editable at any time.
-2. **Run Update** — Click "Run Update" to execute `update-Nitrov3.sh`, which performs:
- - `git pull` on the emulator source
- - Automatic database backup via `mariadb-dump`
- - Import new SQL update files
- - Maven build (`mvn package`)
- - Update the emulator launch script to point to the newly built JAR
- - `git pull` on Nitro_Render_V3 (with automatic `yarn install` if `package.json` changed)
- - `git pull` on Nitro-V3 (with automatic `yarn install` if `package.json` changed)
- - `yarn build` for Nitro-V3
- - Sync Gamedata configuration files (renderer-config, ui-config, UITexts)
- - Cleanup old emulator logs (14+ days) and database backups (keep last 5)
- - Clear Yarn cache
- - Fix filesystem permissions
- - Restart the emulator service
-
-### Sudo Configuration
-
-The update script requires `sudo` access for `www-data` to restart the emulator service and fix permissions. Add this sudoers file:
+The script: `git pull` emulator → DB backup + SQL imports → Maven build → `git pull` Nitro_Render_V3 + Nitro-V3 → `yarn build` → sync Gamedata → cleanup old logs/backups → permissions fix → emulator restart.
+### Sudoers (required for restart)
```bash
sudo tee /etc/sudoers.d/www-data << 'EOF'
www-data ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart emulator
@@ -123,151 +42,100 @@ EOF
sudo chmod 440 /etc/sudoers.d/www-data
```
-The script gracefully skips sudo operations if they're not available.
-
-### Configurable Paths
-
-| Setting | Default | Description |
-| ------- | ------- | ----------- |
-| Emulator hoofdmap | `/var/www/emulator` | Root emulator directory |
-| Emulator service naam | `emulator` | systemd service name |
-| Database naam | `habbo` | MySQL/MariaDB database |
-| SQL updates map | `{emulator}/Database Updates` | Directory with `.sql` update files |
-| Backup map | `{emulator}/Database Updates/backups` | Database backup storage |
-| Gamedata config map | `/var/www/Gamedata/config` | Gamedata configuration |
-| Nitro client config map | `{nitro}/public/configuration` | Client configuration output |
-| Nitro-V3 bronmap | `/var/www/Nitro-V3` | Nitro client source |
-| Nitro Render V3 bronmap | `/var/www/Nitro_Render_V3` | Nitro renderer source |
-
-Database credentials are read automatically from the Laravel `.env` file.
-
---
## Environment Files
-Two ready-to-use environment configurations are included:
-
-| File | Platform | Cache | Database |
-| ---- | -------- | ----- | -------- |
-| `.env.install` | — | — | Step-by-step setup guide |
-| `.env.example.linux` | Linux (production) | Redis | MariaDB |
-| `.env.example.windows` | Windows (development) | File-based | MySQL |
+| File | Platform | Cache | DB |
+| ---- | -------- | ----- | -- |
+| `.env.install` | — | — | Setup guide |
+| `.env.example.linux` | Linux (prod) | Redis | MariaDB |
+| `.env.example.windows` | Windows (dev) | File | MySQL |
```bash
-# Read the installation guide first
-less .env.install
-
-# Linux
-cp .env.example.linux .env
-
-# Windows
-cp .env.example.windows .env
-
-# Always generate a fresh key after copying:
+cp .env.example.linux .env # or .windows
php artisan key:generate
```
+> **⚠️ XAMPP is not supported.** Extremely unsafe for production.
+
---
## Requirements
-| Component | Requirement |
-| ------------- | ------------------------------- |
-| **PHP** | 8.5 or higher |
-| **Database** | MariaDB 10.6+ or MySQL 8.0+ |
-| **Web Server**| Apache (mod_rewrite) or Nginx |
-| **Node.js** | 20 or higher |
-| **Yarn** | 1.22+ or 4.x (Berry) |
-| **Composer** | 2.x |
-
-> **⚠️ XAMPP is not supported.** XAMPP is extremely unsafe for production environments — it uses default accounts with no password, lacks essential PHP security configurations, and provides no service isolation. We want to protect our users and their hotels from preventable risks. Use a proper Linux server with Nginx or Apache.
+| Component | Requirement |
+|-----------|-------------|
+| **PHP** | 8.5+ |
+| **Database** | MariaDB 10.6+ / MySQL 8.0+ |
+| **Web Server** | Nginx / Apache |
+| **Node.js** | 20+ |
+| **Yarn** | 1.22+ |
+| **Composer** | 2.x |
---
-## Installation
-
-### Linux (Ubuntu 26.04 / Debian)
+## Installation (Ubuntu 26.04)
```bash
-# 1. System dependencies
-sudo apt update
-sudo apt install -y git curl wget unzip nginx mariadb-server \
- php8.5 php8.5-cli php8.5-fpm php8.5-mysql php8.5-xml \
- php8.5-mbstring php8.5-curl php8.5-zip php8.5-bcmath \
- php8.5-gd php8.5-sockets php8.5-intl
+# 1. System deps
+sudo apt update && sudo apt install -y git curl wget unzip nginx mariadb-server \
+ php8.5 php8.5-{cli,fpm,mysql,xml,mbstring,curl,zip,bcmath,gd,sockets,intl}
-# 2. Install Composer
-curl -sS https://getcomposer.org/installer | php
-sudo mv composer.phar /usr/local/bin/composer
+# 2. Composer
+curl -sS https://getcomposer.org/installer | php && sudo mv composer.phar /usr/local/bin/composer
-# 3. Install Node.js & Yarn
-curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
-sudo apt install -y nodejs
-sudo corepack enable
-corepack install -g yarn@latest
+# 3. Node.js + Yarn
+curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - && sudo apt install -y nodejs
+sudo corepack enable && corepack install -g yarn@latest
-# 4. Clone the project
-git clone ssh://git@your-gitea-server:8422/remco/Atomcms-edit.git /var/www/atomcms
-cd /var/www/atomcms
+# 4. Clone
+git clone ssh://git@your-gitea-server:8422/remco/Atomcms-edit.git /var/www/atomcms && cd /var/www/atomcms
-# 5. Configure environment
-cp .env.example.linux .env
-php artisan key:generate
+# 5. Configure
+cp .env.example.linux .env && php artisan key:generate
-# 6. Install PHP dependencies
-composer install --no-dev --optimize-autoloader
+# 6. Install deps
+composer install --no-dev --optimize-autoloader && yarn install
-# 7. Install frontend dependencies
-yarn install
-
-# 8. Create database
+# 7. Database
mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS habbo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
-
-# 9. Run migrations & seeders
php artisan migrate --seed
-# 10. Build frontend assets
+# 8. Build
yarn build:all
-# 11. Set permissions
+# 9. Permissions
sudo chown -R www-data:www-data storage bootstrap/cache public/build
sudo chmod -R 775 storage bootstrap/cache
-
-# 12. Configure web server (Nginx example)
```
+### Nginx config (`/etc/nginx/sites-available/atomcms`)
+
```nginx
server {
listen 80;
server_name your-domain.com;
root /var/www/atomcms/public;
-
+ index index.php;
+ charset utf-8;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
- index index.php;
- charset utf-8;
-
- location / {
- try_files $uri $uri/ /index.php?$query_string;
- }
+ location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ \.php$ {
- fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
+ fastcgi_pass unix:/var/run/php/php8.5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
- location ~ /\.(?!well-known).* {
- deny all;
- }
+ location ~ /\.(?!well-known).* { deny all; }
}
```
```bash
sudo ln -sf /etc/nginx/sites-available/atomcms /etc/nginx/sites-enabled/
-sudo nginx -t && sudo systemctl reload nginx
-sudo systemctl restart php8.3-fpm
+sudo nginx -t && sudo systemctl reload nginx && sudo systemctl restart php8.5-fpm
```
---
@@ -275,73 +143,27 @@ sudo systemctl restart php8.3-fpm
## Yarn Scripts
```bash
-# Build all themes
-yarn build:all
-
-# Build single theme
-yarn build:atom # Atom theme
-yarn build:dusk # Dusk theme
-
-# Development
-yarn dev # Start Vite dev server
-yarn dev:atom # Dev server for Atom theme
-
-# Linting & Formatting
-yarn lint # Check JS/Vue
-yarn lint:fix # Fix JS/Vue
-yarn format # Format everything
-
-# Cache
-yarn clean # Clear Vite cache
-yarn rebuild # Clean + install + build
+yarn build:all # Build all themes
+yarn build:atom # Atom theme
+yarn build:dusk # Dusk theme
+yarn dev # Vite dev server
+yarn lint # Check JS/Vue
+yarn lint:fix # Fix JS/Vue
+yarn format # Format everything
+yarn clean # Clear Vite cache
+yarn rebuild # Clean + install + build
```
---
## Tech Stack
-- **Backend:** Laravel 13
-- **Frontend:** React 19 + Alpine.js
-- **Build:** Vite 8
-- **CSS:** TailwindCSS 4
-- **Admin Panel:** Filament 5
-- **Database:** MariaDB / MySQL
+Laravel 13 · React 19 + Alpine.js · Vite 8 · TailwindCSS 4 · Filament 5 · MariaDB/MySQL
---
-## Changelog (May 27, 2026)
-
-- **Added OPcache troubleshooting** — 500 error after `php artisan optimize` fix in README
-- **Fixed Dashboard navigation translation** — added `Dashboard` key to Dutch Filament `resources.php`
-- **Fixed Homepage navigation label** — added `Homepage` translation to `nl.json`
-- **Disabled OPcache in FPM** — `99-opcache.ini` set to `opcache.enable=0` to prevent stale cache issues
-
-## Changelog (May 26, 2026)
-
-- **Removed auto-recovery** — caused race conditions by running `view:clear` during live traffic, fixed `filemtime(): stat failed` errors
-- **Fixed debug banner** — now uses `config('app.debug')` with proper `(bool)` cast, no more false positives
-- **Added `(bool)` casts** to all `env()` calls with boolean defaults across 6 config files (habbo, activitylog, database, filesystems, log-viewer, session)
-- **Removed dangerous public scripts** — `check_icons.php` and `test_open_basedir.php` (public Laravel bootstrap + DB queries)
-- **Removed root `index.php`** — duplicate front controller, unsafe if docroot misconfigured
-- **Cleaned Clockwork debug data** — 42 JSON files with SQL queries, tokens, and paths
-- **Hardened `.htaccess`** — block `.env`/`.git`/`composer.json` access + security headers (X-Frame-Options, X-Content-Type-Options, Referrer-Policy)
-- **Fixed `robots.txt`** — blocks crawlers from `/admin`, `/filament`, `/log-viewer`
-- **Disabled Log Viewer by default** — no longer accessible without explicit config
-- **Disabled Boost browser logs watcher** — stopped logging JS errors from every visitor to disk
-- **Fixed `REDIS_PASSWORD`** — was literal string `"null"`, now empty
-- **Fixed Session `same_site`** — now reads from `.env` instead of being hardcoded
-- **Fixed non-existent model import** — `App\Models\Article` didn't exist, now aliased to `WebsiteArticle`
-- **Removed unused traits** — `HasNotificationUrl` and `HasCommonScopes` (dead code)
-- **Restricted CORS headers** — from wildcard `['*']` to specific allowed list
-- **Rebuilt all caches** — config, views, routes, opcache reset, PHP-FPM restart
-
## Credits
-- **Remco (Epicnabbo)** — Core Maintainer, System Architecture
-- **Kasja** — Design & Themes
-- **Kani** — RCON & API
-- **Atom Community** — Testing & Feedback
+**Remco (Epicnabbo)** — Core Maintainer · **Kasja** — Design & Themes · **Kani** — RCON & API · **Atom Community** — Testing & Feedback
-
-Made with love for the Retro Community
-
+Made with love for the Retro Community