Network Gaming

Introduction

PES uses RetroArch for all of its console emulation with the exception of the N64 (Raspberry Pi 1-3 only) and PSP. RetroArch provides the ability for two players to play remotely over the Internet or their local area network (LAN) as if they were using two control pads connected to the same console.

Note

  • At present to use RetroArch’s network gaming features some manual intervention is required. It is hoped that in a future version of PES this procedure can be automated.
  • You must also have the same version of the ROM(s) that you wish to play.
  • Both Raspberry Pis must be running the same version of PES (e.g. 2.8).

LAN Play

For LAN play (i.e. both Raspberry Pis are connected to the same network) you will need to know the IP address of the Raspberry Pi that is to act as the host (i.e. player 1). This can be easily found from the PES GUI in the bottom left hand corner.

Internet Play

For Internet play you will need to know the public IP address of your router that is being used with the Raspberry Pi that is to act as the host (i.e. player 1). This can be found by visiting www.whatismyip.com

You will also need to configure your router to forward TCP network traffic on port 55435 to the LAN IP address of the host (player 1) Raspberry Pi. This can normally be configured by logging into the web interface on your router. Please consult your router’s documentation if you require assistance.

Host Set-Up (Player 1)

For the console that you wish to play (e.g. NES) edit /data/pes/conf.d/pes/consoles.ini and add to the command parameter for RetroArch:

-H -F 4

This tells RetroArch that it will be acting as the host (-H) and to use a delay frames (-F) value of “4”.

E.g. for NES:

command:        %%BASE%%/emulators/RetroArch/bin/retroarch -H -F 4 --appendconfig %%BASE%%/conf.d/retroarch/retroarch.cfg -L %%BASE%%/emulators/RetroArch/lib/fceumm_libretro.so %%GAME%%

Client Set-Up (Player 2)

For the console that you wish to play (e.g. NES) edit /data/pes/conf.d/pes/consoles.ini and add to the command parameter for RetroArch:

-C HOST_IP -F 4

where HOST_IP is the IP address of the host Raspberry Pi.

Note

If playing over the Internet the IP address to use is the IP address of the router being used by the host Raspberry Pi (see above).

E.g. for NES, using LAN IP of 192.168.0.3:

command:        %%BASE%%/emulators/RetroArch/bin/retroarch -C 192.168.0.3  -F 4 --appendconfig %%BASE%%/conf.d/retroarch/retroarch.cfg -L %%BASE%%/emulators/RetroArch/lib/fceumm_libretro.so %%GAME%%

Time to Play!

  1. Now that both Raspberry Pis are ready to go, restart PES so that it reloads its config files.
  2. The host (player 1) should now load the game (ROM) that is to be used. At this point the emulator will load and will wait for a client to connect.
  3. The client (player 2) should now load the same game (ROM) that is being used by the host.
  4. All being well, both Raspberry Pis should sync and the game can now start.

Note

  • Either player can exit the game at any time
  • Remember to remove the additional commands from /data/pes/conf.d/pes/consoles.ini when you no longer wish to play with a friend

Trouble shooting

Please consult /data/pes/log/exec.log on the host and the client to find out why RetroArch was unable to host/connect a gaming session.