This is a fork of Xenia Canary which implements online multiplayer features. It has been built from the ground up and a handful of games are working.
The REST API powering this fork can be found here.
Current online sessions are displayed here.
Is UPnP Supported?
- Yes, UPnP is supported it must be enabled in the config to host sessions.
Is Systemlink or XLink Kai supported?
- No, Systemlink and XLink Kai are not supported.
Can I host Xenia Web Services?
- Yes, Xenia Web Services.
Is there a Netplay mousehook build?
- Yes, download it from Netplay Mousehook.
Are games dependant on servers?
- Yes a lot of games are dependant on servers therefore will not work, unless a server is developed for that game. For example many games requires EA servers, without them netplay will not work.
Can I use multiple PCs on the same network?
- Yes this will require hosting Xenia Web Services on your local network. However, connecting to the API via the internet on the same network will require a VPN.
Where can I download the Canary Netplay build?
- You can download it from releases.
To connect to a Xenia WebServices server you can either privately host it yourself or connect to my server.
api_address = "https://xenia-netplay-2a0298c0e3f4.herokuapp.com"
UPnP is disabled by default, you can enable it in the config.
upnp = true
Failure to Bind to Ports
Binding to ports <= 1024 will usually fail on Linux as they are protected by default. To verify this is an issue you are encountering, search your log for the following message:
NetDll_WSAGetLastError: 10013
To fix this run this command:
sudo sysctl net.ipv4.ip_unprivileged_port_start=999
echo 'sysctl net.ipv4.ip_unprivileged_port_start=999' | sudo tee /etc/sysctl.d/99-xenia.conf
This command configures privileged ports to start at port 999 instead of port 1024 in this logon session and future logons. This should allow for most games to now bind.
If you are still seeing NetDll_WSAGetLastError: 10013
in logs after running this, you can try rerunning the previous commands with a number lower than 999
. 23
should solve every case. You can try 0
but it will prevent you from running ssh.
It should also be noted that due to the way Steam Decks handle configuration, you will need to rerun this command on every reboot.
Game | Notes | Gameplay | Patches/Plugins |
---|---|---|---|
Apache: Air Assault | |||
BattleBlock Theater | |||
BurgerTime World Tour | |||
Blades of Time | |||
Bloody Good Time | |||
Breach | |||
CS:GO | Mousehook | ||
CS:GO Beta | Mousehook | ||
Call of Duty 2 | launch_module = "default_mp.xex" |
Deathmatch | |
Catan | |||
Death Tank | |||
Dragon Ball Z: Burst Limit | |||
DiRT | Race | ||
Earth Defense Force: Insect Armageddon | |||
GRID | |||
GTA V Beta | Requires protect_zero = false or use patches. |
Beta Showcase, Beta Showcase | TU 13, TU 10 |
GTA V TU 2-13 | Must complete prologue, download gamesave here. Unstable and often crashes. | Solo Session | |
Gears of War | CO-OP doesn't work. | ||
Guilty Gear 2: Overture | |||
Gundam Operation Troy | English Patch | ||
Halo 3 ODST v13.2 using Sunrise Server | Mousehook | Head to Head | Halo 3 Patch |
Iron Brigade | Multiplayer available after completing 2nd tutorial mission. | ||
Juiced 2 | vsync_interval = 16 , vsync = true |
||
Kung Fu Panda: SLL | |||
Left 4 Dead | Mousehook, Compatible with GOTY | ||
Left 4 Dead GOTY | Mousehook | ||
Left 4 Dead 2 | Mousehook | ||
Left 4 Dead 2 Demo | |||
Mad Riders | |||
Marble Blast Ultra | |||
Marvel Ultimate Alliance | |||
Marvel Ultimate Alliance 2 | |||
MotoGP 06 | |||
MotoGP 07 | |||
MotoGP 14 | Sprint Season only works | ||
MotoGP 15 | Sprint Season only works | ||
OutRun Online Arcade | Race | ||
Perfect Dark | |||
Portal 2 | Mousehook | ||
Pro Evolution Soccer 6 (PES 6) | |||
Pro Evolution Soccer 8 (PES 8) | |||
Resident Evil 5 | Chapter 1 | ||
Resident Evil Revelations | |||
Ridge Racer 6 | |||
Saints Row 2 | Co-op, Setup Guide | ||
Saints Row the Third / The Full Package | Unplayable due to broken graphics. Requires Online Pass + license_mask | ||
Saints Row IV | Unplayable due to broken graphics. Requires Online Pass + license_mask | ||
Screwjumper! | |||
Section 8 | |||
Section 8: Prejudice | |||
Serious Sam HD The First Encounter | |||
Serious Sam HD The Second Encounter | |||
Splinter Cell: Double Agent | |||
Star Wars Battlefront III (Unreleased Game) | Alpha, Mar 17 2008 | Conquest Taoonie, MP Event Stream | |
Team Fortress 2 | Mousehook | ||
The Outfit | |||
TimeShift | |||
TimeShift Beta | |||
WRC 2010 | Connecting sometimes unstable. | ||
WRC 4 | Connecting sometimes unstable. | ||
WRC 5 |
Game | Description |
---|---|
Minecraft | Requires friend lists to invite friends. |
Red Dead Redemption | Connects online but cannot play with others. |
Forza Motorsport 4 | Connects online but cannot play with others. |
Grand Theft Auto 4 | Connects online but cannot play with others. |
Saints Row 1 | Connects online but cannot play with others. |
Gears of War 3 | Connects online but cannot play with others. |
Chromehounds | Requires a file from a dedicated Xbox server. |
- Activision Games
- EA Games
- Ubisoft Games
Netplay mousehook is a fork of netplay which adds support for playing games with mouse and keyboard.
Xenia is an experimental emulator for the Xbox 360. For more information, see the Xenia wiki.
Come chat with us about emulator-related topics on Discord.
For developer chat join #dev
but stay on topic. Lurking is not only fine, but encouraged!
Please check the FAQ page before asking questions.
We've got jobs/lives/etc, so don't expect instant answers.
Discussing illegal activities will get you banned.
Buildbot | Status | Releases |
---|---|---|
Windows | Latest ◦ All | |
Linux | Curently unsupported | |
Netplay Build | Latest |
See the Quickstart page.
See the frequently asked questions page.
See the Game compatibility list for currently tracked games, and feel free to contribute your own updates, screenshots, and information there following the existing conventions.
See building.md for setup and information about the
xb
script. When writing code, check the style guide
and be sure to run clang-format!
Have some spare time, know advanced C++, and want to write an emulator? Contribute! There's a ton of work that needs to be done, a lot of which is wide open greenfield fun.
For general rules and guidelines please see CONTRIBUTING.md.
Fixes and optimizations are always welcome (please!), but in addition to that there are some major work areas still untouched:
- Help work through missing functionality/bugs in games
- Reduce the size of Xenia's huge log files
- Skilled with Linux? A strong contributor is needed to help with porting
See more projects good for contributors. It's a good idea to ask on Discord and check the issues page before beginning work on something.
The goal of this project is to experiment, research, and educate on the topic of emulation of modern devices and operating systems. It is not for enabling illegal activity. All information is obtained via reverse engineering of legally purchased devices and games and information made public on the internet (you'd be surprised what's indexed on Google...).