Arcade Portal – Games Software | Vibe96

Games

Arcade Portal

Source code included

HTML5 game portal with upload, instant play, members, comments and ads for site owners

Built by Infymerce Updated 22 Oct 2026 11,217 lines of code

Open live demo Built withClaude Code

Why Arcade Portal

What makes it better
than the alternatives

  1. 01

    Safe ZIP upload

    BuildInstaller unpacks games with path validation, file-type allow-list and atomic replace

  2. 02

    Accurate play and like counters

    Unique keys per game/visitor/day for plays, per game/visitor for likes, so one visitor counts once

  3. 03

    Visitor privacy

    Only a salted hash is stored (Visitor::key), never an IP address

  4. 04

    Moderated community

    Comments wait for approval (switchable), honeypot and per-IP throttles on forms, members can be blocked

  5. 05

    Ad slots with scheduling

    Four positions (top, game sidebar, under game, footer) hold banners or pasted ad-network code with start/end dates

Games

  • Upload HTML5 build as ZIP or embed by URL
  • Title
  • summary
  • Markdown description
  • controls note
  • developer
  • category
  • tags
  • thumbnail
  • player size
  • Draft
  • published and scheduled status with featured flag
  • Search-engine title and description per game
  • Publish/unpublish in one click
  • bulk publish
  • bulk feature actions
  • Game page with Play button
  • fullscreen
  • plays/likes counters
  • related games
  • comments and report form

Public Site

  • Home with featured
  • trending
  • new and most-loved games
  • category tiles and latest blog posts
  • Search by title
  • summary and tags with sorting (newest
  • most played
  • most liked
  • A-Z)
  • Category and tag pages with pagination (games per page configurable)
  • Blog with published posts
  • static pages (About
  • Privacy
  • Contact)
  • sitemap.xml
  • robots.txt
  • canonical and social-share meta tags

Visitor Accounts

  • Free sign-up with name
  • email and password (8+ chars)
  • Favourites list
  • recently played games (last 12)
  • Comments on games (moderated or instant
  • switchable)
  • Report broken games with reason and optional message
  • Account blocking by admin
  • last login timestamp

Counters and Tracking

  • Plays count once per visitor per game per day (game_plays table with unique key)
  • Likes count once per visitor per game (game_likes table with unique key)
  • Visitor key is salted hash from IP
  • user agent and salt (Visitor::key)
  • never stores raw IP
  • Counters on games table updated only when a row is created
  • inside transaction
  • GameService handles all counter changes to prevent inflation

Moderation

  • Comments wait for approval (status: pending
  • approved
  • rejected)
  • Approve
  • reject and bulk actions in admin panel
  • Game reports with reason (does not load
  • controls do not work
  • inappropriate
  • other) and optional message
  • Reports list with open/resolved status
  • resolve action
  • Honeypot field on comment and report forms (bots fill it
  • submission is dropped and logged)
  • Per-IP throttles: 60 actions/minute for play/like/favourite
  • 6 forms/minute for comment/report/sign-up/sign-in

Ad Slots

  • Four positions: top
  • game sidebar
  • under game
  • above footer
  • Banner with image and link
  • or pasted ad-network code
  • Start and end dates for scheduling
  • Master switch to enable/disable ads site-wide
  • Admin-only (editors cannot manage ad slots)

Admin Panel

  • Dashboard with live games
  • 14-day plays chart
  • likes
  • members
  • comments waiting
  • open reports
  • top games
  • Roles: admin (everything) and editor (role value 'staff': games
  • categories
  • tags
  • comments
  • reports
  • members
  • posts
  • pages)
  • Site settings: name
  • tagline
  • description
  • footer
  • games per page
  • registration
  • comments
  • moderation
  • ads
  • game storage mode
  • Filament 5 resources split into Schemas (forms)
  • Tables (lists) and Pages (create
  • edit
  • list)
  • Every create and edit page returns to the list

Content Management

  • Categories with name
  • slug
  • description
  • sort order
  • active switch
  • Tags with name and slug
  • attached to games
  • Blog posts with title
  • slug
  • Markdown body
  • published status and date
  • Static pages with title
  • slug
  • Markdown body
  • published switch
  • Markdown rendered with HTML stripped (Markdown::toHtml)

Demo Mode

  • DEMO_MODE=true turns / into a landing page
  • portal moves to /arcade
  • One-click signed logins for demo accounts (admin
  • editor
  • member)
  • DemoController with roles page and login endpoint
  • Prevents changing logins in demo mode
  • Eight playable demo games included (Breakout
  • Flap
  • Memory
  • Simon
  • Snake
  • Tic-Tac-Toe
  • 2048
  • Whack-a-Mole)

Deployment

  • Docker Compose with app (PHP 8.4-apache) and db (MySQL 8.4) services
  • HTTP on port 8080
  • HTTPS on port 2053 (self-signed cert or custom origin.pem/origin.key
  • Optional Cloudflare Authenticated Origin Pull (authenticated_origin_pull_ca.pem)
  • Entrypoint runs migrations
  • seeds admin
  • links storage
  • sets permissions
  • Volumes for uploads storage/app/public and database (dbdata)

Blog and Pages

  • Markdown posts with cover image
  • draft
  • published and scheduled status
  • static pages (About
  • Privacy
  • Contact) with footer links
  • safe rendering with raw HTML removed

Quality report

Manually reviewed

91/ 100

Automated audit score

✓ Passed the audit

Passed the audit and a manual review.
Audit run: 20 Oct 2026
Reviewed by Vibe96 staff, Dubai.

Security91
Code structure82
Docs & completeness100
Dependency health95
Build & deploy92
Reviewer notes (2 minor)

Missing foreign key indexes and some unscoped queries; no injection paths found; strong authz on admin & mutations; minor ownership gaps on member reads. None of these stop the software from working; the developer has been told and improvements come in a future update.

Versions & updates

1.0.0
First release22 Oct 2026✓ Reviewed & audited

No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.

Quality report

What you get

  • </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
  • ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
  • ↻One year of updatesEvery new version the builder publishes, free for 12 months.
  • ♧30 days of supportInstallation and defect support through Vibe96 tickets.
$79Single-site licence Details