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 SETTINGS → FRONTEND DEVELOPER OPTIONS → ENABLE 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 SETTINGS → SERVICES → ES_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:
Systems button will display/hide the bar at the bottom to select systemsCurrent button will display/hide the notifications box at the topPlay to launch the corresponding game on your Batocera machine (not in the browser window).[hotkey]+[start] combination, or you can also use the Kill button in the upper bar of the ES web services screen.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.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.