EmulatorJS Arcade 1.1.0:在 Windows、Mac 和 Android 上与好友在线玩复古游戏
EmulatorJS Arcade 1.1.0: play retro games online with friends on Windows, Mac and Android
免费开源复古前端 EmulatorJS Arcade 更新至 1.1.0,支持在 Windows、Mac 和 Android 与好友在线玩 20+ 复古游戏。1.1.0 重点优化手机平板,屏幕手柄匹配 NES、SNES、PS1 等原控制器,真实 Xbox 手柄自动接管玩家 1。
EmulatorJS Arcade, a free and open-source retro front-end for Windows, Mac and Android, has reached version 1.1.0. Built on top of EmulatorJS, it turns a folder of legally dumped games into a "retro arcade": a cover-art wall for 20+ systems (arcade/FBNeo, NES, SNES, Game Boy/GBA, N64, DS, Mega Drive/Sega CD/Saturn, PlayStation, PSP, PC Engine and more) that you can play alone or online with friends. Full disclosure: I'm the author. I'm not a programmer and built it with a lot of help from an AI coding assistant, because I wanted to play arcade games again with old friends who now live in other cities.
The main idea is drop-in online play, like walking up to an arcade cabinet. The lobby lists every game being played right now; click "Join" and you become player 2, 3 or 4 without the host stopping or sending an invite. In arcade games you can even insert a coin and press Start mid-game. Players on the same Wi-Fi find each other automatically, and over the internet the app connects through a small lobby server that anyone can host with a single setup script. Voice chat, spectators and per-player latency are built in.
Version 1.1.0 focuses on phones and tablets:
- The on-screen gamepad now looks like each system's own controller: NES, SNES, Mega Drive, PS1, N64, GBA, Game Boy and an arcade stick panel, with matching button colors
- Portrait: the game sits on top and the controller below. Landscape: the controller is split to both sides of the picture so it doesn't cover the game, and its size can be adjusted per system
- Buttons animate when pressed, with a short vibration on Android phones that support it
- A real controller (Xbox etc.) becomes player 1 automatically and the touch controls hide themselves; unplug it or tap the screen to bring them back (handy on Meta Quest with an Xbox controller)
- CRT filter on by default for home consoles on Android, and a fix for a "connection refused" error after updating
Downloads include a self-updating Windows installer, a portable zip, Apple Silicon and Intel builds for Mac, an Android APK (also runs on Meta Quest), and a "folder version" that you start with a small script and play in your browser. No games are included. The console screenshots use free homebrew (Super Boss Gaiden, Cave Story MD, Anguna, Blastah); the arcade one is Aero Fighters.
Library
- Point it at a folder (or your existing RetroArch folders) and games are sorted by system on a cover-art wall
- Box art, title screens and screenshots can be downloaded automatically
- Recently played list, search, color themes and 10 UI languages
Online play
- Same Wi-Fi: other players show up automatically, no setup
- Over the internet: connect through a lobby server. A single script sets one up on an Ubuntu VPS (HTTPS and a relay for strict NATs included)
- Drop-in "Join" from the lobby, up to 4 players depending on the system, spectators and voice chat
- Room controls: per-player latency, kick players, allow only registered players, lock the game so nobody can join
- Optional accounts with friends, win/loss stats, a leaderboard and an "arena" mode that invites challengers
- An experimental rollback mode for fighting games
Playing
- Xbox / PlayStation controllers work out of the box, plus a menu you can drive with the controller
- Save states, per-game turbo buttons, CRT shaders
- Keyboard and gamepad shortcuts (coin, start, reset, turbo, save/load)
- Auto-update on the Windows installer
- Download the version for your device from the link below
- Put your games in Documents/EmulatorJS/roms, one subfolder per system (for example roms/snes, roms/fbneo), or pick other folders in "⚙ Folder settings" (RetroArch's usual folders are found automatically)
- Some systems need BIOS files (for example Sega CD); put them in Documents/EmulatorJS/system
- To play over the internet, enter the address and room password of a play server under "Internet play server" (see the "Internet play setup" screenshot); on the same Wi-Fi nothing needs to be set
There is no central server: for internet play, you or one of your friends hosts a small play server, and only people with its room password can see and join your games.
- Rent the smallest cloud server running Ubuntu 22.04 or 24.04
- In the cloud console's firewall, open TCP 8765, TCP 80, TCP 3478, UDP 3478 and UDP 49160-49250
- Upload ejs-cloud-setup.sh (on the download page, and in the cloud-server folder of the folder version) and run: sudo bash ejs-cloud-setup.sh
- When it finishes, it shows the server address (https://...) and the room password. Enter them under "Internet play server" on every device
The script sets up everything by itself: a free HTTPS certificate that renews automatically, a relay for strict home networks (TURN), and an admin menu (sudo ejs-admin) for accounts and server limits. If you have a domain, run sudo bash ejs-cloud-setup.sh yourdomain instead. To update the server later, upload the new script and run it again.
- N64, PSP and Saturn need a reasonably fast device
- Online play is input-sync, so everyone needs the same game file
- The apps aren't code-signed, so Windows SmartScreen and macOS Gatekeeper warn on the first launch (on Mac: System Settings → Privacy & Security → Open Anyway)
Feedback and bug reports are very welcome, especially on how online play works across different countries and networks, and how the touch controls feel on your phone.
来源:Gbatemp · gbatemp.net

