Skip to content
/ xenia Public
forked from SirMangler/xenia

Xbox 360 Emulator Research Project for UWP

License

Notifications You must be signed in to change notification settings

aerisarn/xenia

 
 

Repository files navigation

Netplay Fork

This is a fork of Xenia-Canary Netplay which implements online multiplayer features. It has been built from the ground up and a handful of games found to work, though many games are yet to be tested. Check out the Issues list for more details.

The REST API powering this fork can be found here.

Massive thanks to @SarahGreyWolf for testing this fork with me for about a month, couldn't have done it without her. Also, thank you to @Bo98 for creating the burnout5 xenia fork, I used that as a basis for this, and some of the code is still here I think.

Peace and hair grease

Codie


FAQ:

Is UPnP implemented?

  • Yes, UPnP is now implemented therefore manual port forwarding is no longer required.

Is Systemlink or XLink Kai supported?

  • No, Systemlink and XLink Kai are not supported.

Can I host Xenia Web Services?

Is there a Netplay mousehook build?

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 instances for the same game?

  • No, you cannot use multiple instances due to the first instance using up ports. You will need to use a VM or a Shadow PC.

Can I use multiple PCs on the same network?

  • No, you currently cannot use different PCs on the same network to connect to a session hosted on the same network. However a VPN will get around this issue.

Where can I download the Canary Netplay build?

Config Setup

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

Linux Notes

Failure to Bind to Ports

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.

Supported Games

Game Notes Gameplay Patches/Plugins
CS:GO Mousehook
CS:GO Beta Mousehook
Call of Duty 2 launch_module = "default_mp.xex" Deathmatch
Death Tank
DiRT Race
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
Guilty Gear 2: Overture
Gundam Operation Troy English Patch
Halo 3 ODST v13.2 using Sunrise Server Mousehook Head to Head Halo 3 Patch
Juiced 2
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
Marble Blast Ultra
Marvel Ultimate Alliance
Marvel Ultimate Alliance 2
MotoGP 14 Sprint Season only works
MotoGP 15 Sprint Season only works
OutRun Online Arcade Race
Portal 2 Mousehook
Resident Evil 5 Chapter 1
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!
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

Non-Supported Games

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.

Requires Servers

  • Activision Games
  • EA Games
  • Ubisoft Games

Netplay mousehook is a fork of netplay which adds support for playing games with mouse and keyboard.


Xenia - Xbox 360 Emulator

Xenia is an experimental emulator for the Xbox 360. For more information, see the main Xenia wiki.

Interested in supporting the core contributors? Visit Xenia Project on Patreon.

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.

Status

Buildbot Status Releases
Windows Build status LatestAll
Linux Build status

Quite a few real games run. Quite a few don't. 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.

Disclaimer

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...).

Quickstart

See the Quickstart page.

Building

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!

Contributors Wanted!

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:

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.

FAQ

See the frequently asked questions page.

About

Xbox 360 Emulator Research Project for UWP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 95.0%
  • Assembly 2.9%
  • Python 0.9%
  • Lua 0.4%
  • HLSL 0.2%
  • C# 0.2%
  • Other 0.4%