Home – Multiplayer

Citra’s multiplayer feature has the ability to emulate local wireless multiplayer over the Internet. While on a real 3DS you’d be limited to the people in your immediate vicinity, Citra boasts a complex server/client infrastructure that forwards a game’s wireless communication across the internet.

Unlike single console netplay used in most emulators, users won’t have to worry about desyncs, synchronizing saves, or any other issues typical of netplay. Each user is using their instance of Citra as a unique emulated 3DS that is communicating with everyone else through a multiplayer room, a server that can be hosted by anyone for connected clients to exchange data with each other.

Hosting Rooms

If you just want to play with your friends, you do not need to create your own room. You can just pick a room from our Public Room Browser, where plenty of public rooms hosted by us and the community are already available for use. (this service will be shut off from April 2024 onwards)

If you just want to temporarily host a room for you and your friends to play, the easiest way is to host a room from the UI (Multiplayer > Host Room). The room will be deleted once the host exits Citra. You will still need to configure Port forwarding if you and your friends are not on the same network.

However, if you really want to host your own dedicated room, there are a few points you should keep in mind:

  • As a room is actually a server, the computer hosting it has to be running 24×7. Therefore, it is usually not feasible to use your home or work PC to host a room.
  • To ensure the best experience while playing, rooms should have a good Internet connection as well as a high bandwidth. This is especially important if you are hosting a public room – no one would want random disconnections while playing!
  • Citra rooms can be quite costy in terms of data transfer. It has been reported that some popular public rooms transfer over 1TB of data in a single month.

Therefore, the best option to host a room is usually to use a VPS provider, such as Linode or DigitalOcean, to name a few.

Port Forwarding

Typically, routers have a unified public IP for all its network members, and by default external users cannot access any of the ports (as the router won’t know which member to send it to!). Therefore, if you use a router for your Internet connection, you will need to configure Port forwarding for your router. Detailed configuration process varies by router brand and model. Obviously we cannot provide instructions for every model, and you can refer to your router’s manual or website.

For VPSes, a similar restriction (often called Security Groups) exists to help keep your server safe from attacks using certain ports. You may need to manually enable the ports you want to use in your VPS’s dashboard.