From d2101cd9277817cbdb9e0a7ffa2cd1537a84190b Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 20 Sep 2019 18:56:09 -0400 Subject: [PATCH] Added multiplayer feature page. --- .../content/help/feature/multiplayer/index.md | 115 ++++++++++++++++++ .../feature/multiplayer/windows_hosting_1.png | Bin 0 -> 45996 bytes 2 files changed, 115 insertions(+) create mode 100644 site/content/help/feature/multiplayer/index.md create mode 100644 site/content/help/feature/multiplayer/windows_hosting_1.png diff --git a/site/content/help/feature/multiplayer/index.md b/site/content/help/feature/multiplayer/index.md new file mode 100644 index 0000000..005257c --- /dev/null +++ b/site/content/help/feature/multiplayer/index.md @@ -0,0 +1,115 @@ ++++ +title = "Multiplayer Rooms" +description = "Citra's multiplayer feature has the ability to emulate local wireless multiplayer over the Internet." ++++ + +## Multiplayer Features +*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. + +You can learn more about *Citra*'s multiplayer features in [this article](https://citra-emu.org/entry/announcing-networking-support/). + +## 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. + +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](https://linode.com) or [DigitalOcean](https://www.digitalocean.com), 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. + +## Hosting on Linux (Recommended) +If you are using a Linux VPS (which is the recommended option), the officially supported way of hosting dedicated rooms is using our *Docker* image. + +First of all, you should install *Docker* on your system. Refer to its [documents](https://docs.docker.com/#run-docker-anywhere) regarding installation. + +Once you get a *Docker* installation ready, hosting dedicated rooms is as easy as **filling in the arguments** (they will be explained later) and running the following command in terminal: +```bash +sudo docker run -d \ + --publish 5000:5000/udp \ + citraemu/citra-multiplayer-dedicated \ + --room-name "" \ + --room-description "" \ + --preferred-game "" \ + --preferred-game-id "" \ + --port 5000 \ + --max_members 4 \ + --username "" \ + --token "" \ + --enable-citra-mods \ + --web-api-url https://api.citra-emu.org/ +``` +Make sure the ports specified in `--publish` matches the port specified in `--port`, so that *Docker* can correctly forward your server's ports to the container. + +You can also save this command (with arguments filled in) as a script for easier usage. + +## Hosting on Windows +If you are on Windows, it is also possible to host rooms using a standalone executable. As you may already know, every *Citra* release comes with three executables - `citra` (The command line emulator frontend), `citra-qt` (The GUI emulator frontend) and `citra-room`, the dedicated room server which we'll use. + +Steps: +1. If you do not have a *Citra* installation yet, install it with the installer from our [official website](https://citra-emu.org). +1. Navigate to the folder you installed *Citra* to, and go into `nightly-mingw` or `canary-mingw`. + * If you cannot recall the installation folder, right clicking on a shortcut and clicking `Open File Location` will directly bring you into the `nightly-mingw` or `canary-mingw` folder. + * Make sure the folder you are in contains the `citra-room` executable. +1. Create a new text file and copy the following script inside, **fill in the arguments** (they will be explained later) and then use `File > Save As...` to save it to `host.bat`. You can delete the original text file after that. +1. You can now double click on the batch script named `host` to start hosting. +``` +citra-room ^ + --room-name "" ^ + --room-description "" ^ + --preferred-game "" ^ + --preferred-game-id "" ^ + --port 5000 ^ + --max_members 4 ^ + --username "" ^ + --token "" ^ + --enable-citra-mods ^ + --web-api-url https://api.citra-emu.org/ ^ + --ban-list-file "" +pause +``` + +![example](windows_hosting_1.png) + +## Command Line Arguments +Both the *Docker* image and the `citra-room` executable takes a number of command line arguments. +Command line arguments should be specified in the format of `-- `, for example `--port 5000`. + +By default, rooms will be hosted Public. If you'd like to host a private one instead, just omit one of the fields required only for public rooms. + +|Name|Required|Description +|----|--------|----------- +|`--room-name`|Yes|Name of your room. +|`--room-description`|No|An optional long description of your room. +|`--preferred-game`|Yes|The name of the preferred game of your room. +|`--preferred-game-id`|No|The Title ID of the preferred game of your room, in hex. You can find the `Title ID` with the game list of Citra. +|`--port`|Yes|Port number to host your room on (0-65535). You should use a port that is not already used by other applications (typically a high enough port will work). Though unrecommended due to bandwidth reasons, it is possible to host multiple rooms on a single server provided the ports are distinct. **Remember to configure `Port Forwarding` for the ports!** +|`--max-members`|Yes|Maximum number of members for your room (2-16). *Note that rooms that are too large may result in slowdowns or even disconnections in certain games.* +|`--username`|Public Rooms|Your *Citra* Community user name which will be displayed as the `Host` of the room. +|`--token`|Public Rooms|Your *Citra* Community user token. Do not know your token yet? Get it [here](https://citra-emu.org/wiki/citra-web-service/). +|`--web-api-url`|Public Rooms|URL to the *Citra* Web API. You should not change this. +|`--ban-list-file`|No|This is a file which Citra will store ban records in. Banning would still work even if you do not specify this, but the bans will be lost once you shut down the room. + +Additionally, a flag `--enable-citra-mods` is available. By enabling this flag, you will grant *Citra* Community Moderators the power to moderate on your room. Do not worry, this is entirely optional and your room will still be listed even if you do not enable this. + +## Authentication and Moderation +As you may already know, *Citra* multiplayer rooms can authenticate users and grant certain users moderation privileges. Authenticated users get their *Citra* Community username and avatar shown in the member list, and others can right click on them to view their *Citra* Community profile. + +Note that this feature requires interacting with the *Citra* Web API, and therefore is only enabled for *public rooms in the Public Room Browser*. Directly connecting to the rooms (with `Direct Connect`) will leave you unauthenticated. + +Currently, *Citra* rooms grant the following members moderation privileges by default: +* Room host (i.e. members authenticated with the same user name used when hosting the room) +* *Citra* Community Moderators, when rooms are hosted with the `--enable-citra-mods` flag. + +Due to complexity, it is not possible to grant other users moderation privileges. + +Users with moderation privileges will notice a `Moderation...` button on the right top of the Room dialog. With this you can view the current ban list and unban when needed. You can also right click on a member in the member list and click on `Kick` or `Ban` to impose moderation actions on them. Note that `Block Player` is different from a ban and is available to all users to block messages from certain members only locally. diff --git a/site/content/help/feature/multiplayer/windows_hosting_1.png b/site/content/help/feature/multiplayer/windows_hosting_1.png new file mode 100644 index 0000000000000000000000000000000000000000..00e76e2f49356e9ec5bf3d99e5a5c8fa16daddf7 GIT binary patch literal 45996 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

MfQg;_Mx5YrLj3AY-v%WjUTR3MG8 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�jd8XX;p0_`ci?l)!{-o!Ogt^E08UOASgav1yY$! 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 Ntauk(C4WEQzW}jm=Vt%_ literal 0 HcmV?d00001