Morrowind Rebooted the Original Xbox Without You Ever Noticing

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • RPI-Engine

    A freely available text-based RPG server derived from an older version of the Shadows of Isildur source code.

    A MUD I worked (uh volunteered, as a total newbie) on had a soft-reboot implementation for deploys that blew my mind when I first saw it in action. Open telnet connections were all sent keep alives before the MUD launched a new instance of itself from the executable (which may have been a different version from the currently running copy) and then killed itself. To users on the other end a message appeared saying "Relaunching the server" and was followed up shortly by "You may now resume play". Since this engine was designed to constantly fall over due to instabilities and OOMs it stored the current game state in a persistent state (originally on-disk files - most of it was migrated to MySQL) so the only things that really needed hacking were re-acquiring the right sockets and remembering which user is which.

    This included, FYI, under development new game elements which were mostly written and launched using a mix of things called RPROGs, OPROGs, CPROGs and Descs (among other things) all of which were written in a custom domain language input into the MUD itself - devs like myself worked only on underlying mechanics and had no need to wander into the specifics of all those triggers.

    This probably opened up a number of security holes but, given that the game only ever checked the first six characters of a password (and checked them one by one against a plaintext copy) there were lower fruit available to criticize.

    If you want to check it out an older copy is available open-sourced[1] - it's a DIKU variant MUD.

    1. https://github.com/webbj74/RPI-Engine

  • xqemu

    Open-source emulator to play original Xbox games on Windows, macOS, and Linux

    It's indeed a bit like a kexec.

    On system initialization, kernel routines are copied into RAM by the bootloader[1]. Executables run in ring 0, and have a jump table to call kernel routines in their own address space (IIRC) [2].

    As such, loading any executable counts as a soft reboot.

    Also, there is a functioning open source emulator, Xqemu [3] (and its sibling/fork focused on speed and compatibility more than accuracy, xemu [4])

    I recommend reading "17 mistakes Microsoft made in the Xbox security system", which is very informative [5].

    [1]: https://xboxdevwiki.net/Boot_Process

    [2]: https://xboxdevwiki.net/Kernel

    [3]: https://xqemu.com/

    [4]: https://xemu.app/

    [5]: https://xboxdevwiki.net/17_Mistakes_Microsoft_Made_in_the_Xb...

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • xemu

    Original Xbox Emulator for Windows, macOS, and Linux (Active Development)

    It's indeed a bit like a kexec.

    On system initialization, kernel routines are copied into RAM by the bootloader[1]. Executables run in ring 0, and have a jump table to call kernel routines in their own address space (IIRC) [2].

    As such, loading any executable counts as a soft reboot.

    Also, there is a functioning open source emulator, Xqemu [3] (and its sibling/fork focused on speed and compatibility more than accuracy, xemu [4])

    I recommend reading "17 mistakes Microsoft made in the Xbox security system", which is very informative [5].

    [1]: https://xboxdevwiki.net/Boot_Process

    [2]: https://xboxdevwiki.net/Kernel

    [3]: https://xqemu.com/

    [4]: https://xemu.app/

    [5]: https://xboxdevwiki.net/17_Mistakes_Microsoft_Made_in_the_Xb...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts