Skip to content
somu1795Public

About

ps1engine

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

43 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PS1 Cloud Arcade Engine

A lightweight, scalable cloud gaming platform that runs classic console games in Docker containers and streams them to the browser via low-latency WebRTC. Built primarily for PlayStation 1 (DuckStation) with WASM support for SNES and GBA.

Features

  • Instant Play: Click a cover art, play in seconds.
  • Low Latency: Uses Selkies-GStreamer for sub-frame WebRTC streaming.
  • Hardware Acceleration: Auto-detects Intel/AMD GPUs for Vulkan rendering.
  • Multi-Tenant: Spawns isolated, ephemeral Docker containers per user.
  • Zero Config: Drop your ROMs in a folder and start the engine.

Prerequisites

  • Linux Host (Ubuntu/Debian recommended)
  • Docker & Docker Compose installed
  • ROMs: standard PS1 (ZIP, CUE/BIN, ISO, CHD), SNES (.smc, .sfc), GBA (.gba)
  • BIOS: PS1 BIOS files required (e.g. scph5501.bin)

Quick Start

  1. Place your files:

    • Drop PS1 ROMs into ./userdata/roms/
    • Drop PS1 BIOS into ./userdata/bios/
    • (Optional) Drop SNES ROMs into ./userdata/snes/
    • (Optional) Drop GBA ROMs into ./userdata/gba/
  2. Start the engine:

    ./start.sh

    The script will automatically generate local SSL certificates and default admin credentials on the first run.

  3. Play:

    • Open your browser to https://localhost:12443
    • Click a game and start playing!

Administration

The engine includes a live dashboard for monitoring resources and managing active sessions.

  • Admin Dashboard: https://localhost:12443/admin
  • Your unique admin password will be printed to the console during ./start.sh.
  • To reset or change the password later:
    htpasswd -nbB admin NEW_PASSWORD > .credentials

Documentation

For a deep dive into how the backend routing, session management, and extraction pipeline works, read the internal documentation:

Stopping

To safely spin down all containers, clear locks, and stop the orchestrator:

./stop.sh

About

ps1engine

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages