iGaming / online-casino platform source code — formerly Goldsvet. Complete turnkey casino script — delivered as full source code — by 777Scripts: game aggregation, sportsbook, agent network with tiered commissions, crypto payments, and 1,800+ games from 20+ providers led by the full Pragmatic Play lineup.
Official: COMING SOON · Telegram t.me/channel777scripts · group t.me/group777scripts
This is the official repository. Release 3.0 (2026) is a complete iGaming platform on Laravel 12 and a Node.js real-time game server: multi-brand operation out of the box, an integrated agent network with tiered commissions, payment gateways including crypto, player retention tools — bonuses, VIP progress, tournaments — and a catalog of 1,800+ games from 20+ providers, led by the full Pragmatic Play lineup.
| Release | 3.0 — 2026 |
| Games | 1,800+ titles · 80 GB+ · self-hosted |
| Providers | Pragmatic Play · PG Soft · EGT · KA · NetGame · and more |
| Channel | t.me/channel777scripts |
| Channel | Link |
|---|---|
| Website | COMING SOON |
| Telegram channel | t.me/channel777scripts |
| Telegram group | t.me/group777scripts |
| Developer — fastest response | t.me/account777scripts |
Warning
This is the only real project that remains fully working, turnkey, and fully customizable with extra on-demand modules. Treat anything originating elsewhere as unofficial — this repository is the only official source.
This repository is a curated public preview of the platform: a selection of real source files from the current production codebase, published so you can verify the quality and architecture for yourself. The full distribution — more than 1,800 games totaling over 80 GB, self-hosted as native files on your own infrastructure rather than streamed through a game API, listed title by title in the complete game catalog generated from the platform database — is available directly through our Telegram community, together with optional installation service on your VPS or dedicated server.
For agent management and provider content aggregation, the ecosystem ships a companion panel: COMING SOON — a Node.js agent panel with real-time balance and transaction feeds.
What this preview includes
composer.json·package.json— the real dependency manifests of the platformapp/— production domain models (Shop,StatGame,Category,HappyHour)database/migrations/— recent migrations from the live codebasePTWebSocket/— the Node.js game server entry point (src/UnifiedServer.js), PM2 configuration, and dependenciesdocs/GAMES.md— the full game catalog, 1,302 titles grouped by providersocket_config.json·socket_config2.json·arcade_config.json— WebSocket and arcade server configurationindex.php·.htaccess·storage/— application entry point, Apache rules, and storage layout
| Layer | Technology |
|---|---|
| Backend | Laravel 12 on PHP 8.4 — Sanctum, Stripe, Google 2FA, GeoIP |
| Frontend | Inertia.js with Vue 3, Tailwind CSS, Alpine.js, Chart.js — built with Vite |
| Game server | Node.js (UnifiedServer.js) with ws and Socket.IO, direct MySQL and Redis access, Winston logging — managed with PM2 |
| Data | MySQL 8, Redis |
The platform runs as two cooperating processes — a Laravel web application and a Node.js real-time game server — sharing one MySQL database and Redis store. Laravel owns authentication, the wallet, payments and the admin/agent back office; the Node server owns every live game session over encrypted WebSockets. The two talk through an authenticated internal Socket.IO bridge.
flowchart LR
subgraph client["🖥 Client — Browser"]
direction TB
SPA["Lobby · Wallet · Admin<br>Inertia.js + Vue 3 SPA"]
H5["H5 game client<br>Socket.IO over wss"]
end
subgraph web["🌐 Web tier"]
direction TB
TLS["Apache<br>TLS · mod_rewrite"]
PHP["Laravel 12 · PHP 8.4<br>Sanctum auth · Stripe · Google 2FA<br>agent network · multi-brand shops"]
end
subgraph realtime["⚡ Realtime tier — PTWebSocket"]
direction TB
UNI["UnifiedServer.js<br>Node.js 22 · PM2 fork<br>one process, four servers"]
SLOT["SlotsServer<br>:24518/slots"]
ARC["ArcadeServer<br>:23746/arcade"]
BIN["BinaryServer<br>binary game protocol"]
ISC["InternalSocketServer<br>:31094 · shared-secret auth"]
KERNEL["NullEngine<br>local math kernel"]
UNI --> SLOT
UNI --> ARC
UNI --> BIN
UNI --> ISC
SLOT -.-> KERNEL
ARC -.-> KERNEL
end
subgraph data["🗄 Data tier"]
direction TB
MY[("MySQL 8<br>players · balances · rounds · stats")]
RD[("Redis<br>cache · sessions · queues")]
end
subgraph ext["🔌 External"]
direction TB
PRV["Game providers<br>Pragmatic Play · PG Soft · EGT · …"]
PAY["Payments<br>Stripe · crypto gateways"]
end
SPA -->|HTTPS| TLS
TLS --> PHP
H5 -->|WSS| SLOT
H5 -->|WSS| ARC
H5 -.->|game assets / API| PRV
PHP <--> MY
PHP <--> RD
UNI <--> MY
UNI <--> RD
PHP <-.->|internal socket :31094| ISC
PHP --> PAY
sequenceDiagram
autonumber
participant P as Player — browser
participant S as SlotsServer :24518
participant K as NullEngine
participant D as MySQL · Redis
participant L as Laravel — internal socket :31094
P->>S: WSS connect · auth token
S->>D: load player session, balance, game config
P->>S: spin request — bet, lines
S->>K: evaluate RNG against paytable
K-->>S: reel outcome · win lines · payout
S->>D: write game round · update balance atomically
S-->>P: emit reels, wins, new balance
S->>L: ledger event over internal socket
L->>D: transactions · StatGame records · bonus progress
| Component | Path | Role |
|---|---|---|
| Web application | app/ — namespace VanguardLTE\ |
SPA backend: auth, wallet, admin, agent network |
| Multi-brand core | app/Shop.php, app/Category.php |
every shop is an isolated brand with its own users, games and balances |
| Game server entry | PTWebSocket/src/UnifiedServer.js |
boots Slots, Arcade, Binary and Internal servers in one PM2 process |
| Slots endpoint | socket_config.json |
:24518/slots — main slot-machine traffic |
| Arcade endpoint | arcade_config.json |
:23746/arcade — arcade games and platform timezone |
| Internal bridge | PTWebSocket/ecosystem.config.js |
:31094 Socket.IO channel guarded by a shared secret |
| Retention tools | app/HappyHour.php |
happy hours, bonuses, VIP and tournament progress |
| Round statistics | app/StatGame.php |
per-round stats feeding the admin dashboards |
| Game catalog | docs/GAMES.md |
generated index of the full 1,800+ title distribution |
- Single supervised process — PM2 runs
oss-casino-websocketin fork mode and restarts it on crash. A guard insideUnifiedServer.jssuppresses the benign engine.ioERR_HTTP_HEADERS_SENTdisconnect error so one dropping client never kills every live session. - Resilient config loading — a
readFileSyncwrapper falls back to safe defaults ({}/'') if a JSON or text asset goes missing instead of taking the game floor down. - TLS everywhere — all realtime traffic rides
wss://; certificates live inPTWebSocket/ssl/(crt.crt,key.key). - Observability — Winston logging on the game server, Chart.js dashboards on the admin side, database backups through
spatie/db-dumper.
- AlmaLinux 8 or CentOS 7 (recommended)
- Apache with
mod_rewrite, SSL enforced on the domain - PHP 8.4 or newer, with the
fileinfo,imagick, andredisextensions - MySQL 8.0 or newer
- Redis
- Node.js 22 and PM2 (
npm install -g pm2) - Composer
Quick installer — upload or clone all files into your public_html folder, then open https://yourdomain.com/setup.php and follow the guided installation.
Manual installation
-
Provision the server with the components listed under Requirements.
-
Point your domain to the server and enforce SSL.
-
Clone or extract this repository into the domain's
public_htmlfolder. -
Create a MySQL database and user, grant the user full access, and import the SQL dump
db.sqlfrom the distribution package. -
Install Composer dependencies from the terminal inside
public_html:composer install
-
Set your domain, database credentials, and mail settings (create a mailbox for the system and set its password) in
.envandconfig/app.php(URL, around line 65). -
Generate new password hashes for the bundled demo user accounts — create bcrypt hashes at bcrypt-generator.com and apply them via phpMyAdmin. Do not go live with the default passwords.
The WebSocket server requires a valid SSL certificate. Self-signed certificates will not work reliably.
- Delete any existing self-signed certificates.
- Issue a Let's Encrypt certificate (or install a commercial one) for your domain.
- Save the certificate files as plain text: certificate (CRT) as
crt.crt, private key (KEY) askey.key. - Copy both files into the
PTWebSocket/ssl/folder, replacing the existing ones.
WebSocket and arcade server settings live in the JSON files in the repository root: socket_config.json (main slot server), socket_config2.json (secondary server), and arcade_config.json (arcade games, also sets the timezone). Adjust port, host, and host_ws to match your domain and chosen WebSocket ports.
{
"port": "22188/arcade",
"host": "localhost",
"prefix": "https://",
"host_ws": "localhost",
"prefix_ws": "wss://",
"ssl": true,
"timezone": "Europe/Berlin"
}General PM2 commands — see the PM2 documentation for the full reference:
pm2 stop all
pm2 delete all
pm2 flush
pm2 logs
pm2 saveStart the game server from inside the PTWebSocket folder:
pm2 start UnifiedServer.js --watchOpen the ports used by your WebSocket servers, then reload the firewall:
firewall-cmd --zone=public --add-port=xxxx/tcp --permanent
firewall-cmd --zone=public --add-port=yyyy/tcp --permanent
firewall-cmd --zone=public --add-port=zzzz/tcp --permanent
firewall-cmd --reloadThe fastest way to get in touch is directly with the developer — for the full version, or for installation on your VPS or dedicated server:
- Developer: t.me/account777scripts — fastest response, sales, and installation
- Channel: t.me/channel777scripts
- Group: t.me/group777scripts
The public preview in this repository is released under the MIT License.
This software is provided as a platform preview. Operating an online gambling service is heavily regulated and may be restricted or prohibited in your jurisdiction. Anyone deploying this software is solely responsible for obtaining the required licenses and complying with all applicable laws. The authors accept no liability for misuse.
