- Create apply-migrations.ts and jobs-worker.ts scripts (package.json references) - Convert badge leaderboard from $queryRawUnsafe to $queryRaw with Prisma.sql templates - Fix OAuth email binding: add oauth_require_link site setting, skip 2FA-protected accounts - Add per-user 2FA rate limiting (5/30s) to prevent TOTP brute-force - Add structured JSON logger with levels (debug/info/warn/error) - Split 341-line HomePage into GuestView + UserView components - Add OpenAPI v3.1 spec at /api/openapi.json - Add LOG_LEVEL env var, regenerate Prisma client - Add mysql2 dependency for migration scripts - All 58 tests pass, typecheck clean
160 lines
17 KiB
Plaintext
160 lines
17 KiB
Plaintext
[H[2J[3J[1;36m
|
|
|
|
╔═══════════════════════════════════════════════════════════════════════════╗
|
|
║ ║
|
|
║ ███████╗███╗ ███╗ █████╗ ██████╗ ████████╗ ║
|
|
║ ██╔════╝████╗ ████║██╔══██╗██╔══██╗╚══██╔══╝ ║
|
|
║ █████╗ ██╔████╔██║███████║██████╔╝ ██║ ║
|
|
║ ██╔══╝ ██║╚██╔╝██║██╔══██║██╔══██╗ ██║ ║
|
|
║ ███████╗██║ ╚═╝ ██║██║ ██║██║ ██║ ██║ ║
|
|
║ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ║
|
|
║ ║
|
|
╠═══════════════════════════════════════════════════════════════════════════╣
|
|
║ [38;5;220m[1m Emulator / Nitro-V3 / Nitro-V3-Render[1;36m ║
|
|
║ [1;37m[1m Updater by Remco — epicnabbo.nl[1;36m ║
|
|
╠═══════════════════════════════════════════════════════════════════════════╣
|
|
║ [2mBranch: [1;36mmain[2m (2 detected) │ 11:27[1;36m ║
|
|
╚═══════════════════════════════════════════════════════════════════════════╝
|
|
[0m
|
|
[42m[1;37m[1m UPDATE [0m
|
|
[1;32m[1m1)[0m 🚀 Quick Update — branch: [1;36mmain[0m
|
|
[1;32m[1m2)[0m ⚡ Full Update (choose branch)
|
|
[1;32m[1m3)[0m ⚙ Emulator Only
|
|
[1;32m[1m4)[0m ⚙ Nitro-V3 Client Only
|
|
[1;32m[1m5)[0m ⚙ Renderer Only
|
|
[1;32m[1m6)[0m ⚙ Configs Only
|
|
|
|
[45m[1;37m[1m TOOLS [0m
|
|
[1;35m[1m7)[0m 🔀 Switch Branch
|
|
[1;33m[1m8)[0m 🗄 Database
|
|
[1;33m[1m9)[0m 🛡 Backup / Restore
|
|
[1;33m[1m10)[0m 🔧 Services
|
|
[1;33m[1m11)[0m 📊 Status
|
|
[1;33m[1m12)[0m ♥ Health Check
|
|
[1;33m[1m13)[0m 🧹 Clean
|
|
[1;33m[1m14)[0m 👁 Logs
|
|
[1;33m[1m15)[0m ⚙ Config
|
|
|
|
[44m[1;37m[1m ADVANCED [0m
|
|
[1;34m[1m16)[0m 🖥 Git Log
|
|
[1;34m[1m17)[0m 🌐 Compare Branches
|
|
[1;34m[1m18)[0m ⏱ Cron Scheduler
|
|
|
|
[1;31m[1m0)[0m Exit
|
|
|
|
[1;36m[1mSelect [0-18][0m:
|
|
[1m[1;36mUpdate: [1;32mFull[0m
|
|
|
|
[1;32m[1m1)[0m [1;36mDev[0m
|
|
[1;32m[1m2)[0m [1;36mmain[0m [1;32m(current)[0m
|
|
[1;32m[1m3)[0m Custom
|
|
|
|
Branch [1-3]:
|
|
Branch: [1;36m[1mmain[0m Mode: [1;32mFull[0m
|
|
[1;33m➜[0m [1mStart update?[0m [Y/n]
|
|
[1;34m➜[0m Site: https://epicnabbo.nl | Branch: main | Mode: full
|
|
[2026-07-08 11:27:55] [INFO] Site: https://epicnabbo.nl | Branch: main | Mode: full
|
|
[1;34m➜[0m Log: /var/www/atom-nexst/storage/logs/update-20260708-112735.log
|
|
[2026-07-08 11:27:55] [INFO] Log: /var/www/atom-nexst/storage/logs/update-20260708-112735.log
|
|
|
|
[46m[1;37m[1m Step 1/8 — System Diagnostics [0m
|
|
|
|
[1;32m✔[0m All commands available
|
|
[2026-07-08 11:27:55] [OK] All commands available
|
|
[1;32m✔[0m All directories exist
|
|
[2026-07-08 11:27:55] [OK] All directories exist
|
|
[1;32m✔[0m 128GB disk available
|
|
[2026-07-08 11:27:55] [OK] 128GB disk available
|
|
[1;32m✔[0m Database connected
|
|
[2026-07-08 11:27:55] [OK] Database connected
|
|
|
|
[46m[1;37m[1m Step 2/8 — Update & Build Emulator [0m
|
|
|
|
Saved working directory and index state WIP on main: 1a05d0ed 🆙 Bump version to 4.2.49 [skip ci]
|
|
Your branch is up to date with 'origin/main'.
|
|
Updating 1a05d0ed..5c2c8013
|
|
Fast-forward
|
|
Emulator/pom.xml | 4 +-
|
|
.../habbo/habbohotel/rooms/RoomCycleManager.java | 123 ++-------
|
|
.../com/eu/habbo/habbohotel/rooms/RoomUnit.java | 20 +-
|
|
.../eu/habbo/habbohotel/rooms/RoomUnitManager.java | 280 +--------------------
|
|
4 files changed, 39 insertions(+), 388 deletions(-)
|
|
[?25l
|
|
[1;36m⠋[0m Backing up database...
|
|
[1;36m⠙[0m Backing up database...
|
|
[1;36m⠹[0m Backing up database...
|
|
[1;36m⠸[0m Backing up database...
|
|
[1;36m⠼[0m Backing up database...
|
|
[1;36m⠴[0m Backing up database...
|
|
[1;36m⠦[0m Backing up database...
|
|
[1;36m⠧[0m Backing up database...
|
|
[1;36m⠇[0m Backing up database...
|
|
[1;36m⠏[0m Backing up database...
|
|
[1;36m⠋[0m Backing up database...
|
|
[1;36m⠙[0m Backing up database...
|
|
[K[?12l[?25h
|
|
[1;32m✔[0m Done
|
|
[1;32m✔[0m Backup: 35M
|
|
[2026-07-08 11:28:29] [OK] Backup: 35M
|
|
[?25l
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator...
|
|
[1;36m⠙[0m Building emulator...
|
|
[1;36m⠹[0m Building emulator...
|
|
[1;36m⠸[0m Building emulator...
|
|
[1;36m⠼[0m Building emulator...
|
|
[1;36m⠴[0m Building emulator...
|
|
[1;36m⠦[0m Building emulator...
|
|
[1;36m⠧[0m Building emulator...
|
|
[1;36m⠇[0m Building emulator...
|
|
[1;36m⠏[0m Building emulator...
|
|
[1;36m⠋[0m Building emulator... WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
|
|
11:28:42.663 WARN [main ] FurnidataReader | FurnidataReader: ignoring out-of-base file /tmp/junit-2680494782301105986/furnidata/core/../../secret.json
|
|
11:28:42.669 WARN [main ] FurnidataReader | FurnidataReader: /tmp/junit-4684459296101932112/FurnitureData.json is 292 bytes, over cap 8 — refusing
|
|
11:28:42.679 WARN [main ] FurnidataReader | FurnidataReader: /tmp/junit-4000087741262526872/furnidata/manifest.json is 1850 bytes, over cap 8 — refusing
|
|
11:28:43.087 INFO [main ] Version | HV000001: Hibernate Validator 9.1.2.Final
|
|
|
|
[K[?12l[?25h
|
|
[1;32m✔[0m Done
|
|
[1;32m✔[0m Jar: Habbo-4.2.50-jar-with-dependencies.jar
|
|
[2026-07-08 11:28:51] [OK] Jar: Habbo-4.2.50-jar-with-dependencies.jar
|
|
[1;32m✔[0m Launch script updated
|
|
[2026-07-08 11:28:51] [OK] Launch script updated
|
|
|
|
[46m[1;37m[1m Step 3/8 — Update Nitro_Render_V3 [0m
|
|
|
|
No local changes to save
|
|
Your branch is up to date with 'origin/main'.
|
|
Already up to date.
|
|
[1;34m➜[0m Renderer: already up to date
|
|
[2026-07-08 11:29:11] [INFO] Renderer: already up to date
|
|
|
|
[46m[1;37m[1m Step 4/8 — Update & Build Nitro-V3 [0m
|
|
|
|
No local changes to save
|
|
Your branch is up to date with 'origin/main'.
|
|
Already up to date.
|
|
[1;34m➜[0m Nitro-V3: already up to date
|
|
[2026-07-08 11:29:32] [INFO] Nitro-V3: already up to date
|
|
|
|
[46m[1;37m[1m Step 5/8 — Sync Configurations [0m
|
|
|
|
[1;32m✔[0m 18 config file(s) synced
|
|
[2026-07-08 11:29:33] [OK] 18 config file(s) synced
|
|
[1;34m➜[0m Applying critical config URLs...
|
|
[2026-07-08 11:29:33] [INFO] Applying critical config URLs...
|
|
[OK] Fixed: renderer-config.json
|
|
[OK] Fixed: renderer-config.json
|
|
[OK] Fixed: ui-config.json
|
|
[OK] Fixed: ui-config.json
|
|
[1;32m✔[0m All config URLs synced
|
|
[2026-07-08 11:29:33] [OK] All config URLs synced
|
|
|
|
[46m[1;37m[1m Step 6/8 — Cleanup [0m
|
|
|
|
yarn cache v1.22.22
|
|
success Cleared cache.
|
|
Done in 0.05s.
|
|
[1;32m✔[0m Cleanup done (0 logs removed)
|
|
[2026-07-08 11:29:33] [OK] Cleanup done (0 logs removed)
|
|
|
|
[46m[1;37m[1m Step 7/8 — Set Permissions [0m
|
|
|
|
[1;32m✔[0m Permissions set
|
|
[2026-07-08 11:29:35] [OK] Permissions set
|
|
|
|
[46m[1;37m[1m Step 8/8 — Restart Services [0m
|
|
|
|
[1;32m✔[0m emulator restarted
|
|
[2026-07-08 11:29:35] [OK] emulator restarted
|
|
[1;32m✔[0m Nginx reloaded
|
|
[2026-07-08 11:29:36] [OK] Nginx reloaded
|
|
OK
|
|
[1;32m✔[0m Redis flushed
|
|
[2026-07-08 11:29:36] [OK] Redis flushed
|
|
|
|
[1;36m╔══════════════════════════════════════════════════════════════════╗[0m
|
|
[1;36m║[0m [1;32m[1m✔ UPDATE COMPLETED SUCCESSFULLY[0m [1;36m║[0m
|
|
[1;36m╠══════════════════════════════════════════════════════════════════╣[0m
|
|
[1;36m║[0m Duration: 2m 1s [1;36m║[0m
|
|
[1;36m║[0m Updates: Yes [1;36m║[0m
|
|
[1;36m║[0m Nitro build: No [1;36m║[0m
|
|
[1;36m║[0m Warnings: 0 [1;36m║[0m
|
|
[1;36m║[0m Repos: Emulator [1;36m║[0m
|
|
[1;36m╚══════════════════════════════════════════════════════════════════╝[0m
|
|
|
|
|
|
[2mPress Enter to continue...[0m./update-Nitrov3.sh: line 929: read: 0: read error: Input/output error
|