还在下模拟器?过时了!试试EmulatorJS,全平台游戏直接网页玩
一、EmulatorJS 应用是什么?
EmulatorJS 是一款基于 WebAssembly(WASM)与 JavaScript 开发的开源网页端全平台复古游戏模拟器
该项目支持自托管 Docker 部署,轻量化、跨平台、零插件,可在电脑、手机、平板、电视盒子等任意带浏览器的设备上访问
不需要安装繁琐的模拟器客户端、折腾各种插件而头疼!现在,只需打开浏览器,就能立刻体验 EmulatorJS 带来的极致街机与主机模拟——畅玩超级玛丽、魂斗罗等经典游戏,无需任何下载和配置,让你用最简单的方式重温童年经典!
1.1、功能特点
全平台游戏兼容:全面支持 NES、SNES、GBA、GB、FC、MD、PS1、街机、3DO、Neo Geo 等8位至32位主流复古游戏平台,兼容绝大多数经典游戏ROM文件。
极速加载,秒级响应:模拟器核心经过深度优化,启动与游戏加载速度大幅提升。打开页面即可秒进游戏,按键响应延迟极低。
兼容主流操作系统:支持 Windows、macOS、Linux、Android、iOS 等多种系统;兼容 Chrome、Firefox、Safari、Edge 等主流浏览器。电脑、手机、平板随时随地快乐开玩。
纯网页无客户端:基于 WASM 高性能编译运行,无需下载、安装模拟器客户端,无插件依赖,任意现代浏览器打开即可游玩,跨设备无缝适配。
完善的游戏操控体系:支持自定义键盘按键映射、手柄外设适配,最多支持4人联机同玩,适配多人复古游戏场景,操控延迟低、响应流畅。
专业存档管理能力:支持手动保存/读取游戏进度、拖拽存档快速加载,可导出存档文件本地备份,杜绝游戏进度丢失,支持多档位存档管理。
实用辅助功能齐全:内置游戏金手指作弊功能、游戏画面录制、画面比例调节、画质滤镜、音效调节,自带浏览器缓存管理,可自主清理游戏缓存数据。
1.2、用法介绍
个人复古游戏收藏:游戏爱好者私有化搭建专属游戏库,集中管理各类经典游戏ROM,随时随地通过浏览器重温童年经典游戏,摆脱设备限制
家庭娱乐场景:部署在家庭NAS或本地服务器,全家多设备同时接入,多人联机游玩复古小游戏,适配家庭休闲娱乐、亲子互动场景
轻量化办公摸鱼/休闲:无需安装软件,浏览器一键打开即可游玩,无客户端后台进程占用资源,适合碎片化休闲娱乐
技术演示与个人项目彩蛋:开发者可将 EmulatorJS 嵌入个人博客、演示网站,作为趣味项目展示,轻量化无部署压力
低配置设备游戏适配:老旧电脑、低配平板、电视盒子无法运行大型模拟器客户端,可通过网页端流畅运行各类复古游戏,盘活闲置设备
在线体验可不下载:https://www.mumudroid.com/tools/EmulatorJS/index.htm
image-20260825154524169Github项目地址:https://github.com/EmulatorJS/EmulatorJS
支持的游戏平台:EmulatorJS支持众多经典游戏平台,以下是热门平台的兼容性评级:
游戏平台兼容性评级推荐配置备注Game Boy Advance⭐⭐⭐⭐⭐默认配置完美支持,运行流畅NES/Famicom⭐⭐⭐⭐⭐默认配置完美支持,兼容性好SNES⭐⭐⭐⭐⭐默认配置完美支持,效果出色PlayStation⭐⭐⭐⭐☆中等配置良好支持,部分游戏需要优化Nintendo 64⭐⭐⭐☆☆高性能配置基本支持,需要较强设备性能Nintendo DS⭐⭐⭐☆☆高性能配置基本支持,触摸屏功能有限
二、EmulatorJS 安装部署
前置依赖:服务器/NAS 已安装 Docker、Docker Compose 环境
2.1、创建本地文件夹目录
创建专属数据目录,用于持久化游戏ROM、存档、配置文件,防止容器删除后数据丢失,执行以下命令:
# 创建 EmulatorJS 数据存储目录
mkdir -p /opt/emulatorjs/{config,data}
# 进入工作目录
cd /opt/emulatorjs
2.2、Docker Compose 配置
在当前目录新建 docker-compose.yml 文件,写入以下完整配置,为生产稳定部署方案,支持数据持久化、自动重启。
services:
emulatorjs:
image: linuxserver/emulatorjs:1.9.2
container_name: emulatorjs
restart: unless-stopped
ports:
- "4399:80"
- "4300:3000"
volumes:
- ./config:/config
- ./data:/data
参数说明:
image:采用 LinuxServer 官方维护的 EmulatorJS 镜像,版本稳定、更新及时、适配性强,是业界主流部署镜像
container_name:自定义容器名称,简化容器启停、日志查看、更新等运维操作
restart: unless-stopped:容器重启策略,手动停止前自动重启,保障服务7×24小时稳定运行
ports:端口映射,4399 为网页访问端口,4300 为配置服务端口,可根据需求自定义宿主机端口
volumes:数据持久化挂载,config 存储应用配置,data存储游戏存档等文件,彻底避免容器重建数据丢失
注意:
如果
linuxserver/emulatorjs:latest拉取不了的话可将版本改成linuxserver/emulatorjs:1.9.2,然后再拉取如果权限不够,加上sudo
启动命令:目录下执行以下命令后台启动服务
docker-compose up -d
2.3、Docker 命令安装方式
极简快速部署方案,单命令完成所有配置,适合临时体验、快速搭建场景,无需编写配置文件。
1)下载镜像
docker pull linuxserver/emulatorjs:1.9.2
2)Docker启动容器
docker run -d
--name emulatorjs
--restart unless-stopped
-p 4399:80
-p 4300:3000
-v /opt/emulatorjs/config:/config
-v /opt/emulatorjs/data:/data
linuxserver/emulatorjs:1.9.2
参数说明:
-d:后台守护进程运行容器,终端关闭不中断服务
--name:定义容器唯一名称,避免冲突,方便运维管理
--restart unless-stopped:异常自动重启,保障服务高可用
-p:端口映射,对外开放网页访问与配套服务端口
-v:挂载宿主机目录至容器,实现配置、ROM、存档数据持久化
2.4、从源码安装
作为Web端模拟器的先锋,EmulatorJS彻底消除了传统模拟器的安装门槛。用户只需将项目克隆到本地服务器
从项目发布页面下载最新稳定版
git clone https://gitcode.com/gh_mirrors/em/EmulatorJS
安装依赖
cd EmulatorJS
npm install
启动服务
npm run start
访问体验 打开浏览器访问 http://localhost:8090 即可开始游戏
三、EmulatorJS教程
模拟器详细使用教程
3.1、进入游戏界面
部署完成后,浏览器输入地址访问:http://服务器IP:4399
比如我的就是192.168.50.11:4399 ,进入游戏界面,注意这里是80端口对应的那个端口
3.2、初始化和配置
浏览器输入地址访问:http://服务器IP:4300
直接点击Download,下载模拟器支持文件
image-20260825200624753出现Downloaded All Files就说明下载完毕,点击右边黑点关闭就行
image-202608252052415483.3、上传游戏ROM
点击file management按钮,左边会出现很多不同的模拟器分类,根据你下载的rom选择支持的分类
👈🏻左边侧边栏显示支持的模拟器类型
image-20260825205509717以NDS为例,选择NDS会出现一个文件目录
image-20260825205455303在roms文件夹那里右键-upload,上传我们下载好的rom或者拖拽本地文件上传
image-20260825205729565上传后就会在首页rom management 看到上传的rom类型和个数
点击scan ,会对游戏进行扫描
image-20260825210639159此时左边会出现我们上传的游戏类型
image-20260825225412892添加游戏到模拟器-Step2 Add All Roms to Config
image-202608252254452423.4、开始游戏
打开http://服务器IP:4399/#main,选择模拟器NDS
image-20260825225604795使用方向键选择游戏
image-20260825225630824按回车键加载ROM
image-20260825225736006作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
