EmulationStation Web Server

Emulation has an embedded webserver, 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 webserver 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:

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

  • On the left column, you can select the Batocera system for which you want to browse games. Games are refreshed on the right side of the screen.
  • On the right side, you can see the games that are available for the system selected. You can click on Play to launch the corresponding game on your Batocera machine.
  • 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 running emulator link on the upper menu 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.
  • You can also Reload games and Exit EmulationStation, the same way you would do those actions 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: 9 months ago
  • by lbrpdx