Skip to content

How to play multiplayer games with PPSSPP

AdamN edited this page Jun 30, 2024 · 209 revisions

The following refers to PPSSPP version 1.11 and above.
Make sure that the option "Enable Networking/WLAN" is On.
It's adviced for all players to use the same PPSSPP version to make sure they're compatible.

Click to view the screenshot

QQ截图20210214225753

Make sure PPSSPP is not blocked by firewall or other network security program(ie. built-in network security from AntiVirus), running PPSSPP as administrator/sudo might work too.
Note: For safety reason it's best to Disable UPnP when you're playing over LAN/VPN/LocalHost as they don't need port-forwarding feature.
Note2: If PPSSPP was crashing while playing games using UPnP, please run PPSSPP again (run any game) and close down PPSSPP properly, so PPSSPP can close all the ports opened by PPSSPP (including ports from previous crashing sessions) properly.
If you still have issues please report them here, or ask them at discord server.


Contents

  1. Multiplayer With Multiple Devices on LAN/VPN
  2. Multiplayer With Multiple Instances (PC/Mac only)
  3. Multiplayer With A Public Server on the Internet
  4. Multiplayer With PSP/Vita Consoles
  5. Options That May Affect Multiplayer
  6. Red/Orange Error Messages on Screen
  7. How To Find Out If A Player Have Blocked Ports Or Not?
  8. How To Find Out What Ports The Game Uses?
  9. Important Links

Multiplayer With Multiple Devices on LAN/VPN

Note: When entering IP address manually, make sure you don't have leading zero (ie. 192.168.001.01 instead of 192.168.1.1) as it could cause an issue on some platforms.

  1. Go to Networking option
  2. Press on "Change PRO ad hoc server IP address (localhost = multiple instances)"
  3. Steps for the one hosting the game , there is only 1 host for a certain game.
    • 3.1 Press on "Toggle List" and find your private IP address (should look like either 10.X.X.X Or 192.168.X.X Or 172.16.X.X) .
      Note: Do Not use "localhost" when playing with players on a different devices, "localhost" should only be used for multiple instances on one device.
    • 3.2 Press on "Enable built-in PRO ad hoc server" .
    • 3.3 Go to the game you wanna play and be in a lobby or press on "host a game" (or a similar option) until you see the message "Network Initialized".
Click to view the screenshots

QQ截图20210214231455 QQ截图20210214232543 QQ截图20210215001921

  1. Steps for the clients which are the players that gonna join the host player
    • 4.1 The clients need to use the IP address that the host used from step 3.1
    • 4.2 They need to join the game that the host player created either by using the lobby or via a similar option like "join a game".
    • 4.3 Make sure "Enable built-in PRO ad hoc server" is disabled.
Click to view the screenshot

QQ截图20210215001929

Multiplayer With Multiple Instances (PC/Mac only)

  1. Go to Networking option.
  2. Press on "Change PRO ad hoc server IP address (localhost = multiple instances)".
  3. Press on "Toggle List" and then press on "localhost" or write "localhost" into the text box.
Click to view the screenshot

QQ截图20210214233630

  1. Open another instance of PPSSPP by either using the option "File -> Open new instance" or just manually open another PPSSPP instance or instances with the PPSSPP executable.
Click to view the screenshot

QQ截图20210214234051

  1. Refer to steps 3.2 , 3.3 for the host player and step 4 for the clients from "Multiplayer with multiple devices".
    Note: Multiple instances on one device can't play together with other players on a different device.
    Make sure "ignore gamepads when not focused" is enabled on one or both instances of PPSSPP on the Controls settings.

Multiplayer With A Public Server on the Internet

Note: Needs Wi-Fi/Ethernet connection with a working port-forwarding feature(ie. UPnP, DMZ, etc), may not work over a mobile connection or connection behind CGNAT/NAT as most of them don't support port-forwarding.

  1. Go to networking option.

  2. Press on "Change PRO ad hoc server IP address (localhost = multiple instances)".

  3. Press on "Toggle List" and either choose one of public AdhocServer like "socom.cc" or "myneighborsushicat.com" (all players need to use the same address).

  4. Make sure "Enable UPnP (need a few seconds to detect)" is enabled, also needs UPnP to be enabled on your router or alternatively enable DMZ (UPnP is more preferred than DMZ for security reason).
    Note: You will need port-forwarding feature like UPnP or DMZ to play over a public AdhocServer, and multiple devices having the same public IP (ie. same internet connection) can't play together over a public AdhocServer, also your ISP can block some ports which makes port-forwarding not working properly.
    Note2: "UPnP use original port" should only be used when playing with non-PPSSPP emulators (those that have no Port Offset/Shifting feature) or a real PSP, and not all games will works with this option, especially games that use ports for well known internet services (ie. web servers, email server, etc). Also, some routers might not allows mapping a different port for internal and external IP (required for this option to work).
    Before using "UPnP use original port" make sure you can play over the internet using Port Offset = 0 on PC/Mac/Linux (may need sudo/admin privileges), otherwise "UPnP use original port" won't work either.

Optional : Enable network chat for talking with other players.

Click to view the screenshots

QQ截图20210214235245 QQ截图20210215003119

Multiplayer With PSP/Vita Consoles

The PSP/Vita will need to use the Pro Online plugin. Furthermore, the Port Offset on PPSSPP needs to be 0. For further instructions you can look at the following places here:

Options That May Affect Multiplayer

Note: Options set to "PSP compatibility" meant to be used to play with real PSP

  • In Networking options:
    • Port Offset (all players need to use the same Port Offset value) - Set to 0 if you wanted to play with players using real PSP or non-PPSSPP emulators.
      Note: If playing from Android or from an OS with non-administrative permissions - Port Offset needs to be above 1023.
      Recommended port offset is 10000 or 20000.
      After changing Port Offset, you may need to restart the game for the changes to take effect.
    • Minimum Timeout (can be used to prevent disconnection when your ping is too high, only affect games that uses blocking sockets)
    • TCP No Delay (faster response on TCP/PTP connection, also helps with input delay/lag) - This option may be removed and always enabled in the future.
    • Forced First Connect (forcing blocking behavior on the first attempt to connect to get connected faster) - might helped getting connected faster on games that waited for a few seconds before attempting to connect again (ie. Gundam games), in case the remote side wasn't ready to accept connection before.
Click to view the screenshot

QQ截图20210214235813

  • In System options:
    • I/O on Thread and I/O Timing method (recommended to use Fast or Simulate UMD).
    • Force real clock sync (recommended to enable for some games with disconnection or FPS issue, might help with decreasing input lag too, but increases CPU usage/drains more power on Windows, Alternatively using "Auto-frameskipping" and "Render duplicate frames to 60 Hz" from Graphics options may also help).
    • Cheats and Speedhacks (cheats or overclock could cause desync issue).
    • Change emulated PSP's CPU clock (for games made by Eighting like Bleach Heat The Soul 7 and other games) - needs to be lower, depends on the device.
    • PSP Model (players might not be able to see each other on some games like DBZ Team Tag when they are using different PSP models)
Click to view the screenshots

QQ截图20210215000607 QQ截图20210215000641

  • In Graphics options:
    • Hardware Transform (Disabling this might cause significant performance impact, thus causing multiplayer issue on games like Fate Unlimited Codes).

Red/Orange Error Messages on Screen

Note: You need check "Tools -> Developer tools -> Show on-screen messages" to display the following error messages.

Click to view the screenshots

QQ截图20210215003530 QQ截图20210215003615

  • "Failed to connect to AdhocServer": AdhocServer is not accessible/reachable from your device, there could be typo in PRO Adhoc Server IP address or the IP you choose is on the wrong network, or the one who host AdhocServer have their port blocked.
    Note: Try to ping the AdhocServer IP address to make sure they're reachable from your device.
Click to view the screenshot

