|
Some checks are pending
Lint & Format Check / Format Check (push) Waiting to run
Route the game's own RakNet UDP through the ghost relay so real internet
peers can play, with the server as a pure relay/NAT stabilizer:
- XNetTransport: a rexglue relay client (joins the same relay + room as the
ghost client), a receive thread, and:
- SendGame(): wraps a datagram addressed to a virtual 10.80.0.x peer in a
relay Game payload and sends it OUTBOUND to the relay (no inbound
reachability / port forwarding needed).
- QuerySessions()/Sessions(): discovery - the room members that
XNetQosLookup reports to the game's session search.
- Receive injection: relayed Game payloads are pushed into the game's
registered sockets via XSocket::QueuePacket.
- XSocket: SendTo() to a virtual address routes through the transport;
RecvFrom() drains queued relayed packets first; sockets register with the
transport on Initialize.
- XNetQosLookup: queries the relay and returns the room's members as
discovered sessions (with their virtual addresses), signaling completion.
- XNetGetTitleXnAddr identity now shares one source of truth with the
transport (same 10.80.0.x).
Wire structs are minimal copies of the game's ghost protocol (kept
dependency-free); the relay's version check refuses mismatches.
|
||
|---|---|---|
| .github | ||
| cmake | ||
| docs | ||
| include/rex | ||
| resources/templates | ||
| scripts | ||
| src | ||
| tests | ||
| thirdparty | ||
| tools/binutils | ||
| .clang-format | ||
| .clang-tidy | ||
| .cmake-format.yaml | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
Caution
This project is in early development. Expect things to not work quite right and there to be significant changes and breaking public API updates as development progresses. Contributions and feedback are welcome, but please be aware that the codebase is still evolving rapidly.
ReXGlue converts Xbox 360 PowerPC code into portable C++ that runs natively on modern platforms.
ReXGlue is heavily rooted on the foundations of Xenia, the Xbox 360 emulator. Rather than interpreting or JIT-compiling PPC instructions at runtime, ReXGlue takes a different path: it generates C++ source code ahead of time, an approach inspired by XenonRecomp and rexdex's recompiler.
Latest SDK builds and releases are published on GitHub Releases. Join the Discord server for updates and share what you have created.
Builds
| Channel | CI | Download |
|---|---|---|
| Release | Latest stable | |
| Nightly | Latest pre-release |
Quickstart
For quick start guide, full CLI reference, and config file options, see the wiki.
Disclaimer
ReXGlue is not affiliated with nor endorsed by Microsoft or Xbox. It is an independent project created for educational and development purposes. All trademarks and copyrights belong to their respective owners.
This project is not intended to promote piracy nor unauthorized use of copyrighted material. Any misuse of this software to endorse or enable this type of activity is strictly prohibited.
Credits
ReXGlue
- Tom (crack) - Project Founder
- Loreaxe - Linux Contributor
- mystixor - Windows Contributor
- Graine25 - Project Support
- Carlos Estrague (mrcmunir) - Linux / ARM64 Contributor
- sanjay900 - Linux / SDL Contributor
- Toby - Project Support
- Roxxsen - CI/CD Contributor
The list above is not exhaustive. Thanks to everyone in the ReXGlue community who contributes code, files issues, tests builds, and keeps the project moving.
Very Special Thank You:
- Project Xenia - Their invaluable work on Xbox 360 emulation laid the groundwork for ReXGlue's development. This project (and numerous others) would not exist without their hard work and dedication.
- XenonRecomp - For pioneering the modern static recompilation approach for Xbox 360. A lot of the codegen analysis logic and instruction translations are based on their work. Thank you!
- rexdex's recompiler - The OG static recompiler for Xbox 360.
- Many others in the Xbox 360 homebrew and modding communities whose work and research have contributed to the collective knowledge that makes projects like this possible.