EmulationStation Web Server

Emulation has an embedded web server, mainly used internally by other services like the Content Downloader to update/refresh the games lists.

Starting with Batocera v32, there are some interesting features you can also take advantage of, with this embedded web server.

First of all, you need to enable the web server to accept request from your web browser. By default, it accepts only requests from your Batocera machine itself, and you won't be able to access it with a web browser. To enable it, from the main menu go to SYSTEM SETTINGSFRONTEND DEVELOPER OPTIONSENABLE PUBLIC WEB ACCESS. You will need to reboot your Batocera machine.

Once this is enabled, you can point your favorite web browser to http://batocera:1234 and get access to the web services menu. If this isn't working, you can try to use the IP address of your Batocera machine directly instead of the hostname batocera.

When you correctly connect to http://batocera:1234, you should see a screen like this one:

Starting with Batocera 41, there is a refreshed UI for the web server, responsive for mobile devices and desktop screens.

This UI is designed to get notifications, and to enable them, you need to go to SYSTEM SETTINGSSERVICESES_WEB_NOTIFIER. Currently, it displays which game is currently running in the web UI.

From there, you can do several actions from this web menu:

  • The Systems button will display/hide the bar at the bottom to select systems
  • The Current button will display/hide the notifications box at the top
  • Once the cards for the games are loaded, you can click on Play to launch the corresponding game on your Batocera machine (not in the browser window).
  • The game plays on your Batocera, as if it was launched from the regular UI. You can play with your controller as usual, nothing changes here. You can also quit from your Batocera system with the usual [hotkey]+[start] combination, or you can also use the Kill button in the upper bar of the ES web services screen.
  • If, for whatever reason, a game or an emulator is stuck, it's worth trying to use this Kill running emulator function from ES web services to get you unblocked – reload the page in your browser if this doesn't work at once.
  • You can also Reload the games in EmulationStation from the menu, the same way you would do it directly from the ES menu.

This web server is fully embedded in EmulationStation, and written in pure C++ for performance/memory constraints on the SBC and handheld systems supported by Batocera.

It is NOT Apache or Nginx or Lighttpd-based, so you won't be able to use any popular plugin for these web servers.

  • es-webserver.txt
  • Last modified: 4 weeks ago
  • by lbrpdx