QQ截图20210215120603

  • "Disconnected from AdhocServer": Connection to the AdhocServer is lost, either the AdhocServer is no longer running/reachable, or you're getting kicked out of AdhocServer.
    Note: PPSSPP will try to reconnects to the AdhocServer again when the game need to access AdHoc functions.
    Reason for getting kicked out of AdhocServer:
    • You're using an IP address that is already used by another player, usually when you're using the same public IP/internet connection to connect to public AdhocServer.
    • The game is trying to leave a group while not in a group (ie. during group transition when the quest/mission started, or at the end of multiplayer session), in this case there might be a bug on PPSSPP, please report this issue.
    • You are connected to a customized AdhocServer that implements banning system and happened to be banned (legacy AdhocServers didn't have banning/kicking feature).
Click to view the screenshot

QQ截图20210215131623

  • "Failed to Bind Port xxx": The port the game is trying to use might already be taken by a different application, you may need to change the Port Offset value to shift the port, so it won't bumped into an already used port.
    Note: For Windows user, if you keeps seeing this error message regardless which port offset value you use, you may need to disable Hyper-V (hypervisor),
    or running net stop hns && net start hns might fix this issue too.
Click to view the screenshot

Screenshot_20210215-133348

  • "AM/GM: Data from Unknown Port": The sender port was remapped to a different (random unique) port by the router/hotspot/ISP(ie. the sender is behind NAT), PPSSPP will keep track of the new port for further communication. However, if you're still getting communication issue because of this unknown port (as any arbitrary ports used by the game might be remapped too), try switching side of who hosted the game and who joined, or try changing the Port Offset value.
    (AM stands for AdhocMatching, and GM stands for GameMode, both use connection-less protocol and supposed to use the same port for sending and receiving data).
    Note: If you are seeing this message it means you are not the one who have the problem, but the player who send data to you have an issue (ie. they might be behind NAT).

  • "Unable to find UPnP device": UPnP is not enabled on your router or your router doesn't support UPnP feature, or it took a longer time to detects your router (we use 2 seconds timeout on UPnP).

Click to view the screenshot

QQ截图20210215132145

  • "UPnP need to be reinitialized": The connection to the UPnP device (ie. the router) was lost (ie. got timed out).
    • If you're on Wifi, the signal might be unstable, thus can cause data packet to be lost.
    • If you're using wired connection to the router, check your wiring.
    • The router might also be too busy to process UPnP request, thus getting timed out, in this case try rebooting your router.
    • The router might be using an old version of UPnP and doesn't recognize UPnP request from newer version, thus ignored/dropped, in this case try updating your router's firmware (be careful not to brick your router when updating firmware).

How To Find Out If A Player Have Blocked Ports Or Not?

Note: Ports can be blocked by Firewall/Internet Security software, and can also be blocked by Router or ISP (ie. 3G/4G/LTE connection).
And Most Adhoc games required all of the players to have open ports, Not only the host.

  1. Enable built-in Adhoc Server on the player that suspected to have blocked port, and run a game.
    • If you are playing over the Internet, you may need to Enable UPnP/DMZ or manually port-forwarding TCP port 27312 for this test.
  2. Other players (ie. You) Changes the PRO Adhoc Server IP address to that suspected Player's IP address, and try to play Multiplayer.
    • If you see "Network Initialized" white message on screen, that means the suspected Player Doesn't have Blocked port.
    • If you see "Failed to connect to Adhoc Server" red message on screen, that means the suspected Player have Blocked port, or You're not in the same network with him (ie. Wrong IP address)

How To Find Out What Ports The Game Uses?

Note: You could also see the ports on your router page if you use UPnP.
Useful for port forwarding the ports that are needed only for the game(s) you wanna play.

  1. Go to Tools -> Developer Tools -> Logging Channels and put SCENET to Info
  2. Go to Debug -> Log console option by using PPSSPP taskbar (If on Linux the log would appear from launching PPSSPP using the terminal).
  3. When you connect to adhoc in-game and than connect to other players you could see the ports that the game uses on the log console. Dont forget to also add/subtract the Port Offset from the port you see there for getting the original port.

Important Links